(() => {
  var __create = Object.create;
  var __defProp = Object.defineProperty;
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
  var __getOwnPropNames = Object.getOwnPropertyNames;
  var __getProtoOf = Object.getPrototypeOf;
  var __hasOwnProp = Object.prototype.hasOwnProperty;
  var __esm = (fn, res) => function __init() {
    return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
  };
  var __commonJS = (cb, mod2) => function __require() {
    return mod2 || (0, cb[__getOwnPropNames(cb)[0]])((mod2 = { exports: {} }).exports, mod2), mod2.exports;
  };
  var __export = (target2, all) => {
    for (var name in all)
      __defProp(target2, name, { get: all[name], enumerable: true });
  };
  var __copyProps = (to, from2, except, desc) => {
    if (from2 && typeof from2 === "object" || typeof from2 === "function") {
      for (let key of __getOwnPropNames(from2))
        if (!__hasOwnProp.call(to, key) && key !== except)
          __defProp(to, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable });
    }
    return to;
  };
  var __toESM = (mod2, isNodeMode, target2) => (target2 = mod2 != null ? __create(__getProtoOf(mod2)) : {}, __copyProps(
    // If the importer is in node compatibility mode or this is not an ESM
    // file that has been converted to a CommonJS file using a Babel-
    // compatible transform (i.e. "__esModule" has not been set), then set
    // "default" to the CommonJS "module.exports" for node compatibility.
    isNodeMode || !mod2 || !mod2.__esModule ? __defProp(target2, "default", { value: mod2, enumerable: true }) : target2,
    mod2
  ));
  var __toCommonJS = (mod2) => __copyProps(__defProp({}, "__esModule", { value: true }), mod2);

  // node_modules/@clerk/clerk-js/dist/clerk.no-rhc.mjs
  function i(e3) {
    var a2 = r[e3];
    if (void 0 !== a2) return a2.exports;
    var n3 = r[e3] = { exports: {} };
    return t[e3].call(n3.exports, n3, n3.exports, i), n3.exports;
  }
  var e, a, t, r, n, s, o, l, c, d, u, h, m, p, g, b, f;
  var init_clerk_no_rhc = __esm({
    "node_modules/@clerk/clerk-js/dist/clerk.no-rhc.mjs"() {
      t = { 521(e3, a2, t2) {
        t2.d(a2, { getDebugLogger: () => l2 }), t2(9);
        class r2 {
          logLevel;
          transport;
          constructor(e4, a3) {
            this.transport = e4, this.logLevel = a3 ?? "debug";
          }
          debug(e4, a3, t3) {
            this.log("debug", e4, a3, t3);
          }
          error(e4, a3, t3) {
            this.log("error", e4, a3, t3);
          }
          info(e4, a3, t3) {
            this.log("info", e4, a3, t3);
          }
          warn(e4, a3, t3) {
            this.log("warn", e4, a3, t3);
          }
          log(e4, a3, t3, r3) {
            if (!this.shouldLogLevel(e4)) return;
            let i3 = { timestamp: Date.now(), level: e4, message: a3, context: t3, source: r3 };
            this.transport.send(i3).catch((e5) => {
              console.error("Failed to send log entry:", e5);
            });
          }
          shouldLogLevel(e4) {
            let a3 = ["error", "warn", "info", "debug"], t3 = a3.indexOf(this.logLevel);
            return a3.indexOf(e4) <= t3;
          }
        }
        class i2 {
          transports;
          constructor(e4) {
            this.transports = e4;
          }
          async send(e4) {
            let a3 = this.transports.map((a4) => a4.send(e4).catch((e5) => {
              console.error("Failed to send to transport:", e5);
            }));
            await Promise.allSettled(a3);
          }
        }
        class n3 {
          send(e4) {
            let a3 = new Date(e4.timestamp).toISOString(), t3 = e4.level.toUpperCase(), r3 = e4.source ? `[${e4.source}]` : "", i3 = e4.context ? ` ${JSON.stringify(e4.context)}` : "", n4 = `[Clerk Debug] ${a3} ${t3}${r3}: ${e4.message}${i3}`;
            switch (e4.level) {
              case "error":
                console.error(n4);
                break;
              case "warn":
                console.warn(n4);
                break;
              case "info":
                console.info(n4);
                break;
              case "debug":
                console.debug(n4);
                break;
              default:
                console.log(n4);
            }
            return Promise.resolve();
          }
        }
        class s2 {
          collector;
          constructor(e4) {
            this.collector = e4;
          }
          async send(e4) {
            this.collector && await Promise.resolve(this.collector.recordLog({ context: e4.context, level: e4.level, message: e4.message, organizationId: e4.organizationId, sessionId: e4.sessionId, source: e4.source, timestamp: e4.timestamp, userId: e4.userId }));
          }
        }
        class o3 {
          static instance;
          initialized = false;
          logger = null;
          initializationPromise = null;
          static getInstance() {
            return o3.instance || (o3.instance = new o3()), o3.instance;
          }
          async initialize(e4 = {}) {
            return this.initialized ? this.logger : (this.initializationPromise || (this.initializationPromise = this.performInitialization(e4)), this.initializationPromise);
          }
          async performInitialization(e4) {
            try {
              if (e4.logLevel && "string" != typeof e4.logLevel) throw Error("logLevel must be a string");
              let { logLevel: a3, telemetryCollector: t3 } = e4, o4 = [{ transport: new n3() }, ...t3 ? [{ transport: new s2(t3) }] : []].map((e5) => e5.transport), l3 = new i2(o4), c2 = new r2(l3, a3 ?? "info");
              return this.logger = c2, this.initialized = true, this.logger;
            } catch (e5) {
              return console.error("Failed to initialize debug module:", e5), this.initializationPromise = null, null;
            }
          }
          getLogger() {
            return this.logger;
          }
          isInitialized() {
            return this.initialized;
          }
          reset() {
            this.initialized = false, this.logger = null, this.initializationPromise = null;
          }
        }
        async function l2(e4 = {}) {
          return o3.getInstance().initialize(e4);
        }
      }, 644(e3, a2, t2) {
        let r2, i2, n3, s2, o3, l2, c2;
        t2.d(a2, { QueryClient: () => J });
        var d2 = { setTimeout: (e4, a3) => setTimeout(e4, a3), clearTimeout: (e4) => clearTimeout(e4), setInterval: (e4, a3) => setInterval(e4, a3), clearInterval: (e4) => clearInterval(e4) }, u2 = new class {
          #e = d2;
          #a = false;
          setTimeoutProvider(e4) {
            this.#e = e4;
          }
          setTimeout(e4, a3) {
            return this.#e.setTimeout(e4, a3);
          }
          clearTimeout(e4) {
            this.#e.clearTimeout(e4);
          }
          setInterval(e4, a3) {
            return this.#e.setInterval(e4, a3);
          }
          clearInterval(e4) {
            this.#e.clearInterval(e4);
          }
        }(), h2 = "u" < typeof window || "Deno" in globalThis;
        function m2() {
        }
        function p2(e4, a3) {
          return "function" == typeof e4 ? e4(a3) : e4;
        }
        function g2(e4, a3) {
          let { type: t3 = "all", exact: r3, fetchStatus: i3, predicate: n4, queryKey: s3, stale: o4 } = e4;
          if (s3) {
            if (r3) {
              if (a3.queryHash !== f3(s3, a3.options)) return false;
            } else if (!k(a3.queryKey, s3)) return false;
          }
          if ("all" !== t3) {
            let e5 = a3.isActive();
            if ("active" === t3 && !e5 || "inactive" === t3 && e5) return false;
          }
          return ("boolean" != typeof o4 || a3.isStale() === o4) && (!i3 || i3 === a3.state.fetchStatus) && (!n4 || !!n4(a3));
        }
        function b2(e4, a3) {
          let { exact: t3, status: r3, predicate: i3, mutationKey: n4 } = e4;
          if (n4) {
            if (!a3.options.mutationKey) return false;
            if (t3) {
              if (y(a3.options.mutationKey) !== y(n4)) return false;
            } else if (!k(a3.options.mutationKey, n4)) return false;
          }
          return (!r3 || a3.state.status === r3) && (!i3 || !!i3(a3));
        }
        function f3(e4, a3) {
          return (a3?.queryKeyHashFn || y)(e4);
        }
        function y(e4) {
          return JSON.stringify(e4, (e5, a3) => j(a3) ? Object.keys(a3).sort().reduce((e6, t3) => (e6[t3] = a3[t3], e6), {}) : a3);
        }
        function k(e4, a3) {
          return e4 === a3 || typeof e4 == typeof a3 && !!e4 && !!a3 && "object" == typeof e4 && "object" == typeof a3 && Object.keys(a3).every((t3) => k(e4[t3], a3[t3]));
        }
        var w = Object.prototype.hasOwnProperty;
        function v(e4) {
          return Array.isArray(e4) && e4.length === Object.keys(e4).length;
        }
        function j(e4) {
          if (!_3(e4)) return false;
          let a3 = e4.constructor;
          if (void 0 === a3) return true;
          let t3 = a3.prototype;
          return !!_3(t3) && !!t3.hasOwnProperty("isPrototypeOf") && Object.getPrototypeOf(e4) === Object.prototype;
        }
        function _3(e4) {
          return "[object Object]" === Object.prototype.toString.call(e4);
        }
        function z(e4, a3, t3 = 0) {
          let r3 = [...e4, a3];
          return t3 && r3.length > t3 ? r3.slice(1) : r3;
        }
        function x(e4, a3, t3 = 0) {
          let r3 = [a3, ...e4];
          return t3 && r3.length > t3 ? r3.slice(0, -1) : r3;
        }
        var q = /* @__PURE__ */ Symbol();
        function S2(e4, a3) {
          return !e4.queryFn && a3?.initialPromise ? () => a3.initialPromise : e4.queryFn && e4.queryFn !== q ? e4.queryFn : () => Promise.reject(Error(`Missing queryFn: '${e4.queryHash}'`));
        }
        var I = (r2 = [], i2 = 0, n3 = (e4) => {
          e4();
        }, s2 = (e4) => {
          e4();
        }, o3 = function(e4) {
          setTimeout(e4, 0);
        }, { batch: (e4) => {
          let a3;
          i2++;
          try {
            a3 = e4();
          } finally {
            let e5;
            --i2 || (e5 = r2, r2 = [], e5.length && o3(() => {
              s2(() => {
                e5.forEach((e6) => {
                  n3(e6);
                });
              });
            }));
          }
          return a3;
        }, batchCalls: (e4) => (...a3) => {
          l2(() => {
            e4(...a3);
          });
        }, schedule: l2 = (e4) => {
          i2 ? r2.push(e4) : o3(() => {
            n3(e4);
          });
        }, setNotifyFunction: (e4) => {
          n3 = e4;
        }, setBatchNotifyFunction: (e4) => {
          s2 = e4;
        }, setScheduler: (e4) => {
          o3 = e4;
        } }), U2 = class {
          constructor() {
            this.listeners = /* @__PURE__ */ new Set(), this.subscribe = this.subscribe.bind(this);
          }
          subscribe(e4) {
            return this.listeners.add(e4), this.onSubscribe(), () => {
              this.listeners.delete(e4), this.onUnsubscribe();
            };
          }
          hasListeners() {
            return this.listeners.size > 0;
          }
          onSubscribe() {
          }
          onUnsubscribe() {
          }
        }, C = new class extends U2 {
          #t;
          #r;
          #i;
          constructor() {
            super(), this.#i = (e4) => {
              if ("u" > typeof window && window.addEventListener) {
                let a3 = () => e4();
                return window.addEventListener("visibilitychange", a3, false), () => {
                  window.removeEventListener("visibilitychange", a3);
                };
              }
            };
          }
          onSubscribe() {
            this.#r || this.setEventListener(this.#i);
          }
          onUnsubscribe() {
            this.hasListeners() || (this.#r?.(), this.#r = void 0);
          }
          setEventListener(e4) {
            this.#i = e4, this.#r?.(), this.#r = e4((e5) => {
              "boolean" == typeof e5 ? this.setFocused(e5) : this.onFocus();
            });
          }
          setFocused(e4) {
            this.#t !== e4 && (this.#t = e4, this.onFocus());
          }
          onFocus() {
            let e4 = this.isFocused();
            this.listeners.forEach((a3) => {
              a3(e4);
            });
          }
          isFocused() {
            return "boolean" == typeof this.#t ? this.#t : globalThis.document?.visibilityState !== "hidden";
          }
        }(), A = new class extends U2 {
          #n = true;
          #r;
          #i;
          constructor() {
            super(), this.#i = (e4) => {
              if ("u" > typeof window && window.addEventListener) {
                let a3 = () => e4(true), t3 = () => e4(false);
                return window.addEventListener("online", a3, false), window.addEventListener("offline", t3, false), () => {
                  window.removeEventListener("online", a3), window.removeEventListener("offline", t3);
                };
              }
            };
          }
          onSubscribe() {
            this.#r || this.setEventListener(this.#i);
          }
          onUnsubscribe() {
            this.hasListeners() || (this.#r?.(), this.#r = void 0);
          }
          setEventListener(e4) {
            this.#i = e4, this.#r?.(), this.#r = e4(this.setOnline.bind(this));
          }
          setOnline(e4) {
            this.#n !== e4 && (this.#n = e4, this.listeners.forEach((a3) => {
              a3(e4);
            }));
          }
          isOnline() {
            return this.#n;
          }
        }(), P = (c2 = () => h2, { isServer: () => c2(), setIsServer(e4) {
          c2 = e4;
        } });
        function T(e4) {
          return Math.min(1e3 * 2 ** e4, 3e4);
        }
        function O(e4) {
          return (e4 ?? "online") !== "online" || A.isOnline();
        }
        var E = class extends Error {
          constructor(e4) {
            super("CancelledError"), this.revert = e4?.revert, this.silent = e4?.silent;
          }
        };
        function R(e4) {
          let a3, t3 = false, r3 = 0, i3 = (function() {
            let e5, a4, t4 = new Promise((t5, r5) => {
              e5 = t5, a4 = r5;
            });
            function r4(e6) {
              Object.assign(t4, e6), delete t4.resolve, delete t4.reject;
            }
            return t4.status = "pending", t4.catch(() => {
            }), t4.resolve = (a5) => {
              r4({ status: "fulfilled", value: a5 }), e5(a5);
            }, t4.reject = (e6) => {
              r4({ status: "rejected", reason: e6 }), a4(e6);
            }, t4;
          })(), n4 = () => C.isFocused() && ("always" === e4.networkMode || A.isOnline()) && e4.canRun(), s3 = () => O(e4.networkMode) && e4.canRun(), o4 = (e5) => {
            "pending" === i3.status && (a3?.(), i3.resolve(e5));
          }, l3 = (e5) => {
            "pending" === i3.status && (a3?.(), i3.reject(e5));
          }, c3 = () => new Promise((t4) => {
            a3 = (e5) => {
              ("pending" !== i3.status || n4()) && t4(e5);
            }, e4.onPause?.();
          }).then(() => {
            a3 = void 0, "pending" === i3.status && e4.onContinue?.();
          }), d3 = () => {
            let a4;
            if ("pending" !== i3.status) return;
            let s4 = 0 === r3 ? e4.initialPromise : void 0;
            try {
              a4 = s4 ?? e4.fn();
            } catch (e5) {
              a4 = Promise.reject(e5);
            }
            Promise.resolve(a4).then(o4).catch((a5) => {
              if ("pending" !== i3.status) return;
              let s5 = e4.retry ?? 3 * !P.isServer(), o5 = e4.retryDelay ?? T, h3 = "function" == typeof o5 ? o5(r3, a5) : o5, m3 = true === s5 || "number" == typeof s5 && r3 < s5 || "function" == typeof s5 && s5(r3, a5);
              t3 || !m3 ? l3(a5) : (r3++, e4.onFail?.(r3, a5), new Promise((e5) => {
                u2.setTimeout(e5, h3);
              }).then(() => n4() ? void 0 : c3()).then(() => {
                t3 ? l3(a5) : d3();
              }));
            });
          };
          return { promise: i3, status: () => i3.status, cancel: (a4) => {
            if ("pending" === i3.status) {
              let t4 = new E(a4);
              l3(t4), e4.onCancel?.(t4);
            }
          }, continue: () => (a3?.(), i3), cancelRetry: () => {
            t3 = true;
          }, continueRetry: () => {
            t3 = false;
          }, canStart: s3, start: () => (s3() ? d3() : c3().then(d3), i3) };
        }
        var M = class {
          #s;
          destroy() {
            this.clearGcTimeout();
          }
          scheduleGc() {
            var e4;
            this.clearGcTimeout(), "number" == typeof (e4 = this.gcTime) && e4 >= 0 && e4 !== 1 / 0 && (this.#s = u2.setTimeout(() => {
              this.optionalRemove();
            }, this.gcTime));
          }
          updateGcTime(e4) {
            this.gcTime = Math.max(this.gcTime || 0, e4 ?? (P.isServer() ? 1 / 0 : 3e5));
          }
          clearGcTimeout() {
            void 0 !== this.#s && (u2.clearTimeout(this.#s), this.#s = void 0);
          }
        };
        function F(e4, { pages: a3, pageParams: t3 }) {
          let r3 = a3.length - 1;
          return a3.length > 0 ? e4.getNextPageParam(a3[r3], a3, t3[r3], t3) : void 0;
        }
        var D = class extends M {
          #o;
          #l;
          #c;
          #d;
          #u;
          #h;
          #m;
          #p;
          constructor(e4) {
            super(), this.#p = false, this.#m = e4.defaultOptions, this.setOptions(e4.options), this.observers = [], this.#u = e4.client, this.#d = this.#u.getQueryCache(), this.queryKey = e4.queryKey, this.queryHash = e4.queryHash, this.#l = W(this.options), this.state = e4.state ?? this.#l, this.scheduleGc();
          }
          get meta() {
            return this.options.meta;
          }
          get queryType() {
            return this.#o;
          }
          get promise() {
            return this.#h?.promise;
          }
          setOptions(e4) {
            if (this.options = { ...this.#m, ...e4 }, e4?._type && (this.#o = e4._type), this.updateGcTime(this.options.gcTime), this.state && void 0 === this.state.data) {
              let e5 = W(this.options);
              void 0 !== e5.data && (this.setState(N(e5.data, e5.dataUpdatedAt)), this.#l = e5);
            }
          }
          optionalRemove() {
            this.observers.length || "idle" !== this.state.fetchStatus || this.#d.remove(this);
          }
          setData(e4, a3) {
            var t3, r3;
            let i3 = (t3 = this.state.data, "function" == typeof (r3 = this.options).structuralSharing ? r3.structuralSharing(t3, e4) : false !== r3.structuralSharing ? (function e5(a4, t4, r4 = 0) {
              if (a4 === t4) return a4;
              if (r4 > 500) return t4;
              let i4 = v(a4) && v(t4);
              if (!i4 && !(j(a4) && j(t4))) return t4;
              let n4 = (i4 ? a4 : Object.keys(a4)).length, s3 = i4 ? t4 : Object.keys(t4), o4 = s3.length, l3 = i4 ? Array(o4) : {}, c3 = 0;
              for (let d3 = 0; d3 < o4; d3++) {
                let o5 = i4 ? d3 : s3[d3], u3 = a4[o5], h3 = t4[o5];
                if (u3 === h3) {
                  l3[o5] = u3, (i4 ? d3 < n4 : w.call(a4, o5)) && c3++;
                  continue;
                }
                if (null === u3 || null === h3 || "object" != typeof u3 || "object" != typeof h3) {
                  l3[o5] = h3;
                  continue;
                }
                let m3 = e5(u3, h3, r4 + 1);
                l3[o5] = m3, m3 === u3 && c3++;
              }
              return n4 === o4 && c3 === n4 ? a4 : l3;
            })(t3, e4) : e4);
            return this.#g({ data: i3, type: "success", dataUpdatedAt: a3?.updatedAt, manual: a3?.manual }), i3;
          }
          setState(e4) {
            this.#g({ type: "setState", state: e4 });
          }
          cancel(e4) {
            let a3 = this.#h?.promise;
            return this.#h?.cancel(e4), a3 ? a3.then(m2).catch(m2) : Promise.resolve();
          }
          destroy() {
            super.destroy(), this.cancel({ silent: true });
          }
          get resetState() {
            return this.#l;
          }
          reset() {
            this.destroy(), this.setState(this.resetState);
          }
          isActive() {
            return this.observers.some((e4) => {
              var a3;
              return false !== (a3 = e4.options.enabled, "function" == typeof a3 ? a3(this) : a3);
            });
          }
          isDisabled() {
            return this.getObserversCount() > 0 ? !this.isActive() : this.options.queryFn === q || !this.isFetched();
          }
          isFetched() {
            return this.state.dataUpdateCount + this.state.errorUpdateCount > 0;
          }
          isStatic() {
            return this.getObserversCount() > 0 && this.observers.some((e4) => "static" === p2(e4.options.staleTime, this));
          }
          isStale() {
            return this.getObserversCount() > 0 ? this.observers.some((e4) => e4.getCurrentResult().isStale) : void 0 === this.state.data || this.state.isInvalidated;
          }
          isStaleByTime(e4 = 0) {
            return void 0 === this.state.data || "static" !== e4 && (!!this.state.isInvalidated || !Math.max(this.state.dataUpdatedAt + (e4 || 0) - Date.now(), 0));
          }
          onFocus() {
            let e4 = this.observers.find((e5) => e5.shouldFetchOnWindowFocus());
            e4?.refetch({ cancelRefetch: false }), this.#h?.continue();
          }
          onOnline() {
            let e4 = this.observers.find((e5) => e5.shouldFetchOnReconnect());
            e4?.refetch({ cancelRefetch: false }), this.#h?.continue();
          }
          addObserver(e4) {
            this.observers.includes(e4) || (this.observers.push(e4), this.clearGcTimeout(), this.#d.notify({ type: "observerAdded", query: this, observer: e4 }));
          }
          removeObserver(e4) {
            this.observers.includes(e4) && (this.observers = this.observers.filter((a3) => a3 !== e4), this.observers.length || (this.#h && (this.#p || this.#b() ? this.#h.cancel({ revert: true }) : this.#h.cancelRetry()), this.scheduleGc()), this.#d.notify({ type: "observerRemoved", query: this, observer: e4 }));
          }
          getObserversCount() {
            return this.observers.length;
          }
          #b() {
            return "paused" === this.state.fetchStatus && "pending" === this.state.status;
          }
          invalidate() {
            this.state.isInvalidated || this.#g({ type: "invalidate" });
          }
          async fetch(e4, a3) {
            var t3;
            let r3;
            if ("idle" !== this.state.fetchStatus && this.#h?.status() !== "rejected") {
              if (void 0 !== this.state.data && a3?.cancelRefetch) this.cancel({ silent: true });
              else if (this.#h) return this.#h.continueRetry(), this.#h.promise;
            }
            if (e4 && this.setOptions(e4), !this.options.queryFn) {
              let e5 = this.observers.find((e6) => e6.options.queryFn);
              e5 && this.setOptions(e5.options);
            }
            let i3 = new AbortController(), n4 = (e5) => {
              Object.defineProperty(e5, "signal", { enumerable: true, get: () => (this.#p = true, i3.signal) });
            }, s3 = () => {
              let e5, t4 = S2(this.options, a3), r4 = (n4(e5 = { client: this.#u, queryKey: this.queryKey, meta: this.meta }), e5);
              return (this.#p = false, this.options.persister) ? this.options.persister(t4, r4, this) : t4(r4);
            }, o4 = (n4(r3 = { fetchOptions: a3, options: this.options, queryKey: this.queryKey, client: this.#u, state: this.state, fetchFn: s3 }), r3), l3 = "infinite" === this.#o ? (t3 = this.options.pages, { onFetch: (e5, a4) => {
              let r4 = e5.options, i4 = e5.fetchOptions?.meta?.fetchMore?.direction, n5 = e5.state.data?.pages || [], s4 = e5.state.data?.pageParams || [], o5 = { pages: [], pageParams: [] }, l4 = 0, c3 = async () => {
                let a5 = false, c4 = S2(e5.options, e5.fetchOptions), d3 = async (t4, r5, i5) => {
                  if (a5) return Promise.reject(e5.signal.reason);
                  if (null == r5 && t4.pages.length) return Promise.resolve(t4);
                  let n6 = (() => {
                    var t5, n7;
                    let s6, o7, l6 = { client: e5.client, queryKey: e5.queryKey, pageParam: r5, direction: i5 ? "backward" : "forward", meta: e5.options.meta };
                    return t5 = () => e5.signal, n7 = () => a5 = true, o7 = false, Object.defineProperty(l6, "signal", { enumerable: true, get: () => (s6 ??= t5(), o7 || (o7 = true, s6.aborted ? n7() : s6.addEventListener("abort", n7, { once: true })), s6) }), l6;
                  })(), s5 = await c4(n6), { maxPages: o6 } = e5.options, l5 = i5 ? x : z;
                  return { pages: l5(t4.pages, s5, o6), pageParams: l5(t4.pageParams, r5, o6) };
                };
                if (i4 && n5.length) {
                  let e6 = "backward" === i4, a6 = { pages: n5, pageParams: s4 }, t4 = (e6 ? function(e7, { pages: a7, pageParams: t5 }) {
                    return a7.length > 0 ? e7.getPreviousPageParam?.(a7[0], a7, t5[0], t5) : void 0;
                  } : F)(r4, a6);
                  o5 = await d3(a6, t4, e6);
                } else {
                  let e6 = t3 ?? n5.length;
                  do {
                    let e7 = 0 === l4 ? s4[0] ?? r4.initialPageParam : F(r4, o5);
                    if (l4 > 0 && null == e7) break;
                    o5 = await d3(o5, e7), l4++;
                  } while (l4 < e6);
                }
                return o5;
              };
              e5.options.persister ? e5.fetchFn = () => e5.options.persister?.(c3, { client: e5.client, queryKey: e5.queryKey, meta: e5.options.meta, signal: e5.signal }, a4) : e5.fetchFn = c3;
            } }) : this.options.behavior;
            l3?.onFetch(o4, this), this.#c = this.state, ("idle" === this.state.fetchStatus || this.state.fetchMeta !== o4.fetchOptions?.meta) && this.#g({ type: "fetch", meta: o4.fetchOptions?.meta }), this.#h = R({ initialPromise: a3?.initialPromise, fn: o4.fetchFn, onCancel: (e5) => {
              e5 instanceof E && e5.revert && this.setState({ ...this.#c, fetchStatus: "idle" }), i3.abort();
            }, onFail: (e5, a4) => {
              this.#g({ type: "failed", failureCount: e5, error: a4 });
            }, onPause: () => {
              this.#g({ type: "pause" });
            }, onContinue: () => {
              this.#g({ type: "continue" });
            }, retry: o4.options.retry, retryDelay: o4.options.retryDelay, networkMode: o4.options.networkMode, canRun: () => true });
            try {
              let e5 = await this.#h.start();
              if (void 0 === e5) throw Error(`${this.queryHash} data is undefined`);
              return this.setData(e5), this.#d.config.onSuccess?.(e5, this), this.#d.config.onSettled?.(e5, this.state.error, this), e5;
            } catch (e5) {
              if (e5 instanceof E) {
                if (e5.silent) return this.#h.promise;
                else if (e5.revert) {
                  if (void 0 === this.state.data) throw e5;
                  return this.state.data;
                }
              }
              throw this.#g({ type: "error", error: e5 }), this.#d.config.onError?.(e5, this), this.#d.config.onSettled?.(this.state.data, e5, this), e5;
            } finally {
              this.scheduleGc();
            }
          }
          #g(e4) {
            let a3 = (a4) => {
              switch (e4.type) {
                case "failed":
                  return { ...a4, fetchFailureCount: e4.failureCount, fetchFailureReason: e4.error };
                case "pause":
                  return { ...a4, fetchStatus: "paused" };
                case "continue":
                  return { ...a4, fetchStatus: "fetching" };
                case "fetch":
                  var t3;
                  return { ...a4, ...(t3 = a4.data, { fetchFailureCount: 0, fetchFailureReason: null, fetchStatus: O(this.options.networkMode) ? "fetching" : "paused", ...void 0 === t3 && { error: null, status: "pending" } }), fetchMeta: e4.meta ?? null };
                case "success":
                  let r3 = { ...a4, ...N(e4.data, e4.dataUpdatedAt), dataUpdateCount: a4.dataUpdateCount + 1, ...!e4.manual && { fetchStatus: "idle", fetchFailureCount: 0, fetchFailureReason: null } };
                  return this.#c = e4.manual ? r3 : void 0, r3;
                case "error":
                  let i3 = e4.error;
                  return { ...a4, error: i3, errorUpdateCount: a4.errorUpdateCount + 1, errorUpdatedAt: Date.now(), fetchFailureCount: a4.fetchFailureCount + 1, fetchFailureReason: i3, fetchStatus: "idle", status: "error", isInvalidated: true };
                case "invalidate":
                  return { ...a4, isInvalidated: true };
                case "setState":
                  return { ...a4, ...e4.state };
              }
            };
            this.state = a3(this.state), I.batch(() => {
              this.observers.forEach((e5) => {
                e5.onQueryUpdate();
              }), this.#d.notify({ query: this, type: "updated", action: e4 });
            });
          }
        };
        function N(e4, a3) {
          return { data: e4, dataUpdatedAt: a3 ?? Date.now(), error: null, isInvalidated: false, status: "success" };
        }
        function W(e4) {
          let a3 = "function" == typeof e4.initialData ? e4.initialData() : e4.initialData, t3 = void 0 !== a3, r3 = t3 ? "function" == typeof e4.initialDataUpdatedAt ? e4.initialDataUpdatedAt() : e4.initialDataUpdatedAt : 0;
          return { data: a3, dataUpdateCount: 0, dataUpdatedAt: t3 ? r3 ?? Date.now() : 0, error: null, errorUpdateCount: 0, errorUpdatedAt: 0, fetchFailureCount: 0, fetchFailureReason: null, fetchMeta: null, isInvalidated: false, status: t3 ? "success" : "pending", fetchStatus: "idle" };
        }
        var L = class extends U2 {
          constructor(e4 = {}) {
            super(), this.config = e4, this.#f = /* @__PURE__ */ new Map();
          }
          #f;
          build(e4, a3, t3) {
            let r3 = a3.queryKey, i3 = a3.queryHash ?? f3(r3, a3), n4 = this.get(i3);
            return n4 || (n4 = new D({ client: e4, queryKey: r3, queryHash: i3, options: e4.defaultQueryOptions(a3), state: t3, defaultOptions: e4.getQueryDefaults(r3) }), this.add(n4)), n4;
          }
          add(e4) {
            this.#f.has(e4.queryHash) || (this.#f.set(e4.queryHash, e4), this.notify({ type: "added", query: e4 }));
          }
          remove(e4) {
            let a3 = this.#f.get(e4.queryHash);
            a3 && (e4.destroy(), a3 === e4 && this.#f.delete(e4.queryHash), this.notify({ type: "removed", query: e4 }));
          }
          clear() {
            I.batch(() => {
              this.getAll().forEach((e4) => {
                this.remove(e4);
              });
            });
          }
          get(e4) {
            return this.#f.get(e4);
          }
          getAll() {
            return [...this.#f.values()];
          }
          find(e4) {
            let a3 = { exact: true, ...e4 };
            return this.getAll().find((e5) => g2(a3, e5));
          }
          findAll(e4 = {}) {
            let a3 = this.getAll();
            return Object.keys(e4).length > 0 ? a3.filter((a4) => g2(e4, a4)) : a3;
          }
          notify(e4) {
            I.batch(() => {
              this.listeners.forEach((a3) => {
                a3(e4);
              });
            });
          }
          onFocus() {
            I.batch(() => {
              this.getAll().forEach((e4) => {
                e4.onFocus();
              });
            });
          }
          onOnline() {
            I.batch(() => {
              this.getAll().forEach((e4) => {
                e4.onOnline();
              });
            });
          }
        }, $2 = class extends M {
          #u;
          #y;
          #k;
          #h;
          constructor(e4) {
            super(), this.#u = e4.client, this.mutationId = e4.mutationId, this.#k = e4.mutationCache, this.#y = [], this.state = e4.state || { context: void 0, data: void 0, error: null, failureCount: 0, failureReason: null, isPaused: false, status: "idle", variables: void 0, submittedAt: 0 }, this.setOptions(e4.options), this.scheduleGc();
          }
          setOptions(e4) {
            this.options = e4, this.updateGcTime(this.options.gcTime);
          }
          get meta() {
            return this.options.meta;
          }
          addObserver(e4) {
            this.#y.includes(e4) || (this.#y.push(e4), this.clearGcTimeout(), this.#k.notify({ type: "observerAdded", mutation: this, observer: e4 }));
          }
          removeObserver(e4) {
            this.#y = this.#y.filter((a3) => a3 !== e4), this.scheduleGc(), this.#k.notify({ type: "observerRemoved", mutation: this, observer: e4 });
          }
          optionalRemove() {
            this.#y.length || ("pending" === this.state.status ? this.scheduleGc() : this.#k.remove(this));
          }
          continue() {
            return this.#h?.continue() ?? this.execute(this.state.variables);
          }
          async execute(e4) {
            let a3 = () => {
              this.#g({ type: "continue" });
            }, t3 = { client: this.#u, meta: this.options.meta, mutationKey: this.options.mutationKey };
            this.#h = R({ fn: () => this.options.mutationFn ? this.options.mutationFn(e4, t3) : Promise.reject(Error("No mutationFn found")), onFail: (e5, a4) => {
              this.#g({ type: "failed", failureCount: e5, error: a4 });
            }, onPause: () => {
              this.#g({ type: "pause" });
            }, onContinue: a3, retry: this.options.retry ?? 0, retryDelay: this.options.retryDelay, networkMode: this.options.networkMode, canRun: () => this.#k.canRun(this) });
            let r3 = "pending" === this.state.status, i3 = !this.#h.canStart();
            try {
              if (r3) a3();
              else {
                this.#g({ type: "pending", variables: e4, isPaused: i3 }), this.#k.config.onMutate && await this.#k.config.onMutate(e4, this, t3);
                let a4 = await this.options.onMutate?.(e4, t3);
                a4 !== this.state.context && this.#g({ type: "pending", context: a4, variables: e4, isPaused: i3 });
              }
              let n4 = await this.#h.start();
              return await this.#k.config.onSuccess?.(n4, e4, this.state.context, this, t3), await this.options.onSuccess?.(n4, e4, this.state.context, t3), await this.#k.config.onSettled?.(n4, null, this.state.variables, this.state.context, this, t3), await this.options.onSettled?.(n4, null, e4, this.state.context, t3), this.#g({ type: "success", data: n4 }), n4;
            } catch (a4) {
              try {
                await this.#k.config.onError?.(a4, e4, this.state.context, this, t3);
              } catch (e5) {
                Promise.reject(e5);
              }
              try {
                await this.options.onError?.(a4, e4, this.state.context, t3);
              } catch (e5) {
                Promise.reject(e5);
              }
              try {
                await this.#k.config.onSettled?.(void 0, a4, this.state.variables, this.state.context, this, t3);
              } catch (e5) {
                Promise.reject(e5);
              }
              try {
                await this.options.onSettled?.(void 0, a4, e4, this.state.context, t3);
              } catch (e5) {
                Promise.reject(e5);
              }
              throw this.#g({ type: "error", error: a4 }), a4;
            } finally {
              this.#k.runNext(this);
            }
          }
          #g(e4) {
            this.state = ((a3) => {
              switch (e4.type) {
                case "failed":
                  return { ...a3, failureCount: e4.failureCount, failureReason: e4.error };
                case "pause":
                  return { ...a3, isPaused: true };
                case "continue":
                  return { ...a3, isPaused: false };
                case "pending":
                  return { ...a3, context: e4.context, data: void 0, failureCount: 0, failureReason: null, error: null, isPaused: e4.isPaused, status: "pending", variables: e4.variables, submittedAt: Date.now() };
                case "success":
                  return { ...a3, data: e4.data, failureCount: 0, failureReason: null, error: null, status: "success", isPaused: false };
                case "error":
                  return { ...a3, data: void 0, error: e4.error, failureCount: a3.failureCount + 1, failureReason: e4.error, isPaused: false, status: "error" };
              }
            })(this.state), I.batch(() => {
              this.#y.forEach((a3) => {
                a3.onMutationUpdate(e4);
              }), this.#k.notify({ mutation: this, type: "updated", action: e4 });
            });
          }
        }, B = class extends U2 {
          constructor(e4 = {}) {
            super(), this.config = e4, this.#w = /* @__PURE__ */ new Set(), this.#v = /* @__PURE__ */ new Map(), this.#j = 0;
          }
          #w;
          #v;
          #j;
          build(e4, a3, t3) {
            let r3 = new $2({ client: e4, mutationCache: this, mutationId: ++this.#j, options: e4.defaultMutationOptions(a3), state: t3 });
            return this.add(r3), r3;
          }
          add(e4) {
            this.#w.add(e4);
            let a3 = K(e4);
            if ("string" == typeof a3) {
              let t3 = this.#v.get(a3);
              t3 ? t3.push(e4) : this.#v.set(a3, [e4]);
            }
            this.notify({ type: "added", mutation: e4 });
          }
          remove(e4) {
            if (this.#w.delete(e4)) {
              let a3 = K(e4);
              if ("string" == typeof a3) {
                let t3 = this.#v.get(a3);
                if (t3) if (t3.length > 1) {
                  let a4 = t3.indexOf(e4);
                  -1 !== a4 && t3.splice(a4, 1);
                } else t3[0] === e4 && this.#v.delete(a3);
              }
            }
            this.notify({ type: "removed", mutation: e4 });
          }
          canRun(e4) {
            let a3 = K(e4);
            if ("string" != typeof a3) return true;
            {
              let t3 = this.#v.get(a3), r3 = t3?.find((e5) => "pending" === e5.state.status);
              return !r3 || r3 === e4;
            }
          }
          runNext(e4) {
            let a3 = K(e4);
            if ("string" != typeof a3) return Promise.resolve();
            {
              let t3 = this.#v.get(a3)?.find((a4) => a4 !== e4 && a4.state.isPaused);
              return t3?.continue() ?? Promise.resolve();
            }
          }
          clear() {
            I.batch(() => {
              this.#w.forEach((e4) => {
                this.notify({ type: "removed", mutation: e4 });
              }), this.#w.clear(), this.#v.clear();
            });
          }
          getAll() {
            return Array.from(this.#w);
          }
          find(e4) {
            let a3 = { exact: true, ...e4 };
            return this.getAll().find((e5) => b2(a3, e5));
          }
          findAll(e4 = {}) {
            return this.getAll().filter((a3) => b2(e4, a3));
          }
          notify(e4) {
            I.batch(() => {
              this.listeners.forEach((a3) => {
                a3(e4);
              });
            });
          }
          resumePausedMutations() {
            let e4 = this.getAll().filter((e5) => e5.state.isPaused);
            return I.batch(() => Promise.all(e4.map((e5) => e5.continue().catch(m2))));
          }
        };
        function K(e4) {
          return e4.options.scope?.id;
        }
        var J = class {
          #_;
          #k;
          #m;
          #z;
          #x;
          #q;
          #S;
          #I;
          constructor(e4 = {}) {
            this.#_ = e4.queryCache || new L(), this.#k = e4.mutationCache || new B(), this.#m = e4.defaultOptions || {}, this.#z = /* @__PURE__ */ new Map(), this.#x = /* @__PURE__ */ new Map(), this.#q = 0;
          }
          mount() {
            this.#q++, 1 === this.#q && (this.#S = C.subscribe(async (e4) => {
              e4 && (await this.resumePausedMutations(), this.#_.onFocus());
            }), this.#I = A.subscribe(async (e4) => {
              e4 && (await this.resumePausedMutations(), this.#_.onOnline());
            }));
          }
          unmount() {
            this.#q--, 0 === this.#q && (this.#S?.(), this.#S = void 0, this.#I?.(), this.#I = void 0);
          }
          isFetching(e4) {
            return this.#_.findAll({ ...e4, fetchStatus: "fetching" }).length;
          }
          isMutating(e4) {
            return this.#k.findAll({ ...e4, status: "pending" }).length;
          }
          getQueryData(e4) {
            let a3 = this.defaultQueryOptions({ queryKey: e4 });
            return this.#_.get(a3.queryHash)?.state.data;
          }
          ensureQueryData(e4) {
            let a3 = this.defaultQueryOptions(e4), t3 = this.#_.build(this, a3), r3 = t3.state.data;
            return void 0 === r3 ? this.fetchQuery(e4) : (e4.revalidateIfStale && t3.isStaleByTime(p2(a3.staleTime, t3)) && this.prefetchQuery(a3), Promise.resolve(r3));
          }
          getQueriesData(e4) {
            return this.#_.findAll(e4).map(({ queryKey: e5, state: a3 }) => [e5, a3.data]);
          }
          setQueryData(e4, a3, t3) {
            let r3 = this.defaultQueryOptions({ queryKey: e4 }), i3 = this.#_.get(r3.queryHash), n4 = i3?.state.data, s3 = "function" == typeof a3 ? a3(n4) : a3;
            if (void 0 !== s3) return this.#_.build(this, r3).setData(s3, { ...t3, manual: true });
          }
          setQueriesData(e4, a3, t3) {
            return I.batch(() => this.#_.findAll(e4).map(({ queryKey: e5 }) => [e5, this.setQueryData(e5, a3, t3)]));
          }
          getQueryState(e4) {
            let a3 = this.defaultQueryOptions({ queryKey: e4 });
            return this.#_.get(a3.queryHash)?.state;
          }
          removeQueries(e4) {
            let a3 = this.#_;
            I.batch(() => {
              a3.findAll(e4).forEach((e5) => {
                a3.remove(e5);
              });
            });
          }
          resetQueries(e4, a3) {
            let t3 = this.#_;
            return I.batch(() => (t3.findAll(e4).forEach((e5) => {
              e5.reset();
            }), this.refetchQueries({ type: "active", ...e4 }, a3)));
          }
          cancelQueries(e4, a3 = {}) {
            let t3 = { revert: true, ...a3 };
            return Promise.all(I.batch(() => this.#_.findAll(e4).map((e5) => e5.cancel(t3)))).then(m2).catch(m2);
          }
          invalidateQueries(e4, a3 = {}) {
            return I.batch(() => (this.#_.findAll(e4).forEach((e5) => {
              e5.invalidate();
            }), e4?.refetchType === "none") ? Promise.resolve() : this.refetchQueries({ ...e4, type: e4?.refetchType ?? e4?.type ?? "active" }, a3));
          }
          refetchQueries(e4, a3 = {}) {
            let t3 = { ...a3, cancelRefetch: a3.cancelRefetch ?? true };
            return Promise.all(I.batch(() => this.#_.findAll(e4).filter((e5) => !e5.isDisabled() && !e5.isStatic()).map((e5) => {
              let a4 = e5.fetch(void 0, t3);
              return t3.throwOnError || (a4 = a4.catch(m2)), "paused" === e5.state.fetchStatus ? Promise.resolve() : a4;
            }))).then(m2);
          }
          fetchQuery(e4) {
            let a3 = this.defaultQueryOptions(e4);
            void 0 === a3.retry && (a3.retry = false);
            let t3 = this.#_.build(this, a3);
            return t3.isStaleByTime(p2(a3.staleTime, t3)) ? t3.fetch(a3) : Promise.resolve(t3.state.data);
          }
          prefetchQuery(e4) {
            return this.fetchQuery(e4).then(m2).catch(m2);
          }
          fetchInfiniteQuery(e4) {
            return e4._type = "infinite", this.fetchQuery(e4);
          }
          prefetchInfiniteQuery(e4) {
            return this.fetchInfiniteQuery(e4).then(m2).catch(m2);
          }
          ensureInfiniteQueryData(e4) {
            return e4._type = "infinite", this.ensureQueryData(e4);
          }
          resumePausedMutations() {
            return A.isOnline() ? this.#k.resumePausedMutations() : Promise.resolve();
          }
          getQueryCache() {
            return this.#_;
          }
          getMutationCache() {
            return this.#k;
          }
          getDefaultOptions() {
            return this.#m;
          }
          setDefaultOptions(e4) {
            this.#m = e4;
          }
          setQueryDefaults(e4, a3) {
            this.#z.set(y(e4), { queryKey: e4, defaultOptions: a3 });
          }
          getQueryDefaults(e4) {
            let a3 = [...this.#z.values()], t3 = {};
            return a3.forEach((a4) => {
              k(e4, a4.queryKey) && Object.assign(t3, a4.defaultOptions);
            }), t3;
          }
          setMutationDefaults(e4, a3) {
            this.#x.set(y(e4), { mutationKey: e4, defaultOptions: a3 });
          }
          getMutationDefaults(e4) {
            let a3 = [...this.#x.values()], t3 = {};
            return a3.forEach((a4) => {
              k(e4, a4.mutationKey) && Object.assign(t3, a4.defaultOptions);
            }), t3;
          }
          defaultQueryOptions(e4) {
            if (e4._defaulted) return e4;
            let a3 = { ...this.#m.queries, ...this.getQueryDefaults(e4.queryKey), ...e4, _defaulted: true };
            return a3.queryHash || (a3.queryHash = f3(a3.queryKey, a3)), void 0 === a3.refetchOnReconnect && (a3.refetchOnReconnect = "always" !== a3.networkMode), void 0 === a3.throwOnError && (a3.throwOnError = !!a3.suspense), !a3.networkMode && a3.persister && (a3.networkMode = "offlineFirst"), a3.queryFn === q && (a3.enabled = false), a3;
          }
          defaultMutationOptions(e4) {
            return e4?._defaulted ? e4 : { ...this.#m.mutations, ...e4?.mutationKey && this.getMutationDefaults(e4.mutationKey), ...e4, _defaulted: true };
          }
          clear() {
            this.#_.clear(), this.#k.clear();
          }
        };
      }, 835(e3, a2, t2) {
        t2.r(a2), t2.d(a2, { zxcvbnAsync: () => ec, zxcvbnOptions: () => U2, Options: () => I, zxcvbn: () => el2, debounce: () => ei });
        let r2 = (e4, a3) => e4.push.apply(e4, a3), i2 = (e4) => e4.sort((e5, a3) => e5.i - a3.i || e5.j - a3.j), n3 = (e4) => {
          let a3 = {}, t3 = 1;
          return e4.forEach((e5) => {
            a3[e5] = t3, t3 += 1;
          }), a3;
        }, s2 = { 4: [[1, 2], [2, 3]], 5: [[1, 3], [2, 3], [2, 4]], 6: [[1, 2], [2, 4], [4, 5]], 7: [[1, 3], [2, 3], [4, 5], [4, 6]], 8: [[2, 4], [4, 6]] }, o3 = /^[A-Z\xbf-\xdf][^A-Z\xbf-\xdf]+$/, l2 = /^[^A-Z\xbf-\xdf]+[A-Z\xbf-\xdf]$/, c2 = /^[A-Z\xbf-\xdf]+$/, d2 = /^[^a-z\xdf-\xff]+$/, u2 = /^[a-z\xdf-\xff]+$/, h2 = /^[^A-Z\xbf-\xdf]+$/, m2 = /[a-z\xdf-\xff]/, p2 = /[A-Z\xbf-\xdf]/, g2 = /[^A-Za-z\xbf-\xdf]/gi, b2 = /^\d+$/, f3 = (/* @__PURE__ */ new Date()).getFullYear(), y = { recentYear: /19\d\d|200\d|201\d|202\d/g }, k = [" ", ",", ";", ":", "|", "/", "\\", "_", ".", "-"], w = k.length;
        class v {
          match({ password: e4 }) {
            let a3 = [...this.getMatchesWithoutSeparator(e4), ...this.getMatchesWithSeparator(e4)];
            return i2(this.filterNoise(a3));
          }
          getMatchesWithSeparator(e4) {
            let a3 = [], t3 = /^(\d{1,4})([\s/\\_.-])(\d{1,2})\2(\d{1,4})$/;
            for (let r3 = 0; r3 <= Math.abs(e4.length - 6); r3 += 1) for (let i3 = r3 + 5; i3 <= r3 + 9 && !(i3 >= e4.length); i3 += 1) {
              let n4 = e4.slice(r3, +i3 + 1 || 9e9), s3 = t3.exec(n4);
              if (null != s3) {
                let e5 = this.mapIntegersToDayMonthYear([parseInt(s3[1], 10), parseInt(s3[3], 10), parseInt(s3[4], 10)]);
                null != e5 && a3.push({ pattern: "date", token: n4, i: r3, j: i3, separator: s3[2], year: e5.year, month: e5.month, day: e5.day });
              }
            }
            return a3;
          }
          getMatchesWithoutSeparator(e4) {
            let a3 = [], t3 = /^\d{4,8}$/, r3 = (e5) => Math.abs(e5.year - f3);
            for (let i3 = 0; i3 <= Math.abs(e4.length - 4); i3 += 1) for (let n4 = i3 + 3; n4 <= i3 + 7 && !(n4 >= e4.length); n4 += 1) {
              let o4 = e4.slice(i3, +n4 + 1 || 9e9);
              if (t3.exec(o4)) {
                let e5 = [];
                if (s2[o4.length].forEach(([a4, t4]) => {
                  let r4 = this.mapIntegersToDayMonthYear([parseInt(o4.slice(0, a4), 10), parseInt(o4.slice(a4, t4), 10), parseInt(o4.slice(t4), 10)]);
                  null != r4 && e5.push(r4);
                }), e5.length > 0) {
                  let t4 = e5[0], s3 = r3(e5[0]);
                  e5.slice(1).forEach((e6) => {
                    let a4 = r3(e6);
                    a4 < s3 && (t4 = e6, s3 = a4);
                  }), a3.push({ pattern: "date", token: o4, i: i3, j: n4, separator: "", year: t4.year, month: t4.month, day: t4.day });
                }
              }
            }
            return a3;
          }
          filterNoise(e4) {
            return e4.filter((a3) => {
              let t3 = false, r3 = e4.length;
              for (let i3 = 0; i3 < r3; i3 += 1) {
                let r4 = e4[i3];
                if (a3 !== r4 && r4.i <= a3.i && r4.j >= a3.j) {
                  t3 = true;
                  break;
                }
              }
              return !t3;
            });
          }
          mapIntegersToDayMonthYear(e4) {
            if (e4[1] > 31 || e4[1] <= 0) return null;
            let a3 = 0, t3 = 0, r3 = 0;
            for (let i3 = 0, n4 = e4.length; i3 < n4; i3 += 1) {
              let n5 = e4[i3];
              if (n5 > 99 && n5 < 1e3 || n5 > 2050) return null;
              n5 > 31 && (t3 += 1), n5 > 12 && (a3 += 1), n5 <= 0 && (r3 += 1);
            }
            return t3 >= 2 || 3 === a3 || r3 >= 2 ? null : this.getDayMonth(e4);
          }
          getDayMonth(e4) {
            let a3 = [[e4[2], e4.slice(0, 2)], [e4[0], e4.slice(1, 3)]], t3 = a3.length;
            for (let e5 = 0; e5 < t3; e5 += 1) {
              let [t4, r3] = a3[e5];
              if (1e3 <= t4 && t4 <= 2050) {
                let e6 = this.mapIntegersToDayMonth(r3);
                if (null != e6) return { year: t4, month: e6.month, day: e6.day };
                return null;
              }
            }
            for (let e5 = 0; e5 < t3; e5 += 1) {
              let [t4, r3] = a3[e5], i3 = this.mapIntegersToDayMonth(r3);
              if (null != i3) return { year: this.twoToFourDigitYear(t4), month: i3.month, day: i3.day };
            }
            return null;
          }
          mapIntegersToDayMonth(e4) {
            let a3 = [e4, e4.slice().reverse()];
            for (let e5 = 0; e5 < a3.length; e5 += 1) {
              let t3 = a3[e5], r3 = t3[0], i3 = t3[1];
              if (r3 >= 1 && r3 <= 31 && i3 >= 1 && i3 <= 12) return { day: r3, month: i3 };
            }
            return null;
          }
          twoToFourDigitYear(e4) {
            return e4 > 99 ? e4 : e4 > 50 ? e4 + 1900 : e4 + 2e3;
          }
        }
        let j = new Uint32Array(65536), _3 = (e4, a3, t3) => {
          let r3 = 0, i3 = Object.keys(a3).find((a4) => {
            let i4, n4, s3 = (i4 = e4.length <= a4.length, n4 = e4.length <= t3, i4 || n4 ? Math.ceil(e4.length / 4) : t3);
            if (Math.abs(e4.length - a4.length) > s3) return false;
            let o4 = ((e5, a5) => {
              if (e5.length < a5.length) {
                let t4 = a5;
                a5 = e5, e5 = t4;
              }
              return 0 === a5.length ? e5.length : e5.length <= 32 ? ((e6, a6) => {
                let t4 = e6.length, r4 = a6.length, i5 = 1 << t4 - 1, n5 = -1, s4 = 0, o5 = t4, l4 = t4;
                for (; l4--; ) j[e6.charCodeAt(l4)] |= 1 << l4;
                for (l4 = 0; l4 < r4; l4++) {
                  let e7 = j[a6.charCodeAt(l4)], t5 = e7 | s4;
                  e7 |= (e7 & n5) + n5 ^ n5, s4 |= ~(e7 | n5), n5 &= e7, s4 & i5 && o5++, n5 & i5 && o5--, n5 = n5 << 1 | ~(t5 | (s4 = s4 << 1 | 1)), s4 &= t5;
                }
                for (l4 = t4; l4--; ) j[e6.charCodeAt(l4)] = 0;
                return o5;
              })(e5, a5) : ((e6, a6) => {
                let t4 = a6.length, r4 = e6.length, i5 = [], n5 = [], s4 = Math.ceil(t4 / 32), o5 = Math.ceil(r4 / 32);
                for (let e7 = 0; e7 < s4; e7++) n5[e7] = -1, i5[e7] = 0;
                let l4 = 0;
                for (; l4 < o5 - 1; l4++) {
                  let s5 = 0, o6 = -1, c4 = 32 * l4, d4 = Math.min(32, r4) + c4;
                  for (let a7 = c4; a7 < d4; a7++) j[e6.charCodeAt(a7)] |= 1 << a7;
                  for (let e7 = 0; e7 < t4; e7++) {
                    let t5 = j[a6.charCodeAt(e7)], r5 = n5[e7 / 32 | 0] >>> e7 & 1, l5 = i5[e7 / 32 | 0] >>> e7 & 1, c5 = t5 | s5, d5 = ((t5 | l5) & o6) + o6 ^ o6 | t5 | l5, u4 = s5 | ~(d5 | o6), h4 = o6 & d5;
                    u4 >>> 31 ^ r5 && (n5[e7 / 32 | 0] ^= 1 << e7), h4 >>> 31 ^ l5 && (i5[e7 / 32 | 0] ^= 1 << e7), u4 = u4 << 1 | r5, o6 = (h4 = h4 << 1 | l5) | ~(c5 | u4), s5 = u4 & c5;
                  }
                  for (let a7 = c4; a7 < d4; a7++) j[e6.charCodeAt(a7)] = 0;
                }
                let c3 = 0, d3 = -1, u3 = 32 * l4, h3 = Math.min(32, r4 - u3) + u3;
                for (let a7 = u3; a7 < h3; a7++) j[e6.charCodeAt(a7)] |= 1 << a7;
                let m3 = r4;
                for (let e7 = 0; e7 < t4; e7++) {
                  let t5 = j[a6.charCodeAt(e7)], s5 = n5[e7 / 32 | 0] >>> e7 & 1, o6 = i5[e7 / 32 | 0] >>> e7 & 1, l5 = t5 | c3, u4 = ((t5 | o6) & d3) + d3 ^ d3 | t5 | o6, h4 = c3 | ~(u4 | d3), p3 = d3 & u4;
                  m3 += h4 >>> r4 - 1 & 1, m3 -= p3 >>> r4 - 1 & 1, h4 >>> 31 ^ s5 && (n5[e7 / 32 | 0] ^= 1 << e7), p3 >>> 31 ^ o6 && (i5[e7 / 32 | 0] ^= 1 << e7), h4 = h4 << 1 | s5, d3 = (p3 = p3 << 1 | o6) | ~(l5 | h4), c3 = h4 & l5;
                }
                for (let a7 = u3; a7 < h3; a7++) j[e6.charCodeAt(a7)] = 0;
                return m3;
              })(e5, a5);
            })(e4, a4), l3 = o4 <= s3;
            return l3 && (r3 = o4), l3;
          });
          return i3 ? { levenshteinDistance: r3, levenshteinDistanceEntry: i3 } : {};
        };
        var z = { a: ["4", "@"], b: ["8"], c: ["(", "{", "[", "<"], d: ["6", "|)"], e: ["3"], f: ["#"], g: ["6", "9", "&"], h: ["#", "|-|"], i: ["1", "!", "|"], k: ["<", "|<"], l: ["!", "1", "|", "7"], m: ["^^", "nn", "2n", "/\\\\/\\\\"], n: ["//"], o: ["0", "()"], q: ["9"], u: ["|_|"], s: ["$", "5"], t: ["+", "7"], v: ["<", ">", "/"], w: ["^/", "uu", "vv", "2u", "2v", "\\\\/\\\\/"], x: ["%", "><"], z: ["2"] }, x = { warnings: { straightRow: "straightRow", keyPattern: "keyPattern", simpleRepeat: "simpleRepeat", extendedRepeat: "extendedRepeat", sequences: "sequences", recentYears: "recentYears", dates: "dates", topTen: "topTen", topHundred: "topHundred", common: "common", similarToCommon: "similarToCommon", wordByItself: "wordByItself", namesByThemselves: "namesByThemselves", commonNames: "commonNames", userInputs: "userInputs", pwned: "pwned" }, suggestions: { l33t: "l33t", reverseWords: "reverseWords", allUppercase: "allUppercase", capitalization: "capitalization", dates: "dates", recentYears: "recentYears", associatedYears: "associatedYears", sequences: "sequences", repeated: "repeated", longerKeyboardPattern: "longerKeyboardPattern", anotherWord: "anotherWord", useWords: "useWords", noNeed: "noNeed", pwned: "pwned" }, timeEstimation: { ltSecond: "ltSecond", second: "second", seconds: "seconds", minute: "minute", minutes: "minutes", hour: "hour", hours: "hours", day: "day", days: "days", month: "month", months: "months", year: "year", years: "years", centuries: "centuries" } };
        class q {
          constructor(e4 = []) {
            this.parents = e4, this.children = /* @__PURE__ */ new Map();
          }
          addSub(e4, ...a3) {
            let t3 = e4.charAt(0);
            this.children.has(t3) || this.children.set(t3, new q([...this.parents, t3]));
            let r3 = this.children.get(t3);
            for (let a4 = 1; a4 < e4.length; a4 += 1) {
              let t4 = e4.charAt(a4);
              r3.hasChild(t4) || r3.addChild(t4), r3 = r3.getChild(t4);
            }
            return r3.subs = (r3.subs || []).concat(a3), this;
          }
          getChild(e4) {
            return this.children.get(e4);
          }
          isTerminal() {
            return !!this.subs;
          }
          addChild(e4) {
            this.hasChild(e4) || this.children.set(e4, new q([...this.parents, e4]));
          }
          hasChild(e4) {
            return this.children.has(e4);
          }
        }
        var S2 = (e4, a3) => (Object.entries(e4).forEach(([e5, t3]) => {
          t3.forEach((t4) => {
            a3.addSub(t4, e5);
          });
        }), a3);
        class I {
          constructor() {
            this.matchers = {}, this.l33tTable = z, this.trieNodeRoot = S2(z, new q()), this.dictionary = { userInputs: [] }, this.rankedDictionaries = {}, this.rankedDictionariesMaxWordSize = {}, this.translations = x, this.graphs = {}, this.useLevenshteinDistance = false, this.levenshteinThreshold = 2, this.l33tMaxSubstitutions = 100, this.maxLength = 256, this.setRankedDictionaries();
          }
          setOptions(e4 = {}) {
            e4.l33tTable && (this.l33tTable = e4.l33tTable, this.trieNodeRoot = S2(e4.l33tTable, new q())), e4.dictionary && (this.dictionary = e4.dictionary, this.setRankedDictionaries()), e4.translations && this.setTranslations(e4.translations), e4.graphs && (this.graphs = e4.graphs), void 0 !== e4.useLevenshteinDistance && (this.useLevenshteinDistance = e4.useLevenshteinDistance), void 0 !== e4.levenshteinThreshold && (this.levenshteinThreshold = e4.levenshteinThreshold), void 0 !== e4.l33tMaxSubstitutions && (this.l33tMaxSubstitutions = e4.l33tMaxSubstitutions), void 0 !== e4.maxLength && (this.maxLength = e4.maxLength);
          }
          setTranslations(e4) {
            if (this.checkCustomTranslations(e4)) this.translations = e4;
            else throw Error("Invalid translations object fallback to keys");
          }
          checkCustomTranslations(e4) {
            let a3 = true;
            return Object.keys(x).forEach((t3) => {
              t3 in e4 ? Object.keys(x[t3]).forEach((r3) => {
                r3 in e4[t3] || (a3 = false);
              }) : a3 = false;
            }), a3;
          }
          setRankedDictionaries() {
            let e4 = {}, a3 = {};
            Object.keys(this.dictionary).forEach((t3) => {
              e4[t3] = n3(this.dictionary[t3]), a3[t3] = this.getRankedDictionariesMaxWordSize(this.dictionary[t3]);
            }), this.rankedDictionaries = e4, this.rankedDictionariesMaxWordSize = a3;
          }
          getRankedDictionariesMaxWordSize(e4) {
            let a3 = e4.map((e5) => "string" != typeof e5 ? e5.toString().length : e5.length);
            return 0 === a3.length ? 0 : a3.reduce((e5, a4) => Math.max(e5, a4), -1 / 0);
          }
          buildSanitizedRankedDictionary(e4) {
            let a3 = [];
            return e4.forEach((e5) => {
              let t3 = typeof e5;
              ("string" === t3 || "number" === t3 || "boolean" === t3) && a3.push(e5.toString().toLowerCase());
            }), n3(a3);
          }
          extendUserInputsDictionary(e4) {
            this.dictionary.userInputs || (this.dictionary.userInputs = []);
            let a3 = [...this.dictionary.userInputs, ...e4];
            this.rankedDictionaries.userInputs = this.buildSanitizedRankedDictionary(a3), this.rankedDictionariesMaxWordSize.userInputs = this.getRankedDictionariesMaxWordSize(a3);
          }
          addMatcher(e4, a3) {
            this.matchers[e4] ? console.info(`Matcher ${e4} already exists`) : this.matchers[e4] = a3;
          }
        }
        let U2 = new I();
        class C {
          constructor(e4) {
            this.defaultMatch = e4;
          }
          match({ password: e4 }) {
            let a3 = e4.split("").reverse().join("");
            return this.defaultMatch({ password: a3 }).map((a4) => ({ ...a4, token: a4.token.split("").reverse().join(""), reversed: true, i: e4.length - 1 - a4.j, j: e4.length - 1 - a4.i }));
          }
        }
        class A {
          constructor({ substr: e4, limit: a3, trieRoot: t3 }) {
            this.buffer = [], this.finalPasswords = [], this.substr = e4, this.limit = a3, this.trieRoot = t3;
          }
          getAllPossibleSubsAtIndex(e4) {
            let a3 = [], t3 = this.trieRoot;
            for (let r3 = e4; r3 < this.substr.length; r3 += 1) {
              let e5 = this.substr.charAt(r3);
              if (!(t3 = t3.getChild(e5))) break;
              a3.push(t3);
            }
            return a3;
          }
          helper({ onlyFullSub: e4, isFullSub: a3, index: t3, subIndex: r3, changes: i3, lastSubLetter: n4, consecutiveSubCount: s3 }) {
            if (this.finalPasswords.length >= this.limit) return;
            if (t3 === this.substr.length) {
              e4 === a3 && this.finalPasswords.push({ password: this.buffer.join(""), changes: i3 });
              return;
            }
            let o4 = [...this.getAllPossibleSubsAtIndex(t3)], l3 = false;
            for (let c3 = t3 + o4.length - 1; c3 >= t3; c3 -= 1) {
              let d3 = o4[c3 - t3];
              if (d3.isTerminal()) {
                if (n4 === d3.parents.join("") && s3 >= 3) continue;
                for (let t4 of (l3 = true, d3.subs)) {
                  this.buffer.push(t4);
                  let o5 = i3.concat({ i: r3, letter: t4, substitution: d3.parents.join("") });
                  if (this.helper({ onlyFullSub: e4, isFullSub: a3, index: c3 + 1, subIndex: r3 + t4.length, changes: o5, lastSubLetter: d3.parents.join(""), consecutiveSubCount: n4 === d3.parents.join("") ? s3 + 1 : 1 }), this.buffer.pop(), this.finalPasswords.length >= this.limit) return;
                }
              }
            }
            if (!e4 || !l3) {
              let o5 = this.substr.charAt(t3);
              this.buffer.push(o5), this.helper({ onlyFullSub: e4, isFullSub: a3 && !l3, index: t3 + 1, subIndex: r3 + 1, changes: i3, lastSubLetter: n4, consecutiveSubCount: s3 }), this.buffer.pop();
            }
          }
          getAll() {
            return this.helper({ onlyFullSub: true, isFullSub: true, index: 0, subIndex: 0, changes: [], lastSubLetter: void 0, consecutiveSubCount: 0 }), this.helper({ onlyFullSub: false, isFullSub: true, index: 0, subIndex: 0, changes: [], lastSubLetter: void 0, consecutiveSubCount: 0 }), this.finalPasswords;
          }
        }
        class P {
          constructor(e4) {
            this.defaultMatch = e4;
          }
          isAlreadyIncluded(e4, a3) {
            return e4.some((e5) => Object.entries(e5).every(([e6, t3]) => "subs" === e6 || t3 === a3[e6]));
          }
          match({ password: e4 }) {
            let a3 = [], t3 = new A({ substr: e4, limit: U2.l33tMaxSubstitutions, trieRoot: U2.trieNodeRoot }).getAll(), r3 = false, i3 = true;
            return t3.forEach((t4) => {
              if (r3) return;
              let n4 = this.defaultMatch({ password: t4.password, useLevenshtein: i3 });
              i3 = false, n4.forEach((i4) => {
                var n5, s3;
                let o4, l3, c3, d3, u3;
                r3 || (r3 = 0 === i4.i && i4.j === e4.length - 1);
                let h3 = (n5 = i4.i, s3 = i4.j, o4 = t4.changes.filter((e5) => e5.i < n5).reduce((e5, a4) => e5 - a4.letter.length + a4.substitution.length, n5), c3 = (l3 = t4.changes.filter((e5) => e5.i >= n5 && e5.i <= s3)).reduce((e5, a4) => e5 - a4.letter.length + a4.substitution.length, s3 - n5 + o4), d3 = [], u3 = [], l3.forEach((e5) => {
                  0 > d3.findIndex((a4) => a4.letter === e5.letter && a4.substitution === e5.substitution) && (d3.push({ letter: e5.letter, substitution: e5.substitution }), u3.push(`${e5.substitution} -> ${e5.letter}`));
                }), { i: o4, j: c3, subs: d3, subDisplay: u3.join(", ") }), m3 = e4.slice(h3.i, +h3.j + 1 || 9e9), p3 = { ...i4, l33t: true, token: m3, ...h3 }, g3 = this.isAlreadyIncluded(a3, p3);
                m3.toLowerCase() === i4.matchedWord || g3 || a3.push(p3);
              });
            }), a3.filter((e5) => e5.token.length > 1);
          }
        }
        class T {
          constructor() {
            this.l33t = new P(this.defaultMatch), this.reverse = new C(this.defaultMatch);
          }
          match({ password: e4 }) {
            return i2([...this.defaultMatch({ password: e4 }), ...this.reverse.match({ password: e4 }), ...this.l33t.match({ password: e4 })]);
          }
          defaultMatch({ password: e4, useLevenshtein: a3 = true }) {
            let t3 = [], r3 = e4.length, i3 = e4.toLowerCase();
            return Object.keys(U2.rankedDictionaries).forEach((n4) => {
              let s3 = U2.rankedDictionaries[n4], o4 = Math.min(U2.rankedDictionariesMaxWordSize[n4], r3);
              for (let l3 = 0; l3 < r3; l3 += 1) {
                let c3 = Math.min(l3 + o4, r3);
                for (let o5 = l3; o5 < c3; o5 += 1) {
                  let c4 = i3.slice(l3, +o5 + 1 || 9e9), d3 = c4 in s3, u3 = {}, h3 = 0 === l3 && o5 === r3 - 1;
                  U2.useLevenshteinDistance && h3 && !d3 && a3 && (u3 = _3(c4, s3, U2.levenshteinThreshold));
                  let m3 = 0 !== Object.keys(u3).length;
                  if (d3 || m3) {
                    let a4 = s3[m3 ? u3.levenshteinDistanceEntry : c4];
                    t3.push({ pattern: "dictionary", i: l3, j: o5, token: e4.slice(l3, +o5 + 1 || 9e9), matchedWord: c4, rank: a4, dictionaryName: n4, reversed: false, l33t: false, ...u3 });
                  }
                }
              }
            }), t3;
          }
        }
        class O {
          match({ password: e4, regexes: a3 = y }) {
            let t3 = [];
            return Object.keys(a3).forEach((r3) => {
              let i3, n4 = a3[r3];
              for (n4.lastIndex = 0; i3 = n4.exec(e4); ) if (i3) {
                let e5 = i3[0];
                t3.push({ pattern: "regex", token: e5, i: i3.index, j: i3.index + i3[0].length - 1, regexName: r3, regexMatch: i3 });
              }
            }), i2(t3);
          }
        }
        var E = { nCk(e4, a3) {
          let t3 = e4;
          if (a3 > t3) return 0;
          if (0 === a3) return 1;
          let r3 = 1;
          for (let e5 = 1; e5 <= a3; e5 += 1) r3 *= t3, r3 /= e5, t3 -= 1;
          return r3;
        }, log10: (e4) => 0 === e4 ? 0 : Math.log(e4) / Math.log(10), log2: (e4) => Math.log(e4) / Math.log(2), factorial(e4) {
          let a3 = 1;
          for (let t3 = 2; t3 <= e4; t3 += 1) a3 *= t3;
          return a3;
        } };
        let R = (e4, a3) => {
          let t3 = 0, r3 = e4.indexOf(a3);
          for (; r3 >= 0; ) t3 += 1, r3 = e4.indexOf(a3, r3 + a3.length);
          return t3;
        }, M = { bruteforce: ({ token: e4 }) => {
          let a3 = 10 ** e4.length;
          return a3 === 1 / 0 && (a3 = Number.MAX_VALUE), Math.max(a3, 1 === e4.length ? 11 : 51);
        }, date: ({ year: e4, separator: a3 }) => {
          let t3 = 365 * Math.max(Math.abs(e4 - f3), 20);
          return a3 && (t3 *= 4), t3;
        }, dictionary: ({ rank: e4, reversed: a3, l33t: t3, subs: r3, token: i3, dictionaryName: n4 }) => {
          let s3, c3 = ((e5) => {
            let a4 = e5.replace(g2, "");
            if (a4.match(h2) || a4.toLowerCase() === a4) return 1;
            let t4 = [o3, l2, d2], r4 = t4.length;
            for (let e6 = 0; e6 < r4; e6 += 1) {
              let r5 = t4[e6];
              if (a4.match(r5)) return 2;
            }
            return ((e6) => {
              let a5 = e6.split(""), t5 = a5.filter((e7) => e7.match(p2)).length, r5 = a5.filter((e7) => e7.match(m2)).length, i4 = 0, n5 = Math.min(t5, r5);
              for (let e7 = 1; e7 <= n5; e7 += 1) i4 += E.nCk(t5 + r5, e7);
              return i4;
            })(a4);
          })(i3), u3 = (({ l33t: e5, subs: a4, token: t4 }) => {
            if (!e5) return 1;
            let r4 = 1;
            return a4.forEach((e6) => {
              let { subbedCount: a5, unsubbedCount: i4 } = (({ sub: e7, token: a6 }) => {
                let t5 = a6.toLowerCase();
                return { subbedCount: R(t5, e7.substitution), unsubbedCount: R(t5, e7.letter) };
              })({ sub: e6, token: t4 });
              if (0 === a5 || 0 === i4) r4 *= 2;
              else {
                let e7 = Math.min(i4, a5), t5 = 0;
                for (let r5 = 1; r5 <= e7; r5 += 1) t5 += E.nCk(i4 + a5, r5);
                r4 *= t5;
              }
            }), r4;
          })({ l33t: t3, subs: r3, token: i3 });
          return s3 = "diceware" === n4 ? 3888 : e4 * c3 * u3 * (a3 && 2 || 1), { baseGuesses: e4, uppercaseVariations: c3, l33tVariations: u3, calculation: s3 };
        }, regex: ({ regexName: e4, regexMatch: a3, token: t3 }) => {
          let r3 = { alphaLower: 26, alphaUpper: 26, alpha: 52, alphanumeric: 62, digits: 10, symbols: 33 };
          return e4 in r3 ? r3[e4] ** t3.length : "recentYear" === e4 ? Math.max(Math.abs(parseInt(a3[0], 10) - f3), 20) : 0;
        }, repeat: ({ baseGuesses: e4, repeatCount: a3 }) => e4 * a3, sequence: ({ token: e4, ascending: a3 }) => {
          let t3 = e4.charAt(0), r3 = 0;
          return r3 = ["a", "A", "z", "Z", "0", "1", "9"].includes(t3) ? 4 : t3.match(/\d/) ? 10 : 26, a3 || (r3 *= 2), r3 * e4.length;
        }, spatial: ({ graph: e4, token: a3, shiftedCount: t3, turns: r3 }) => {
          let i3 = (({ token: e5, graph: a4, turns: t4 }) => {
            var r4;
            let i4, n4 = Object.keys(U2.graphs[a4]).length, s3 = (r4 = U2.graphs[a4], i4 = 0, Object.keys(r4).forEach((e6) => {
              let a5 = r4[e6];
              i4 += a5.filter((e7) => !!e7).length;
            }), i4 /= Object.entries(r4).length), o4 = 0, l3 = e5.length;
            for (let e6 = 2; e6 <= l3; e6 += 1) {
              let a5 = Math.min(t4, e6 - 1);
              for (let t5 = 1; t5 <= a5; t5 += 1) o4 += E.nCk(e6 - 1, t5 - 1) * n4 * s3 ** t5;
            }
            return o4;
          })({ token: a3, graph: e4, turns: r3 });
          if (t3) {
            let e5 = a3.length - t3;
            if (0 === t3 || 0 === e5) i3 *= 2;
            else {
              let a4 = 0;
              for (let r4 = 1; r4 <= Math.min(t3, e5); r4 += 1) a4 += E.nCk(t3 + e5, r4);
              i3 *= a4;
            }
          }
          return Math.round(i3);
        }, separator: () => w }, F = { password: "", optimal: {}, excludeAdditive: false, separatorRegex: void 0, fillArray(e4, a3) {
          let t3 = [];
          for (let r3 = 0; r3 < e4; r3 += 1) {
            let e5 = [];
            "object" === a3 && (e5 = {}), t3.push(e5);
          }
          return t3;
        }, makeBruteforceMatch(e4, a3) {
          return { pattern: "bruteforce", token: this.password.slice(e4, +a3 + 1 || 9e9), i: e4, j: a3 };
        }, update(e4, a3) {
          let t3 = e4.j, r3 = ((e5, a4) => {
            var t4;
            let r4, i4 = {};
            if ("guesses" in e5 && null != e5.guesses) return e5;
            let n5 = (r4 = 1, e5.token.length < a4.length && (r4 = 1 === e5.token.length ? 10 : 50), r4), s4 = (t4 = e5.pattern, M[t4] ? M[t4](e5) : U2.matchers[t4] && "scoring" in U2.matchers[t4] ? U2.matchers[t4].scoring(e5) : 0), o4 = 0;
            "number" == typeof s4 ? o4 = s4 : "dictionary" === e5.pattern && (o4 = s4.calculation, i4.baseGuesses = s4.baseGuesses, i4.uppercaseVariations = s4.uppercaseVariations, i4.l33tVariations = s4.l33tVariations);
            let l3 = Math.max(o4, n5);
            return { ...e5, ...i4, guesses: l3, guessesLog10: E.log10(l3) };
          })(e4, this.password), i3 = r3.guesses;
          a3 > 1 && (i3 *= this.optimal.pi[r3.i - 1][a3 - 1]);
          let n4 = E.factorial(a3) * i3;
          this.excludeAdditive || (n4 += 1e4 ** (a3 - 1));
          let s3 = false;
          Object.keys(this.optimal.g[t3]).forEach((e5) => {
            let r4 = this.optimal.g[t3][e5];
            parseInt(e5, 10) <= a3 && r4 <= n4 && (s3 = true);
          }), s3 || (this.optimal.g[t3][a3] = n4, this.optimal.m[t3][a3] = r3, this.optimal.pi[t3][a3] = i3);
        }, bruteforceUpdate(e4) {
          let a3 = this.makeBruteforceMatch(0, e4);
          this.update(a3, 1);
          for (let t3 = 1; t3 <= e4; t3 += 1) {
            a3 = this.makeBruteforceMatch(t3, e4);
            let r3 = this.optimal.m[t3 - 1];
            Object.keys(r3).forEach((e5) => {
              "bruteforce" !== r3[e5].pattern && this.update(a3, parseInt(e5, 10) + 1);
            });
          }
        }, unwind(e4) {
          let a3 = [], t3 = e4 - 1, r3 = 0, i3 = Infinity, n4 = this.optimal.g[t3];
          for (n4 && Object.keys(n4).forEach((e5) => {
            let a4 = n4[e5];
            a4 < i3 && (r3 = parseInt(e5, 10), i3 = a4);
          }); t3 >= 0; ) {
            let e5 = this.optimal.m[t3][r3];
            a3.unshift(e5), t3 = e5.i - 1, r3 -= 1;
          }
          return a3;
        } };
        var D = { mostGuessableMatchSequence(e4, a3, t3 = false) {
          F.password = e4, F.excludeAdditive = t3;
          let r3 = e4.length, i3 = F.fillArray(r3, "array");
          a3.forEach((e5) => {
            i3[e5.j].push(e5);
          }), i3 = i3.map((e5) => e5.sort((e6, a4) => e6.i - a4.i)), F.optimal = { m: F.fillArray(r3, "object"), pi: F.fillArray(r3, "object"), g: F.fillArray(r3, "object") };
          for (let e5 = 0; e5 < r3; e5 += 1) i3[e5].forEach((e6) => {
            e6.i > 0 ? Object.keys(F.optimal.m[e6.i - 1]).forEach((a4) => {
              F.update(e6, parseInt(a4, 10) + 1);
            }) : F.update(e6, 1);
          }), F.bruteforceUpdate(e5);
          let n4 = F.unwind(r3), s3 = n4.length, o4 = this.getGuesses(e4, s3);
          return { password: e4, guesses: o4, guessesLog10: E.log10(o4), sequence: n4 };
        }, getGuesses(e4, a3) {
          let t3 = e4.length;
          return 0 === e4.length ? 1 : F.optimal.g[t3 - 1][a3];
        } };
        class N {
          match({ password: e4, omniMatch: a3 }) {
            let t3 = [], r3 = 0;
            for (; r3 < e4.length; ) {
              let i3 = this.getGreedyMatch(e4, r3), n4 = this.getLazyMatch(e4, r3);
              if (null == i3) break;
              let { match: s3, baseToken: o4 } = this.setMatchToken(i3, n4);
              if (s3) {
                let e5 = s3.index + s3[0].length - 1, i4 = this.getBaseGuesses(o4, a3);
                t3.push(this.normalizeMatch(o4, e5, s3, i4)), r3 = e5 + 1;
              }
            }
            return t3.some((e5) => e5 instanceof Promise) ? Promise.all(t3) : t3;
          }
          normalizeMatch(e4, a3, t3, r3) {
            let i3 = { pattern: "repeat", i: t3.index, j: a3, token: t3[0], baseToken: e4, baseGuesses: 0, repeatCount: t3[0].length / e4.length };
            return r3 instanceof Promise ? r3.then((e5) => ({ ...i3, baseGuesses: e5 })) : { ...i3, baseGuesses: r3 };
          }
          getGreedyMatch(e4, a3) {
            let t3 = /(.+)\1+/g;
            return t3.lastIndex = a3, t3.exec(e4);
          }
          getLazyMatch(e4, a3) {
            let t3 = /(.+?)\1+/g;
            return t3.lastIndex = a3, t3.exec(e4);
          }
          setMatchToken(e4, a3) {
            let t3, r3 = "";
            if (a3 && e4[0].length > a3[0].length) {
              t3 = e4;
              let a4 = /^(.+?)\1+$/.exec(t3[0]);
              a4 && (r3 = a4[1]);
            } else (t3 = a3) && (r3 = t3[1]);
            return { match: t3, baseToken: r3 };
          }
          getBaseGuesses(e4, a3) {
            let t3 = a3.match(e4);
            return t3 instanceof Promise ? t3.then((a4) => D.mostGuessableMatchSequence(e4, a4).guesses) : D.mostGuessableMatchSequence(e4, t3).guesses;
          }
        }
        class W {
          constructor() {
            this.MAX_DELTA = 5;
          }
          match({ password: e4 }) {
            let a3 = [];
            if (1 === e4.length) return [];
            let t3 = 0, r3 = null, i3 = e4.length;
            for (let n4 = 1; n4 < i3; n4 += 1) {
              let i4 = e4.charCodeAt(n4) - e4.charCodeAt(n4 - 1);
              if (null == r3 && (r3 = i4), i4 !== r3) {
                let s3 = n4 - 1;
                this.update({ i: t3, j: s3, delta: r3, password: e4, result: a3 }), t3 = s3, r3 = i4;
              }
            }
            return this.update({ i: t3, j: i3 - 1, delta: r3, password: e4, result: a3 }), a3;
          }
          update({ i: e4, j: a3, delta: t3, password: r3, result: i3 }) {
            if (a3 - e4 > 1 || 1 === Math.abs(t3)) {
              let n4 = Math.abs(t3);
              if (n4 > 0 && n4 <= this.MAX_DELTA) {
                let n5 = r3.slice(e4, +a3 + 1 || 9e9), { sequenceName: s3, sequenceSpace: o4 } = this.getSequence(n5);
                return i3.push({ pattern: "sequence", i: e4, j: a3, token: r3.slice(e4, +a3 + 1 || 9e9), sequenceName: s3, sequenceSpace: o4, ascending: t3 > 0 });
              }
            }
            return null;
          }
          getSequence(e4) {
            let a3 = "unicode", t3 = 26;
            return u2.test(e4) ? (a3 = "lower", t3 = 26) : c2.test(e4) ? (a3 = "upper", t3 = 26) : b2.test(e4) && (a3 = "digits", t3 = 10), { sequenceName: a3, sequenceSpace: t3 };
          }
        }
        class L {
          constructor() {
            this.SHIFTED_RX = /[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]/;
          }
          match({ password: e4 }) {
            let a3 = [];
            return Object.keys(U2.graphs).forEach((t3) => {
              let i3 = U2.graphs[t3];
              r2(a3, this.helper(e4, i3, t3));
            }), i2(a3);
          }
          checkIfShifted(e4, a3, t3) {
            return !e4.includes("keypad") && this.SHIFTED_RX.test(a3.charAt(t3)) ? 1 : 0;
          }
          helper(e4, a3, t3) {
            let r3, i3 = [], n4 = 0, s3 = e4.length;
            for (; n4 < s3 - 1; ) {
              let o4 = n4 + 1, l3 = null, c3 = 0;
              for (r3 = this.checkIfShifted(t3, e4, n4); ; ) {
                let d3 = a3[e4.charAt(o4 - 1)] || [], u3 = false, h3 = -1, m3 = -1;
                if (o4 < s3) {
                  let a4 = e4.charAt(o4), t4 = d3.length;
                  for (let e5 = 0; e5 < t4; e5 += 1) {
                    let t5 = d3[e5];
                    if (m3 += 1, t5) {
                      let e6 = t5.indexOf(a4);
                      if (-1 !== e6) {
                        u3 = true, 1 === e6 && (r3 += 1), l3 !== (h3 = m3) && (c3 += 1, l3 = h3);
                        break;
                      }
                    }
                  }
                }
                if (u3) o4 += 1;
                else {
                  o4 - n4 > 2 && i3.push({ pattern: "spatial", i: n4, j: o4 - 1, token: e4.slice(n4, o4), graph: t3, turns: c3, shiftedCount: r3 }), n4 = o4;
                  break;
                }
              }
            }
            return i3;
          }
        }
        let $2 = RegExp(`[${k.join("")}]`);
        class B {
          static getMostUsedSeparatorChar(e4) {
            let a3 = [...e4.split("").filter((e5) => $2.test(e5)).reduce((e5, a4) => {
              let t4 = e5.get(a4);
              return t4 ? e5.set(a4, t4 + 1) : e5.set(a4, 1), e5;
            }, /* @__PURE__ */ new Map()).entries()].sort(([e5, a4], [t4, r3]) => r3 - a4);
            if (!a3.length) return;
            let t3 = a3[0];
            if (!(t3[1] < 2)) return t3[0];
          }
          static getSeparatorRegex(e4) {
            return RegExp(`([^${e4}
])(${e4})(?!${e4})`, "g");
          }
          match({ password: e4 }) {
            let a3 = [];
            if (0 === e4.length) return a3;
            let t3 = B.getMostUsedSeparatorChar(e4);
            if (void 0 === t3) return a3;
            let r3 = B.getSeparatorRegex(t3);
            for (let i3 of e4.matchAll(r3)) {
              if (void 0 === i3.index) continue;
              let e5 = i3.index + 1;
              a3.push({ pattern: "separator", token: t3, i: e5, j: e5 });
            }
            return a3;
          }
        }
        class K {
          constructor() {
            this.matchers = { date: v, dictionary: T, regex: O, repeat: N, sequence: W, spatial: L, separator: B };
          }
          match(e4) {
            let a3 = [], t3 = [];
            return ([...Object.keys(this.matchers), ...Object.keys(U2.matchers)].forEach((i3) => {
              if (!this.matchers[i3] && !U2.matchers[i3]) return;
              let n4 = new (this.matchers[i3] ? this.matchers[i3] : U2.matchers[i3].Matching)().match({ password: e4, omniMatch: this });
              n4 instanceof Promise ? (n4.then((e5) => {
                r2(a3, e5);
              }), t3.push(n4)) : r2(a3, n4);
            }), t3.length > 0) ? new Promise((e5, r3) => {
              Promise.all(t3).then(() => {
                e5(i2(a3));
              }).catch((e6) => {
                r3(e6);
              });
            }) : i2(a3);
          }
        }
        let J = { second: 1, minute: 60, hour: 3600, day: 86400, month: 2678400, year: 32140800, century: 321408e4 };
        class V {
          translate(e4, a3) {
            let t3 = e4;
            void 0 !== a3 && 1 !== a3 && (t3 += "s");
            let { timeEstimation: r3 } = U2.translations;
            return r3[t3].replace("{base}", `${a3}`);
          }
          estimateAttackTimes(e4) {
            let a3 = { onlineThrottling100PerHour: e4 / (100 / 3600), onlineNoThrottling10PerSecond: e4 / 10, offlineSlowHashing1e4PerSecond: e4 / 1e4, offlineFastHashing1e10PerSecond: e4 / 1e10 }, t3 = { onlineThrottling100PerHour: "", onlineNoThrottling10PerSecond: "", offlineSlowHashing1e4PerSecond: "", offlineFastHashing1e10PerSecond: "" };
            return Object.keys(a3).forEach((e5) => {
              let r3 = a3[e5];
              t3[e5] = this.displayTime(r3);
            }), { crackTimesSeconds: a3, crackTimesDisplay: t3, score: this.guessesToScore(e4) };
          }
          guessesToScore(e4) {
            return e4 < 1005 ? 0 : e4 < 1000005 ? 1 : e4 < 100000005 ? 2 : e4 < 10000000005 ? 3 : 4;
          }
          displayTime(e4) {
            let a3, t3 = "centuries", r3 = Object.keys(J), i3 = r3.findIndex((a4) => e4 < J[a4]);
            return i3 > -1 && (t3 = r3[i3 - 1], 0 !== i3 ? a3 = Math.round(e4 / J[t3]) : t3 = "ltSecond"), this.translate(t3, a3);
          }
        }
        var H = () => null, G = () => ({ warning: U2.translations.warnings.dates, suggestions: [U2.translations.suggestions.dates] }), Q = (e4, a3) => {
          let t3 = ((e5, a4) => {
            let t4 = null, r4 = e5.dictionaryName, i4 = "lastnames" === r4 || r4.toLowerCase().includes("firstnames");
            if ("passwords" === r4) {
              let r5;
              r5 = null, !a4 || e5.l33t || e5.reversed ? e5.guessesLog10 <= 4 && (r5 = U2.translations.warnings.similarToCommon) : r5 = e5.rank <= 10 ? U2.translations.warnings.topTen : e5.rank <= 100 ? U2.translations.warnings.topHundred : U2.translations.warnings.common, t4 = r5;
            } else if (r4.includes("wikipedia")) {
              let e6;
              e6 = null, a4 && (e6 = U2.translations.warnings.wordByItself), t4 = e6;
            } else i4 ? t4 = a4 ? U2.translations.warnings.namesByThemselves : U2.translations.warnings.commonNames : "userInputs" === r4 && (t4 = U2.translations.warnings.userInputs);
            return t4;
          })(e4, a3), r3 = [], i3 = e4.token;
          return i3.match(o3) ? r3.push(U2.translations.suggestions.capitalization) : i3.match(d2) && i3.toLowerCase() !== i3 && r3.push(U2.translations.suggestions.allUppercase), e4.reversed && e4.token.length >= 4 && r3.push(U2.translations.suggestions.reverseWords), e4.l33t && r3.push(U2.translations.suggestions.l33t), { warning: t3, suggestions: r3 };
        }, Y2 = (e4) => "recentYear" === e4.regexName ? { warning: U2.translations.warnings.recentYears, suggestions: [U2.translations.suggestions.recentYears, U2.translations.suggestions.associatedYears] } : { warning: null, suggestions: [] }, Z = (e4) => {
          let a3 = U2.translations.warnings.extendedRepeat;
          return 1 === e4.baseToken.length && (a3 = U2.translations.warnings.simpleRepeat), { warning: a3, suggestions: [U2.translations.suggestions.repeated] };
        }, X = () => ({ warning: U2.translations.warnings.sequences, suggestions: [U2.translations.suggestions.sequences] }), ee = (e4) => {
          let a3 = U2.translations.warnings.keyPattern;
          return 1 === e4.turns && (a3 = U2.translations.warnings.straightRow), { warning: a3, suggestions: [U2.translations.suggestions.longerKeyboardPattern] };
        }, ea = () => null;
        let et = { warning: null, suggestions: [] };
        class er {
          constructor() {
            this.matchers = { bruteforce: H, date: G, dictionary: Q, regex: Y2, repeat: Z, sequence: X, spatial: ee, separator: ea }, this.defaultFeedback = { warning: null, suggestions: [] }, this.setDefaultSuggestions();
          }
          setDefaultSuggestions() {
            this.defaultFeedback.suggestions.push(U2.translations.suggestions.useWords, U2.translations.suggestions.noNeed);
          }
          getFeedback(e4, a3) {
            if (0 === a3.length) return this.defaultFeedback;
            if (e4 > 2) return et;
            let t3 = U2.translations.suggestions.anotherWord, r3 = this.getLongestMatch(a3), i3 = this.getMatchFeedback(r3, 1 === a3.length);
            return null != i3 ? i3.suggestions.unshift(t3) : i3 = { warning: null, suggestions: [t3] }, i3;
          }
          getLongestMatch(e4) {
            let a3 = e4[0];
            return e4.slice(1).forEach((e5) => {
              e5.token.length > a3.token.length && (a3 = e5);
            }), a3;
          }
          getMatchFeedback(e4, a3) {
            return this.matchers[e4.pattern] ? this.matchers[e4.pattern](e4, a3) : U2.matchers[e4.pattern] && "feedback" in U2.matchers[e4.pattern] ? U2.matchers[e4.pattern].feedback(e4, a3) : et;
          }
        }
        var ei = (e4, a3, t3) => {
          let r3;
          return function(...i3) {
            let n4 = this, s3 = t3 && !r3;
            if (void 0 !== r3 && clearTimeout(r3), r3 = setTimeout(() => {
              r3 = void 0, t3 || e4.apply(n4, i3);
            }, a3), s3) return e4.apply(n4, i3);
          };
        };
        let en = () => (/* @__PURE__ */ new Date()).getTime(), es = (e4, a3, t3) => {
          let r3 = new er(), i3 = new V(), n4 = D.mostGuessableMatchSequence(a3, e4), s3 = en() - t3, o4 = i3.estimateAttackTimes(n4.guesses);
          return { calcTime: s3, ...n4, ...o4, feedback: r3.getFeedback(o4.score, n4.sequence) };
        }, eo = (e4, a3) => (a3 && U2.extendUserInputsDictionary(a3), new K().match(e4)), el2 = (e4, a3) => {
          let t3 = en(), r3 = eo(e4, a3);
          if (r3 instanceof Promise) throw Error("You are using a Promised matcher, please use `zxcvbnAsync` for it.");
          return es(r3, e4, t3);
        }, ec = async (e4, a3) => {
          let t3 = e4.substring(0, U2.maxLength), r3 = en();
          return es(await eo(t3, a3), t3, r3);
        };
      }, 618(e3, a2, t2) {
        t2.r(a2), t2.d(a2, { dictionary: () => r2, adjacencyGraphs: () => i2 });
        let r2 = { diceware: "abacus,abdomen,abdominal,abide,abiding,ability,ablaze,able,abnormal,abrasion,abrasive,abreast,abridge,abroad,abruptly,absence,absentee,absently,absinthe,absolute,absolve,abstain,abstract,absurd,accent,acclaim,acclimate,accompany,account,accuracy,accurate,accustom,acetone,achiness,aching,acid,acorn,acquaint,acquire,acre,acrobat,acronym,acting,action,activate,activator,active,activism,activist,activity,actress,acts,acutely,acuteness,aeration,aerobics,aerosol,aerospace,afar,affair,affected,affecting,affection,affidavit,affiliate,affirm,affix,afflicted,affluent,afford,affront,aflame,afloat,aflutter,afoot,afraid,afterglow,afterlife,aftermath,aftermost,afternoon,aged,ageless,agency,agenda,agent,aggregate,aghast,agile,agility,aging,agnostic,agonize,agonizing,agony,agreeable,agreeably,agreed,agreeing,agreement,aground,ahead,ahoy,aide,aids,aim,ajar,alabaster,alarm,albatross,album,alfalfa,algebra,algorithm,alias,alibi,alienable,alienate,aliens,alike,alive,alkaline,alkalize,almanac,almighty,almost,aloe,aloft,aloha,alone,alongside,aloof,alphabet,alright,although,altitude,alto,aluminum,alumni,always,amaretto,amaze,amazingly,amber,ambiance,ambiguity,ambiguous,ambition,ambitious,ambulance,ambush,amendable,amendment,amends,amenity,amiable,amicably,amid,amigo,amino,amiss,ammonia,ammonium,amnesty,amniotic,among,amount,amperage,ample,amplifier,amplify,amply,amuck,amulet,amusable,amused,amusement,amuser,amusing,anaconda,anaerobic,anagram,anatomist,anatomy,anchor,anchovy,ancient,android,anemia,anemic,aneurism,anew,angelfish,angelic,anger,angled,angler,angles,angling,angrily,angriness,anguished,angular,animal,animate,animating,animation,animator,anime,animosity,ankle,annex,annotate,announcer,annoying,annually,annuity,anointer,another,answering,antacid,antarctic,anteater,antelope,antennae,anthem,anthill,anthology,antibody,antics,antidote,antihero,antiquely,antiques,antiquity,antirust,antitoxic,antitrust,antiviral,antivirus,antler,antonym,antsy,anvil,anybody,anyhow,anymore,anyone,anyplace,anything,anytime,anyway,anywhere,aorta,apache,apostle,appealing,appear,appease,appeasing,appendage,appendix,appetite,appetizer,applaud,applause,apple,appliance,applicant,applied,apply,appointee,appraisal,appraiser,apprehend,approach,approval,approve,apricot,april,apron,aptitude,aptly,aqua,aqueduct,arbitrary,arbitrate,ardently,area,arena,arguable,arguably,argue,arise,armadillo,armband,armchair,armed,armful,armhole,arming,armless,armoire,armored,armory,armrest,army,aroma,arose,around,arousal,arrange,array,arrest,arrival,arrive,arrogance,arrogant,arson,art,ascend,ascension,ascent,ascertain,ashamed,ashen,ashes,ashy,aside,askew,asleep,asparagus,aspect,aspirate,aspire,aspirin,astonish,astound,astride,astrology,astronaut,astronomy,astute,atlantic,atlas,atom,atonable,atop,atrium,atrocious,atrophy,attach,attain,attempt,attendant,attendee,attention,attentive,attest,attic,attire,attitude,attractor,attribute,atypical,auction,audacious,audacity,audible,audibly,audience,audio,audition,augmented,august,authentic,author,autism,autistic,autograph,automaker,automated,automatic,autopilot,available,avalanche,avatar,avenge,avenging,avenue,average,aversion,avert,aviation,aviator,avid,avoid,await,awaken,award,aware,awhile,awkward,awning,awoke,awry,axis,babble,babbling,babied,baboon,backache,backboard,backboned,backdrop,backed,backer,backfield,backfire,backhand,backing,backlands,backlash,backless,backlight,backlit,backlog,backpack,backpedal,backrest,backroom,backshift,backside,backslid,backspace,backspin,backstab,backstage,backtalk,backtrack,backup,backward,backwash,backwater,backyard,bacon,bacteria,bacterium,badass,badge,badland,badly,badness,baffle,baffling,bagel,bagful,baggage,bagged,baggie,bagginess,bagging,baggy,bagpipe,baguette,baked,bakery,bakeshop,baking,balance,balancing,balcony,balmy,balsamic,bamboo,banana,banish,banister,banjo,bankable,bankbook,banked,banker,banking,banknote,bankroll,banner,bannister,banshee,banter,barbecue,barbed,barbell,barber,barcode,barge,bargraph,barista,baritone,barley,barmaid,barman,barn,barometer,barrack,barracuda,barrel,barrette,barricade,barrier,barstool,bartender,barterer,bash,basically,basics,basil,basin,basis,basket,batboy,batch,bath,baton,bats,battalion,battered,battering,battery,batting,battle,bauble,bazooka,blabber,bladder,blade,blah,blame,blaming,blanching,blandness,blank,blaspheme,blasphemy,blast,blatancy,blatantly,blazer,blazing,bleach,bleak,bleep,blemish,blend,bless,blighted,blimp,bling,blinked,blinker,blinking,blinks,blip,blissful,blitz,blizzard,bloated,bloating,blob,blog,bloomers,blooming,blooper,blot,blouse,blubber,bluff,bluish,blunderer,blunt,blurb,blurred,blurry,blurt,blush,blustery,boaster,boastful,boasting,boat,bobbed,bobbing,bobble,bobcat,bobsled,bobtail,bodacious,body,bogged,boggle,bogus,boil,bok,bolster,bolt,bonanza,bonded,bonding,bondless,boned,bonehead,boneless,bonelike,boney,bonfire,bonnet,bonsai,bonus,bony,boogeyman,boogieman,book,boondocks,booted,booth,bootie,booting,bootlace,bootleg,boots,boozy,borax,boring,borough,borrower,borrowing,boss,botanical,botanist,botany,botch,both,bottle,bottling,bottom,bounce,bouncing,bouncy,bounding,boundless,bountiful,bovine,boxcar,boxer,boxing,boxlike,boxy,breach,breath,breeches,breeching,breeder,breeding,breeze,breezy,brethren,brewery,brewing,briar,bribe,brick,bride,bridged,brigade,bright,brilliant,brim,bring,brink,brisket,briskly,briskness,bristle,brittle,broadband,broadcast,broaden,broadly,broadness,broadside,broadways,broiler,broiling,broken,broker,bronchial,bronco,bronze,bronzing,brook,broom,brought,browbeat,brownnose,browse,browsing,bruising,brunch,brunette,brunt,brush,brussels,brute,brutishly,bubble,bubbling,bubbly,buccaneer,bucked,bucket,buckle,buckshot,buckskin,bucktooth,buckwheat,buddhism,buddhist,budding,buddy,budget,buffalo,buffed,buffer,buffing,buffoon,buggy,bulb,bulge,bulginess,bulgur,bulk,bulldog,bulldozer,bullfight,bullfrog,bullhorn,bullion,bullish,bullpen,bullring,bullseye,bullwhip,bully,bunch,bundle,bungee,bunion,bunkbed,bunkhouse,bunkmate,bunny,bunt,busboy,bush,busily,busload,bust,busybody,buzz,cabana,cabbage,cabbie,cabdriver,cable,caboose,cache,cackle,cacti,cactus,caddie,caddy,cadet,cadillac,cadmium,cage,cahoots,cake,calamari,calamity,calcium,calculate,calculus,caliber,calibrate,calm,caloric,calorie,calzone,camcorder,cameo,camera,camisole,camper,campfire,camping,campsite,campus,canal,canary,cancel,candied,candle,candy,cane,canine,canister,cannabis,canned,canning,cannon,cannot,canola,canon,canopener,canopy,canteen,canyon,capable,capably,capacity,cape,capillary,capital,capitol,capped,capricorn,capsize,capsule,caption,captivate,captive,captivity,capture,caramel,carat,caravan,carbon,cardboard,carded,cardiac,cardigan,cardinal,cardstock,carefully,caregiver,careless,caress,caretaker,cargo,caring,carless,carload,carmaker,carnage,carnation,carnival,carnivore,carol,carpenter,carpentry,carpool,carport,carried,carrot,carrousel,carry,cartel,cartload,carton,cartoon,cartridge,cartwheel,carve,carving,carwash,cascade,case,cash,casing,casino,casket,cassette,casually,casualty,catacomb,catalog,catalyst,catalyze,catapult,cataract,catatonic,catcall,catchable,catcher,catching,catchy,caterer,catering,catfight,catfish,cathedral,cathouse,catlike,catnap,catnip,catsup,cattail,cattishly,cattle,catty,catwalk,caucasian,caucus,causal,causation,cause,causing,cauterize,caution,cautious,cavalier,cavalry,caviar,cavity,cedar,celery,celestial,celibacy,celibate,celtic,cement,census,ceramics,ceremony,certainly,certainty,certified,certify,cesarean,cesspool,chafe,chaffing,chain,chair,chalice,challenge,chamber,chamomile,champion,chance,change,channel,chant,chaos,chaperone,chaplain,chapped,chaps,chapter,character,charbroil,charcoal,charger,charging,chariot,charity,charm,charred,charter,charting,chase,chasing,chaste,chastise,chastity,chatroom,chatter,chatting,chatty,cheating,cheddar,cheek,cheer,cheese,cheesy,chef,chemicals,chemist,chemo,cherisher,cherub,chess,chest,chevron,chevy,chewable,chewer,chewing,chewy,chief,chihuahua,childcare,childhood,childish,childless,childlike,chili,chill,chimp,chip,chirping,chirpy,chitchat,chivalry,chive,chloride,chlorine,choice,chokehold,choking,chomp,chooser,choosing,choosy,chop,chosen,chowder,chowtime,chrome,chubby,chuck,chug,chummy,chump,chunk,churn,chute,cider,cilantro,cinch,cinema,cinnamon,circle,circling,circular,circulate,circus,citable,citadel,citation,citizen,citric,citrus,city,civic,civil,clad,claim,clambake,clammy,clamor,clamp,clamshell,clang,clanking,clapped,clapper,clapping,clarify,clarinet,clarity,clash,clasp,class,clatter,clause,clavicle,claw,clay,clean,clear,cleat,cleaver,cleft,clench,clergyman,clerical,clerk,clever,clicker,client,climate,climatic,cling,clinic,clinking,clip,clique,cloak,clobber,clock,clone,cloning,closable,closure,clothes,clothing,cloud,clover,clubbed,clubbing,clubhouse,clump,clumsily,clumsy,clunky,clustered,clutch,clutter,coach,coagulant,coastal,coaster,coasting,coastland,coastline,coat,coauthor,cobalt,cobbler,cobweb,cocoa,coconut,cod,coeditor,coerce,coexist,coffee,cofounder,cognition,cognitive,cogwheel,coherence,coherent,cohesive,coil,coke,cola,cold,coleslaw,coliseum,collage,collapse,collar,collected,collector,collide,collie,collision,colonial,colonist,colonize,colony,colossal,colt,coma,come,comfort,comfy,comic,coming,comma,commence,commend,comment,commerce,commode,commodity,commodore,common,commotion,commute,commuting,compacted,compacter,compactly,compactor,companion,company,compare,compel,compile,comply,component,composed,composer,composite,compost,composure,compound,compress,comprised,computer,computing,comrade,concave,conceal,conceded,concept,concerned,concert,conch,concierge,concise,conclude,concrete,concur,condense,condiment,condition,condone,conducive,conductor,conduit,cone,confess,confetti,confidant,confident,confider,confiding,configure,confined,confining,confirm,conflict,conform,confound,confront,confused,confusing,confusion,congenial,congested,congrats,congress,conical,conjoined,conjure,conjuror,connected,connector,consensus,consent,console,consoling,consonant,constable,constant,constrain,constrict,construct,consult,consumer,consuming,contact,container,contempt,contend,contented,contently,contents,contest,context,contort,contour,contrite,control,contusion,convene,convent,copartner,cope,copied,copier,copilot,coping,copious,copper,copy,coral,cork,cornball,cornbread,corncob,cornea,corned,corner,cornfield,cornflake,cornhusk,cornmeal,cornstalk,corny,coronary,coroner,corporal,corporate,corral,correct,corridor,corrode,corroding,corrosive,corsage,corset,cortex,cosigner,cosmetics,cosmic,cosmos,cosponsor,cost,cottage,cotton,couch,cough,could,countable,countdown,counting,countless,country,county,courier,covenant,cover,coveted,coveting,coyness,cozily,coziness,cozy,crabbing,crabgrass,crablike,crabmeat,cradle,cradling,crafter,craftily,craftsman,craftwork,crafty,cramp,cranberry,crane,cranial,cranium,crank,crate,crave,craving,crawfish,crawlers,crawling,crayfish,crayon,crazed,crazily,craziness,crazy,creamed,creamer,creamlike,crease,creasing,creatable,create,creation,creative,creature,credible,credibly,credit,creed,creme,creole,crepe,crept,crescent,crested,cresting,crestless,crevice,crewless,crewman,crewmate,crib,cricket,cried,crier,crimp,crimson,cringe,cringing,crinkle,crinkly,crisped,crisping,crisply,crispness,crispy,criteria,critter,croak,crock,crook,croon,crop,cross,crouch,crouton,crowbar,crowd,crown,crucial,crudely,crudeness,cruelly,cruelness,cruelty,crumb,crummiest,crummy,crumpet,crumpled,cruncher,crunching,crunchy,crusader,crushable,crushed,crusher,crushing,crust,crux,crying,cryptic,crystal,cubbyhole,cube,cubical,cubicle,cucumber,cuddle,cuddly,cufflink,culinary,culminate,culpable,culprit,cultivate,cultural,culture,cupbearer,cupcake,cupid,cupped,cupping,curable,curator,curdle,cure,curfew,curing,curled,curler,curliness,curling,curly,curry,curse,cursive,cursor,curtain,curtly,curtsy,curvature,curve,curvy,cushy,cusp,cussed,custard,custodian,custody,customary,customer,customize,customs,cut,cycle,cyclic,cycling,cyclist,cylinder,cymbal,cytoplasm,cytoplast,dab,dad,daffodil,dagger,daily,daintily,dainty,dairy,daisy,dallying,dance,dancing,dandelion,dander,dandruff,dandy,danger,dangle,dangling,daredevil,dares,daringly,darkened,darkening,darkish,darkness,darkroom,darling,darn,dart,darwinism,dash,dastardly,data,datebook,dating,daughter,daunting,dawdler,dawn,daybed,daybreak,daycare,daydream,daylight,daylong,dayroom,daytime,dazzler,dazzling,deacon,deafening,deafness,dealer,dealing,dealmaker,dealt,dean,debatable,debate,debating,debit,debrief,debtless,debtor,debug,debunk,decade,decaf,decal,decathlon,decay,deceased,deceit,deceiver,deceiving,december,decency,decent,deception,deceptive,decibel,decidable,decimal,decimeter,decipher,deck,declared,decline,decode,decompose,decorated,decorator,decoy,decrease,decree,dedicate,dedicator,deduce,deduct,deed,deem,deepen,deeply,deepness,deface,defacing,defame,default,defeat,defection,defective,defendant,defender,defense,defensive,deferral,deferred,defiance,defiant,defile,defiling,define,definite,deflate,deflation,deflator,deflected,deflector,defog,deforest,defraud,defrost,deftly,defuse,defy,degraded,degrading,degrease,degree,dehydrate,deity,dejected,delay,delegate,delegator,delete,deletion,delicacy,delicate,delicious,delighted,delirious,delirium,deliverer,delivery,delouse,delta,deluge,delusion,deluxe,demanding,demeaning,demeanor,demise,democracy,democrat,demote,demotion,demystify,denatured,deniable,denial,denim,denote,dense,density,dental,dentist,denture,deny,deodorant,deodorize,departed,departure,depict,deplete,depletion,deplored,deploy,deport,depose,depraved,depravity,deprecate,depress,deprive,depth,deputize,deputy,derail,deranged,derby,derived,desecrate,deserve,deserving,designate,designed,designer,designing,deskbound,desktop,deskwork,desolate,despair,despise,despite,destiny,destitute,destruct,detached,detail,detection,detective,detector,detention,detergent,detest,detonate,detonator,detoxify,detract,deuce,devalue,deviancy,deviant,deviate,deviation,deviator,device,devious,devotedly,devotee,devotion,devourer,devouring,devoutly,dexterity,dexterous,diabetes,diabetic,diabolic,diagnoses,diagnosis,diagram,dial,diameter,diaper,diaphragm,diary,dice,dicing,dictate,dictation,dictator,difficult,diffused,diffuser,diffusion,diffusive,dig,dilation,diligence,diligent,dill,dilute,dime,diminish,dimly,dimmed,dimmer,dimness,dimple,diner,dingbat,dinghy,dinginess,dingo,dingy,dining,dinner,diocese,dioxide,diploma,dipped,dipper,dipping,directed,direction,directive,directly,directory,direness,dirtiness,disabled,disagree,disallow,disarm,disarray,disaster,disband,disbelief,disburse,discard,discern,discharge,disclose,discolor,discount,discourse,discover,discuss,disdain,disengage,disfigure,disgrace,dish,disinfect,disjoin,disk,dislike,disliking,dislocate,dislodge,disloyal,dismantle,dismay,dismiss,dismount,disobey,disorder,disown,disparate,disparity,dispatch,dispense,dispersal,dispersed,disperser,displace,display,displease,disposal,dispose,disprove,dispute,disregard,disrupt,dissuade,distance,distant,distaste,distill,distinct,distort,distract,distress,district,distrust,ditch,ditto,ditzy,dividable,divided,dividend,dividers,dividing,divinely,diving,divinity,divisible,divisibly,division,divisive,divorcee,dizziness,dizzy,doable,docile,dock,doctrine,document,dodge,dodgy,doily,doing,dole,dollar,dollhouse,dollop,dolly,dolphin,domain,domelike,domestic,dominion,dominoes,donated,donation,donator,donor,donut,doodle,doorbell,doorframe,doorknob,doorman,doormat,doornail,doorpost,doorstep,doorstop,doorway,doozy,dork,dormitory,dorsal,dosage,dose,dotted,doubling,douche,dove,down,dowry,doze,drab,dragging,dragonfly,dragonish,dragster,drainable,drainage,drained,drainer,drainpipe,dramatic,dramatize,drank,drapery,drastic,draw,dreaded,dreadful,dreadlock,dreamboat,dreamily,dreamland,dreamless,dreamlike,dreamt,dreamy,drearily,dreary,drench,dress,drew,dribble,dried,drier,drift,driller,drilling,drinkable,drinking,dripping,drippy,drivable,driven,driver,driveway,driving,drizzle,drizzly,drone,drool,droop,dropdown,dropbox,dropkick,droplet,dropout,dropper,drove,drown,drowsily,drudge,drum,dry,dubbed,dubiously,duchess,duckbill,ducking,duckling,ducktail,ducky,duct,dude,duffel,dugout,duh,duke,duller,dullness,duly,dumping,dumpling,dumpster,duo,dupe,duplex,duplicate,duplicity,durable,durably,duration,duress,during,dusk,dust,dutiful,duty,duvet,dwarf,dweeb,dwelled,dweller,dwelling,dwindle,dwindling,dynamic,dynamite,dynasty,dyslexia,dyslexic,each,eagle,earache,eardrum,earflap,earful,earlobe,early,earmark,earmuff,earphone,earpiece,earplugs,earring,earshot,earthen,earthlike,earthling,earthly,earthworm,earthy,earwig,easeful,easel,easiest,easily,easiness,easing,eastbound,eastcoast,easter,eastward,eatable,eaten,eatery,eating,eats,ebay,ebony,ebook,ecard,eccentric,echo,eclair,eclipse,ecologist,ecology,economic,economist,economy,ecosphere,ecosystem,edge,edginess,edging,edgy,edition,editor,educated,education,educator,eel,effective,effects,efficient,effort,eggbeater,egging,eggnog,eggplant,eggshell,egomaniac,egotism,egotistic,either,eject,elaborate,elastic,elated,elbow,eldercare,elderly,eldest,electable,election,elective,elephant,elevate,elevating,elevation,elevator,eleven,elf,eligible,eligibly,eliminate,elite,elitism,elixir,elk,ellipse,elliptic,elm,elongated,elope,eloquence,eloquent,elsewhere,elude,elusive,elves,email,embargo,embark,embassy,embattled,embellish,ember,embezzle,emblaze,emblem,embody,embolism,emboss,embroider,emcee,emerald,emergency,emission,emit,emote,emoticon,emotion,empathic,empathy,emperor,emphases,emphasis,emphasize,emphatic,empirical,employed,employee,employer,emporium,empower,emptier,emptiness,empty,emu,enable,enactment,enamel,enchanted,enchilada,encircle,enclose,enclosure,encode,encore,encounter,encourage,encroach,encrust,encrypt,endanger,endeared,endearing,ended,ending,endless,endnote,endocrine,endorphin,endorse,endowment,endpoint,endurable,endurance,enduring,energetic,energize,energy,enforced,enforcer,engaged,engaging,engine,engorge,engraved,engraver,engraving,engross,engulf,enhance,enigmatic,enjoyable,enjoyably,enjoyer,enjoying,enjoyment,enlarged,enlarging,enlighten,enlisted,enquirer,enrage,enrich,enroll,enslave,ensnare,ensure,entail,entangled,entering,entertain,enticing,entire,entitle,entity,entomb,entourage,entrap,entree,entrench,entrust,entryway,entwine,enunciate,envelope,enviable,enviably,envious,envision,envoy,envy,enzyme,epic,epidemic,epidermal,epidermis,epidural,epilepsy,epileptic,epilogue,epiphany,episode,equal,equate,equation,equator,equinox,equipment,equity,equivocal,eradicate,erasable,erased,eraser,erasure,ergonomic,errand,errant,erratic,error,erupt,escalate,escalator,escapable,escapade,escapist,escargot,eskimo,esophagus,espionage,espresso,esquire,essay,essence,essential,establish,estate,esteemed,estimate,estimator,estranged,estrogen,etching,eternal,eternity,ethanol,ether,ethically,ethics,euphemism,evacuate,evacuee,evade,evaluate,evaluator,evaporate,evasion,evasive,even,everglade,evergreen,everybody,everyday,everyone,evict,evidence,evident,evil,evoke,evolution,evolve,exact,exalted,example,excavate,excavator,exceeding,exception,excess,exchange,excitable,exciting,exclaim,exclude,excluding,exclusion,exclusive,excretion,excretory,excursion,excusable,excusably,excuse,exemplary,exemplify,exemption,exerciser,exert,exes,exfoliate,exhale,exhaust,exhume,exile,existing,exit,exodus,exonerate,exorcism,exorcist,expand,expanse,expansion,expansive,expectant,expedited,expediter,expel,expend,expenses,expensive,expert,expire,expiring,explain,expletive,explicit,explode,exploit,explore,exploring,exponent,exporter,exposable,expose,exposure,express,expulsion,exquisite,extended,extending,extent,extenuate,exterior,external,extinct,extortion,extradite,extras,extrovert,extrude,extruding,exuberant,fable,fabric,fabulous,facebook,facecloth,facedown,faceless,facelift,faceplate,faceted,facial,facility,facing,facsimile,faction,factoid,factor,factsheet,factual,faculty,fade,fading,failing,falcon,fall,false,falsify,fame,familiar,family,famine,famished,fanatic,fancied,fanciness,fancy,fanfare,fang,fanning,fantasize,fantastic,fantasy,fascism,fastball,faster,fasting,fastness,faucet,favorable,favorably,favored,favoring,favorite,fax,feast,federal,fedora,feeble,feed,feel,feisty,feline,felttip,feminine,feminism,feminist,feminize,femur,fence,fencing,fender,ferment,fernlike,ferocious,ferocity,ferret,ferris,ferry,fervor,fester,festival,festive,festivity,fetal,fetch,fever,fiber,fiction,fiddle,fiddling,fidelity,fidgeting,fidgety,fifteen,fifth,fiftieth,fifty,figment,figure,figurine,filing,filled,filler,filling,film,filter,filth,filtrate,finale,finalist,finalize,finally,finance,financial,finch,fineness,finer,finicky,finished,finisher,finishing,finite,finless,finlike,fiscally,fit,five,flaccid,flagman,flagpole,flagship,flagstick,flagstone,flail,flakily,flaky,flame,flammable,flanked,flanking,flannels,flap,flaring,flashback,flashbulb,flashcard,flashily,flashing,flashy,flask,flatbed,flatfoot,flatly,flatness,flatten,flattered,flatterer,flattery,flattop,flatware,flatworm,flavored,flavorful,flavoring,flaxseed,fled,fleshed,fleshy,flick,flier,flight,flinch,fling,flint,flip,flirt,float,flock,flogging,flop,floral,florist,floss,flounder,flyable,flyaway,flyer,flying,flyover,flypaper,foam,foe,fog,foil,folic,folk,follicle,follow,fondling,fondly,fondness,fondue,font,food,fool,footage,football,footbath,footboard,footer,footgear,foothill,foothold,footing,footless,footman,footnote,footpad,footpath,footprint,footrest,footsie,footsore,footwear,footwork,fossil,foster,founder,founding,fountain,fox,foyer,fraction,fracture,fragile,fragility,fragment,fragrance,fragrant,frail,frame,framing,frantic,fraternal,frayed,fraying,frays,freckled,freckles,freebase,freebee,freebie,freedom,freefall,freehand,freeing,freeload,freely,freemason,freeness,freestyle,freeware,freeway,freewill,freezable,freezing,freight,french,frenzied,frenzy,frequency,frequent,fresh,fretful,fretted,friction,friday,fridge,fried,friend,frighten,frightful,frigidity,frigidly,frill,fringe,frisbee,frisk,fritter,frivolous,frolic,from,front,frostbite,frosted,frostily,frosting,frostlike,frosty,froth,frown,frozen,fructose,frugality,frugally,fruit,frustrate,frying,gab,gaffe,gag,gainfully,gaining,gains,gala,gallantly,galleria,gallery,galley,gallon,gallows,gallstone,galore,galvanize,gambling,game,gaming,gamma,gander,gangly,gangrene,gangway,gap,garage,garbage,garden,gargle,garland,garlic,garment,garnet,garnish,garter,gas,gatherer,gathering,gating,gauging,gauntlet,gauze,gave,gawk,gazing,gear,gecko,geek,geiger,gem,gender,generic,generous,genetics,genre,gentile,gentleman,gently,gents,geography,geologic,geologist,geology,geometric,geometry,geranium,gerbil,geriatric,germicide,germinate,germless,germproof,gestate,gestation,gesture,getaway,getting,getup,giant,gibberish,giblet,giddily,giddiness,giddy,gift,gigabyte,gigahertz,gigantic,giggle,giggling,giggly,gigolo,gilled,gills,gimmick,girdle,giveaway,given,giver,giving,gizmo,gizzard,glacial,glacier,glade,gladiator,gladly,glamorous,glamour,glance,glancing,glandular,glare,glaring,glass,glaucoma,glazing,gleaming,gleeful,glider,gliding,glimmer,glimpse,glisten,glitch,glitter,glitzy,gloater,gloating,gloomily,gloomy,glorified,glorifier,glorify,glorious,glory,gloss,glove,glowing,glowworm,glucose,glue,gluten,glutinous,glutton,gnarly,gnat,goal,goatskin,goes,goggles,going,goldfish,goldmine,goldsmith,golf,goliath,gonad,gondola,gone,gong,good,gooey,goofball,goofiness,goofy,google,goon,gopher,gore,gorged,gorgeous,gory,gosling,gossip,gothic,gotten,gout,gown,grab,graceful,graceless,gracious,gradation,graded,grader,gradient,grading,gradually,graduate,graffiti,grafted,grafting,grain,granddad,grandkid,grandly,grandma,grandpa,grandson,granite,granny,granola,grant,granular,grape,graph,grapple,grappling,grasp,grass,gratified,gratify,grating,gratitude,gratuity,gravel,graveness,graves,graveyard,gravitate,gravity,gravy,gray,grazing,greasily,greedily,greedless,greedy,green,greeter,greeting,grew,greyhound,grid,grief,grievance,grieving,grievous,grill,grimace,grimacing,grime,griminess,grimy,grinch,grinning,grip,gristle,grit,groggily,groggy,groin,groom,groove,grooving,groovy,grope,ground,grouped,grout,grove,grower,growing,growl,grub,grudge,grudging,grueling,gruffly,grumble,grumbling,grumbly,grumpily,grunge,grunt,guacamole,guidable,guidance,guide,guiding,guileless,guise,gulf,gullible,gully,gulp,gumball,gumdrop,gumminess,gumming,gummy,gurgle,gurgling,guru,gush,gusto,gusty,gutless,guts,gutter,guy,guzzler,gyration,habitable,habitant,habitat,habitual,hacked,hacker,hacking,hacksaw,had,haggler,haiku,half,halogen,halt,halved,halves,hamburger,hamlet,hammock,hamper,hamster,hamstring,handbag,handball,handbook,handbrake,handcart,handclap,handclasp,handcraft,handcuff,handed,handful,handgrip,handgun,handheld,handiness,handiwork,handlebar,handled,handler,handling,handmade,handoff,handpick,handprint,handrail,handsaw,handset,handsfree,handshake,handstand,handwash,handwork,handwoven,handwrite,handyman,hangnail,hangout,hangover,hangup,hankering,hankie,hanky,haphazard,happening,happier,happiest,happily,happiness,happy,harbor,hardcopy,hardcore,hardcover,harddisk,hardened,hardener,hardening,hardhat,hardhead,hardiness,hardly,hardness,hardship,hardware,hardwired,hardwood,hardy,harmful,harmless,harmonica,harmonics,harmonize,harmony,harness,harpist,harsh,harvest,hash,hassle,haste,hastily,hastiness,hasty,hatbox,hatchback,hatchery,hatchet,hatching,hatchling,hate,hatless,hatred,haunt,haven,hazard,hazelnut,hazily,haziness,hazing,hazy,headache,headband,headboard,headcount,headdress,headed,header,headfirst,headgear,heading,headlamp,headless,headlock,headphone,headpiece,headrest,headroom,headscarf,headset,headsman,headstand,headstone,headway,headwear,heap,heat,heave,heavily,heaviness,heaving,hedge,hedging,heftiness,hefty,helium,helmet,helper,helpful,helping,helpless,helpline,hemlock,hemstitch,hence,henchman,henna,herald,herbal,herbicide,herbs,heritage,hermit,heroics,heroism,herring,herself,hertz,hesitancy,hesitant,hesitate,hexagon,hexagram,hubcap,huddle,huddling,huff,hug,hula,hulk,hull,human,humble,humbling,humbly,humid,humiliate,humility,humming,hummus,humongous,humorist,humorless,humorous,humpback,humped,humvee,hunchback,hundredth,hunger,hungrily,hungry,hunk,hunter,hunting,huntress,huntsman,hurdle,hurled,hurler,hurling,hurray,hurricane,hurried,hurry,hurt,husband,hush,husked,huskiness,hut,hybrid,hydrant,hydrated,hydration,hydrogen,hydroxide,hyperlink,hypertext,hyphen,hypnoses,hypnosis,hypnotic,hypnotism,hypnotist,hypnotize,hypocrisy,hypocrite,ibuprofen,ice,iciness,icing,icky,icon,icy,idealism,idealist,idealize,ideally,idealness,identical,identify,identity,ideology,idiocy,idiom,idly,igloo,ignition,ignore,iguana,illicitly,illusion,illusive,image,imaginary,imagines,imaging,imbecile,imitate,imitation,immature,immerse,immersion,imminent,immobile,immodest,immorally,immortal,immovable,immovably,immunity,immunize,impaired,impale,impart,impatient,impeach,impeding,impending,imperfect,imperial,impish,implant,implement,implicate,implicit,implode,implosion,implosive,imply,impolite,important,importer,impose,imposing,impotence,impotency,impotent,impound,imprecise,imprint,imprison,impromptu,improper,improve,improving,improvise,imprudent,impulse,impulsive,impure,impurity,iodine,iodize,ion,ipad,iphone,ipod,irate,irk,iron,irregular,irrigate,irritable,irritably,irritant,irritate,islamic,islamist,isolated,isolating,isolation,isotope,issue,issuing,italicize,italics,item,itinerary,itunes,ivory,ivy,jab,jackal,jacket,jackknife,jackpot,jailbird,jailbreak,jailer,jailhouse,jalapeno,jam,janitor,january,jargon,jarring,jasmine,jaundice,jaunt,java,jawed,jawless,jawline,jaws,jaybird,jaywalker,jazz,jeep,jeeringly,jellied,jelly,jersey,jester,jet,jiffy,jigsaw,jimmy,jingle,jingling,jinx,jitters,jittery,job,jockey,jockstrap,jogger,jogging,john,joining,jokester,jokingly,jolliness,jolly,jolt,jot,jovial,joyfully,joylessly,joyous,joyride,joystick,jubilance,jubilant,judge,judgingly,judicial,judiciary,judo,juggle,juggling,jugular,juice,juiciness,juicy,jujitsu,jukebox,july,jumble,jumbo,jump,junction,juncture,june,junior,juniper,junkie,junkman,junkyard,jurist,juror,jury,justice,justifier,justify,justly,justness,juvenile,kabob,kangaroo,karaoke,karate,karma,kebab,keenly,keenness,keep,keg,kelp,kennel,kept,kerchief,kerosene,kettle,kick,kiln,kilobyte,kilogram,kilometer,kilowatt,kilt,kimono,kindle,kindling,kindly,kindness,kindred,kinetic,kinfolk,king,kinship,kinsman,kinswoman,kissable,kisser,kissing,kitchen,kite,kitten,kitty,kiwi,kleenex,knapsack,knee,knelt,knickers,knoll,koala,kooky,kosher,krypton,kudos,kung,labored,laborer,laboring,laborious,labrador,ladder,ladies,ladle,ladybug,ladylike,lagged,lagging,lagoon,lair,lake,lance,landed,landfall,landfill,landing,landlady,landless,landline,landlord,landmark,landmass,landmine,landowner,landscape,landside,landslide,language,lankiness,lanky,lantern,lapdog,lapel,lapped,lapping,laptop,lard,large,lark,lash,lasso,last,latch,late,lather,latitude,latrine,latter,latticed,launch,launder,laundry,laurel,lavender,lavish,laxative,lazily,laziness,lazy,lecturer,left,legacy,legal,legend,legged,leggings,legible,legibly,legislate,lego,legroom,legume,legwarmer,legwork,lemon,lend,length,lens,lent,leotard,lesser,letdown,lethargic,lethargy,letter,lettuce,level,leverage,levers,levitate,levitator,liability,liable,liberty,librarian,library,licking,licorice,lid,life,lifter,lifting,liftoff,ligament,likely,likeness,likewise,liking,lilac,lilly,lily,limb,limeade,limelight,limes,limit,limping,limpness,line,lingo,linguini,linguist,lining,linked,linoleum,linseed,lint,lion,lip,liquefy,liqueur,liquid,lisp,list,litigate,litigator,litmus,litter,little,livable,lived,lively,liver,livestock,lividly,living,lizard,lubricant,lubricate,lucid,luckily,luckiness,luckless,lucrative,ludicrous,lugged,lukewarm,lullaby,lumber,luminance,luminous,lumpiness,lumping,lumpish,lunacy,lunar,lunchbox,luncheon,lunchroom,lunchtime,lung,lurch,lure,luridness,lurk,lushly,lushness,luster,lustfully,lustily,lustiness,lustrous,lusty,luxurious,luxury,lying,lyrically,lyricism,lyricist,lyrics,macarena,macaroni,macaw,mace,machine,machinist,magazine,magenta,maggot,magical,magician,magma,magnesium,magnetic,magnetism,magnetize,magnifier,magnify,magnitude,magnolia,mahogany,maimed,majestic,majesty,majorette,majority,makeover,maker,makeshift,making,malformed,malt,mama,mammal,mammary,mammogram,manager,managing,manatee,mandarin,mandate,mandatory,mandolin,manger,mangle,mango,mangy,manhandle,manhole,manhood,manhunt,manicotti,manicure,manifesto,manila,mankind,manlike,manliness,manly,manmade,manned,mannish,manor,manpower,mantis,mantra,manual,many,map,marathon,marauding,marbled,marbles,marbling,march,mardi,margarine,margarita,margin,marigold,marina,marine,marital,maritime,marlin,marmalade,maroon,married,marrow,marry,marshland,marshy,marsupial,marvelous,marxism,mascot,masculine,mashed,mashing,massager,masses,massive,mastiff,matador,matchbook,matchbox,matcher,matching,matchless,material,maternal,maternity,math,mating,matriarch,matrimony,matrix,matron,matted,matter,maturely,maturing,maturity,mauve,maverick,maximize,maximum,maybe,mayday,mayflower,moaner,moaning,mobile,mobility,mobilize,mobster,mocha,mocker,mockup,modified,modify,modular,modulator,module,moisten,moistness,moisture,molar,molasses,mold,molecular,molecule,molehill,mollusk,mom,monastery,monday,monetary,monetize,moneybags,moneyless,moneywise,mongoose,mongrel,monitor,monkhood,monogamy,monogram,monologue,monopoly,monorail,monotone,monotype,monoxide,monsieur,monsoon,monstrous,monthly,monument,moocher,moodiness,moody,mooing,moonbeam,mooned,moonlight,moonlike,moonlit,moonrise,moonscape,moonshine,moonstone,moonwalk,mop,morale,morality,morally,morbidity,morbidly,morphine,morphing,morse,mortality,mortally,mortician,mortified,mortify,mortuary,mosaic,mossy,most,mothball,mothproof,motion,motivate,motivator,motive,motocross,motor,motto,mountable,mountain,mounted,mounting,mourner,mournful,mouse,mousiness,moustache,mousy,mouth,movable,move,movie,moving,mower,mowing,much,muck,mud,mug,mulberry,mulch,mule,mulled,mullets,multiple,multiply,multitask,multitude,mumble,mumbling,mumbo,mummified,mummify,mummy,mumps,munchkin,mundane,municipal,muppet,mural,murkiness,murky,murmuring,muscular,museum,mushily,mushiness,mushroom,mushy,music,musket,muskiness,musky,mustang,mustard,muster,mustiness,musty,mutable,mutate,mutation,mute,mutilated,mutilator,mutiny,mutt,mutual,muzzle,myself,myspace,mystified,mystify,myth,nacho,nag,nail,name,naming,nanny,nanometer,nape,napkin,napped,napping,nappy,narrow,nastily,nastiness,national,native,nativity,natural,nature,naturist,nautical,navigate,navigator,navy,nearby,nearest,nearly,nearness,neatly,neatness,nebula,nebulizer,nectar,negate,negation,negative,neglector,negligee,negligent,negotiate,nemeses,nemesis,neon,nephew,nerd,nervous,nervy,nest,net,neurology,neuron,neurosis,neurotic,neuter,neutron,never,next,nibble,nickname,nicotine,niece,nifty,nimble,nimbly,nineteen,ninetieth,ninja,nintendo,ninth,nuclear,nuclei,nucleus,nugget,nullify,number,numbing,numbly,numbness,numeral,numerate,numerator,numeric,numerous,nuptials,nursery,nursing,nurture,nutcase,nutlike,nutmeg,nutrient,nutshell,nuttiness,nutty,nuzzle,nylon,oaf,oak,oasis,oat,obedience,obedient,obituary,object,obligate,obliged,oblivion,oblivious,oblong,obnoxious,oboe,obscure,obscurity,observant,observer,observing,obsessed,obsession,obsessive,obsolete,obstacle,obstinate,obstruct,obtain,obtrusive,obtuse,obvious,occultist,occupancy,occupant,occupier,occupy,ocean,ocelot,octagon,octane,october,octopus,ogle,oil,oink,ointment,okay,old,olive,olympics,omega,omen,ominous,omission,omit,omnivore,onboard,oncoming,ongoing,onion,online,onlooker,only,onscreen,onset,onshore,onslaught,onstage,onto,onward,onyx,oops,ooze,oozy,opacity,opal,open,operable,operate,operating,operation,operative,operator,opium,opossum,opponent,oppose,opposing,opposite,oppressed,oppressor,opt,opulently,osmosis,other,otter,ouch,ought,ounce,outage,outback,outbid,outboard,outbound,outbreak,outburst,outcast,outclass,outcome,outdated,outdoors,outer,outfield,outfit,outflank,outgoing,outgrow,outhouse,outing,outlast,outlet,outline,outlook,outlying,outmatch,outmost,outnumber,outplayed,outpost,outpour,output,outrage,outrank,outreach,outright,outscore,outsell,outshine,outshoot,outsider,outskirts,outsmart,outsource,outspoken,outtakes,outthink,outward,outweigh,outwit,oval,ovary,oven,overact,overall,overarch,overbid,overbill,overbite,overblown,overboard,overbook,overbuilt,overcast,overcoat,overcome,overcook,overcrowd,overdraft,overdrawn,overdress,overdrive,overdue,overeager,overeater,overexert,overfed,overfeed,overfill,overflow,overfull,overgrown,overhand,overhang,overhaul,overhead,overhear,overheat,overhung,overjoyed,overkill,overlabor,overlaid,overlap,overlay,overload,overlook,overlord,overlying,overnight,overpass,overpay,overplant,overplay,overpower,overprice,overrate,overreach,overreact,override,overripe,overrule,overrun,overshoot,overshot,oversight,oversized,oversleep,oversold,overspend,overstate,overstay,overstep,overstock,overstuff,oversweet,overtake,overthrow,overtime,overtly,overtone,overture,overturn,overuse,overvalue,overview,overwrite,owl,oxford,oxidant,oxidation,oxidize,oxidizing,oxygen,oxymoron,oyster,ozone,paced,pacemaker,pacific,pacifier,pacifism,pacifist,pacify,padded,padding,paddle,paddling,padlock,pagan,pager,paging,pajamas,palace,palatable,palm,palpable,palpitate,paltry,pampered,pamperer,pampers,pamphlet,panama,pancake,pancreas,panda,pandemic,pang,panhandle,panic,panning,panorama,panoramic,panther,pantomime,pantry,pants,pantyhose,paparazzi,papaya,paper,paprika,papyrus,parabola,parachute,parade,paradox,paragraph,parakeet,paralegal,paralyses,paralysis,paralyze,paramedic,parameter,paramount,parasail,parasite,parasitic,parcel,parched,parchment,pardon,parish,parka,parking,parkway,parlor,parmesan,parole,parrot,parsley,parsnip,partake,parted,parting,partition,partly,partner,partridge,party,passable,passably,passage,passcode,passenger,passerby,passing,passion,passive,passivism,passover,passport,password,pasta,pasted,pastel,pastime,pastor,pastrami,pasture,pasty,patchwork,patchy,paternal,paternity,path,patience,patient,patio,patriarch,patriot,patrol,patronage,patronize,pauper,pavement,paver,pavestone,pavilion,paving,pawing,payable,payback,paycheck,payday,payee,payer,paying,payment,payphone,payroll,pebble,pebbly,pecan,pectin,peculiar,peddling,pediatric,pedicure,pedigree,pedometer,pegboard,pelican,pellet,pelt,pelvis,penalize,penalty,pencil,pendant,pending,penholder,penknife,pennant,penniless,penny,penpal,pension,pentagon,pentagram,pep,perceive,percent,perch,percolate,perennial,perfected,perfectly,perfume,periscope,perish,perjurer,perjury,perkiness,perky,perm,peroxide,perpetual,perplexed,persecute,persevere,persuaded,persuader,pesky,peso,pessimism,pessimist,pester,pesticide,petal,petite,petition,petri,petroleum,petted,petticoat,pettiness,petty,petunia,phantom,phobia,phoenix,phonebook,phoney,phonics,phoniness,phony,phosphate,photo,phrase,phrasing,placard,placate,placidly,plank,planner,plant,plasma,plaster,plastic,plated,platform,plating,platinum,platonic,platter,platypus,plausible,plausibly,playable,playback,player,playful,playgroup,playhouse,playing,playlist,playmaker,playmate,playoff,playpen,playroom,playset,plaything,playtime,plaza,pleading,pleat,pledge,plentiful,plenty,plethora,plexiglas,pliable,plod,plop,plot,plow,ploy,pluck,plug,plunder,plunging,plural,plus,plutonium,plywood,poach,pod,poem,poet,pogo,pointed,pointer,pointing,pointless,pointy,poise,poison,poker,poking,polar,police,policy,polio,polish,politely,polka,polo,polyester,polygon,polygraph,polymer,poncho,pond,pony,popcorn,pope,poplar,popper,poppy,popsicle,populace,popular,populate,porcupine,pork,porous,porridge,portable,portal,portfolio,porthole,portion,portly,portside,poser,posh,posing,possible,possibly,possum,postage,postal,postbox,postcard,posted,poster,posting,postnasal,posture,postwar,pouch,pounce,pouncing,pound,pouring,pout,powdered,powdering,powdery,power,powwow,pox,praising,prance,prancing,pranker,prankish,prankster,prayer,praying,preacher,preaching,preachy,preamble,precinct,precise,precision,precook,precut,predator,predefine,predict,preface,prefix,preflight,preformed,pregame,pregnancy,pregnant,preheated,prelaunch,prelaw,prelude,premiere,premises,premium,prenatal,preoccupy,preorder,prepaid,prepay,preplan,preppy,preschool,prescribe,preseason,preset,preshow,president,presoak,press,presume,presuming,preteen,pretended,pretender,pretense,pretext,pretty,pretzel,prevail,prevalent,prevent,preview,previous,prewar,prewashed,prideful,pried,primal,primarily,primary,primate,primer,primp,princess,print,prior,prism,prison,prissy,pristine,privacy,private,privatize,prize,proactive,probable,probably,probation,probe,probing,probiotic,problem,procedure,process,proclaim,procreate,procurer,prodigal,prodigy,produce,product,profane,profanity,professed,professor,profile,profound,profusely,progeny,prognosis,program,progress,projector,prologue,prolonged,promenade,prominent,promoter,promotion,prompter,promptly,prone,prong,pronounce,pronto,proofing,proofread,proofs,propeller,properly,property,proponent,proposal,propose,props,prorate,protector,protegee,proton,prototype,protozoan,protract,protrude,proud,provable,proved,proven,provided,provider,providing,province,proving,provoke,provoking,provolone,prowess,prowler,prowling,proximity,proxy,prozac,prude,prudishly,prune,pruning,pry,psychic,public,publisher,pucker,pueblo,pug,pull,pulmonary,pulp,pulsate,pulse,pulverize,puma,pumice,pummel,punch,punctual,punctuate,punctured,pungent,punisher,punk,pupil,puppet,puppy,purchase,pureblood,purebred,purely,pureness,purgatory,purge,purging,purifier,purify,purist,puritan,purity,purple,purplish,purposely,purr,purse,pursuable,pursuant,pursuit,purveyor,pushcart,pushchair,pusher,pushiness,pushing,pushover,pushpin,pushup,pushy,putdown,putt,puzzle,puzzling,pyramid,pyromania,python,quack,quadrant,quail,quaintly,quake,quaking,qualified,qualifier,qualify,quality,qualm,quantum,quarrel,quarry,quartered,quarterly,quarters,quartet,quench,query,quicken,quickly,quickness,quicksand,quickstep,quiet,quill,quilt,quintet,quintuple,quirk,quit,quiver,quizzical,quotable,quotation,quote,rabid,race,racing,racism,rack,racoon,radar,radial,radiance,radiantly,radiated,radiation,radiator,radio,radish,raffle,raft,rage,ragged,raging,ragweed,raider,railcar,railing,railroad,railway,raisin,rake,raking,rally,ramble,rambling,ramp,ramrod,ranch,rancidity,random,ranged,ranger,ranging,ranked,ranking,ransack,ranting,rants,rare,rarity,rascal,rash,rasping,ravage,raven,ravine,raving,ravioli,ravishing,reabsorb,reach,reacquire,reaction,reactive,reactor,reaffirm,ream,reanalyze,reappear,reapply,reappoint,reapprove,rearrange,rearview,reason,reassign,reassure,reattach,reawake,rebalance,rebate,rebel,rebirth,reboot,reborn,rebound,rebuff,rebuild,rebuilt,reburial,rebuttal,recall,recant,recapture,recast,recede,recent,recess,recharger,recipient,recital,recite,reckless,reclaim,recliner,reclining,recluse,reclusive,recognize,recoil,recollect,recolor,reconcile,reconfirm,reconvene,recopy,record,recount,recoup,recovery,recreate,rectal,rectangle,rectified,rectify,recycled,recycler,recycling,reemerge,reenact,reenter,reentry,reexamine,referable,referee,reference,refill,refinance,refined,refinery,refining,refinish,reflected,reflector,reflex,reflux,refocus,refold,reforest,reformat,reformed,reformer,reformist,refract,refrain,refreeze,refresh,refried,refueling,refund,refurbish,refurnish,refusal,refuse,refusing,refutable,refute,regain,regalia,regally,reggae,regime,region,register,registrar,registry,regress,regretful,regroup,regular,regulate,regulator,rehab,reheat,rehire,rehydrate,reimburse,reissue,reiterate,rejoice,rejoicing,rejoin,rekindle,relapse,relapsing,relatable,related,relation,relative,relax,relay,relearn,release,relenting,reliable,reliably,reliance,reliant,relic,relieve,relieving,relight,relish,relive,reload,relocate,relock,reluctant,rely,remake,remark,remarry,rematch,remedial,remedy,remember,reminder,remindful,remission,remix,remnant,remodeler,remold,remorse,remote,removable,removal,removed,remover,removing,rename,renderer,rendering,rendition,renegade,renewable,renewably,renewal,renewed,renounce,renovate,renovator,rentable,rental,rented,renter,reoccupy,reoccur,reopen,reorder,repackage,repacking,repaint,repair,repave,repaying,repayment,repeal,repeated,repeater,repent,rephrase,replace,replay,replica,reply,reporter,repose,repossess,repost,repressed,reprimand,reprint,reprise,reproach,reprocess,reproduce,reprogram,reps,reptile,reptilian,repugnant,repulsion,repulsive,repurpose,reputable,reputably,request,require,requisite,reroute,rerun,resale,resample,rescuer,reseal,research,reselect,reseller,resemble,resend,resent,reset,reshape,reshoot,reshuffle,residence,residency,resident,residual,residue,resigned,resilient,resistant,resisting,resize,resolute,resolved,resonant,resonate,resort,resource,respect,resubmit,result,resume,resupply,resurface,resurrect,retail,retainer,retaining,retake,retaliate,retention,rethink,retinal,retired,retiree,retiring,retold,retool,retorted,retouch,retrace,retract,retrain,retread,retreat,retrial,retrieval,retriever,retry,return,retying,retype,reunion,reunite,reusable,reuse,reveal,reveler,revenge,revenue,reverb,revered,reverence,reverend,reversal,reverse,reversing,reversion,revert,revisable,revise,revision,revisit,revivable,revival,reviver,reviving,revocable,revoke,revolt,revolver,revolving,reward,rewash,rewind,rewire,reword,rework,rewrap,rewrite,rhyme,ribbon,ribcage,rice,riches,richly,richness,rickety,ricotta,riddance,ridden,ride,riding,rifling,rift,rigging,rigid,rigor,rimless,rimmed,rind,rink,rinse,rinsing,riot,ripcord,ripeness,ripening,ripping,ripple,rippling,riptide,rise,rising,risk,risotto,ritalin,ritzy,rival,riverbank,riverbed,riverboat,riverside,riveter,riveting,roamer,roaming,roast,robbing,robe,robin,robotics,robust,rockband,rocker,rocket,rockfish,rockiness,rocking,rocklike,rockslide,rockstar,rocky,rogue,roman,romp,rope,roping,roster,rosy,rotten,rotting,rotunda,roulette,rounding,roundish,roundness,roundup,roundworm,routine,routing,rover,roving,royal,rubbed,rubber,rubbing,rubble,rubdown,ruby,ruckus,rudder,rug,ruined,rule,rumble,rumbling,rummage,rumor,runaround,rundown,runner,running,runny,runt,runway,rupture,rural,ruse,rush,rust,rut,sabbath,sabotage,sacrament,sacred,sacrifice,sadden,saddlebag,saddled,saddling,sadly,sadness,safari,safeguard,safehouse,safely,safeness,saffron,saga,sage,sagging,saggy,said,saint,sake,salad,salami,salaried,salary,saline,salon,saloon,salsa,salt,salutary,salute,salvage,salvaging,salvation,same,sample,sampling,sanction,sanctity,sanctuary,sandal,sandbag,sandbank,sandbar,sandblast,sandbox,sanded,sandfish,sanding,sandlot,sandpaper,sandpit,sandstone,sandstorm,sandworm,sandy,sanitary,sanitizer,sank,santa,sapling,sappiness,sappy,sarcasm,sarcastic,sardine,sash,sasquatch,sassy,satchel,satiable,satin,satirical,satisfied,satisfy,saturate,saturday,sauciness,saucy,sauna,savage,savanna,saved,savings,savior,savor,saxophone,say,scabbed,scabby,scalded,scalding,scale,scaling,scallion,scallop,scalping,scam,scandal,scanner,scanning,scant,scapegoat,scarce,scarcity,scarecrow,scared,scarf,scarily,scariness,scarring,scary,scavenger,scenic,schedule,schematic,scheme,scheming,schilling,schnapps,scholar,science,scientist,scion,scoff,scolding,scone,scoop,scooter,scope,scorch,scorebook,scorecard,scored,scoreless,scorer,scoring,scorn,scorpion,scotch,scoundrel,scoured,scouring,scouting,scouts,scowling,scrabble,scraggly,scrambled,scrambler,scrap,scratch,scrawny,screen,scribble,scribe,scribing,scrimmage,script,scroll,scrooge,scrounger,scrubbed,scrubber,scruffy,scrunch,scrutiny,scuba,scuff,sculptor,sculpture,scurvy,scuttle,secluded,secluding,seclusion,second,secrecy,secret,sectional,sector,secular,securely,security,sedan,sedate,sedation,sedative,sediment,seduce,seducing,segment,seismic,seizing,seldom,selected,selection,selective,selector,self,seltzer,semantic,semester,semicolon,semifinal,seminar,semisoft,semisweet,senate,senator,send,senior,senorita,sensation,sensitive,sensitize,sensually,sensuous,sepia,september,septic,septum,sequel,sequence,sequester,series,sermon,serotonin,serpent,serrated,serve,service,serving,sesame,sessions,setback,setting,settle,settling,setup,sevenfold,seventeen,seventh,seventy,severity,shabby,shack,shaded,shadily,shadiness,shading,shadow,shady,shaft,shakable,shakily,shakiness,shaking,shaky,shale,shallot,shallow,shame,shampoo,shamrock,shank,shanty,shape,shaping,share,sharpener,sharper,sharpie,sharply,sharpness,shawl,sheath,shed,sheep,sheet,shelf,shell,shelter,shelve,shelving,sherry,shield,shifter,shifting,shiftless,shifty,shimmer,shimmy,shindig,shine,shingle,shininess,shining,shiny,ship,shirt,shivering,shock,shone,shoplift,shopper,shopping,shoptalk,shore,shortage,shortcake,shortcut,shorten,shorter,shorthand,shortlist,shortly,shortness,shorts,shortwave,shorty,shout,shove,showbiz,showcase,showdown,shower,showgirl,showing,showman,shown,showoff,showpiece,showplace,showroom,showy,shrank,shrapnel,shredder,shredding,shrewdly,shriek,shrill,shrimp,shrine,shrink,shrivel,shrouded,shrubbery,shrubs,shrug,shrunk,shucking,shudder,shuffle,shuffling,shun,shush,shut,shy,siamese,siberian,sibling,siding,sierra,siesta,sift,sighing,silenced,silencer,silent,silica,silicon,silk,silliness,silly,silo,silt,silver,similarly,simile,simmering,simple,simplify,simply,sincere,sincerity,singer,singing,single,singular,sinister,sinless,sinner,sinuous,sip,siren,sister,sitcom,sitter,sitting,situated,situation,sixfold,sixteen,sixth,sixties,sixtieth,sixtyfold,sizable,sizably,size,sizing,sizzle,sizzling,skater,skating,skedaddle,skeletal,skeleton,skeptic,sketch,skewed,skewer,skid,skied,skier,skies,skiing,skilled,skillet,skillful,skimmed,skimmer,skimming,skimpily,skincare,skinhead,skinless,skinning,skinny,skintight,skipper,skipping,skirmish,skirt,skittle,skydiver,skylight,skyline,skype,skyrocket,skyward,slab,slacked,slacker,slacking,slackness,slacks,slain,slam,slander,slang,slapping,slapstick,slashed,slashing,slate,slather,slaw,sled,sleek,sleep,sleet,sleeve,slept,sliceable,sliced,slicer,slicing,slick,slider,slideshow,sliding,slighted,slighting,slightly,slimness,slimy,slinging,slingshot,slinky,slip,slit,sliver,slobbery,slogan,sloped,sloping,sloppily,sloppy,slot,slouching,slouchy,sludge,slug,slum,slurp,slush,sly,small,smartly,smartness,smasher,smashing,smashup,smell,smelting,smile,smilingly,smirk,smite,smith,smitten,smock,smog,smoked,smokeless,smokiness,smoking,smoky,smolder,smooth,smother,smudge,smudgy,smuggler,smuggling,smugly,smugness,snack,snagged,snaking,snap,snare,snarl,snazzy,sneak,sneer,sneeze,sneezing,snide,sniff,snippet,snipping,snitch,snooper,snooze,snore,snoring,snorkel,snort,snout,snowbird,snowboard,snowbound,snowcap,snowdrift,snowdrop,snowfall,snowfield,snowflake,snowiness,snowless,snowman,snowplow,snowshoe,snowstorm,snowsuit,snowy,snub,snuff,snuggle,snugly,snugness,speak,spearfish,spearhead,spearman,spearmint,species,specimen,specked,speckled,specks,spectacle,spectator,spectrum,speculate,speech,speed,spellbind,speller,spelling,spendable,spender,spending,spent,spew,sphere,spherical,sphinx,spider,spied,spiffy,spill,spilt,spinach,spinal,spindle,spinner,spinning,spinout,spinster,spiny,spiral,spirited,spiritism,spirits,spiritual,splashed,splashing,splashy,splatter,spleen,splendid,splendor,splice,splicing,splinter,splotchy,splurge,spoilage,spoiled,spoiler,spoiling,spoils,spoken,spokesman,sponge,spongy,sponsor,spoof,spookily,spooky,spool,spoon,spore,sporting,sports,sporty,spotless,spotlight,spotted,spotter,spotting,spotty,spousal,spouse,spout,sprain,sprang,sprawl,spray,spree,sprig,spring,sprinkled,sprinkler,sprint,sprite,sprout,spruce,sprung,spry,spud,spur,sputter,spyglass,squabble,squad,squall,squander,squash,squatted,squatter,squatting,squeak,squealer,squealing,squeamish,squeegee,squeeze,squeezing,squid,squiggle,squiggly,squint,squire,squirt,squishier,squishy,stability,stabilize,stable,stack,stadium,staff,stage,staging,stagnant,stagnate,stainable,stained,staining,stainless,stalemate,staleness,stalling,stallion,stamina,stammer,stamp,stand,stank,staple,stapling,starboard,starch,stardom,stardust,starfish,stargazer,staring,stark,starless,starlet,starlight,starlit,starring,starry,starship,starter,starting,startle,startling,startup,starved,starving,stash,state,static,statistic,statue,stature,status,statute,statutory,staunch,stays,steadfast,steadier,steadily,steadying,steam,steed,steep,steerable,steering,steersman,stegosaur,stellar,stem,stench,stencil,step,stereo,sterile,sterility,sterilize,sterling,sternness,sternum,stew,stick,stiffen,stiffly,stiffness,stifle,stifling,stillness,stilt,stimulant,stimulate,stimuli,stimulus,stinger,stingily,stinging,stingray,stingy,stinking,stinky,stipend,stipulate,stir,stitch,stock,stoic,stoke,stole,stomp,stonewall,stoneware,stonework,stoning,stony,stood,stooge,stool,stoop,stoplight,stoppable,stoppage,stopped,stopper,stopping,stopwatch,storable,storage,storeroom,storewide,storm,stout,stove,stowaway,stowing,straddle,straggler,strained,strainer,straining,strangely,stranger,strangle,strategic,strategy,stratus,straw,stray,streak,stream,street,strength,strenuous,strep,stress,stretch,strewn,stricken,strict,stride,strife,strike,striking,strive,striving,strobe,strode,stroller,strongbox,strongly,strongman,struck,structure,strudel,struggle,strum,strung,strut,stubbed,stubble,stubbly,stubborn,stucco,stuck,student,studied,studio,study,stuffed,stuffing,stuffy,stumble,stumbling,stump,stung,stunned,stunner,stunning,stunt,stupor,sturdily,sturdy,styling,stylishly,stylist,stylized,stylus,suave,subarctic,subatomic,subdivide,subdued,subduing,subfloor,subgroup,subheader,subject,sublease,sublet,sublevel,sublime,submarine,submerge,submersed,submitter,subpanel,subpar,subplot,subprime,subscribe,subscript,subsector,subside,subsiding,subsidize,subsidy,subsoil,subsonic,substance,subsystem,subtext,subtitle,subtly,subtotal,subtract,subtype,suburb,subway,subwoofer,subzero,succulent,such,suction,sudden,sudoku,suds,sufferer,suffering,suffice,suffix,suffocate,suffrage,sugar,suggest,suing,suitable,suitably,suitcase,suitor,sulfate,sulfide,sulfite,sulfur,sulk,sullen,sulphate,sulphuric,sultry,superbowl,superglue,superhero,superior,superjet,superman,supermom,supernova,supervise,supper,supplier,supply,support,supremacy,supreme,surcharge,surely,sureness,surface,surfacing,surfboard,surfer,surgery,surgical,surging,surname,surpass,surplus,surprise,surreal,surrender,surrogate,surround,survey,survival,survive,surviving,survivor,sushi,suspect,suspend,suspense,sustained,sustainer,swab,swaddling,swagger,swampland,swan,swapping,swarm,sway,swear,sweat,sweep,swell,swept,swerve,swifter,swiftly,swiftness,swimmable,swimmer,swimming,swimsuit,swimwear,swinger,swinging,swipe,swirl,switch,swivel,swizzle,swooned,swoop,swoosh,swore,sworn,swung,sycamore,sympathy,symphonic,symphony,symptom,synapse,syndrome,synergy,synopses,synopsis,synthesis,synthetic,syrup,system,tshirt,tabasco,tabby,tableful,tables,tablet,tableware,tabloid,tackiness,tacking,tackle,tackling,tacky,taco,tactful,tactical,tactics,tactile,tactless,tadpole,taekwondo,tag,tainted,take,taking,talcum,talisman,tall,talon,tamale,tameness,tamer,tamper,tank,tanned,tannery,tanning,tantrum,tapeless,tapered,tapering,tapestry,tapioca,tapping,taps,tarantula,target,tarmac,tarnish,tarot,tartar,tartly,tartness,task,tassel,taste,tastiness,tasting,tasty,tattered,tattle,tattling,tattoo,taunt,tavern,thank,that,thaw,theater,theatrics,thee,theft,theme,theology,theorize,thermal,thermos,thesaurus,these,thesis,thespian,thicken,thicket,thickness,thieving,thievish,thigh,thimble,thing,think,thinly,thinner,thinness,thinning,thirstily,thirsting,thirsty,thirteen,thirty,thong,thorn,those,thousand,thrash,thread,threaten,threefold,thrift,thrill,thrive,thriving,throat,throbbing,throng,throttle,throwaway,throwback,thrower,throwing,thud,thumb,thumping,thursday,thus,thwarting,thyself,tiara,tibia,tidal,tidbit,tidiness,tidings,tidy,tiger,tighten,tightly,tightness,tightrope,tightwad,tigress,tile,tiling,till,tilt,timid,timing,timothy,tinderbox,tinfoil,tingle,tingling,tingly,tinker,tinkling,tinsel,tinsmith,tint,tinwork,tiny,tipoff,tipped,tipper,tipping,tiptoeing,tiptop,tiring,tissue,trace,tracing,track,traction,tractor,trade,trading,tradition,traffic,tragedy,trailing,trailside,train,traitor,trance,tranquil,transfer,transform,translate,transpire,transport,transpose,trapdoor,trapeze,trapezoid,trapped,trapper,trapping,traps,trash,travel,traverse,travesty,tray,treachery,treading,treadmill,treason,treat,treble,tree,trekker,tremble,trembling,tremor,trench,trend,trespass,triage,trial,triangle,tribesman,tribunal,tribune,tributary,tribute,triceps,trickery,trickily,tricking,trickle,trickster,tricky,tricolor,tricycle,trident,tried,trifle,trifocals,trillion,trilogy,trimester,trimmer,trimming,trimness,trinity,trio,tripod,tripping,triumph,trivial,trodden,trolling,trombone,trophy,tropical,tropics,trouble,troubling,trough,trousers,trout,trowel,truce,truck,truffle,trump,trunks,trustable,trustee,trustful,trusting,trustless,truth,try,tubby,tubeless,tubular,tucking,tuesday,tug,tuition,tulip,tumble,tumbling,tummy,turban,turbine,turbofan,turbojet,turbulent,turf,turkey,turmoil,turret,turtle,tusk,tutor,tutu,tux,tweak,tweed,tweet,tweezers,twelve,twentieth,twenty,twerp,twice,twiddle,twiddling,twig,twilight,twine,twins,twirl,twistable,twisted,twister,twisting,twisty,twitch,twitter,tycoon,tying,tyke,udder,ultimate,ultimatum,ultra,umbilical,umbrella,umpire,unabashed,unable,unadorned,unadvised,unafraid,unaired,unaligned,unaltered,unarmored,unashamed,unaudited,unawake,unaware,unbaked,unbalance,unbeaten,unbend,unbent,unbiased,unbitten,unblended,unblessed,unblock,unbolted,unbounded,unboxed,unbraided,unbridle,unbroken,unbuckled,unbundle,unburned,unbutton,uncanny,uncapped,uncaring,uncertain,unchain,unchanged,uncharted,uncheck,uncivil,unclad,unclaimed,unclamped,unclasp,uncle,unclip,uncloak,unclog,unclothed,uncoated,uncoiled,uncolored,uncombed,uncommon,uncooked,uncork,uncorrupt,uncounted,uncouple,uncouth,uncover,uncross,uncrown,uncrushed,uncured,uncurious,uncurled,uncut,undamaged,undated,undaunted,undead,undecided,undefined,underage,underarm,undercoat,undercook,undercut,underdog,underdone,underfed,underfeed,underfoot,undergo,undergrad,underhand,underline,underling,undermine,undermost,underpaid,underpass,underpay,underrate,undertake,undertone,undertook,undertow,underuse,underwear,underwent,underwire,undesired,undiluted,undivided,undocked,undoing,undone,undrafted,undress,undrilled,undusted,undying,unearned,unearth,unease,uneasily,uneasy,uneatable,uneaten,unedited,unelected,unending,unengaged,unenvied,unequal,unethical,uneven,unexpired,unexposed,unfailing,unfair,unfasten,unfazed,unfeeling,unfiled,unfilled,unfitted,unfitting,unfixable,unfixed,unflawed,unfocused,unfold,unfounded,unframed,unfreeze,unfrosted,unfrozen,unfunded,unglazed,ungloved,unglue,ungodly,ungraded,ungreased,unguarded,unguided,unhappily,unhappy,unharmed,unhealthy,unheard,unhearing,unheated,unhelpful,unhidden,unhinge,unhitched,unholy,unhook,unicorn,unicycle,unified,unifier,uniformed,uniformly,unify,unimpeded,uninjured,uninstall,uninsured,uninvited,union,uniquely,unisexual,unison,unissued,unit,universal,universe,unjustly,unkempt,unkind,unknotted,unknowing,unknown,unlaced,unlatch,unlawful,unleaded,unlearned,unleash,unless,unleveled,unlighted,unlikable,unlimited,unlined,unlinked,unlisted,unlit,unlivable,unloaded,unloader,unlocked,unlocking,unlovable,unloved,unlovely,unloving,unluckily,unlucky,unmade,unmanaged,unmanned,unmapped,unmarked,unmasked,unmasking,unmatched,unmindful,unmixable,unmixed,unmolded,unmoral,unmovable,unmoved,unmoving,unnamable,unnamed,unnatural,unneeded,unnerve,unnerving,unnoticed,unopened,unopposed,unpack,unpadded,unpaid,unpainted,unpaired,unpaved,unpeeled,unpicked,unpiloted,unpinned,unplanned,unplanted,unpleased,unpledged,unplowed,unplug,unpopular,unproven,unquote,unranked,unrated,unraveled,unreached,unread,unreal,unreeling,unrefined,unrelated,unrented,unrest,unretired,unrevised,unrigged,unripe,unrivaled,unroasted,unrobed,unroll,unruffled,unruly,unrushed,unsaddle,unsafe,unsaid,unsalted,unsaved,unsavory,unscathed,unscented,unscrew,unsealed,unseated,unsecured,unseeing,unseemly,unseen,unselect,unselfish,unsent,unsettled,unshackle,unshaken,unshaved,unshaven,unsheathe,unshipped,unsightly,unsigned,unskilled,unsliced,unsmooth,unsnap,unsocial,unsoiled,unsold,unsolved,unsorted,unspoiled,unspoken,unstable,unstaffed,unstamped,unsteady,unsterile,unstirred,unstitch,unstopped,unstuck,unstuffed,unstylish,unsubtle,unsubtly,unsuited,unsure,unsworn,untagged,untainted,untaken,untamed,untangled,untapped,untaxed,unthawed,unthread,untidy,untie,until,untimed,untimely,untitled,untoasted,untold,untouched,untracked,untrained,untreated,untried,untrimmed,untrue,untruth,unturned,untwist,untying,unusable,unused,unusual,unvalued,unvaried,unvarying,unveiled,unveiling,unvented,unviable,unvisited,unvocal,unwanted,unwarlike,unwary,unwashed,unwatched,unweave,unwed,unwelcome,unwell,unwieldy,unwilling,unwind,unwired,unwitting,unwomanly,unworldly,unworn,unworried,unworthy,unwound,unwoven,unwrapped,unwritten,unzip,upbeat,upchuck,upcoming,upcountry,update,upfront,upgrade,upheaval,upheld,uphill,uphold,uplifted,uplifting,upload,upon,upper,upright,uprising,upriver,uproar,uproot,upscale,upside,upstage,upstairs,upstart,upstate,upstream,upstroke,upswing,uptake,uptight,uptown,upturned,upward,upwind,uranium,urban,urchin,urethane,urgency,urgent,urging,urologist,urology,usable,usage,useable,used,uselessly,user,usher,usual,utensil,utility,utilize,utmost,utopia,utter,vacancy,vacant,vacate,vacation,vagabond,vagrancy,vagrantly,vaguely,vagueness,valiant,valid,valium,valley,valuables,value,vanilla,vanish,vanity,vanquish,vantage,vaporizer,variable,variably,varied,variety,various,varmint,varnish,varsity,varying,vascular,vaseline,vastly,vastness,veal,vegan,veggie,vehicular,velcro,velocity,velvet,vendetta,vending,vendor,veneering,vengeful,venomous,ventricle,venture,venue,venus,verbalize,verbally,verbose,verdict,verify,verse,version,versus,vertebrae,vertical,vertigo,very,vessel,vest,veteran,veto,vexingly,viability,viable,vibes,vice,vicinity,victory,video,viewable,viewer,viewing,viewless,viewpoint,vigorous,village,villain,vindicate,vineyard,vintage,violate,violation,violator,violet,violin,viper,viral,virtual,virtuous,virus,visa,viscosity,viscous,viselike,visible,visibly,vision,visiting,visitor,visor,vista,vitality,vitalize,vitally,vitamins,vivacious,vividly,vividness,vixen,vocalist,vocalize,vocally,vocation,voice,voicing,void,volatile,volley,voltage,volumes,voter,voting,voucher,vowed,vowel,voyage,wackiness,wad,wafer,waffle,waged,wager,wages,waggle,wagon,wake,waking,walk,walmart,walnut,walrus,waltz,wand,wannabe,wanted,wanting,wasabi,washable,washbasin,washboard,washbowl,washcloth,washday,washed,washer,washhouse,washing,washout,washroom,washstand,washtub,wasp,wasting,watch,water,waviness,waving,wavy,whacking,whacky,wham,wharf,wheat,whenever,whiff,whimsical,whinny,whiny,whisking,whoever,whole,whomever,whoopee,whooping,whoops,why,wick,widely,widen,widget,widow,width,wieldable,wielder,wife,wifi,wikipedia,wildcard,wildcat,wilder,wildfire,wildfowl,wildland,wildlife,wildly,wildness,willed,willfully,willing,willow,willpower,wilt,wimp,wince,wincing,wind,wing,winking,winner,winnings,winter,wipe,wired,wireless,wiring,wiry,wisdom,wise,wish,wisplike,wispy,wistful,wizard,wobble,wobbling,wobbly,wok,wolf,wolverine,womanhood,womankind,womanless,womanlike,womanly,womb,woof,wooing,wool,woozy,word,work,worried,worrier,worrisome,worry,worsening,worshiper,worst,wound,woven,wow,wrangle,wrath,wreath,wreckage,wrecker,wrecking,wrench,wriggle,wriggly,wrinkle,wrinkly,wrist,writing,written,wrongdoer,wronged,wrongful,wrongly,wrongness,wrought,xbox,xerox,yahoo,yam,yanking,yapping,yard,yarn,yeah,yearbook,yearling,yearly,yearning,yeast,yelling,yelp,yen,yesterday,yiddish,yield,yin,yippee,cheetah,yodel,yoga,yogurt,yonder,yoyo,yummy,zap,zealous,zebra,zen,zeppelin,zero,zestfully,zesty,zigzagged,zipfile,zipping,zippy,zips,zit,zodiac,zombie,zone,zoning,zookeeper,zoologist,zoology,zoom".split(","), passwords: "123456,password,12345678,qwerty,123456789,12345,1234,111111,1234567,dragon,123123,baseball,abc123,football,monkey,letmein,shadow,master,696969,michael,mustang,666666,qwertyuiop,123321,1234567890,pussy,superman,1qaz2wsx,7777777,fuckyou,jordan,qazwsx,jennifer,123qwe,000000,killer,trustno1,hunter,harley,zxcvbnm,asdfgh,buster,andrew,batman,soccer,tigger,charlie,robert,sunshine,thomas,iloveyou,fuckme,ranger,daniel,hockey,george,computer,michelle,jessica,starwars,asshole,pepper,klaster,112233,zxcvbn,freedom,princess,joshua,maggie,pass,ginger,11111111,131313,fuck,amanda,ashley,love,cheese,159753,nicole,summer,matthew,chelsea,dallas,biteme,matrix,william,yankees,6969,taylor,corvette,austin,access,martin,heather,thunder,merlin,secret,diamond,hello,anthony,hammer,fucker,1234qwer,silver,gfhjkm,justin,patrick,richard,bailey,internet,samantha,golfer,scooter,test,orange,cookie,q1w2e3r4t5,maverick,jackson,sparky,mickey,phoenix,bigdog,snoopy,guitar,whatever,chicken,morgan,andrea,camaro,mercedes,peanut,ferrari,cowboy,falcon,welcome,samsung,sexy,steelers,joseph,smokey,dakota,melissa,arsenal,boomer,eagles,tigers,marina,nascar,booboo,gateway,porsche,yellow,monster,spider,diablo,hannah,bulldog,junior,london,purple,compaq,lakers,iceman,qwer1234,hardcore,cowboys,money,banana,ncc1701,boston,brandon,tennis,johnny,miller,q1w2e3r4,coffee,scooby,123654,edward,nikita,mother,yamaha,brandy,barney,chester,fuckoff,oliver,charles,player,knight,forever,steven,rangers,midnight,chicago,bigdaddy,redsox,victoria,badboy,angel,please,fender,chris,jasper,james,slayer,rabbit,natasha,rachel,bigdick,marine,wizard,marlboro,raiders,prince,casper,fishing,flower,crystal,jasmine,panties,iwantu,adidas,winner,winter,gandalf,password1,enter,ghbdtn,1q2w3e4r,angela,mike,golden,lauren,cocacola,jordan23,winston,madison,angels,blowme,panther,sexsex,bigtits,spanky,bitch,shannon,sophie,johnson,asdfasdf,david,horny,thx1138,toyota,tiger,murphy,dick,canada,danielle,12344321,blowjob,8675309,jonathan,liverpoo,muffin,cooper,apples,jackie,dennis,black,qwerty123,passw0rd,john,abcd1234,sandra,pokemon,123abc,slipknot,carlos,qazxsw,123456a,scorpion,qwaszx,nathan,butter,startrek,rainbow,asdfghjkl,razz,redskins,newyork,gemini,cameron,qazwsxedc,florida,liverpool,turtle,nicholas,viking,booger,wilson,sierra,butthead,doctor,rocket,159357,victor,dolphins,captain,bandit,jaguar,packers,pookie,peaches,789456,asdf,blue,dolphin,helpme,tucker,theman,tiffany,maxwell,jeremy,qwertyui,shithead,debbie,albert,maddog,lovers,monica,alex,united,giants,nirvana,metallic,hotdog,rosebud,mountain,benjamin,warrior,stupid,elephant,suckit,success,bond007,jackass,bonnie,alexis,porn,lucky,jason,scorpio,samson,q1w2e3,rush2112,azerty,freddy,driver,willie,calvin,1q2w3e4r5t,sydney,gators,dexter,red123,12345a,123456q,bubba,creative,golf,voodoo,happy,arthur,trouble,america,nissan,gunner,rebecca,stella,garfield,gordon,jessie,bullshit,parker,asdfghjk,5150,fucking,apollo,jack,1qazxsw2,2112,eminem,december,legend,airborne,beavis,august,bear,apple,brooklyn,godzilla,skippy,buddy,4815162342,qwert,kitten,magic,shelby,beaver,phantom,fred,nothing,asdasd,williams,xavier,braves,darkness,blink182,travis,copper,tomcat,platinum,qweqwe,girls,01012011,bigboy,green,power,102030,animal,police,11223344,online,voyager,lifehack,12qwaszx,fish,sniper,315475,trinity,walter,blazer,heaven,lover,snowball,playboy,bubbles,loveme,hooters,cricket,marvin,willow,donkey,topgun,nintendo,saturn,family,november,gabriel,destiny,pakistan,pumpkin,digital,sergey,chance,explorer,redwings,private,therock,runner,tits,789456123,lasvegas,guinness,beatles,fire,cassie,christin,qwerty1,asdf1234,celtic,broncos,andrey,007007,babygirl,nelson,donald,scott,eclipse,cartman,fluffy,louise,michigan,testing,carolina,little,samuel,alexande,birdie,steve,cherry,pantera,sharon,gibson,vampire,mexico,dickhead,peter,buffalo,montana,genius,beer,flyers,maximus,school,minecraft,lovely,stalker,metallica,doggie,carter,kristina,kimberly,spencer,speedy,barbara,snickers,sabrina,carmen,marcus,bronco,yankee,friends,paradise,lol123,dreams,magnum,horses,cool,caroline,147258369,lacrosse,ou812,goober,member,qwertyu,enigma,scotty,pimpin,bollocks,brian,cock,surfer,sammy,genesis,poohbear,dave,star,asd123,qweasdzxc,baby,racing,friend,hello1,hawaii,eagle1,billy,viper,october,vanessa,poopoo,einstein,boobies,stanley,12345q,walker,bitches,paul,drowssap,stephen,courtney,simple,alaska,badger,action,jake,bill,denise,jester,111222,spitfire,drummer,forest,patricia,maryjane,champion,diesel,svetlana,rock,friday,kevin,mark,gregory,pamela,frank,hotrod,147258,chevy,anderson,lucky1,douglas,westside,security,google,badass,shorty,tester,thumper,hitman,mozart,general,reddog,boobs,zaq12wsx,music,010203,lizard,alexander,melanie,a123456,ruslan,123456789a,vincent,eagle,1232323q,sweet,teresa,scarface,147852,qwerty12,a12345,marshall,olivia,veronica,porno,buddha,spirit,frankie,money1,stargate,antonio,liberty,natalie,mercury,naruto,qwe123,12345qwert,suzuki,semperfi,king,popcorn,spooky,marley,system,brittany,claudia,kelly,scotland,free,kitty,cherokee,vikings,simpsons,death,leslie,rascal,qweasd,jimmy,loveyou,hummer,michael1,allison,rocky,patches,russia,adrian,jupiter,penguin,cumshot,howard,passion,honda,vfhbyf,andre,vladimir,franklin,sandman,123789,infinity,homer,bastard,raider,passport,assman,sucker,fantasy,bulldogs,1234554321,horney,domino,budlight,ironman,disney,norman,usuckballz1,softball,bishop,francis,brutus,ford,redrum,brooke,bigred,jeffrey,jesus,fktrcfylh,karina,marines,kawasaki,digger,ireland,oksana,fireman,cougar,college,shit,alicia,russell,houston,monday,bradley,cunt,sarah,nigger,justice,super,wildcats,tinker,duncan,dancer,logitech,avalon,swordfis,everton,reggie,motorola,alexandr,molly,timothy,hentai,pussy1,claire,patriots,madonna,colorado,eugene,ducati,kermit,juventus,indian,connor,galore,freeuser,smooth,house,titanic,boogie,simpson,warcraft,wolverin,elizabet,arizona,saints,valentin,georgia,asdfg,test123,accord,matt,baxter,denver,mitchell,christ,password123,yfnfif,slut,smith,stinky,zachary,roland,naughty,ncc1701d,spiderma,chopper,brenda,hello123,extreme,virginia,water,skyline,poop,zombie,pearljam,froggy,pirate,fylhtq,vision,123qweasd,awesome,alyssa,dreamer,predator,bullet,empire,wolf,charlie1,kirill,123123a,people,penis,elvis,panthers,skipper,nemesis,peekaboo,rasdzv3,simon,alison,rolltide,american,cardinal,arnold,chevelle,daddy,psycho,happy1,danger,mookie,wanker,manutd,9379992,tommy,hobbes,vegeta,goblue,852456,burton,fyfcnfcbz,picard,159951,bobby,windows,loverboy,lovelove,vfrcbv,victory,123654789,bambam,turkey,serega,tweety,hiphop,galina,changeme,rooster,polina,berlin,suckme,taurus,electric,ronald,avatar,134679,mine,raptor,alpha1,maksim,spring,brazil,eric,bigcock,newport,hard,kenneth,hendrix,madmax,england,a1b2c3,alpha,sublime,britney,france,darkside,bigman,hercules,lawrence,wolfpack,classic,letmein1,lincoln,ronaldo,741852963,spiderman,1q2w3e,blizzard,cheyenne,123456789q,wombat,bubba1,tiger1,cjkysirj,raymond,brother,kristen,pandora,devils,zxc123,simone,holiday,wildcat,horse,kramer,12312,147852369,buddy1,sterling,caesar,alabama,carrie,bondage,basketball,sports,pussycat,pickle,catch22,leather,shaggy,a1b2c3d4,chronic,flowers,qaz123,qqq111,robbie,admin,gracie,amber,freepass,airplane,perfect,kodiak,billybob,katana,sunset,crazy,good,stingray,maria,anna,snowman,phpbb,angel1,chocolat,zeppelin,garcia,detroit,wolves,pontiac,candy,firebird,vagina,gundam,panzer,outlaw,time,pretty,fisher,connie,honey,business,trevor,redhead,hardon,greenday,tarheels,01011980,nastya,hellfire,cobra,engineer,dragon1,savage,service,serenity,sasha,michele,dude,lickme,fireball,1029384756,white,remember,darkstar,miranda,flash,mustang1,01011,124578,harvey,oscar,strike,freddie,pavilion,beauty,bobafett,01012000,adam,dbrnjhbz,jeff,bigmac,chris1,duke,clinton,bowling,jenny,natali,future,harrison,jones,wallace,welcome1,swimming,apache,rulez,pyramid,dodgers,girl,whynot,fuckit,defender,teens,morris,trooper,135790,cancer,precious,packard,lucifer,popeye,weasel,142536,raven,icecream,stewart,tanner,swordfish,blonde,sandy,presario,rockstar,viktor,manager,cheryl,norton,james1,control,wutang,airforce,julian,atlanta,pimp,spike,thailand,looking,casino,741852,21122112,paris,mouse,lennon,456123,bluebird,theone,hawkeye,hacker,lisa,dustin,elaine,nfnmzyf,sailor,catfish,goldfish,maxima,tattoo,barbie,light,design,pervert,machine,herman,wrangler,rocks,trucks,nipples,roscoe,tornado,jerry,lights,bubble,cadillac,666999,madman,orlando,pegasus,target,longhorn,laura,philip,browns,eatme,stefan,cannon,dilbert,baller,microsoft,winnie,christia,katie,qazwsx123,shooter,xfiles,qazqaz,lesbian,street,seattle,corona,amateur,cthutq,prelude,246810,beach,malibu,freaky,assassin,integra,atlantis,123qweasdzxc,pussies,dragons,iloveu,monkey1,unicorn,lonewolf,regina,753951,stealth,kristin,tony,peewee,openup,bobcat,stacey,software,newton,leonardo,student,srinivas,angelina,young,enjoy,valentina,trigger,zaqwsx,lolita,athena,shotgun,coyote,bruins,veronika,dollar,country,rocky1,joker,babydoll,lestat,wordpass,hottie,smiley,potter,random,sweety,butterfly,woody,chipper,snake,samurai,video,gizmo,maddie,devildog,valerie,mistress,flipper,freedom1,express,powers,soso123aljg,cessna,teacher,goldie,moose,polaris,piglet,cookies,elena,montreal,hjvfirf,ladies,wolfgang,fatboy,scully,father,single,wicked,daisy,fetish,foobar,castle,tickle,bunny,pepsi,balls,transam,dfvgbh,31415926,oicu812,impala,sunday,booty,hotstuff,ronnie,jasmin,ryan,gambit,toshiba,basketba,lancer,birthday,texas,stephani,jessica1,hooker,knicks,314159,roberto,stinger,testtest,fuckyou2,kathleen,savannah,shamrock,benson,squirt,deftones,trucker,nick,redneck,goldberg,alfred,blaster,siemens,shelly,renegade,manson,subaru,ibanez,blondie,hamilton,casey,swinger,reaper,cristina,minnie,mylove,harry,galaxy,lindsay,dudley,farmer,gloria,special,blahblah,enterpri,1234abcd,travel,babylon5,bigone,sweetpea,sugar,smoke,skeeter,fucked,indiana,great,ficken,trfnthbyf,master1,freeman,curtis,smitty,marino,joanne,bigfoot,escort,babes,check,larisa,trumpet,tristan,spartan,babylon,asdfghj,sister,valera,stormy,paladin,andreas,cavalier,marathon,hamlet,aardvark,butterfl,bigboobs,mister,manchester,yankees1,rusty,napoleon,seven,indigo,hornet,skater,jerome,pierre,wonder,toronto,rose,indians,karate,buckeyes,01011990,julie,hesoyam,fredfred,charger,highland,sweetie,holland,1qaz2wsx3edc,chiefs,diamonds,buckeye,aurora,hotsex,campbell,griffin,brandi,redman,passwor,chandler,drpepper,monika,maiden,elizabeth,leonard,bernie,brown,pornstar,garden,storm,autumn,12345678910,linda,thuglife,millie,jungle,pencil,tomtom,insane,pizza,timber,jesus1,sherlock,mariah,audrey,david1,1a2b3c,hamster,aragorn,pioneer,techno,catdog,lollol,triumph,sidney,141627,321654,fktrctq,none,sophia,morpheus,island,wetpussy,hobbit,blabla,erotic,shadow1,aaron,pascal,sampson,consumer,justme,marion,stones,chrissy,tyler,nadine,marie,goforit,burger,pitbull,kelsey,adgjmptw,spartak,german,karen,kissme,hunting,kaiser,martha,colors,artist,harold,bass,italia,sammie,barcelona,mario,nicolas,virgin,pebbles,sundance,isabella,overlord,emerald,callie,doggy,irina,racecar,isabelle,germany,1478963,goddess,change,wesley,nipple,basket,joejoe,holly,poison,zipper,alpine,shirley,element,huskers,marcel,eddie,danny,christy,pussys,sakura,chichi,inside,ultimate,dirty,nicola,ncc1701e,blackie,q12345,omega,watson,rommel,matthew1,geronimo,nikki,caserta,trojan,123qwe123,philips,sergio,nugget,sammy1,tarzan,bassman,warren,trixie,chicks,aleksandr,cream,webster,help,sherry,manuel,portugal,dodger,anakin,bobbob,bomber,michel,madness,superfly,q1w2e3r4t5y6,loser,123asd,florence,yvonne,fatcat,global,ybrbnf,energy,desire,wrinkle1,soldier,bianca,sexual,warlock,martina,babe,951753,11235813,51505150,andrei,larry,seminole,peace,alejandr,westham,concrete,access14,harris,margaret,hector,christop,naked,ladybug,letmein2,network,bernard,weed,tintin,qazxswedc,trombone,chuck,pleasure,rhbcnbyf,home,history,bluesky,sherman,logan,january,onelove,cotton,christian,cdtnkfyf,sunny,archie,holden,whore,brianna,vfvjxrf,titans,stallion,lindsey,singer,truck,smile,party,missy,hansolo,angelo,joanna,natalia,beagle,phillip,panama,smiles,blue22,juice,qawsed,inferno,moon,mongoose,connect,kingkong,snatch,flatron,sex4me,bluemoon,turbo,rocker,personal,emily,blessed,snakes,dominic,joey,forget,finger,beetle,jamaica,alberto,a1234567,mulder,fuckyou1,jamie,susan,immortal,head,passat,plastic,123454321,dietcoke,spunky,suck,long,anthony1,whiskey,monitor,giovanni,cactus,ripper,spyder,markus,planet,magic1,teen,patton,exigen,sticky,waters,sluts,nolimit,daniela,hollywoo,abigail,apple1,morrison,katrina,trunks,1234321,andy,assass,always,diana,deedee,14789632,clifford,april,speed,japan,mission,pickles,million,sailing,freak,holmes,bonehead,fernando,ghbdtnbr,112358,911911,charlott,delta,yomama,darren,rubber,newman,molly1,1123581321,faster,cumming,bertha,memphis,sylvia,open,ilovesex,maurice,william1,hongkong,olga,jumper,unreal,geheim,rodney,nylons,sebastia,pentium,legion,shalom,kennedy,555666,brooks,movie,dodge,dream,graham,sprite,curious,pacific,loulou,funtime,philly,ferret,niners,orion,werewolf,milton,cantona,kingdom,stars,africa,office,boeing,gilbert,abgrtyu,pirates,super123,sheila,french,sweets,cooldude,palmer,eternity,lollipop,tottenha,green1,stocking,monique,anything,foster,irish,jackoff,7895123,biscuit,drizzt,camera,columbia,fossil,moomoo,makaveli,tracey,colt45,robinson,isabel,martini,salmon,shasta,jersey,verbatim,maniac,snapper,satan666,nasty,solomon,patriot,jacob,standard,shaved,blackcat,asdzxc,punkrock,raistlin,infantry,qwerty12345,4128,dillon,gerald,twister,ricardo,waterloo,cjkywt,clayton,crimson,serena,01012010,oxford,maxmax,denis,flight,condor,seinfeld,silvia,biggie,maxine,musicman,ravens,teddy,colleen,bruce,wolfman,sharks,megadeth,cosmos,velvet,butt,keeper,foxtrot,garrett,black1,damien,anton,sesame,skywalke,gn56gn56,banshee,cats,squirrel,wolverine,dogs,sunrise,rick,ghost,western,grendel,sucks,roxanne,privet,legolas,frog,felix,marlin,stone,herbert,lvbnhbq,qazwsxed,carrot,blades,frosty,stardust,121314,helena,brownie,groovy,penny,butler,coolio,twilight,daytona,licker,peanuts,intrepid,pikachu,trains,mollie,vanhalen,jericho,hershey,strider,lobster,punisher,grace,bird,zaq123,bottom,ninja,1234567a,murray,kansas,shogun,goblin,search,neptune,ball,showtime,darwin,amadeus,suzanne,fuckfuck,seven7,jason1,111222333,oldman,bruno,showme,henry,getsome,muscle,obiwan,support,rfrfirf,skittles,ekaterina,gold,whitney,shark,maestro,anal,danni,tanker,english,tarheel,fighter,thanks,blue123,hannibal,capital,newlife,anubis,gothic,chaos,blues,cindy,sabine,thunder1,roman,preston,princes,brendan,slick,123456z,evelyn,python,test1,richie,tequila,boss,cody,devil,chelsea1,clover,delete,mirage,blood,surfing,1q2w3e4r5t6y,bentley,portland,potato,baggins,review,porter,chubby,panasonic,sandiego,sooners,buffy,buck,tina,derrick,penelope,blackdog,harmony,fusion,dima,mature,malcolm,allen,mary,buttons,1a2b3c4d,californ,safety,playtime,dagger,moscow,swallow,warriors,byteme,stimpy,gangster,lucas,christine,turner,iverson,lester,chargers,liquid,asdf123,mushroom,cracker,dingdong,lucky7,misty,nymets,456852,robin,bigguy,mobile,tazman,greg,nimrod,newpass,miami,crusader,bugger,stranger,dkflbvbh,anastasia,marco,volume,masters,monroe,miguel,doodle,collins,powder,archer,gotcha,battle,dublin,slapshot,guardian,147896325,janice,charly,septembe,photos,knights,woody1,short,angelica,nookie,milano,pepsi1,scarlett,stuart,damian,grizzly,123098,123321123,camille,scruffy,brasil,latino,kittycat,poopie,munchkin,lorenzo,rammstein,1701,1passwor,bananas,barcelon,santiago,thegame,robert1,hell,world,gerard,picasso,viper1,walnut,kolobok,blackman,wisdom,trance,starcraft,parrot,quality,blade,pink,auburn,goodluck,eatshit,dorothy,dusty,engine,coltrane,gorilla,wheels,katerina,tamara,postal,fuck_inside,luther,ranger1,pass123,carlo,cassidy,discover,oakland,andrew1,spanking,osiris,dumbass,shaney14,192837465,lonestar,ping,bridge,bingo,bender,annie,stonecol,dookie,meridian,sally,megaman,heather1,25802580,racerx,rjntyjr,sirius,firefly,richard1,julia,alexandra,madrid,terry,griffey,women,phoebe,zaq1xsw2,weezer,beautiful,violet,ledzep,lowrider,randy,gangsta,ghjcnj,paradox,tacobell,123698745,loving,catalina,vertigo,halflife,carson,sergei,shiloh,johnjohn,sobaka,buffett,aliens,sadie,chucky,bonjour,kangaroo,jazz,josh,thompson,sinner,socrates,soccer1,keyboard,0.0.000,stevie,0007,jeep,trebor,finish,dark,luke,sprint,shazam,lady,national,celica,sarah1,scarlet,formula1,hoover,sommer,frances,hotboy,cynthia,qwerasdf,12369874,penguins,bond,formula,rebels,fuckface,elwood,melvin,honda1,vacation,kiss,ragnarok,bollox,lexmark,asshole1,mailcreated5240,lorraine,258456,claude,rockon,duck,dodgeram,tacoma,romeo,wookie,prodigy,tempest,vfhecz,flames,sebastian,colombia,bang,kitkat,oblivion,mystery,sithlord,server,molson,mustangs,incubus,smoker,123qaz,window,scoobydo,1122,rescue,bigballs,zxcv1234,carpet,titleist,richmond,director,lawyer,megan,juan,magnolia,celeste,melinda,lucy,wright,jimbob,golfing,kenny,roger,bobbie,xanadu,tardis,blueeyes,hearts,dixie,pussy69,pooper,shaman,mersedes,102938,12312312,springer,imagine,janine,patrick1,kenwood,123zxc,dogg,garbage,martinez,topper,cowboys1,roberts,lizzie,ashton,elliott,oracle,sheena,chloe,nuttertools,mallard,123987,1122334455,analsex,shemale,gateway1,mikey,asterix,faith,monkeys,imperial,jimbo,cooler,grateful,gillian,peterpan,kingston,yourmom,sleepy,gremlin,printer,hudson,pa55word,stud,freckles,birdman,frank1,aussie,esther,defiant,margarita,445566,deadhead,polo,anime,tatyana,jackal,frogger,bridget,wayne,research,tobias,mariners,rootbeer,blondes,donnie,katrin,weather,aspirine,frederic,parola,photo,children,account,israel,stephanie,shaolin,noodles,celine,willy,willis,forgot,scooter1,hallo,mandy,thomas1,11112222,rogers,palace,santos,ohyeah,magnus,laurie,creampie,amazon,kisses,queen,ludwig,fatass,plymouth,justdoit,assfuck,nellie,1234567q,12121,987456,6751520,putter,broken,nopass,letsgo,bryan,bones,harley1,tatiana,camel,champs,lightnin,massive,camelot,bosco,deanna,gizmodo,spidey,caliente,aezakmi,456654,goodtime,mypass,roller,catherin,active,pooh,payton,lonely,redalert,brucelee,smokin,porkchop,astros,aquarius,raiders1,thankyou,kevin1,atomic,fletcher,shopping,a1s2d3f4,mason,rusty1,marian,vanilla,hunter1,unknown,sapphire,temple,qwert123,marvel,beckham,qazwsxedcrfv,kaktus,753159,myself,sooner,blacky,elvis1,hastings,buster1,power1,blackjac,aggies,scream,picture,123321q,abc12,judith,iforgot,kasper,cxfcnmt,bangkok,01012001,shitty,spectrum,eduard,vader,jammer,painter,primus,veritas,ernest,kristi,chevrole,amber1,amsterdam,slappy,valley,1221,horny1,pete,hitler,clancy,spankme,granny,avenger,satan,sasha1,usa123,diamond1,rosemary,husker,candyman,beatrice,scrappy,john316,simba,falcons,dylan,front242,harder,atlantic,labrador,123456qwerty,smudge,syracuse,southern,melody,timmy,elijah,center,darling,throat,stuff,fatman,krishna,sanchez,pancho,gator,pacman,commando,delta1,vulcan,bush,clitoris,lemons,alice,8j4ye3uz,boner,keith,odessa,barkley,monopoly,method,kelley,sara,punkin,pineappl,celtics,lesbians,223344,space,gangbang,bennett,area51,lick,flyboy,hamburg,aaa111,asian,carol,spartans,tricky,romashka,123456aa,snuggles,phoenix1,boat,infiniti,anders,billie,life,homer1,drago,blake,hermes,jesse,goose,jeremiah,vivian,annette,homerun,dead,forrest,carolyn,1234567890q,topcat,hayden,cosworth,vectra,grover,goodbye,charlotte,cuddles,bossman,horndog,doberman,gary,telefon,dawg,qawsedrf,ivanov,durango,peugeot,killer1,franco,kyle,plumber,bell,rbhbkk,pauline,exigent,brandon1,laguna,emmanuel,webmaster,bowler,leopard,strong,theking,redbull,alan,pics,beast,viktoria,porsche9,breeze,topdog,starbuck,omega1,dance,dalton,fuckers,oscar1,hungry,beefcake,reality,gjkbyf,speaker,shelley,godsmack,clarence,writer,loveit,kingpin,nokia,valhalla,night,starfish,anarchy,herbie,blacks,content,906090,sailboat,desert,fitness,brando,bohica,achilles,tractor,jordan1,ncc1701a,drake,bull,hidden,kicker,arsenal1,labtec,napass,bart,pa55w0rd,amelia,tuesday,frontier,swingers,jimmy1,caitlin,muppet,terror,legacy,farside,terminator,bella,matilda,kentucky,jackson1,doughboy,ramona,butthole,phillies,jrcfyf,789654,camels,dannyboy,oakley,daniel1,nebraska,latin,double,qwertyuio,sabbath,chang,pinkfloy,homers,striker,looker,fallen,maryland,luckydog,azamat,september,iguana,oklahoma,moloko,qwerty123456,agent007,vfrcbvrf,javier,vette,daniil,command,rhonda,studio,pistol,miles,skiing,franky,stoner,conrad,select,tanya,houses,boris,puppy,elliot,charmed,vladik,nathalie,whocares,666777,maynard,vkontakte,ihateyou,puppies,zidane,eileen,dilligaf,crash,mandingo,moneys,tyrone,funny,nevada,kotenok,mystic,california,123457,budman,church,carlton,rafael,technics,bone,stick,golfball,rookie,panda,laptop,today,01011991,jennie,triton,river,trojans,bunghole,zvezda,132435,15426378,hurrican,central,stripper,dale,filter,jethro,snow,gustav,ivan,escape,gizmo1,hawk,igor,aberdeen,shane,lespaul,rfnthbyf,enterprise,butch,dthjybrf,963852,1366613,cutter,splash,handsome,oilers,randall,cash,nofear,cupcake,excalibu,batman1,momoney,gbpltw,bigger,belinda,svetik,possum,metal,moocow,brothers,bethany,keystone,babyboy,flamingo,super1,firefox,bogdan,ccbill,passwort,soleil,lancelot,melissa1,vipers,marilyn,tdutybq,juliet,leader,madden,russian,australia,sabina,chase,coolman,babies,skinny,zaphod,raven1,kamikaze,verona,bacon,noodle,rebel,doobie,designer,deadman,attack,vortex,killme,dogman,pokemon1,gopher,somethin,danila,12332,reagan,apollo13,chevy1,cancel,torres,000007,freaks,azsxdc,sassy,donna,dracula,play,poncho,bearbear,boots,engage,steve1,deskjet,bradford,bitch1,hammers,deeznuts,warhammer,rangers1,tight,justine,ralph,fabian,lewis,casey1,summer1,blueblue,marissa,oregon,bubbas,sinatra,hilton,meatball,mailman,dawson,columbus,manchest,cthulhu,macdaddy,mighty,michaela,grandma,ready,sterlin,cartoon,summit,123456789z,sentinel,tolkien,bicycle,peter1,blow,beverly,breast,lickit,kathy,crazy1,meghan,universe,capone,jenna,julius,wendy,bryant,truelove,helen,123456k,nancy,eatpussy,hailey,kitty1,daisy1,chair,362436,bowser,kathryn,sexygirl,fernand,eleven,rockets,billyboy,military,demon,davis,jamesbon,iloveyo,texas1,traffic,saint,daddy1,redhot,microsof,sonic,miracle,microlab,gofish,pantyhos,pilot,lifetime,rugby,mayday,aikido,nina,star69,01011985,conner,cutlass,tree,thekid,gordon24,theodore,titties,sweden,function,polska,danie,gang,73501505,market,scotch,lansing,elvira,bloody,sexx,hustler,anfield,coke,smut,catman,rush,bonita,tracy,sony,fast,1234qwe,1225,passwor1,irish1,cheers,tinman,airbus,peters,china,azsxdcfv,santana,hayley,station,gabrie,scottie,orioles,jenny1,01011970,charlton,saun,fortuna,dfkthbz,rustam,warlord,retard,fatima,ultima,kong,bigmoney,4runner,rotten,betty,grumpy,oranges,kelly1,superstar,fordf150,asdfjkl,boxing,xtreme,denali,selena,zxcasd,huskies,128500,terminal,wilbur,kristy,wildfire,vladislav,bikini,thor,hollywood,mayhem,sultan,gretchen,figaro,sixers,sparta,saratoga,321654987,running,01011981,cloud9,music1,models,mojo,greenbay,cancun,marlene,trinidad,tammy,chewie,hope,number1,billy1,feet,crunch,bigbird,mellon,chicken1,bigtime,fashion,piccolo,fabie,789123,rjirfrgbde,rovers,meatloaf,hyperion,sandro,rightnow,jarhead,armani,treasure,miriam,hansen,natural,01011986,lisalisa,sport,bizkit,chester1,jasmine1,maradona,1066,sayang,charli,rfhbyf,utopia,anaconda,japanese,camilla,coconut,govols,emerson,memory,catherine,jedi,cosmo,cruise,giant,ricky,dragoon,woofwoof,giorgi,packer,pass1234,poontang,emily1,illini,christopher,davids,zaqxsw,sandy1,pedro,sticks,revenge,exodus,reebok,chanel,albatros,cabbage,goku,wally,beaner,quincy,greens,tomato,toby,chief,richards,turkey50,adriana,kenworth,happy123,deborah,down,cooter,dinosaur,holyshit,eeyore,movies,dana,lionking,creamy,adult,poodle,tsunami,happyday,321123,knopka,tommy1,bogart,corrado,volley,tyler1,chickens,orgasm,whisper,flying,first,chocolate,walleye,hopper,katie1,sean,twisted,chaser,pepper1,memorex,ericsson,1001,100000,jensen,positive,crazybab,science,frisco,dong,jose,zorro,romance,sherwood,shania,rereirf,sausage,milana,tasha,vfvekz,profit,zenith,fugazi,junebug,clemson,polniypizdec0211,tootsie,fktrcfylhf,comics,zxcasdqwe,vfczyz,150781,werner,aspire,hardrock,condom,cocks,rachael,gringo,anhyeuem,madeline,rich,becky,canon,february,alien,abc12345,harper,justin1,stocks,marcos,samsung1,clapton,roberta,coleman,applepie,skywalker,fubar,theresa,koshka,tundra,vitalik,arjay,gmoney,bigsexy,ingrid,pillow,gandalf1,lucky13,fingers,samiam,dean,davidson,skorpion,candle,nobody,hellyeah,better,australi,drew,rockhard,boob,easy,bears,sparkle,johanna,everest,rfrnec,hedgehog,13243546,wolfie,surf,bobby1,fart,yosemite,marisa,voyeur,baddog,brad,jazzman,dicks,tool,temp,cheetah,1qa2ws3ed,slacker,steele,mikemike,wood,pooppoop,america1,barsik,valeria,deniska,br0d3r,fright,karolina,kirsten,vfksirf,kume,kenshin,bootie,cyclone,starship,monty,balloon,maxell,dildo,rupert,0.0.0.000,milena,bonsai,lion,salvador,greatone,vernon,50cent,slider,lillian,admiral,cecilia,stolen,albion,boys,midget,fuckin,freeporn,nikola,amanda1,hithere,football1,222333,78945612,damnit,dinamo,francois,cheng,calico,duchess,scratch,powell,packers1,stefano,fortune,nyjets,artemis,robotech,roadkill,backdoor,rastaman,fiesta,felicia,alliance,fletch,jerkoff,killbill,goliath,cinnamon,rambler,malaka,tekken,sojdlg123aljg,321456,18436572,963852741,carrera,bangbang,jeanette,marc,fritz,ramses,operator,shado,duster,spank,wibble,alibaba,mechanic,keywest,sword,amsterda,hal9000,bristol,pingpong,rasputin,marianne,hooter,tara,rctybz,sanders,faggot,krista,presto,majestic,332211,nguyen,fowler,passwords,buttman,snake1,spurs,carl,pompey,trident,viagra,qwert1,brian1,kipper,kingfish,zxcvbnm1,gotohell,angie,guest,garage,heidi,mattie,slutty,isaiah,steeler,wrestlin,pooter,divine,emma,route66,clipper,charley,macross,railroad,lineage2,oleg,420247,seamus,swimmer,ne1469,jokers,thursday,chico,a123456789,solnce,erik,kimber,guiness,pussie,mathew,nature,matador,sparks,typhoon,hank,secret1,retired,subway,slave,ivanova,ghetto,florian,love69,vermont,tang,ktyjxrf,lolipop,moose1,spears,yzerman,peterson,magick,phillips,cinder,nwo4life,flash1,shearer,pupsik,charles1,dfkthf,allsop,162534,456321,000001,city,qwer123,grapes,123123q,pippen,belle,chad,venus,kcj9wx5n,sex123,dammit,barry,caveman,critter,underdog,r2d2c3po,skydive,renault,onlyme,george1,murder,snoopdog,jayhawk,hotshot,caramel,broadway,kinky,theboss,fuckher,train,trout,ding,umbrella,feather,credit,splinter,depeche,seeker,fuckthis,respect,crysis,direct,animals,chemical,cyclops,1000,122333,135246,789987,123789456,chivas,jamesbond,blackhaw,passpass,sinclair,team,megapass,beanie,translator,helloo,magicman,cunts,phil,fishes,supersta,giuseppe,caligula,kill,shannon1,juggalo,frozen,quattro,usmc,meredith,java,wassup,rosie,bullseye,saturday,pornos,cohiba,ashley1,floppy,alucard,deacon,heart,tabitha,kristine,nicole1,tunafish,great1,gfhjkm123,dallas1,xbox360,dkflbckfd,kickass,p0015123,10203,200000,7753191,12131415,vietnam,kendall,pearl,safari,gonzo,crawford,bob123,klingon,jacob1,rain,looser,goalie,damage,maureen,west,dawn,tazmania,cigars,facial,cobra1,deepthroat,malina,silence,samara,dfktynbyf,fang,cruiser,vector,tommyboy,jean,banker,horizon,chainsaw,button,bigbear,forfun,abraham,123456r,astrid,carole,andres,sharky,enter1,vh5150,royals,christina,small,misfit,work,yousuck,louis,fallout,marino13,scania,maxx,nudist,getmoney,budweise,qazwsx12,song,believe,brighton,absolut,kungfu,kostya,monaco,death1,gunners,vfhufhbnf,mamapapa,1230,minime,blueboy,penthous,chrisbln,steph,whitey,europa,jade,bertie,daphne,groucho,champ,benny,grant,mirror,village,trader,stroke,walrus,susanne,number,sabres,nipper,woman,floyd,snowboar,undertaker,flounder,moneyman,patty,bottle,love123,kahuna,canadian,wolf359,viewsonic,coolguy,rules,downtown,wagner,strange,fabric,trisha,italian,ybrjkfq,cypress,01011989,qwerty1234,eastside,sneakers,passme,topher,taylor1,golfgolf,barber,sinbad,frodo,panasoni,craig,alfa,mybaby,skidoo,chicago1,massimo,back,jillian,cat123,q123456,sparrow,senior,dalejr,thecat,fucku2,snapple,mondeo,leanne,emmitt,thanatos,z1x2c3,ghjcnjnfr,maximum,smegma,thesims,whitesox,chong,778899,2128506,bonkers,poseidon,musica,doug,johannes,gargoyle,0420,olivier,hambone,bluedog,intruder,sunnyday,cyber,compute,kids,smelly,spawn,wapbbs,answer,studly,poppy,paper,ferrari1,simona,solution,madison1,newcastl,adonis,goodman,sexxxx,europe,goldstar,again,quantum,buckshot,static,turbo1,dollars,01011988,titanium,holly1,erica,danzig,sadie1,jabroni,library,journey,beastie,chrono,dang,1024,555777,edwards,jane,test1234,gunnar,federico,korn,custom,lance,1qwerty,assholes,daewoo,jess,briana,watcher,superman1,albina,sunflowe,dorian,babyblue,premier,staples,nike,stereo,westwood,apple123,mouse1,usnavy,boomboom,fresh,florida1,sasuke,dharma,pisces,motherlode,multiplelo,hang,bike,sapper,scanner,marius,zeus,racer,callaway,user,bayern,rover,lamont,rivers,snoop,over,walmart,micheal,starfire,theend,steel,tigger1,erotica,aaliyah,doogie,renee,paintbal,winston1,sexy69,paint,123qwerty,tyson,joshua1,newbie,knickers,lokomotiv,112211,192837,hotred,ufkbyf,panther1,dodge1,laurel,shawn,12345z,wasser,scott1,jessic,thirteen,rjycnfynby,avalanch,outkast,truman,magpie,scout,philippe,poetry,martin1,havefun,michell,cubbies,losers,hotpussy,deejay,fghtkm,droopy,blossom,333666,777888,allmine,01011984,zerocool,janet,tomorrow,godfather,abby,greece,second,reading,greene,sascha,busted,ming,bimmer,original,cbr600,ocean,anne,builder,demons,nitram,pudding,bounce,donuts,01011987,fucku,newyork1,jeanne,idontknow,audia4,aleksey,vfvfgfgf,leonid,smokes,mylife,beerbeer,sims,redfish,harry1,working,rodman,beaches,1x2zkg8w,hairy,contact,start,luis,bogey,prissy,123456s,gegcbr,tights,insert,carla,dante,beretta,francesc,jewels,searay,padres,celeron,mittens,quartz,ziggy,diehard,micron,syncmaster,cornell,christie,stunner,hockey1,simon1,rtyuehe,hoosier,zxasqw12,peyton,cheese1,orange1,paintball,bing,4121,monalisa,queens,terrapin,a1s2d3,spongebob,buzz,attitude,backup,whisky,clevelan,ling,cedric,marin,barefoot,artur,chuckles,barrett,meathead,bigass,ou8122,titty,spike1,gretzky,02071986,kosmos,cfitymrf,biggles,cambiami,sexy1,12345678q,03082006,thongs,blessing,what,aleksandra,ginger1,twinkle,gladiator,gollum,southpark,rabota,mazafaka,336699,goodboy,carbon,scuba,tango,stoney,brent,weaver,will,volvo,footbal,pianoman,gaston,casanova,traveler,clark,stumpy,hawkeyes,clarinet,looney,mommy,maggot,felipe,bucket,sex,eduardo,freeze,sound,sexyman,johnboy,dian,snapon,deeznutz,warthog,vegas,rooney,honey1,futbol,filthy,steam,carina,1012,90210,10203040,123aaa,mustard,boricua,meowmeow,maste,mellow,love1,abc1234,sunshin,bengals,combat,goofy,whatsup,sauron,krystal,alina,lover1,monster1,prophet,joker1,loco,lovesex,twins,triangle,booker,reefer,nickel,venice,xander,strip,valencia,01011910,lord,rhiannon,crystal1,smeghead,valeri,andromeda,12qwas,12345679,diver,cerberus,james007,sputnik,groove,lambert,usarmy,more,tiberius,zigzag,sting,abcd123,bean,welder,radio,petra,focus,gabriell,candice,salamander,eternal,silver1,bunny1,motley,resident,hayabusa,marcia,rambo,together,rainman,poochie,purdue,redwood,ripple,buzzard,wang,redwing,boobie,juliette,monke,hokies,phish,1q2w3e4r5,crjhgbjy,jagger,nokia6300,rockford,shou,tuan,goldwing,1007,10101,brewster,bermuda,zero,thegreat,proxy,confused,badgirl,lola,bacardi,sweet1,derek,whiskers,spaceman,starman,rebecca1,trial,karma,claudio,12qw34er,allstar,carolin,gesperrt,lynn,swords,rasta,wildman,nikolay,kang,slinky,wrestling,jamie1,mohammed,pinhead,hacked,logan1,sersolution,penny1,overkill,rhfcjnrf,mishka,montgom240,123451,banane,bulldog1,person,public,fester,something,12345qwe,lions,helmet,buffy1,ripken,frisky,changed,games,higgins,trapper,piper,windsor,supreme,ib6ub9,kaylee,athens,norway,runescape,oasis,jill,hurley,lightning,dbrnjh,shun,chun,11223,235689,784512,14725836,19411945,edward1,darius,chip,hill,midway,kool,hoosiers,vinnie,recovery,cicero,napster,lionel,amazing,tracker,laser,01011992,adrienne,roadking,menace,secure,stoned,br549,thedog,sacred,squash,nice,smoking,pony,feng,illusion,01091989,woohoo,rachel1,medicine,antoine,leavemealone,bagira,megatron,787898,5551212,orchid,reader,comet,clown,zippy,company,doghouse,stacy,wild,army,maxim,12345678a,paula,bravo,buddah,jaybird,chuckie,look,maria1,morning,dino,peach,todd,hanna,chuang,mortgage,idiot,heineken,saleen,rulezzz,fishing1,massage,sonics,moonlight,butts,motherfucker,02071982,pobeda,benfica,poker,kashmir,realmadrid,balloons,optimus,chunky,gsxr750,tinkerbell,chou,shai,135792468,common,starter,brewer,babyface,pants,gregor,dogfood,hardcock,deluxe,bigmike,01011975,blackbir,bookworm,hampton,jeffery,salomon,godfathe,meister,angus,intel,seahawks,eagles1,talisman,blackjack,eraser,collin,pissing,hawaiian,zhong,mian,1005,7779311,michae,berger,alphabet,tricia,beautifu,misha,maryann,123456654321,adams,jenn,riley,xxx123,really,sally1,mortimer,tongue,gator1,century,sancho,remote,darkman,buddie,roadrunn,pizzas,lexus,password2,medusa,health,stalin,toledo,cubswin,dutch,lilly,beowulf,charlene,willia,christmas,pool,handyman,f**k,pacers,unique,eleanor,digital1,missy1,clouds,tiffany1,cgfhnfr,breasts,chinook,just4me,nuts,01011993,wedding,calgary,dutchess,gfhjkm1,heckfy,max123,ludmila,gong,12301230,nova,shell,lori,site,because,cheater,famous,delphi,cathy,wareagle,martine,gromit,sponge,ashlee,valkyrie,yoda,glory,teddy1,passwd,idontkno,smiths,mohamed,teddybea,killers,boxster,five,dragonball,beast1,babybaby,mermaid,qazwsx1,satana,dolphin1,bhbirf,foryou,misty1,nasty1,qazzaq,hong,puddin,chao,shang,zhei,quan,inuyasha,1213,stanford,peacock,assword,misery,desiree,barnes,sullivan,beamer,diggler,medical,1pussy,wishbone,circle,property,ripley,thedude,cloud,fisting,austin1,alexia,beemer,jayden,gameover,sparky1,redline,venera,linda1,salsero,fuckoff1,adam12,lust,fytxrf,sergi,kittykat,spanish,sinister,india,vedder,gonavy,manowar,02021987,novell,lang,colonel,rancid,diao,147369,dragon12,chrome,friendly,aa123456,destroy,titten,electra,polly,geoffrey,newpass6,bella1,eureka,onetime,phone,katherine,otto,lakota,claymore,hotbox,asia,banner,madina,02011985,manuela,bitchass,ruby,sporting,bartman,matthews,checkers,playing,01011977,02041986,carmel,gabriela,dfcbkbq,nimbus,wrestle,bulls,02081988,jktymrf,alexalex,preacher,gamecube,02051986,mustafa,svoboda,123321a,circus,armagedon,alenka,playstation,z1x2c3v4,leng,qing,cong,zheng,02091987,1369,12011987,magical,park,claudi,marine1,rhtdtlrj,pablo,thumbs,camper,doitnow,goaway,subzero,charity,hootie,face,pissoff,jammin,beth,blackout,crow,darrell,cocaine,bcfields,skylar,rolling,loaded,milkman,lotus,davide,bigbutt,electron,johann,devil666,12345t,cheeks,skate,silverad,lighter,02021988,hassan,02031986,pothead,oliver1,gobucks,123456qw,squall,thunderb,02101985,courage,pippin,ghostrider,antoni,kaitlyn,neng,peng,miao,teng,xuan,xiao,1017,1020,1492,654123,794613,reynolds,cannabis,xerxes,ipswich,ninjas,mango,farley,lucille,pinky,jimmie,nude,dieter,annika,mitch,southpar,marika,jackson5,dickie,jetski,finance,tdutybz,dianne,forward,jenkins,bright,absolute,morgan1,bilbo,musashi,ferris,iamgod,lipstick,1234567890a,laurence,02061985,02011987,mandarin,baseball1,quest,tottenham,adults,yfnfkmz,kleopatra,tulips,nong,piao,ruan,zhuang,chai,dirtbike,111333,369963,1236987,1357924680,sheba,pickup,dwayne,othello,mari,katherin,forum,sonny,12qw12,rider,a11111,warner,northern,cinema,cameltoe,petrov,bluefish,fuzzy,pheonix,iscool,secrets,02021986,elite,toon,modena,bert,marsha,slippery,kissing,caravan,divorce,tank,beatle,jump,akira,sanfran,01011983,1qaz2ws,cheech,000111,badman,02091986,samtron,paloma,yang,dolores,sveta,qweasd123,shadows,mollydog,annabell,starcraf,ghblehjr,vasilisa,jameson,chuai,deng,qiao,zhou,zhun,jiang,luan,sang,ying,scorpio1,beans,slim,illinois,warning,ebony,meat,jockey,deadpool,hillary,bearcat,caprice,farscape,evan,bigtit,lassie,zappa,sander,nicol,sunflower,hopeless,sheriff,carpedie,bank,love12,asdfzxcv,sherri,march,bingo1,slave1,barton,shepherd,02021984,gatorade,keegan,high,cameron1,guitar1,toolman,barker,spectre,pussey,nuggets,borussia,mantis,01011982,banzai,ariana,flexible,chloe1,mullet,graphics,fyutkbyf,123qq123,mancity,templar,stories,yfcntymrf,02081984,02081987,fergie,records,thedoors,7ugd5hip2j,gawker,pussyman,skyler,elizaveta,colton,huai,seng,xiang,zhuai,guai,02061986,solo,moritz,monte,lemon,strength,talon,rhino,cowboy1,susana,sonoma,three,mack,spinner,allan,keller,webmaste,aaron1,grease,augustus,raquel,alejandro,chimera,rufus,stretch,ticket,bacchus,kendra,twenty,corsair,kinder,argentina,corleone,zhai,spice,mickey1,vampires,domain,iomega,heater,02031984,02021985,hover,alex123,ltybcrf,artemka,xxxpass,qiong,ting,hippie,jing,reng,tian,tong,2580,123455,21031988,987456321,poland,deutsch,babylove,becker,speedo,brett,oceans,slapper,letter,harvard,bonjovi,mazda,virtual,cosmic,leon,snuffy,blaze,sergeant,maggie1,dragonba,spurs1,stonecold,hellos,jacques,register,buttercu,01020304,huang,01011999,millions,millwall,patience,chrysler,merlot,bullfrog,latinas,a12345678,02011986,xyz123,istanbul,phoeni,ashleigh,02081989,kotaku,universal,noelle,binladen,artem,shanghai,porsche1,castro,gabriel1,ceng,chuo,jiong,xiong,shei,meng,hans,wraith,pierce,jayhawks,kilroy,amateurs,dotcom,cattle,daemon,ntktajy,barbados,renata,thoma,balance,mikey1,chan,nomore,pdtplf,canyon,kayla,jackpot,mets,orion1,pulsar,baron,marker,chippy,nightmare,monarch,hamish,aubrey,reds,knockers,dipshit,alexey,malone,athlon,hubert,chevrolet,eddie1,vadim,everett,napoli,myname,belly,cobalt,counter,dialog,house1,augusta,smokie,cristian,coolness,cougars,screen,02041984,criminal,hardware,ramones,bobdylan,ning,capslock,02061989,rong,zaraza,ciccio,teddybear,alisha,gfhjkmgfhjkm,chui,liang,pian,niao,1123,120676,147963,gadget,shiner,laurent,fulham,missouri,carlitos,dwight,helene,halifax,dogshit,entropy,coldbeer,silent,lost,silly,netscape,boom,edgar,dog123,golfer1,county,deep,freeway,syzygy,andromed,game,media,wings,brigitte,danny1,yeahbaby,diego,yolanda,eldorado,hollow,crack,eastwood,monkey12,gunther,paranoid,anita,sexyboy,rainbow6,soulmate,gooner,drunk,persik,lesley,geneva,9293709b13,microphone,kakashka,02021983,50spanks,111111a,fgtkmcby,mclaren,spread,geng,shuo,zhui,duan,nuan,qiang,weng,shuang,159632,9562876,1234567891,bamboo,brittney,fastball,creature,cards,just4fun,matteo,fuckyo,hack,smashing,foot,washington,arlene,baggio,carlito,jones1,hopeful,astro,hondas,snooker,sophi,redbird,bigblue,annie1,dynasty,mephisto,temp123,trainer,rebel1,iceberg,shitface,fountain,specialk,estrella,some,02031987,generic,buddyboy,stevens,02041983,arcadia,02051983,manning,nikitos,piramida,02021989,violetta,bailey1,piano,spencer1,salasana,q2w3e4r5,maxxxx,zang,shutup,thing,suan,heritage,liao,1022,1223,15975,11221122,browning,homerj,tiburon,obelix,kris,chopin,02041982,insomnia,hooper,promise,cygnus,theater,romero,jelly,plasma,kissmyass,here,ninja1,submit,spider1,budapest,jayson,sexysexy,jorda,citizen,sahara,pinkfloyd,card,stroker,pavlov,playboy1,pasword,amigo,heynow,arturo,fight,ventura,sandwich,fraser,yummy,homeboy,royal,testpass,gamecock,milo,maxwell1,magician,female,wildcard,sassy1,magazine,telephon,bigfish,tripod,kuai,lazarus,cleo,licking,dundee,1234asdf,02081986,1a2s3d4f,brodie,misfits,slavik,rochelle,sleeper,seeking,pringles,butcher,patric,iverson3,nanook,02041987,02041988,vsjasnel12,darklord,loveless,bruno1,radiohea,02011988,cang,shao,sheng,guang,shuai,xing,1011,2469,12365,karin,hughes,giorgio,maxime,sphinx,reckless,triple,baldwin,taxman,orient,desmond,married,zhjckfd,mordor,hunt,romano,jiggaman,ramsey,officer,lovebug,sam123,tiger123,classics,hooligan,pluto,georg,bolton,scrabble,jezebel,major,010180,jellybea,mason1,shock,drakon,seadoo,mexican,hawaii50,pharmacy,door,lena,abnormal,patrice,concorde,alfredo,01011979,02081985,cdtnbr,qazwsxedc123,puffy,islander,02101984,chantal,jakejake,02011980,yjdsqgfhjkm,bunnies,bushido,kazantip,strawberry,verizon,maksimka,dupont,crusher,jiao,zong,zhang,pang,1211,1224,123465,655321,ghost1,premium,wg8e3wjf,corey,426hemi,goat,diane,channel,project,hole,cthtuf,arrow,meagan,tootie,bounty,blue12,02021982,porno1,kfhbcf,kirsty,howdy,ramrod,sweetnes,master12,bird33,bummer,corolla,andersen,blond,race,darryl,senator,ferguson,donovan,123456qwe,thelma,dynamite,gertrude,doomsday,rhjrjlbk,hjccbz,players,mariposa,killer12,ozzy,mazda626,excalibur,marcello,buttfuck,moore,samsun,masamune,zhao,niang,zhuo,02071984,998877,12365478,darlene,bessie,brains,north,attila,clowns,chestnut,woofer,model,1qa2ws,moses,someone,lindros,tiny,dottie,civic,july,a1a2a3,merlin1,anthrax,lilian,imation,beacon,tripper,snoopy1,vsegda,tiger2,ursula,fullmoon,spiker,sporty,force,pornporn,citadel,jacobs,michael2,volcom,dynamo,amerika,02031985,bombers,hannah1,burrito,andrea1,inspiron,forsaken,spock,mallory,lantern,nextel,goirish,snowboard,haggis,callum,violin,lollypop,insanity,placebo,creation,glacier,02061988,stepan,zander,dabears,water1,katarina,iloveme,sexxxy,moonbeam,webber,gonzalez,henry1,tiao,tigger2,4417,7007,69696,147741,258852,dogger,pecker,stiffy,senators,create,june,wingman,pumpkins,felix1,windsurf,ernie,mick,watch,green123,jarvis,zephyr,fishman,dell,reddevil,wanted,sheridan,larry1,nichole,bronze,concord,rjhjktdf,kellie,baker,zalupa,killkill,avenue,asddsa,bunker,wrench,paddle,schalke,cobain,shanna,poopy,broker,mouth,woodland,yvette,suicide,vanguard,aviation,exotic,heat,stanislav,02081982,superb,q1q2q3,fergus,mihail,vfibyf,02051982,yankees2,mobydick,icu812,sausages,tuning,francesco,ganesh,anastasiya,nevermind,presiden,faithful,kerstin,vfitymrf,varvara,happiness,1z2x3c,robotics,zuan,nang,shui,225588,369258,normal,deer,bigcat,store,02011984,karen1,tech,temppass,laura1,onetwo,postman,weird,uranus,highheel,aloha,cigar,puss,stylus,gobears,duckie,stratus,thong,tigers1,jimbo1,mandy1,pippo,conover,soprano,jingle,firewall,polopolo,dolly,pepito,piazza,radical,alone,mail,boxer,02031982,reload,evolution,julie1,grande,drummer1,tipper,fuckme1,02061980,battery,dogcat,bubba69,drive,kirby,candace,digimon,bombay,mariana,sowhat,pussy123,pumpkin1,lips,download,fandango,kamila,popper,dusty1,gore,beng,rang,bian,cuan,smokey1,1112,369852,1000000,1234560,lenny,qwerty11,mypassword,louie,earnhard,dancing,simmons,airport,snappy,angelika,fishin,boxers,icehouse,qqqqq1,cramps,basset,dogboy,hall,abstr,softail,titan,santa,killjoy,fischer,electro,mygirl,delilah,misfit99,nutmeg,111qqq,christma,kittens,krusty,script,zaqxswcde,bigboss,falcon1,flores,guyver,coach,fender1,praise,prowler,harvest,latina,asdf12,clit,moreno,erin,02061987,02091983,01081989,spikes,zxcvbnm123,jubilee,shan,choice,yugioh,toaster,pineapple,harrypotter,gorgeous,namaste,carnage,yong,zeng,redsox1,biao,heng,keng,kuang,1013,1023,12051988,alissa,nigga,dayton,chriss,niceguy,magelan,qwert12345,almond,club,bumper,partner,vikings1,123qw,marty,spongebo,erika,judy,ghosts,broncos1,hookup,bigben,hammer1,wifey,cindy1,carmex2,enrico,starstar,gilles,chillin,superma,radiohead,havana,lumber,pistons,viktoriya,gameboy,robot,santafe,holidays,jennife,mckenzie,reddwarf,dodgers1,cascade,kidrock,pinball,isaac,banger,05051987,02071987,02101989,02041985,arrows,cookie1,london1,platypus,password12,foxy,02071980,1z2x3c4v,abrakadabra,doofus,passes,shanti,barron,marianna,longbow,services,02101987,heroes,living,mankind,stasik,jets,beardog,longjohn,123000,134679852,glenn,01011900,nikki1,alessandro,garion,live,juanita,honolulu,nygiants,slick1,busty,install,niceass,string,boozer,mars,astra,junior1,abbott,puffin,dogbert,queenie,mother1,miller1,muscles,highway,visa,02091984,cottage,compton,steffi,romans,beerman,megan1,windmill,guitars,earth,freebird,slamdunk,snowflak,tasty,delight,nights,biology,joseph1,emilia,bronson,frost,irishman,badgers,state,02091981,bergkamp,pixies,training,warrior1,playstat,milk,oatmeal,mudvayne,airwolf,season,lottie,dudedude,jackjack,johndeer,zildjian,magnet,vjcrdf,02061983,02041981,hammond,ramirez,02091980,mang,aptiva,anai,qwer12,gidget,1121,78945,153624,333777,22041987,stop,kjkszpj,manolo,jerry1,bruiser,chilly,medion,josephin,giraffe,jared,paulina,fishbone,edison,caught,gasman,genesis1,pocket,moondog,charter,camila,impact,tbone,bigblock,rudy,towers,krypton,hallie,jefferso,pelican,altima,clippers,getout,compass,kimmie,chambers,winners,paulie,spoon,sucking,albany,toffee,theatre,never,pavel,111111q,climber,marlon,micro,thisisit,armand,ultra,aladin,monkeybo,comfort,123456l,epsilon,idunno,death666,stress,hounddog,pallmall,02051988,angel123,02041979,kate,webhompas,monsters,picturs,02051987,sairam,02081977,05051985,02071988,easter,cobras,ballin,comanche,landon,severin,15051981,26061987,whiteout,roadster,basebal,stone55,drifter,easton,werder,norwich,stubby,stefanie,clay,gene,mike123,ellie,versace,food,visual,heinrich,record,white1,bowwow,ellen,undertak,demo,hookem,anastasi,fiction,medic,colnago,storm1,booster,festival,zzzxxx,coolcool,qwe123qwe,sinned,foreve,squeeze,02031981,mazdarx7,anthon,diving,shocker,hewlett,cross,sutton,choochoo,08031986,02051989,milan,defense,123456789s,iloveyou2,fidelio,welcom,123456m,word,lithium,02051984,02061984,kisskiss,cbr900rr,british,franc,kings,mama123,lovelife,hellboy,chipmunk,good123654,saiyan,chase1,bluebell,federal,trust,format,kjrjvjnbd,ctrhtn,1234qw,hollie,celeb,fuckinside,1215,111000,987123,10011986,11051987,13041988,21031987,kirk,washingt,tkbpfdtnf,sensei,smirnoff,mydick,spam,macbeth,cabron,guess,pipeline,mike1,clyde,dalshe,james123,zebra,mortal,fishhead,gustavo,vintage,06061986,pigeon,carver,winner1,gypsy,konstantin,beta,freefree,sheba1,summer99,newcastle,krasotka,01031988,komodo,02091985,juicy,punk,starligh,flyfish,wireless,carman,81fukkc,manila,nathan1,olesya,salome,lowell,torpedo,switch,motion,sharp,toejam,julien,puppet,buceta,scoobydoo,02021979,super12,koroleva,lineage,michaels,redrose,close,yogibear,redbaron,codered,testing1,frogman,02021981,tatarin,azazel,moskva,kitchen,freesex,nascar24,president,7894561230,news,mykids,bitter,highbury,zachary1,tranny,redfox,02061982,1002,135791,username,achtung,johnny1,spotty,survivor,program,prayer,transit,sanity,seagull,flanker,cocker,qwerty7,wanderer,soccer12,fuckhead,zodiac,isabell,costello,virgil,nutter,rockies,irinka,washburn,catwoman,upyours,kelvin,lemonade,chilli,bearcats,chef,itsme,gravity,chevys,solitude,sunny1,cocksuck,minerva,boomer1,deeper,01011978,02011989,ohshit,vera,cricket1,sugar1,rober,slowhand,tommie,ross,jsbach,lorena,dinara,paradigm,smoke1,lilith,nostromo,borabora,arkansas,chiara,savanna,presley,bologna,terminat,habibi,contest,sushi,markiz,sigma,rainbow1,bdsm,blam,fantasia,stephen1,mildred,02041989,grandpa,underground,johnson1,peaches1,cnfybckfd,ghbywtccf,02101986,bigbob,11081989,12021988,13041987,14061991,20061988,21011989,22021989,24061986,30051985,74108520,joel,slater,comedy,marti,grand,georgie,wildbill,smart,kent,larissa,gilligan,blast,hornets,brain,berkeley,pool6123,birgit,maggi,armstron,3000gt,01061990,corndog,hilary,troy,123qwer,lane,piggy,destin,tropical,sundevil,shinobi,horace,gagging,hurricane,volkswag,wasabi,01011960,nurses,bmw325,02021976,zanzibar,reilly,mustang6,trouble1,angelus,chinese,sissy,sunfire,tonight,sonia,sneaky,report,02071981,coventry,jeremy1,gtnhjdbx,03041991,sekret,45m2do5bs,undead,qazws,madcat,hotone,eastern,123ewq,daniele,nirvana1,lasvega,amorcit,wasted,sidekick,pizza1,02031979,yfnfkb,revolver,jackass1,cleopatr,nfytxrf,jermaine,gbhfvblf,kalina,02081983,marines1,1031,1102,1125,1235,172839,420000,635241,18011987,23041987,cisco,everlast,hopkins,nitro,vader1,south,nation,tinkerbe,lamer,boating,glass,bluesman,weston,leroy,customer,physics,12qw12qw,paolo,dakota1,quentin,messiah,hitachi,marjorie,krissy,shawna,conan,woodie,troll,groups,penguin1,spikey,fatty,villa,denmark,stephan,birddog,cyborg,keenan,tokiohotel,straight,nautilus,kieran,slayer1,rubble,highlander,redeye,justus,firefire,from,02071983,schmidt,longdong,boiler,margie,heidi1,suckers,waffle,khan,sonata,lopez,there,skyhawk,joebob,armada,simba1,blues1,07071987,reflex,threesom,asdqwe123,02021973,01121986,americ,goten,loud,ghjcnjgfhjkm,02011981,01071986,02091989,02071989,nokia6233,ghbdtn123,asdfgh01,sisters,valentine,yuan,monty1,cole,1812,10031988,10071987,12121990,13031987,14111986,19061987,19101987,24011985,25081988,28041987,123456123,bighead,matthias,changes,descent,mazda6,fenway,taco,eggman,aaaaa1,jonny,buddy123,private1,dogface,bowman,irishka,shibby,antonia,astral,nudes,teenage,enterme,thecrow,andyod22,score,complete,rivera,belmont,tigge,junkie,fredrick,daniels,vickie,candy1,bennie,skinner,razor,umpire,blanco,fearless,citroen,rollins,sluggo,torino,antelope,marseille,aramis,emilie,compaq1,gryphon,malachi,pantera1,viewsoni,ethan,yeah,marble,02081980,reptile,02021990,chandra,kille,dindom,01091987,evangelion,handball,nancy1,barselona,draven,zxcasdqwe123,sandrine,fuck1,sprinter,fyfnjkbq,01041985,02101988,stinker,palmtree,sonyericsson,hotties,rampage,seabee,chick,1776,987321,10011990,10051987,10101986,11061985,12121985,13061986,14021985,17051988,20111986,22011988,25800852,28021992,gordo,bigpimp,question,soccer10,boytoy,quasar,carpente,spartan1,amand,luca,pasadena,biatch,benoit,glock,coldplay,expert,audi,mario1,castor,deadly,fairlane,joe123,elcamino,callisto,glamour,datsun,studman,hanson,mentor,tomahawk,shamus,gladiato,diaper,keisha,stupid1,styles,squeak,cayman,runaway,dentist,navy,skip,fantomas,thewho,zippo,castillo,luck,arianna,honeybee,papito,yamahar1,holycow,02031989,ukraine,doors,wildwood,yellow1,skibum,gambler,helper,09051945,best,brown1,malice,david123,karachi,jewel,excite,toilet,corinne,morton,johngalt,sweetness,options,loretta,mcdonald,sf49ers,palermo,buffalo1,playa,lambda,02031980,01121988,gideon,matthe,02101981,medved,cheshire,superior,08121986,ministry,trinitro,pebble,casper1,bismillah,roses,elefant,player1,capricorn,harlem,04041991,nikolai,vendetta,bobdole,03041986,wizard1,02101983,manfred,pinky1,biker,margarit,bigpoppa,success1,ijrjkfl,voyager1,asimov,bruce1,winter1,iloveyou1,01011995,dominik,1210,24680,100500,196969,415263,11051990,16051987,16051989,17061988,20031987,20091991,21031990,22021986,25031987,25121987,27061988,28011987,28021990,29011985,29051989,29071983,30041986,paris1,limited,vitamin,calibra,zarina,perry,iforget,04041988,glasgow,shrimp,antares,hola,antonina,jamess,hetfield,warez,bigones,cutiepie,chapman,bolitas,dimas,nonenone,bestbuy,papillon,baritone,knock,eight,stream,sleep,stephane,freefall,vjqgfhjkm,show,0000007,priest,jules,mischief,rogue,hate,foxylady,flip,ernesto,dominion,vienna,macman,enforcer,devo,3x7pxr,parol,tophat,megane,dungeon,leedsutd,f00tball,mingus,skillet,robins,twiggy,bitchy,giggles,remingto,alberta,ducks,rfvfcenhf,book,02011983,otis,derparol,02051980,quebec,emperor,buste,05051989,synergy,08051990,02041980,shakira,older,asdqwe,01041988,01061986,mamamia,cleopatra,rosario,finland,modern,carnival,01011994,dmitriy,coolcat,purple1,ghjuhfvvf,knuckles,mahler,kayleigh,klaste,1003,1025,1204,4200,224466,1234123,11121986,12031985,12031987,13121985,15011987,15051990,15101986,18061990,18091985,20051988,20091988,21051991,21101986,22071986,30031988,31011987,notused,bigdawg,grinch,chips,letmei,slugger,02071978,mental,harddick,brand,bozo,paco,kojak,tabasco,chelse,spud,rico,keepout,kokomo,firefigh,addison,barney1,blowfish,1dragon,hugo,samira,sexylady,sevens,08031985,stacie,rusty2,dimples,post,tuna,alexandre,whiteboy,roger1,films,cromwell,magneto,kernel,carroll,minemine,dontknow,02011982,acmilan,wp2003wp,sanford,referee,lakeside,polish,123456ru,noname123,screamer,calimero,portal,kfgjxrf,conway,rockie,02101979,02051985,dfktynby,francisc,swinging,02041974,cygnusx1,trucking,08081988,obsidian,sales,auditt,money123,02031988,oxygen,roswell,tower,01031989,01011974,papers,popova,03031986,giovanna,sasha_007,thecure,02051978,bigbang,lfybbk,pizdec,12345qw,02071979,zoloto,marijuana,02031977,02051976,kimball,jaguars,kordell1,kerouac,142857,258369,999666,10101990,13021990,14021986,15021985,16121987,17011987,21051988,22031984,22041988,23021986,24111989,25041988,25091987,26031988,27081990,30041987,07091990,stryker,ksusha,entry,roma,maple,choke,cassandr,moonligh,fenris,12345s,duffman,fuck123,john123,dirty1,blueball,bigbooty,cars,wrestler,salope,sexxy,dinner,building,mopar,cecile,fishfish,paramedi,capricor,robocop,rimmer,hardone,w_pass,4ever,evil,alice1,nomad,nuclear,asgard,series,advent,01031985,universa,jorge,kestrel,spanner,guido,cheddar,carlos1,lalakers,acura,cherries,eclipse1,anchor,cold,yoyoma,darkangel,aspen,bahamut,little1,whistler,57chevy,smackdow,galant,bukkake,leopold,option,strawber,facebook,susanna,bookie,crusty,qwedsa,nine,extra,matrix1,02051981,01021990,transfer,breanna,mothers,clarissa,peachy,prozac,p@ssw0rd,loki,scuba1,bootys,argentin,flame,bricks,slimshady,dkflbr,nokian73,chris123,11111q,krolik,joshu,korova,johncena,magpies,pictures,cevthrb,suckmydick,spanker,dogpound,02051973,impreza,02041975,132456,145236,357159,741963,10041986,10071988,11021985,13071984,14081985,15071987,17111985,18091986,19011989,19031985,19283746,21011988,21011991,22061988,23031990,24111987,25011990,25091990,31031988,notebook,brandy1,prospect,bettina,gymnast,jktxrf,seneca,zxcv123,ksenia,rudolf,marquis,huge,daylight,golden1,q11111,tribal,zack,blue32,johndoe,hejsan,biteme1,jeannie,lemmein,salem,petrova,clutch,django,sexgod,sexxx,capetown,tupac,cartman1,ratman,09021988,vlad,fortress,canucks,01091985,virus,chocha,serpent,wallet,inter,telephone,eggplant,april1,camero,roofer,nazgul,fussball,cardiff,perfect1,wendy1,hallo123,fktyrf,pufunga7782,amore,02041978,factory,doggy1,budweiser,alanis,loser1,marseill,janelle,wealth,addict,goodgirl,timeout,wolfpac,02051972,camden,liverpool1,tenchi,05061990,godlike,university,turnip,beaker,vincent1,k.lvbkf,010191,01031984,02031983,repair,nbvjatq,vehpbr,southpaw,sylveste,redhat,forever1,wingnut,patrol,magellan,vampir,captain1,assasin,aikman,trailer,mariya,taekwondo,258963,7896321,10081989,11031988,11071988,12041986,12041988,12061988,13011987,13011988,13051987,14011986,14021990,15011985,15041988,16051988,22021988,22071987,22091988,22121987,23021989,23041986,23051985,25101988,30081984,sonyfuck,style,llamas,clifton,irene,sabrina1,02031978,punch,noname,goldfing,marie1,1234zxcv,jumbo,helmut,maveric,ricard,antony,happy2,marcius2,susan1,ballet,pentagon,sawyer,faith1,gina,pearson,hotgirls,flasher,tracer,boater,shoes,peppe,joyce,cornwall,goodie,devon,benito,butters,angus1,sixpack,mandrake,bubbles1,earthlink,lookout,slammer,venture,gagged,onion,01071987,truth,aries,12345m,lakewood,loveya,dogwood,money12,moonshin,ring,wyoming,suburban,challeng,olympus,volkov,opendoor,01011976,04041983,commande,stanley1,hoops,jonathon,diablo2,08081986,seymour,beach1,ashle,oreo,murzik,bubba123,02051977,navigator,right,gratis,myrtle,native,trip,lakers1,twelve,02081976,hellokitty,arctic,fkbyjxrf,rasmus,wormix,randy1,02091988,07071977,03021986,millenium,radar,07071990,gerrard,05071984,01041987,goth,asians,gateway2,camaross,bluejays,gaell,333444,10031987,10101985,10121987,11061991,11121985,12071989,12081985,13061987,14101987,15071986,15071988,16021990,17061989,17101986,18021984,18041986,18051988,18101987,19051987,19061990,19121989,20041986,20081991,20091986,20121989,21061986,22011986,23051990,24031988,26031990,27041990,27061985,27071987,29061990,29071985,30041985,135798642,lekker,qazxcv,borders,davies,midnite,lloyd,beater,05071988,whatwhat,optimist,damon,02071985,gotmilk,blue99,clock,decker,larkin,road,loren,redskin,hung,bremen,enternow,knight1,prince1,page,01051989,03081989,bimbo,peace1,destiny1,beavis1,hattrick,aaasss,1a2s3d,dejavu,markie,ou8123,1master,start1,test12,beatles1,screw,2fast4u,daddyo,natasha1,bordeaux,stone1,12345qwer,blaine,vanessa1,rough,alchemy,09041987,qwert40,hott,therock1,real,ilovegod,solaris,proton,links,cardinals,marriage,disco,peggy,spence,fanny,coming,swedish,espresso,auggie,02071975,vbkfirf,dougie,p4ssw0rd,richar,noway,nightwish,saigon,holes,jocelyn,gsxr1000,23skidoo,platon,ghhh47hj7649,shadow12,speedway,01041992,01041990,devin,leeds,09031988,timosha,roadrunner,ironmaiden,mackie,supernov,delfin,toriamos,06041988,ceasar,trans,patches1,oberon,vjkjrj,capecod,glow,nevets,1008,123567,147896,875421,10061986,11051984,11051986,11091989,12041990,12051986,12051990,12121988,14041988,15021990,15051985,15111988,16051985,17041991,20021988,20041988,21061985,22061989,22081986,25071990,25111987,26061985,30011985,mamacita,mad,derf,sandie,jaime,longer,cowgirl,stigmata,munch,gonzales,alena,01121987,pass1,data,shag,nineinch,a1234,waterboy,klondike,ilove,finally,bomb,spiral,boulder,odyssey,amigos,somerset,01031986,pain,burns,mulligan,krokodil,explore,lawson,charon,peeper,redcar,fellow,ambers,sloppy,savior,schatz,moron,q2w3e4,hardball,azertyui,republic,patch,reggae,canuck,romantic,vauxhall,boston1,angelic,emilio,doggies,tennis1,advance,02061977,around,159357a,06021987,spoons,rfntymrf,almighty,deputy,06081987,tosser,stratfor,mississippi,suckdick,houston1,eating,intercourse,power123,closer,01021989,lenochka,marijuan,02031975,globus,sterva,domingo,limewire,terefon,coors,04041990,suslik,steaua,blue1234,bledsoe,12345qwerty,greedy,01061988,iriska,htubcnhfwbz,zasada,sandr,awesome1,beezer,champ1,funstuff,evgeniy,bball,patrici,cuervo,printing,111777,357951,10011983,11011990,14011989,14031988,15021986,16051990,17031987,17071989,18021988,18111987,19061985,20031991,21041992,24031990,24091986,25011986,25061985,27081986,28051987,29051985,29061989,pastor,funky,theforce,chiquita,strap,yessir,daman,05081988,beech,streets,chaos1,wxcvbn,admin1,holein1,maserati,berry,qqqwww,geezer,coral,cabernet,joecool,nastia,egghead,doris,sheepdog,terrell,jomama,kane,armando,hairball,christa,aileen,clarke,insight,afrika,vancouve,tender,munich,02071976,123456789m,grandam,brady,luciano,alcohol,sheep,default,idefix,cyprus,trees,scheisse,montana1,mooney,ambrose,hoffman,pimpdadd,baltimor,jennaj,m123456,norbert,call,jaeger,mash4077,watford,davinci,mizzou,steven1,gocubs,square,pigpen,123456t,houdini,jewish,tomas,kirkland,ophelia,riccardo,07051990,another,rodeo,luna,bonanza,lhfrjy,02061976,sigmachi,revolution,dragon69,firenze,03041980,selina,absolutely,lback,ghbrjk,rfhnjirf,05091988,sammy123,sophie1,cvthnm,colonial,toolbox,04061986,hunte,ringo,bongo,02101976,azert,junk,banan,howell,magic32,liliana,q1234567,medina,riders,elway7,ilikepie,09021989,toonarmy,laddie,01031983,footjob,06051986,kronos,eskimo,wolfen,natalie1,barley,pancake,bigdicks,dabomb,cashmone,02081981,junio,02041977,dylan1,01021988,monic,1004,3006,123459,223322,556677,996633,1235789,5201314,11011991,11071985,11081987,12071987,12081984,12101988,13031986,14021987,14071987,15051987,15081991,16011989,16061986,16111990,17071985,18051990,18061985,19071986,19071988,19101990,20031988,21021985,22021985,22041986,22061941,22061987,22071989,22081983,22121983,22121986,23011985,23021985,24061987,24061988,25011985,25041985,25061986,25101989,26021987,27031989,28021985,28051986,lolol,myxworld,audio,kristian,samoht,dominiqu,joemama,gabber,toocool,ariel,twinkie,zxasqw,marcelo,darkange,persona,scrapper,delaware,tyson1,progress,cafc91,kurt,shuttle,link,gabriele,smoothie,slimshad,08071987,q123456789,youtube,franks,norris,yasmin,outside,sandra1,hottest,cumslut,tripleh,mann,starr,morales,vqsablpzla,pathfind,trace,elisabet,doit,evolutio,fishon,books,02021980,flicks,peanut1,velocity,ranch,annmarie,barry1,gthcbr,biggun,dolemite,vagabond,outback,sexo,woodstoc,02081979,macleod,plastics,javelin,bootsy,02021991,08061987,aolsucks,c2h5oh,02031973,sofia,redbone,klizma,rachelle,petunia,pumper,all4one,mohawk,lobo,billabon,rockin,ncc74656,austin31,baylor,04061991,koolaid,granada,allegro,02021971,alinka,nevermore,mikael,p0o9i8u7,forgetit,smith1,montag,poker1,frodo1,beloved,breaker,tasha1,honeys,password9,reginald,sheeba,killer123,02091976,wives,dukeduke,archange,fuck69,metroid,minimoni,wizards,hellsing,rocknrol,02041976,fabio,03071987,zaqwsxcde,max333,wanking,awful,morrowind,friendster,irving,goodday,modelsne,bumble,kenny1,nataly,juliana,cirrus,samm,03111987,nittany,dogbone,storage,05061986,04041985,punker,02011975,purpl,futurama,skateboard,6996,132465,10031991,10111986,11081990,11111987,11121987,12011989,12061986,12121982,12121987,13111990,14021983,14051990,14071988,14101988,15011986,15071985,15081988,15091987,16031990,16101987,17041987,17061986,19011987,19051986,19071990,20021986,21041985,21081987,21111985,22021990,22031991,22041985,22061990,23061990,24051990,26031984,26031987,27031987,27091985,29051990,29081985,29081990,29111989,29121987,30121987,31121990,esquire,homemade,kiteboy,herewego,bedford,dirk,lonesome,boxcar,panda1,pornking,blackbird,dickens,nokia1,four,climax,gotribe,bleach,cheeky,cucumber,vipergts,scooby1,awnyce,123qwert,muhammad,summer69,jeepster,alex12,hello12,harbor,acidburn,harald,calling,dingo,fireblad,christi,pinnacle,shodan,11111a,fallon,03061987,02101977,deniro,08041986,dudeman,harrier,jellybean,buffet,mariner,foolish,wildone,peterbil,allgood,fields,dilbert1,salami,bugs,estelle,lighting,mega,butkus,elvisp,homework,russel,donner,doktor,tycoon,cement,romeo1,04051988,ottawa,bigguns,lillie,fellatio,weed420,emmett,kiwi,barfly,03031988,baracuda,newyear,flipflop,raleigh,singapor,sperma,04081987,maxdog,sasha123,opennow,thedon,sedona,sixty,terra,blunts,linkin,lander,alisa,02091977,12345abc,05051990,crackers,doubled,warhamme,proview,masterbate,starwars1,02091975,status,01011971,females,flamengo,behappy,lfitymrf,qwe321,starwar,snowbird,123456789d,corwin,bradley1,fucker1,azzer,02101980,lagnaf,daughter,cubs,navyseal,01081990,carebear,protect,kamasutra,bastards,delmar,musical,deaths,metall,steffen,01061987,02051975,wiseguy,pimping,robin1,515000,1598753,10041983,10061987,10081985,10293847,11011987,11071986,12051985,12101985,13111984,14071986,14881488,15051986,16061985,17011990,17021985,17091987,17101987,18011986,18021986,18041990,19091988,19111987,20011989,20051985,20071986,21071989,21111990,21121986,23011990,23021988,23051986,24011990,24021991,24061992,24121986,25011993,26041986,26041991,26051988,27011988,27051987,28021986,28071986,29011987,31011990,gators1,02071971,whiplash,lara,fuckme2,adriano,boyz,hatred,reserve,draco,rainyday,mercede,grin,smart1,stafford,mone,motor,ontario,stang,gardner,weekend,jakarta,shonuf,clovis,drum,gotham,jughead,golfgti,dooley,sand,nightmar,wetter,johnny5,tanya1,03051987,01051988,comein,meadow,69camaro,chessie,marshal,phyllis,mutant,dingle,chelle,nautica,haley,camber,dragonfl,senna,bigjohn,heels,stickman,sambo,03071986,hiziad,sexybitch,puppydog,5wr2i7h8,deville,pacino,paragon,pointer,s123456,tarpon,melanie1,sprout,durham,apollo11,bigdog1,wheeler,spliff,sick,gonzo1,rockwell,vfntvfnbrf,meliss,narnia,eleonora,lefty,chewy,payday,atlas,alleycat,ambrosia,drums,linden,trustme,austria,phialpha,exchange,rage,lokiloki,tarakan,cartoons,02091973,01051986,bungle,contract,03011987,kolokol,daisydog,penetration,06041987,laetitia,gohome,03031990,02101978,pushkin,leigh,mustang2,gianni,wordup,orchard,freddy1,adrenalin,goldeney,luckyone,06031983,tuscl,kathy1,escalade,0192837465,gerbil,blanca,widget,samuel1,fyutkjxtr,01011973,02071977,02081974,touching,trinity1,04091986,sites,pookey,1q2q3q,charisma,07081986,inlove,rainbows,grass,kolbasa,07091982,newark,12345qaz,bootsie,interne,raphael,rated,cleveland,02061979,henrik,roll,bandit1,08051987,jenifer,cocksucker,03031993,222777,777999,1234566,10011988,10031989,10041990,10061984,10071985,11071989,11091984,11111986,12011985,12021985,12031988,12051989,12091988,12111990,12121989,12348765,14011987,14011988,14021989,14081988,14121989,15021983,15031988,15061988,15091988,15111984,16011987,16111982,18021987,18031991,19021990,19101986,19111986,20011988,20021985,20031986,20061986,20081986,21051986,21071987,21101989,22051986,22071983,23031987,23051987,23051991,24011987,24071987,24101986,24111990,25021988,26031986,26091986,26101986,26111985,27021991,27111985,28031982,28041992,28061986,28121984,29041985,30011986,30061987,31121987,31121988,369258147,point,hello2,05021988,dragster,bismarck,cambridg,cliff,1michael,honor,buzzer,supra,treefrog,kerry,reason,frogs,blake1,treetop,catcher,dicky,xantia,daisey,siobhan,lister,dome,strelok,auto,gamma,jello,hawkins,123456789qwe,prosper,pitch,stan,workout,walton,catnip,dima123,06071983,trauma,sebring,michal,nounours,kittie,burning,driller,angela1,thierry,lumina,speakers,brennan,rabbits,colin,buttercup,neon,atticus,puzzle,sixty9,mallorca,delaney,burn,checker,jabber,alexander1,melrose,zyjxrf,normandy,ariane,dbnfkbr,bambi,lucia,blue42,wilder,thumper1,killa,masterp,02051979,playball,scamper,7777777a,lauren1,wonderful,signal,base,benessere,freee,01021985,getting,smackdown,melons,02051990,trumpet1,cooper1,pandas,chains,asdffdsa,03041987,favorite6,melina,sexybabe,cannibal,fosters,beethove,skipper1,02091971,01051990,burner,nthvbyfnjh,meow,malaysia,rugby1,azertyuiop,02091982,rocknroll,bynthytn,grace1,aprilia,02011990,venom,italy,meier,shen,pavement,03051986,stockton,06061987,peppers,tantra,guillaum,32167,777333,888999,10041991,10101989,10121985,10121986,11011989,11041991,11061989,11081988,11101986,12021991,12051987,13021987,13081985,14031989,14041987,14041992,14081990,14091990,15041987,15071983,15081990,15091989,16021987,17021987,17061991,18011988,18041991,18051987,18061991,18081988,18121984,19031987,19091990,20041990,20051989,20061984,21021987,21071992,21081985,22061985,22071990,22081991,22091986,22111985,23061992,23071985,23091987,23121986,24021988,24031987,24041988,24081988,25051985,25121985,26051986,26061986,26071987,27041985,28051985,28051990,28071987,30041991,30051989,30061983,30071986,30111987,789654123,007bond,redd,manny,giulia,caster,jupiter1,readers,mooses,worthy,royalty,jonas,rita,segblue2,trustno,dixie1,hansol,gumby,phish1,enrique,body,123456w,abcdefg1,paulpaul,gannibal,earl,compact,frosch,skylark,hallowee,kenobi,kittys,andrews,young1,terrier,dirt,farm,marbles,ticklish,07071985,frenchy,offshore,jazzy,sexyone,algebra,allison1,lucas1,special1,hyundai,hotass,sexman,sex69,olive,leinad,farmboy,02041973,middle,clement,amethyst,letsdoit,gofast,thrasher,plato,soul,ride,notredam,murphy1,candyass,travis1,hannes,spooge,systems,gatsby,junkmail,ladder,uptown,shower,chill,flower2,karine,09051986,matty,airman,06011988,wayne1,volleyba,stayout,liberty1,abacab,blanche,buckley,bouncer,vodka,bettyboo,shauna,02061981,manga,02011979,02101973,muslim,08011986,cutie,ilikeit,06061985,01051985,constant,longhair,their,kaboom,elmira,amatory,09081988,q1w2e3r,navajo,alcatraz,olenka,01021987,09091986,05021987,mynameis,08071988,larson,sunshine1,04051985,powerful,04061984,sephiroth,panter,password01,casio,summers,02061972,computer1,1qazxsw23edc,jesus123,nikolas,rugger,05031991,sparkles,bosco1,skinhead,sonysony,snicker,pancakes,charlie2,pilgrim,ananas,contra,sheldon,generals,grisha,montecar,briggs,02061974,010390,ploppy,7894,115599,321678,951357,1234561,1234568,10011992,10061989,10071990,10081983,10081990,11041990,12071988,12071990,12081983,12081988,12091991,12101984,12101990,12121986,12121991,12211221,13071990,13101987,13121983,14041986,15031990,16031988,16071987,16071991,16091987,16121986,18111986,18121983,18121987,19061992,19091983,20051987,20061990,20101988,20121986,20121988,21031985,21121985,22011985,22051991,22071991,22121989,23031986,23051983,23091986,23111987,24071991,24101989,25081986,26071986,26071989,26101987,27021990,27031986,27061983,28061988,29031988,29061985,29061988,30011987,30031986,30031992,30091989,30121986,31031987,31051985,31101987,1234567899,renate,radeon,sergbest,08111984,talbot,pathetic,errors,springs,needles,restart,stock,hiking,auckland,jimmys,pearls,allen1,01041980,billbill,hazard,calvin1,capitals,02031990,pizzaman,fitter,biit,tazz,ulysses,jehovah,stitch,itisme,delpiero,wind,neville,nico,09111987,1234rewq,virginie,alive,grunt,emil,octopus,04111988,tampabay,puppy1,ratboy,1qazzaq1,playboy2,gabby,1million,vampire1,playmate,zorro1,08101986,dfcbkbcf,carrots,istheman,jarrett,yamato,rumble,ilovepussy,wonderboy,montrose,dunlop,werdna,cassandra,clemente,tralala,collie,swoosh,06031992,dreamcas,track,sliver,londo,cocoa,rfgecnf,05051991,rollin,painting,makaka,04041987,thebear,01071984,zxcvb123,05011987,04061987,lockdown,blacklab,riffraff,legs,kahlua,fidelity,05111986,08121987,frankie1,alexi,winger,07071988,07051987,edmonton,07071982,pressure,streaming,amstel,supernova,02081973,fujitsu,05031990,fluff,tango1,samanth,panic,napalm,08051989,justice1,09081985,07071984,camil,blubber,02031991,01021992,tujhrf,gatit,titts,camping,cable,babycake,budgie,dani,vfndtq,fuckme69,hewitt,spot,frederik,motocros,01101987,rustydog,pinetree,07101987,120689,1357911,10031990,10031993,10041987,10051990,10061985,10071986,10091984,11031983,11051988,11071987,12071991,12081987,12081990,12111985,12111991,12131213,13021985,13061985,13071987,14101986,15011983,15061985,15081986,15091985,15111989,15121987,16061987,16061988,16081986,16091988,17021989,17051987,17051989,17051990,18011985,18021992,18031988,18051989,18101985,19021991,19061991,20041985,20061983,20071988,21031984,21061988,22011992,22031986,22051987,22051989,22061984,22071984,22071985,22091991,23061989,23091985,23091989,23111989,24091991,24121987,25031983,25031991,25041991,25051987,25061987,25081985,26081986,27021992,27031992,27111989,28011988,28081986,28081990,28101986,29011982,29061986,29091987,30011990,30051987,31051993,31071990,44332211,66613666,1234509876,keith1,duffer,ollie,benton,tetsuo,glasses,nestor,feelgood,cola,cleaner,rocco,benny1,smirnov,roxy,dummy,loose,maximo,iceland,tigercat,citation,blitz,icecube,burnout,puck,twist,asses,noel,panhead,adelina,hanuman,sunlight,02061971,cupoi,bigtruck,phat,rolex,06061981,exeter,r2d2,kingking,lilbit,canada1,rhubarb,morten,trooper1,custer,buford,papamama,mouser,bowtie,perkins,toast,shark1,husband,betsy,jefferson,serious,elements,zapper,02031974,harriet,cummins,02051970,semper,herring,123456as,sonic1,accept,video1,bucky,07071989,lemans,winona,finder,treble,password99,popcorn1,stellar,04041986,saskia,doreen,chavez,blue11,furball,08021990,asd222,02021978,corner,05121990,03091983,06021986,titfuck,02011977,salman,bagpuss,01081985,04071986,01091992,blue23,09051987,07041987,darina,francine,05031987,redstar,revoluti,mommy1,sniffing,chouchou,giants1,quick,gareth,usmarine,03051988,01121990,dresden,julio,doom,09091988,01081992,02041972,07101984,07021991,03041983,123456qqq,malish,planes,videos,enters,08081990,nympho,123456d,pajero,03031992,left4dead,england1,booyah,conquest,delldell,brest,eunice,momdad,slonik,nursing,bismark,lol12345,01011972,met2002,123456n,garnet,02061978,rambo1,bonner,07081987,gogators,please1,cashmoney,09041986,blobby,04071988,02011976,dimitri,3ip76k2,07091988,fabienn,iklo,123450,10021986,10021987,10051988,10081987,10091986,10101980,10101988,11081986,11091985,11091986,12021984,12031990,12061987,12071984,12101989,13031989,13051990,13061991,13071985,13071989,13091984,13101982,13101988,13101992,14051983,14061988,14091987,15011988,15061984,15101991,15121983,16011986,16021988,16031986,16041985,16101986,16121991,17041985,17041986,17061987,17071986,17071987,17111987,17121985,18091987,18121812,18121985,18121990,19041985,19051983,19081987,19111985,20011983,20031985,20031990,20051983,20071984,20101987,21021989,21051990,21091989,21101987,21101988,21111986,22051988,22091984,22091990,22111988,23021983,23021992,23041988,23061987,23091991,24071992,24101984,24101990,24121988,24121989,25021986,25031984,25111991,26031991,26121989,27091991,29041988,30101988,30121985,30121988,31051987,31051991,31121985,31121986,cyrano,crappy,volcano,eatmenow,02111987,renato,goodyear,budd,08031987,spoiled,kamilla,hogtied,omar,lunchbox,mantle,piercing,makayla,cyrus,asdfgh1,mufasa,beau,boobear,town,rudeboy,riversid,hemlock,john1,onions,01091988,03031984,holger,scissors,hound,crescent,erection,libero,hair,entrance,fduecn,weare138,italiano,rufus1,matchbox,ramjet,acapulco,mohammad,trek,weiner,lebowski,03031987,ridge,surprise,shampoo,loverman,monk,12345r,abracadabra,03061985,diver1,duane,dnsadm,fisherman,toomuch,athome,01061983,whatthe,08041985,someday,dan123,celebrity,madagaskar,marcin,valery,maison,forlife,mindy,azrael,alain,dreaming,hardy,mercury1,hfytnrb,01051980,01071990,macintos,tennesse,hardwood,sweetheart,pride,invest,03071985,mariam,rhfcfdbwf,ronaldinho,masterbating,discus,fabulous,sextoy,this,instant,duckman,caracas,begemot,parlament,migue,alpha123,sylvie,nadia,04031991,vegitto,02011971,requiem,misiek,altoids,naughty1,09031987,03061986,02061990,05051986,05061989,mazda3,rhinos,paladin1,asdfg123,liliya,06011982,dragonballz,retire,these,07021980,hellas,07061988,rfhfvtkmrf,capcom,rjhjkm,ass,kicksass,dental,hores,harman,07041989,sharpe,09041985,05061988,03101991,07031989,lookin,poptart,02081970,jeter2,pugsley,gamble,08081989,hawks,jordan2,gladys,granite,sqdwfe,5000,111555,123890,334455,777666,1231234,10011980,10031980,10041984,10071989,11031986,11041985,11061984,11061986,11061987,11091990,11111991,12021990,12041991,12071992,12081993,12091986,12111984,13041989,13051986,13071982,13081986,13091986,13091988,14031986,15011990,15031991,15051989,15051992,15071990,15081989,16041988,16091990,17051983,17071990,17091985,18031986,18071986,18071989,18071990,18111983,19041986,19071989,19081986,19121988,20031992,20061987,20061991,20081990,21021988,21021990,21031986,21041987,21041991,21101983,21111983,21121989,22071988,22071992,23031983,23041991,23101987,23111986,24041984,24041985,24041986,24051989,24061985,24071990,24101988,24101991,25021985,25041987,25051980,25051988,25071983,25071985,25071987,25091989,25091991,26011986,26011990,26021992,26061989,26061991,26071984,27071988,27111990,28021983,28071985,28121989,29031990,29041989,29051992,30051986,30051988,30061988,31051982,goldeneye,interest,harmon,melani,zach,spleen,alfonso,jeeper,07081984,natedogg,09051984,emanuel,locks,1qazxsw,tammy1,lizzy,menthol,pharao,alterego,donna1,fick,bauhaus,alexxx,brook,jerk,cbr900,medic1,vaughn,simple1,pong,lake,ibrahim,huskers1,mogwai,owen,aol123,benjami,nicky,rabbit1,adelaide,smurf,skirt,nineball,shady,mafia,tiamat,aircraft,bama,having,dipset,logger,mamas,gerry,04111991,trenton,altair,01041993,jingles,mallrats,backbone,clever,stanton,dipper,innocent,unlock,chen,donjuan,harle,termite,05041985,49ers,missie,diamon,encore,forbes,ziggy1,follow,trash,freestyle,03061988,zerozero,shovel,matisse,anonymous,laserjet,leeann,parkour,waterman,ballsack,bluejay,shakur,welkom,dangerous,ghjcnbnenrf,hacking,01031981,flyer,information,03091988,07041988,01061992,babybear,highlife,raduga,favorite,laser1,aisan,probes,sucked,ljxtymrf,05071985,becca,trinitron,beat,clips,thumb,desktop,muffin1,things,supersonic,blueberr,123q123,satchmo,05081992,claudia1,demon666,natalya,pooky,victori,legos,06061988,diana1,glover,03041984,boroda,tamerlan,1qw23er4,chamber,03041989,qwerasdfzxcv,mariel,06041984,04071987,flyers88,nokia5800,stewart1,01071988,iceman1,01041983,bathing,chess,mangos,rapper,darkone,pokemo,05081986,douche,redwine,ismail,02091978,06101989,humphrey,justi,03031991,maximka,cashflow,ireland1,implants,juniper,grayson,08071985,cantona7,bobmarley,shojou,gramma,princesa,bendover,04021990,julia1,05121988,giggle,cloudy,03011991,penis1,gotenks,sopranos,159263,250588,333555,456987,963258,1237895,10021983,10081991,10091985,10101991,11021990,11041986,11041987,11061988,12041987,12081986,12091990,12101986,12121984,13021991,13031991,13061990,13071991,13081987,13091987,14021991,14041991,14051987,14101983,14101991,15031987,15111986,15121985,16011985,16011991,16061990,16111989,17021986,17031992,17111988,17121986,17121987,18011984,18061986,18061987,19011985,19021985,19071983,20011987,20051986,20061980,20101986,21021986,21041990,21091990,21111989,21121988,22041991,22051990,22061991,22091985,22091987,22446688,23021991,23051984,23061985,23071986,23091982,24041990,25051989,25081987,25081989,25091992,26041983,26041988,26051990,26111984,26121987,27061990,27091983,27101987,27101989,28021989,28041988,28051988,28071984,29031982,29041987,29051987,29071986,29081982,29081987,29111987,29111988,29121984,29121988,30061985,30061989,30071992,30101987,31011985,31051986,31081989,31101991,larsen,kappa,worker,mustang5,spark,placid,downer,screwy,amiga,hillbill,pearl1,klaus,aaaa1111,simons,mortis,leland,binder,border,chemist,flower1,oral,gone,buster12,carlisle,protocol,dynamic,ajax,talks,05061983,tuxedo,cook,01051987,amature,triplex,dudes,turbos,jennifer1,edge,ringer,03061984,joke,grimace,jarrod,socce,feathers,nemrac58,riddle,xian,wonderfu,surgery,qweasdzxc123,bourbon,dickdick,bite,06061990,08021989,annaanna,pimpdaddy,baura,commander,helsinki,basil,8inches,cyclones,bong,macaroni,pollux,funk,motown,fiddle,thebeast,marauder,rodrigo,oyster,09101985,listen,fruity,06021989,chachi,hand,gizzmo,01041989,blinky,braves1,prime,hancock,espana,lennox,corinna,frisbee,lancia,02031970,sapphic,09051990,06091989,02021977,123456g,homepage,spock1,dimadima,womans,03101985,04051987,halloween,pinkie,metal1,07021987,cheerleaers,shopper,05041986,soccer11,josiah,redheads,weller,scouts,photon,metallica1,garlic,03121986,greywolf,estrell,06081986,diva,ghjcnjq,alvaro,06081988,egorka,06031986,rfhfylfi,08111983,01031980,08061986,06051987,06071984,reeves,picks,123456789r,reloaded,holla,mierda,04061990,04021985,gigabyte,flvbybcnhfnjh,dortmund,korean,karaoke,sashka,godbless,allday,flipper1,pro100,jurassic,experienced,thebest,05101984,nimitz,love1234,trigun,coolhand,banana1,kcchiefs,09011990,dicker,baboon,05091987,08071986,barefeet,1111qqqq,jesper,belkin,zoomzoom,asdasd123,madcow,101091m,greedisgood,198,5683,918273,7412369,10011989,10021988,10041989,10051986,10071983,10101987,10111989,11021984,11021987,11021988,11051989,11121990,12031986,12061980,12071982,13021984,13121989,14031990,14051986,14091988,14091989,14111987,14785236,15021991,15031986,15031989,15051991,15081980,16021989,16041986,16051986,17081990,18091984,18101989,19011986,19091986,20021990,20021991,20051984,20111987,21011985,21011990,21041986,21061989,21071990,21081990,21091987,21121987,22031987,22081987,23021984,23061988,24021985,24061984,24081990,25021983,25021984,25111988,26041990,26081983,27011990,27051986,27051991,27061989,27071983,27091984,27091987,28011989,28041983,28051989,28071988,28121990,29011988,29011990,29041984,29041986,29061984,29081988,30081989,30091985,31031990,77347734,1020304050,0001,suede,margot,willard,tetris,cypher,05081989,gavin,nevermin,apricot,legman,arizona1,alex1234,111aaa,trick,nopassword,abacus,55bgates,moto,tucson,123456789987654321,rosewood,shane1,dank,analog,outsider,minnesot,ganja,07111987,darthvad,06111986,paulin,getoff,chappy,range,salsa,olemiss,07041985,06071986,warwick,baby123,taffy,rubicon,bellagio,redlight,handbag,aztnm,sweeps,baberuth,girlie,messenger,teensex,peabody,abc123456,copenhag,maxi,noles1,bigal,lavalamp,patrik,dougal,culinary,wannabe,amelie,4you,lipton,beckham7,riley1,cumm,doughnut,tessie,horton,trueblue,totoro,hogan,line,killian,asdfqwer,bramble,bowl,advanced,elway,monterey,source,whores,mytime,seaside,whatup,waterfal,sickboy,bukowski,smile1,07061986,union,freedo,bogus,metro,arsena,aimee,05081987,verena,figure,tbird,angel2,lian,06051983,08081983,mario66,kara,spook,bigblack,gianluca,02061973,golfpro,02101975,nokia123,09041990,taichi,smother,as123456,06081990,blackhawk,charle,onlyone,05041990,access1,dtkjcbgtl,wave,salvatore,davedave,gilmore,03071984,tribble,05041991,wanrltw,jetta,kristin1,alexa,03021987,01041986,pyon,satellite,04021987,festus,wazzup,05071983,04031982,daredevi,duckduck,08021985,03051985,07031986,recall,kamikadze,09061990,03111986,01091986,08081979,biohazard,05071986,05051982,phantom1,1q2q3q4q,06071990,03011986,aleksei,trample,05041983,07021989,01031991,aviator,08011988,poppy1,sarita,frazier,dfytxrf,yinyang,aragon,deathnote,pertinant,lilwayne,sierra1,meteor,vides,hakr,hotgirl,06111990,blackberry,poophead,glitter,04061988,bbking,08031988,stiletto,asswipe,wearing,gallaries,fungus,mammoth,02011978,1234567aa,riverrat,jesse1,04011990,fishtank,04081985,dominique,zurich,griffith,nightowl,waiting,04111989,civicsi,valeriya,tabatha,driven,natchez,114477,10051989,10111983,10121989,11031987,11031990,11081983,11081984,11081985,11101990,12021987,12061984,12061990,12345677,13031990,13051988,13061989,13081982,13081988,13091990,13101985,13101990,13111985,13111986,13121990,14031985,14061985,14081986,14101989,15031984,15041983,15081984,15101983,15111985,15111987,15121989,16021982,16061984,16071986,16081985,17011985,17011986,17111989,18041983,18041988,18051982,18081989,19101989,20011985,20071985,20111984,20121985,21011986,21051983,21051989,21061987,21071983,21071985,21071986,22081990,22091983,22101988,23021987,23031989,23071988,24011986,24011989,24101987,24121984,24121990,25041983,25041984,25091984,25121986,26011989,26021990,26091985,26121984,26121985,27011983,27011985,27021986,27041987,27121988,28021984,28041986,28061984,28061985,28081985,28121986,28121987,28121988,29031983,29071988,29091990,30041988,30071983,31071986,741258963,pretzel,myporn,export,joelle,qweasdzx,skilled,land,gizmos,silicon,lizzard,deltas,standby,topolino,blah,buddydog,rrpass1,orgy,care1839,titman,qqwwee,think,dick1,break,neil,kismet,happyman,aaa123,deadspin,crispy,eighteen,mini,hartford,mongo,softtail,04051990,schumi,beavers,jupiter2,1love,lucky123,zelda,zulu,ltkmaby,muffy,blazers,dogmeat,04121986,mustan,joan,blonds,stonewal,issues,midland,lawman,myspace1,fleming,dingbat,hotrats,powerman,soldat,whales,smartass,08081985,bedlam,waldo,chitown,nestle,z12345,woodman,qwerty13,prototype,strife,dipstick,angell,celina,crap,darkelf,liza,surveyor,visitor,nascar1,1234qaz,atreides,icarus,nicetits,chopper1,03021982,bellaco,amor,althea,z1x2c3v4b5,feline,mastermind,05121985,manunited,amonra,ahmed,05121983,01071989,alex1,cfvceyu,zone,112233445566,010181,alcatel,123456v,civilwar,05101986,05021989,gaymen,harcore,corazo,03081984,downhill,dallas22,2hot4u,mendoza,interacial,pusyy,clint,shitshit,waterski,01061985,06071988,allah,goose1,socks,07011989,03101983,ass123,07031988,05051988,01011950,monkeyboy,audia6,01041979,pjkjnj,contour,07031985,05061987,06031988,passord,turtles,daniell,dtxyjcnm,01111990,princess1,yfcntyf,06111984,01041981,nosferatu,02101974,02091974,helios,oswald,ekmzyf,09051983,04121987,06031984,fynjirf,06071985,taylo,prophecy,02091979,funny1,vincenzo,pitchers,rene,raining,sealteam,mouses,kakashi,paxton,tortoise,craving,pack,kuan,jimbeam,summe,integral,notnow,drag0n,start123,light1,chewbacc,deerhunt,greenman,winter99,hooyah,02021974,09011987,myworld,04121985,02081975,444555,902100,999888,10021985,10041982,10081988,10091988,10091989,10111981,10111988,10121979,11041988,11071984,11091983,11111979,11111983,12041985,12071983,12071985,12091987,13021989,13081984,13081990,13121984,14021988,14061982,14071983,14091982,14121986,15021988,15081985,15101987,16021983,16031987,16111987,17021988,17071984,17081988,18011989,19071985,19101982,19101983,19121985,19121986,20041981,20061989,20071981,20091984,21121984,22021984,22081985,23011984,23011988,23011989,23031988,23061983,23081986,24071989,24121985,25011988,25071989,25081983,25091988,26051987,26111987,27051984,27081989,27121986,28031984,28071989,28101988,29011983,29091986,30061986,31011983,31071985,31081985,789632145,1357908642,dasani,miami1,kikimora,nothing1,04051983,karl,03011984,vantage,fudge,01081980,redone,dunbar,sonora,peavey,manu,barrage,bonovox,willem,rice,slash,carme,locutus,bryan1,ocelot,hamper,rocky2,belair,mercer,aaabbb,gentle,mike1234,girlies,root,chuck1,density,continue,galileo,virago,vicky,ground,crazyman,doodles,hydro,08061989,attract,volvo1,bear1,jordon,2wsx3edc,bertram,lapochka,worm,09121983,06071987,wdtnjxtr,batista,xxxxxx1,pinto,05101983,audi80,morgoth,kubrick,demon1,charge,calypso,disaster,suckcock,ripped,makeitso,anton1,equinox,benji,fishy,fuller,lonnie,olympic,talk,bracken,bizzare,sammys,camero1,metoo,sable,kurtis,fivestar,belinea,screwyou,123456789v,abraxas,sentry,total,oaktree,honesty,olympia,caddy,adidas1,daniella,asshol,persian,spiffy,jaguar1,shot,foreplay,mizuno,canton,daffy,times,fister,02061975,a1a2a3a4,blueberry,gizmodo1,01021986,paperino,bisexual,rodrigue,06081985,03101989,darrel,ohmygod,lfybkf,libertad,01021980,shurik,lock,martian,danilka,animated,02081971,eldiablo,mashka,nate,womam,lunatic,04081989,skolko,poop123,bluestar,agassi,aladdin,tickler,08041988,03021989,youknow,03031989,07041986,matri,jackie1,taipan,cool123,markmark,02081972,01071985,07081989,07071986,04041984,honduras,tobydog,01051983,quake,neutron,volleyball,04011988,carola,nachos,hatter,pizzahut,03071989,tequier,07071980,01061984,q1q2q3q4q5,converse,maxpower,opus,dragonfly,fishcake,mississi,girls1,pic's,seductive,ntktdbpjh,solace,tadpole,03101988,galary,traktor,happines,bengal,hotlips,portia,vegitta,hotel,badabing,05051980,08091988,bikers,zimmer,storms,03081988,moonman,nightwin,pitcher,comeon,01091984,kenneth1,raymond1,boners,02071974,done,hilltop,sprocket,ownage,passmast,3000,741258,852258,986532,999000,10031985,10031986,10051983,10051985,11011980,11031982,11031984,11041983,11071983,11081982,11101985,12011988,12021986,12031989,12041983,12101987,13011981,13011985,13051985,13051989,13061983,13061984,13071983,13121988,14031984,14081989,14101985,14111989,14121987,15031985,15041985,15071984,15091983,16031985,16111983,16121982,16121985,17021982,17091984,17111982,18031981,18051985,18071988,18081986,19021982,19031980,19041987,19061984,19061986,20011984,20031984,20091983,21051985,21091984,21091988,23031985,23081984,23101988,24021986,24021987,24051986,24051987,24071986,24081987,25051984,25071986,25091985,25121982,26011981,26021985,26041984,26081985,27031985,27041988,27071984,28051981,28081984,28091984,28091985,28111986,28111987,29061987,29071987,29081983,29121985,30061982,99762000,123456987,918273645,shine,ruth,landmark,graves,harpoon,flesh,divers,augustin,mark1,nathanie,kissmyas,mantra,smithers,georgina,bdfyjd,cali,case,abdullah,envelope,surfer1,dealer,mart,racers,blue1,russ,magenta,shells,stern,stoppedby,loop,climbing,7grout,mutley,beverley,edcrfv,alessand,04071983,graduate,01081988,spiderman1,foreskin,alpina,meggie,jesus777,stephens,fisherma,cullen,nassau,03091986,rocket1,confirm,123456789o,friday13,ritter,address,leaves,jennings,randolph,guillerm,benedict,bismilla,prague,heyyou,07011988,hondacbr,spunk,evans,lourdes,locust,whoknows,blunt,therapy,ghbdtnrfrltkf,melisa,canary,vfhujif,color,paisley,booger1,jonesy,saffron,consult,bigdick1,sephirot,05031988,zxccxz,tyrant,ruthie,newuser,firedog,shield,cornelia,field,04121988,qaz123wsx,1z2x3c4v5b,nokia5530,09051985,06031985,gabrielle,bread,anfisa,elpaso,poster,07091985,123456f,negative,websol76,03031983,04121984,07021986,05051983,01031987,02051974,brenna,garner,09071984,sokolova,soulfly,alyson,diapers,09011985,foxfire,india123,weapon,hugoboss,kontol,fuzzy1,websolutions,01071980,04051984,reveal,badboys,06101986,06061982,baddest,showing,06011987,07101985,thinking,malika,01111987,werter,openit,finalfantasy,20spanks,timoxa94,malinka,rhjkbr,mamochka,ciaociao,godspeed,monste,ayanami,1234567890z,mazda323,jonatha,tictac,lockout,aside,gangbanged,utjhubq,wally1,gagarin,reuben,morgana,osprey,nurlan,05031986,lovehate,qian,04011987,guan,safeway,yaroslav,hookers,norfolk,shoe,skydiver,trey,pisser,magic123,seadog,dogfart,kristen1,04111986,02101982,25252,120986,130680,214365,515051,777555,895623,9111961,10101983,10111987,10121984,11011982,11011985,11101987,11121984,12021980,12041984,12111987,13011983,13011984,13031985,13051983,13071988,13111988,13121986,14061984,14111988,14121988,15041982,15061983,15081987,16041984,16071983,16091986,16101985,17011701,17081984,17111986,18021982,18041985,18081987,18111984,19041988,19081985,19081988,20021981,20061981,20081987,21011987,21021983,21021984,21091986,21121980,22051980,22101985,22111982,23091983,23111982,23111985,24051985,24101985,25021978,25021987,25091986,25101986,26011987,26091984,26101984,26121983,27011986,27031983,27071982,28021981,28031986,28051983,28061983,28091987,29101985,30011983,30051984,survey,qq123456,willi,squirts,profile,architec,philipp,buddys,mikkel,01071983,1bitch,creepers,opiate,09121987,horatio,kristie,bergen,getit,dfhdfhf,paige,jeffrey1,froggie,aspirin,didier,dive,came11,canine,12345d,band,trent,treetree,bigd,godawgs,leonie,petrovich,rotary,pommes,return,lionheart,maya,chairman,plane,honeybun,golfnut,06111985,09071987,1qaz2wsx3edc4rfv,johnnie,bucker,slimjim,2sweet,andyandy,allstate,christophe,tickling,zinger,letme1n,darian,topsecret,josep,recon,roosters,instinct,teaser,daddys,bigbucks,humbug,03071983,buddy2,pusssy,crumbs,rainer,skunk,eloise,wsxedc,smalls,rhino1,ilya1234,denied,fighting,dirtydog,03091984,ankara,gaylord,losangeles,pippen33,senate,queen1,marty1,merchant,adventure,francisco,leonidas,ender,blade1,prayers,flanders,wizzard,bucks,esprit,spooner,vancouver,jeepers,dinger,sugars,system1,kenzie,georgia1,jolene,gucci,horror,trout1,sandberg,susieq,scrotum,letsfuck,slipper,lighthou,laughing,danish,b12345,piston,general1,locoloco,qw123456,daredevil,02011974,rhfcjnf,indira,05061985,bears1,07081982,chickenwing101,boris1,icecold,spain,hero,fresno,valleywa,livewire,05021985,01041982,04121982,dasha,livelife,05121986,07121987,website,producer,08031983,debra,chadwick,rosebud1,987654321a,yorkie,fantom,kontakt,mousey,teller,03101984,09071986,catfight,a1b2c3d4e5,edwin,rehbwf,heavenly,honest,tribe,01101985,loveis,blackops,galway,dianna,04081986,hydrogen,sarasara,pakista,wiccan,waffles,pavlik,02121983,cool12,racer1,true,sniper1,sluttey,antonov,womble,faraon,objects,lehjxrf,splendid,vodafone,vfcnth,slapnuts,godiva,bernice,wachtwoord,dewalt,noles,hobart,bp2002,nancy123,sebora,02041970,01011961,09101986,sandman1,buddies,ralphie,puffer,tracy1,fujifilm,coochie,marcella,trista,vbienrf,baronn,6669,101080,120786,124038,258000,1475369,10041985,10051984,10071984,10121982,11021981,11091987,11111982,12051981,12121977,12121981,13031980,13041984,14031987,14041984,14081982,14091986,15011981,15051982,15061987,15121986,16071985,16111986,17031983,17031984,17051986,17091986,17121983,18071983,19081983,20011981,20021983,20031980,20051981,20111985,21051984,22041983,22121982,23041985,23061980,23071984,24081986,24101980,24111983,24121982,24681012,25031986,25041980,25111986,26061983,27061984,27071985,28031983,28071983,28091982,28111984,29031986,29051984,29051986,29091982,29091985,29111983,29121986,30011980,30071985,30101984,30101986,31031986,31101986,31121983,123581321,place,pianos,clean,big1,candies,qpalzm,punkass,05091985,joystick,amalia,addicted,flowe,roadway,bustle,010170,ribbit,thirty,methos,02091972,block,anthony7,victory1,nermal,load,axio,shayla,snyder,photo1,peddler,goofy1,piggies,rams,pasha,01121984,rockrock,access99,vixen,ludacris,blink,wilhelm,nineteen,cocacol,flint,cousin,salinas,getlost,anytime,beerme,fringe,decimal,lionhear,alexus,6uldv8,editor,quant4307s,tammie,info,stripes,seawolf,swifty,dork,flashman,bogota,dasher,ladyboy,graywolf,07041983,qaywsx,paradis,z123456,maurizio,plants,bullit,jessi,elmo,musician,infected,gerhard,garrison,badboy1,kick,forsberg,flathead,eagle2,okinawa,saxophon,smooch,bundy,mona,dope,09121982,comcast,silk,sarajevo,a1s2d3f4g5,loader,tonytony,ezekiel,bigjim,tatjana,muschi,basement,lacoste,fernande,comets,123456c,gdtrfb,susie,squid,mpegs,monkey69,sabre,02081978,rowing,01061979,seaman,reboot,winfield,bahamas,batman12,morena,niggers,06051985,singapore,timur,lincoln1,horse1,indain,dorado,indon,duffy,escorpio,orpheus,rfgbnjirf,molly123,marta,sheryl,mygirls,underwear,maurici,nikon,newness,hippo,redleg,ghbdtndctv,01091979,slava,gerber,booboo1,08101980,goofball,zxcvasdf,legenda,sickness,05081985,04061982,07021984,hugetits,gfynthf,01091980,star123,02031976,3rjs1la7qe,internal,07061985,squerting,firestorm,p0o9i8,nissan1,starlight,01121985,06061983,03051984,torture,blackice,bandi,password11,mathias,01081986,jessica2,mailru,tangerin,dragon01,kitties,qazxsw123,smirnova,ranetki,unbelievable,rhythm,nastena,bernardo,warcraft3,shanno,oscars,gloves,zebras,bazooka,infamous,housewifes,nfhfrfy,glenda,famil,stopit,katelyn,hillside,privacy,hospital,ralph1,odin,macgyver,02061970,05041984,1009,748596,10031984,10101982,11051979,11051985,11121981,12031984,12041978,12121980,13091985,14021984,14051985,14061983,14111982,14111984,15051983,15081983,15101984,16011983,16061983,17021983,17031985,17041984,17061983,17061985,18061984,18071981,19111984,19121982,20021980,20031983,20041984,20081984,20081985,20121982,21061983,21071982,21091985,22101981,22101983,22121985,23011980,23011982,23031980,23121983,24011983,24021983,24031985,25121983,26031985,27051985,27081985,29091980,30061981,30121984,31071983,74123698,159753456,macaco,freaked,bigred1,vince,chevys10,acclaim,cesare,lahore,bloke,samir,survival,gutter,hooters1,noah,rising,douglas1,rushmore,dawgs,garland,rebelz,android,hoochie,gibson1,shaker,kelli,court,virgo,basic,scirocco,fuzzball,mikado,lily,frogfrog,hotspur,helium,toad,03041985,911turbo,beef,detroit1,administrator,cornhole,monica1,0o9i8u7y,hose,terry1,letmesee,offspring,argyle,nataha,aaaaaa1,school1,mike23,02031972,clemens,johnston,daniel12,dust,code,shredder,sweeney,wednesda,estate,raiden,truffles,nathaniel,fantasies,image,dunhill,chowchow,atlanta1,checkmat,phreak,starlite,caleb,jacket,truck1,allnight,vgirl,horsemen,higher,shop,josephine,05111982,dante1,1mustang,pregnant,romario,firehawk,sparhawk,cosmo1,crosby,pokey,favorite2,stirling,silverado,freewill,labia,vegas1,stooge,glendale,a111111,a4tech,02031971,groupd2013,vflfufcrfh,rugrat,aerosmit,rapture,eyes,angel666,bmw318,crash1,farida,jediknig,close-up,pounding,pissed,06021984,02121981,lesbain,pulled,alert,nexus6,funtimes,fmale,gfgfvfvf,santiag,corina,evangeli,archery,stokes,02041971,03051981,lacrimosa,astro1,bionicle,visited,04091985,esteban,madonna1,butch1,sooners1,orang,06121982,devilman,lamborghini,03011985,07081983,08061984,woods,angelit,rockey,tunnel,baggies,03051979,rjhjdf,cnfkrth,08071983,05031984,nadejda,experience,pietro,carpediem,garret,reznor,schubert,shelby1,poisson,fran,fhntvrf,caitlyn,picnic,bassoon,milamber,motocross,euphoria,browndog,asdas,luckyme,domenico,telecom,skeeter1,bajingan,baker1,08061985,husky,scorpions,rapier,lydia,123321123321,06101985,bertrand,frenchie,09051981,fucks,09121985,carsten,jachin,mutter,cooking,passfan,blaze1,03121985,service1,yfnfirf,sleeping,rjcvjc,babemagnet,timothy1,mimosa,232425,651550,666333,6661313,9874123,10081981,10241024,11001001,11051982,11061980,11081980,12041982,12051983,12345687,12349876,13081983,15021984,15121984,16061981,16081980,16111984,17061982,17091981,18041984,18051984,19091980,20101982,20101984,21041983,21101980,22061982,23041983,23041984,24021984,24031980,24051979,24091984,24111982,25051983,25071984,27031984,27111984,27121981,28111982,29011980,30111982,31121982,bmw2002,nudity,zoomer,swatch,kareem,blender,present,ducky,slow,merrill,heavy,horseman,midori,bopper,tires,asthma,whale,hummel,nero,wendell,biguns,armstrong,snapshot,darth,vivid,wyatt,wanda,release,nurse,1234abc,chingon,quake3,priyanka,hunter12,sanjay,euclid,tools,east,tahiti,libido,nielsen,branch,buffa,sometime,pilot1,lotus1,ekim,abbey,prestige,homely,corps,1password,loomis,hawthorn,nickie,christo,swiss,optima,aqwzsx,sigmar,lexus1,balboa,greatest,wage,mainland,shimmer,riddler,offroad,bulletin,dutchman,passcode,crown,ramada,striper,sounds,alley,bravo1,camp,worship,carling,dempsey,09081984,tugboat,roman1,regional,bernhard,gregory1,05031981,assmunch,beatriz,cazzo,asslover,rocky123,04041982,diablo1,seville,tiptop,zaq12345,carmine,sizzle,gaucho,buckaroo,puddles,creed,chooch,comp,tonya,sexpot,diplomat,tito,alesha,morrow,kobe,ethan1,karamba,skeleton,corazon,06081983,sexy123,samue,eatme1,winters,futyn007,laker,02101972,mannheim,picher,camaro1,02101970,adrianna,board,bionic,disney1,acid,hackers,dominick,before,wellingt,nash,fubar1,lynette,dancer1,jolly,romania,fernanda,dragon123,manager1,calendar,pennywis,ecuador,komputer,saxman,rudolph,devine,04081978,07121984,teapot,pictere,alonso,07011980,plumbing,07111982,thetruth,rosa,speed1,04081982,06011984,justinbieber,08031980,gulnara,alex01,09111983,madala11,dinero,shakes,punani,nokia5130,quinn,thick,hybrid,kakarot,suntzu,lockerroom,dima1995,09101984,vaness,yeahyeah,ejaculation,pictuers,07101983,debora,craven,nian,wrinkles,poon,dumb,baron1,beeline,loyola,bettyboop,openme,elodie,2300mj,lakshmi,frederick,huan,daydream,friends1,denis1,01121980,breath,vfhbyjxrf,inna,dominika,02021975,153759,333999,3141592,10071980,10081982,11031980,11041980,11061983,11121980,12021983,12031982,12041977,12051982,12091982,12091983,12345123,13031983,13091982,15071980,15071981,16011982,17111979,18061982,18081982,19011981,19121978,20021982,20041980,20071983,21031981,21051979,21061980,21081980,23021982,23071981,23101981,24031981,25011983,25091983,26031982,26101983,26111978,27011982,27111982,28071982,29061982,29071982,30091983,963258741,falling,agent,smoke420,cobra427,marcela,rochard,thighs,reed,kidney,extensa,cherie,excess,embalmer,basketbal,tailgate,salvator,niko,nocturne,sexymama,rebekah,lilman,crane,aassdd,terran,disabled,sonja,12345w,binky,goats,ricky1,papabear,wednesday,lisenok,muffins,shinigami,cajun,panorama,scout1,illmatic,flex,rhodes,tortuga,ticktock,fantasy1,misses,08041980,woodstock,aligator,hocke,hellno,jian,mojojojo,konyor,earthlin,pinch,oldfart,lovejoy,pussy2,reindeer,thomson,shiva,supply,texans,citrus,undertow,sail,05061981,alabama1,freedom2,jewell,indy,monolith,nastenka,123456y,ramon,orbital,meonly,bonghit,fullback,bigworm,evilone,hotmama,elevator,prudence,radar1,privat,neworder,churchil,nonstop,smithy,jigga,goarmy,troubles,zardoz,corbin,l3tm31n,norwood,dizzy,dagmar,maker,fzappa,basher,lukas,sfgiants,pussylover,xxx777,newone,qwedsazxc,lioness,montoya,dabulls,cortez,divx1,worlds,beating,vulva,rugrats,newstart,avanti,contortionist,japanees,reviews,capoeira,javie,gayboy,bonzai,vivitron,dreamcast,fruitbat,legends,michelle1,corn,attorney,admin123,rosie1,mjolnir,fraggle,vbifyz,05061980,insecure,01061982,pushok,08041982,belize,willie1,tom123,caution,bigdad,09031981,saibaba,ramzes,armageddon,csyjxtr,06021981,delphine,casablanca,alejandra,03031982,fhctybq,wdtnjr,123qwe123qwe,ciao,amo,quaker,hustle,myfriend,paola,magdalena,wifes,knickerless,trotter,billabong,discovery,fhvfutljy,my3sons,sperm,seth,cerebus,thumbnils,weenie,s12345,pupkin,slasher,wilma,welcome2,hester,02021972,kraken,lebanon,needle,toulouse,fireman1,linux,delboy,salesman,surfsup,footman,orgasms,woodwork,toasty,03071980,02011972,daedalus,starfox,violator,123412,300465,666555,987789,10021982,10041979,10091980,10101975,10101981,11041974,11101982,12011979,12021982,12041980,12051980,13071979,13111982,13121982,14051982,15041980,15071982,15101982,16041978,18031980,18031982,18061981,18071979,18121979,19051977,19061982,19081982,22071981,22091981,22121978,23041982,23121982,24081982,25011982,25031980,27731828,29041982,29101982,29121982,30051981,30061979,30061980,30071982,30081982,mike69,jasper1,domini,strat,yamaha1,alexis1,q1q2q3q4,04071982,voltron,cecil,zimbabwe,toni,budlite,newproject2004,creeper,shimano,monkey2,wing,catfood,sparty,moochie,creator,serge,amour,redstorm,cantor,aabbcc,schultz,1monkey,luckys,allman,jasons,brisbane,dagobert,xyzzy,gate,murph,bigjoe,sativa,stinger1,fozzie,couples,windows1,luigi,natascha,kennwort,empire1,alatam,barbara1,arnaud,02011973,rammstei,bubba2,wingzero,swampy,3edc4rfv,elmer,lighthouse,fordtruc,letmeinn,grinder,stinks,nebula,destroyer,sublime1,rogue1,athletic,praxis,12345v,chateau,franci,stinky1,lorien,fantasti,jumanji,man,cummer,sverige,michele1,clueless,spamspam,belfast,nigeria,costanza,beyonce,monies,planner,skin,jonboy,morticia,drywall,sunkist,pdiddy,massey,csyekz,campus,boots1,bigpenis,vanity,vette1,devil1,lingerie,reeses,iphone,corky,impulse,diamante,1a2s3d4f5g,shawn1,marymary,alfarome,sledge,shinji,qawsedrftg,prelude1,sinful,shitter,miles1,riverside,03101979,02071972,greentea,iiyama,07041980,marley1,parsons,giveme,imtheman,sharma,09071981,gabby1,qazwsxedc1,evanescence,henti,w00t88,motdepasse,porsche911,alessio,aceman,arrakis,pussy4me,shelter,becky1,rosita,munster,kickflip,emine,gocats,03031981,rodger,boogers,landrove,longshot,wooden,superbow,list,02071970,comicbookdb,prosto,rfhlbyfk,kfcnjxrf,kavkaz,01101979,robots,forge,marlins,scoobie,anthony2,paramore,hfljcnm,buckwhea,pornographic,plokij,03021979,01071978,minnesota,lambchop,chango,money2,silvi,anakonda,cjytxrf,sanjose,arcangel,koleso,j3qq4h7h2v,starbucks,core,allie,mahalo,nigger1,samdog,gfhjdjp,litle,transexual,webcam,bolivi,vfpfafrf,lucian,josie,m12345,petite,archangel,www123,piper1,cheeba,braveheart,myspace,lux2000,paddy,emili,08081981,masturbation,bunnie,collect,tulip,homebrew,whites,boingo,04101980,berserk,fordf350,thrust,pilots,cheesy,leeloo,star12,zealots,camel1,07081981,02071973,milkyway,forester,babemagn,02051971,101077,121281,615243,10011001,11081978,11111978,12111981,13121980,14051977,14051981,14121979,17051981,17101980,19021980,19051981,20011980,21011981,21101981,21121978,22031981,22081981,23051980,24111981,25111978,26031980,27011981,28031981,29071981,29121981,30071979,31051977,31071980,1213141516,ellis,gemini1,swim,maxpayne,google1,bliss,duracell,armored,12locked,alonzo,detect,cashew,krypto,hattie,shrink,custard,mocha,albino,room,spanky1,gates,acdc,singh,xxxzzz,allied,libra,maryam,magoo,billows,chief1,chinchin,benz,sonny1,ronald1,123456789p,heeled,ramstein,coffees,swing,adrock,noreen,burgess,nope,twat,scotts,britt,coaster,altec,scroll,tippy,lesbos,kookie,forall,trousers,cybersex,cows,bugman,wildlife,topspin,terri,pronto,cristin,zzxxcc,shaft,corvet07,tiberian,kevin123,buffer,urlaub,doorknob,monday1,cheste,thanos,faisal,richter,saltydog,bullwink,shevchenko,space1,blanked,darnell,1qwert,mistake,morozova,mdogg,maximilian,opera,sentra,diamant,steiner,sodapop,adria,headache,gstring,hellohel,messier,alvin,arthur1,needforspeed,panache,a123456a,fireblade,ironman1,devilmaycry,tricks,asmodeus,rodent,mikayla,iron,shawnee,bravehea,chemistry,abbey1,vfhnsirf,somebody,sharpie,mypasswo,05081977,vorona,cradle,table,asd456,01011967,pennstat,milfnew,momsuck,cooki,01081978,hotdogs,marsel,cocktail,sosiska,intern,uncle,motherfu,orwell,selmer,marajade,lesbean,pounded,scarab,princeto,fruit,rapunzel,hernande,ytngfhjkz,phones,correct,maximus1,pegasus1,chat,disturbed,bills,iamcool,pioner,balrog,03051980,dreamer1,evildead,aggie,01051979,ltymub,everques,06081979,songoku,deepthro,gfhjkm12,tkfkdg,halo,blessed1,tical,bartok,klopklop,theboys,colt,12345asd,fishface,yankee1,chewey,kjiflm,cntgfy,gretta,m0nkey,nemesis1,gorillaz,kombat,fyyeirf,narut,wine,sevenof9,vicious,sarge,gitara,manhatta,elektra,sixteen,kseniya,ursitesux,sachin,zhan,vova,revival47,detectiv,businessbabe,123456789l,bedrock,rjitxrf,denni,yfnfitymrf,stooges,04101977,fastcar,ibilltes,02091970,dropkick,sk8ordie,otter,montecarlo,peaceful,breathe,flavor,ameteur,veronic,04061980,enter123,christel,09051975,cowboyup,juli,goethe,spiders,fialka,1234kekc,kostik,rdfhnbhf,marishka,vika,555222,630112,753357,837519,1122334,3698741,3984240,10061980,11101979,12011980,12071980,12340987,12345612,13245768,14031978,14031980,14041976,17051979,17091979,18061980,20011979,22334455,23021977,23021978,25071978,27111978,28101979,30031979,890098890,tanaka,apollo1,motors,royboy,margo,turk182,bobb,honeydew,broad,origin,monsoon,outlaws,theduke,cedars,ladybird,quaint,ddddd1,bbbbbb1,cccccc1,fucmy69,puff,breezy,chauncey,smeller,cambridge,sigrid,succes,pass12,ulrich,beebop,fokker,maryanne,perrin,fourteen,aslan,blind,reddog1,borges,derick,washer,janet1,gecko,biker1,llama,avalanche,snowman1,patron,clyde1,banaan,icetea,petrus,shelton,lorenz,scenery,sexyme,bullock,niki,aurelie,mike12,restless,sunbeam,bluenose,not4you,doll,leticia,pork,linus,wsxzaq,cayenne,klaatu,click,vicki,charlie123,fremont,optiplex,123456qq,bulldawg,omegared,caldwell,comment,heathe,chowder,renee1,barnie,howie,1fuck,curley,flange,twin,message,large,bastet,yello,hermann,jelena,fuckthat,candles,123456ab,genocide,charming,losangel,impalass,fartman,realtor,puta,sorrow,pendejo,flyguy,tokyo,lasers,zapata,crissy,locked,123ab,skynet,marybeth,newpass1,seahorse,goodsex,ab1234,zxcvb12345,lorelei,machines,corvett,02021970,cazzone,alla,07041979,monkey123,scumbag,fuckmehard,master123,goldrush,trailers,today1,03071978,adrian1,filippo,capital1,wyvern,lothar,turtle1,rowdy,device,asd12345,qwerty78,whateve,vtldtlm,lovely1,lbvjxrf,09091979,casual,kazanova,magadan,12345k,rktjgfnhf,insider,jazmin,bitchs,spalding,santacru,alisher,01011966,sunderla,1a2b3c4d5e,puma,09051978,08031977,snoopdogg,nokia5230,fktyeirf,everton1,01011965,ghjdthrf,01031976,vfhbirf,bhbcrf,123mudar,kerrie,udacha,159753a,geibcnbr,lovem,hulk,blondinka,child,chees,robyn,pingvin,avery,123456789123,l58jkdjp!,1a2a3a4a,gandolf,hartley,darknes,fever,katya,funtik,product,baylee,bignuts,videoes,beachbum,waffenss,123qweas,braxton,oedipus,quest1,shotokan,02101971,fridge,hulkster,rbcekz,brick,poobear,eatme69,samadams,heather2,mastermi,sammydog,ignatius,redwall,toohot,dragrace,graphic,booter,chris12,monkeyman,slipkno,wrigley,vorlon,lol5,lbtest,1006,141516,222555,665544,10101977,13081978,15031975,19041978,21041978,22011975,22041976,23021975,23051978,23061976,28071978,29091977,43046721,123698741,yoshi,sanity72,niggaz,hussain,03021978,frank123,ingram,naught,thalia,abba,rasta69,poets,drifting,deepak,contests,branden,bowie,skins,glassman,taiwan,xmas,damion,1money,rt6ytere,cesar,homeless,daytek,mark123,zippy1,yourmama,partners,navigato,goatboy,maddux,buckeye1,angel12,costaric,nutella,terrance,janina,barks,allyson,vangogh,angeles,newport1,babel,peanu,caralho,lever,saddle,danman,four20,evergree,minimum,utahjazz,come,xxx666,robson,nickolas,rb26dett,althor,marinka,snowy,jeffjeff,negro,buff,doggys,betty1,lookup,baraka,mummy,topaz,cynthia1,feeling,infinite,crockett,gatito,keesha,ange,thething,loves,swift,bigshow,viking1,jakester,cochise,hazmat,johan,smack,willy1,brenda1,soft,james2,twins2,woodside,hombre,geil,torrent,zzz111,bugsbunn,furious,roach,rosanna,nettie,texaco,bushman,smarty,stripe,skills,pontiac1,anechka,aquila,wishes,manual,ransom,fred1,invictus,sniffer,marnie,rawhide,rosco,valiant,tonto,zoom,wolvie,everyday,russell1,feeder,delsol,candys,angelok,vasiliy,austin316,mitchel,kbctyjr,naples,apple2,biggirl,memories,jesus7,adventur,tequiero,teacher1,asscock,grils,jacqui,abstract,bubblegum,fist,callofduty,dickweed,punjab,porn4me,boohoo,thatsme,hershey1,irisha,bosshog,control1,fuking,housewife,temptress,belle1,dima55,chris2,warsaw,verygood,hogwarts,wingchun,heinlein,01051974,princ,mystical,surgeon,bloods,pavlova,aerosmith,tooth,blackbelt,hotshit,manue,agatha,ethernet,bulls23,qaz741,eightbal,solnishko,01011968,snowflake,firestar,djkjlz,hornyman,manders,girfriend,lebron23,grammy,poppie,timelord,milhouse,kumar,leningrad,caterina,avrora,qwerty99,janeway,cneltyn,sestra,03061977,romanov,cory,shaun,kayla1,allblack,cerber,irakli,anna2614,ulrike,pussyeat,wakeup,mackenzi,danilo,masterbaiting,uncencored,dimple,manifest,songbird,triplets,pamel,devious,sukebe,ghjnjnbg,bdfyjdf,chuan,gforce,pyramid1,submarin,partizan,bettis,dokken,pasta,123456b,choppers,planeta,fuckm,patti,saab900,vandal,snafu,bigboy1,phishy,rewind,manatee,fred1234,yitbos,lovel,vbhevbh,desperado,chewy1,yeshua,fabia,papit,seabass,159852,197777,335577,357753,555333,777111,1235813,10121976,14021977,15121977,18273645,22091977,31071977,callahan,sienna,niklas,sven,nogard,marsh,jacko,deuce,echo,dmband,manuals,vargas,homo,micky,thriller,ilikesex,marina1,antwerp,norma,bulls1,1letmein,barb,ericeric,littlema,boats,rashid,caspe,patrizia,love11,070462,hook,xman,12345654321,wapapapa,sarina,woof,forme,hoser,crafty,mistral,arielle,gravis,nirvan,davis1,1911a1,buick,rayman,hornyguy,carajo,miamor,commerce,necklace,radio1,fifteen,simply,cannonda,seventeen,sports1,bambino,cartier,blackcock,nexus,barracud,pathfinder,sammi,crew,fuckshit,leeroy,scrooge,brunette,parsifal,birthday4,alkaline,chino,shitfuck,muffdive,sage,nfy.irf,bobert,bedroom,boarder,account1,courier,abcxyz,lampard,zooropa,guard,edthom,brians,lemon1,glennwei,antigone,ishmael,mrbill,henley,dragonz,pizda,beepbeep,hotbabes,fordf250,buller,acer,motorcyc,spades,batma,akasha,coolgirl,skulls,rickster,under,omicron,gender,maganda,theshit,hirsch,snowdog,boxter,citibank,delgado,newday,marmite,ozzie,goodguy,gobigred,river1,007700,harrys,oasis1,brutal,professor,fkbyrf,cvbhyjdf,trish,league,biscuits,angele,cassie1,edmund,03041975,vaughan,tenerife,asss,goodlife,qwaszx12,volkswagen,1qazxc,southside,fulcrum,maurolarastefy,gumbo,spartan117,concept,columbo,08081976,miamo,danil,riptide,yanks1,mamont,hedges,tater,yuliya,peregrin,antonio1,munson,nika,jigsaw,feanor,raindrop,bavaria,locker,beyond,perkele,laracroft,novikova,joeblow,fathead,plum,0000000000o,bonnie1,fynjybyf,molotok,thought,12345678900,hotlegs,paranoia,caboose,markiza,degree,porshe,dolphi,sabaka,germany1,fakepass,becool,supernatural,tecumseh,chatham,tonyhawk,skating,francesca,mahalkita,ruben,apteka,nikita1,reborn,maine,thistle,pfloyd,pitures,rover1,yngwie,creepy,rutgers,iloveporn,hallo1,cherry1,falstaff,clerks,shuan,dominate,deborah1,libby,golfman,sigma1,bassin,bastian,hunter2,lancaster,pumkin,gamer,astonvil,jayman,bobmarle,fritz1,natedog,hennessy,produce,elvis123,nonmembe,tramp,full,bonethug,terriers,tooltime,fedorov,sharon1,terrence,zhuan,virgini,krasota,russian7,3004,362514,699669,777000,823762,1230123,1596321,3151020,11122233,12041976,13011976,23021973,fiona,glider,pyramids,koala,leroy1,chas,horn,stands,grime,chili,pixie,roserose,shoot,flare,albert1,view,port,seattle1,saunders,okmijn,lololol,schnuffi,eddy,potatoes,beanbag,joyful,marita,ragnar,phaedrus,skillz,regent,barclay,flashy,marketing,raptors,prima,fear,stefania,ballard,cxfcnkbdfz,adeline,drop,streak,lasalle,guesswho,idiots,lindsay1,davidc,nicky1,samson1,matros,zxcvvcxz,tiff,tonka,epson,joaquin,miki,jamesb,arch,poi098,drinker,passthie,testibil,mueller,muriel,marriott,snookie,summertime,music123,helphelp,theedge,fannie,takamine,woodrow,bigpussy,louisa,balder,parker1,duckhunt,candie,ironhors,bagels,vibrate,dalejr8,mooner,gray,helen1,tulane,niagara,polly1,ronny,lemmings,pluto1,beck,factor,theclash,boromir,sundown,ashtray,primal,unicorn1,shadow01,camino,luckie,sparkey,couple,zappa1,jessie1,hamburger,lucent,ditto,cake,colossus,gotyoass,qwerty2,nixon,class,qaz12345,gohan,satori,bigbutts,zzz123,elbereth,blaster1,lagwagon,gumby1,feniks,davidb,ceaser,fuckyeah,location,corgan,catalog,chiks,modles,penetrating,forgotten,walking,academy,asylum,pokemon123,gbcmrf,optical,faust,thesaint,montero,malakas,element1,amnesia,sonne,morbid,astalavista,nhfrnjh,asdfg12345,05051975,gaelic,hazel,saratov,bhbyrf,elisa,vfkbyf,professional,123123z,hermione,beijing,marketin,segreto,mowgli,misiaczek,shandy,mamo4ka,joung,prick,gymnastic,goodfell,veteran,sexsexse,axeman,gulliver,natal,letters,juneau,01081975,djdjxrf,cristal,rostov,volkodav,02011970,ybrbnjc,bigmama,domainlock2005,muller,dazzle,stefani,youandme,soviet,katten,leafs,riddick,pinguin,dogggg,galeries,scandinavian,pintail,lakers24,flowers1,raketa,bach,jeadmi,rerfhtre,scoote,pappy,edmond,666666a,vepsrf,craft,bilbo1,hell666,macintosh,sober,osama,enough,zaxscd,dhjnvytyjub,killzone,cujo,yamahar6,basebal1,labonte,homer123,grandpri,premiere,ovation,smokedog,ametuer,tahoe,halcyon,left,laure,deicide,garnett,watermelon,rockman,john12,mayfield,masha,hardwork,lance1,skippy1,mango1,staind,cassi,ussy,dog,lasttime,r4e3w2q1,eyeball,peaceout,vivaldi,friday1,1dallas,kimmy,serg,angeline,jaycee,silve,details,express1,katzen,x72jhhu3z,1q2w3,222444,885522,999111,1234569,14031972,147896321,369852147,growler,goody,bookcase,kingtut,cooker,lugano,newhouse,mojave,franck,beaks,domestic,acetate,maciek,muttley,chicco,scorpi,blackcoc,blackboy,barlow,patata,dobber,mathieu,ram1500,doggydog,brock,123456asd,fuckem,numbers,p455w0rd,gisela,mensch,rattle,blair,rabbi,redwolf,mauro,slicer,butchie,complex,william2,nigel,places,1ranger,bobcats,envision,gazelle,!qaz2wsx,67camaro,algernon,12qwerty,cordoba,baywatch,thrawn,byron,defcon,gman,sexyass,01011964,phoenix2,rsalinas,nickels,gomets,blocked,never1,punter,allegra,larsson,rowena,staff,hawks1,dangerou,error,headless,beaumont,evergreen,frasier,last,donut,acura1,bradshaw,osgood,barracuda,tomservo,greatsex,dbrecz,zeke,f15eagle,dewayne,cadman,spaniel,nemo,fool,radius,cedar,rental,go2hell,bolero,yesterda,flippy,zelda1,fuckof,arman,alexei,ginola,jerky,1qazse4,marvin1,monkeyma,aquarium,cbr600rr,movers,mosaic,cronic,cluster,mystuff,arcane,dickey,tomate,kuwait,goochi,repoman,dogma,payton34,bassbass,123456789k,bugatti,blackass,snakeman,marat,genghis,gramps,escher,sincity,canon1,valdez,polaroid,hotman,witch,worldcup,solar,letsplay,slide,deutschland,jordyn,saab9000,amoremio,kjifhf,family1,greta,magics,vaseline,alligator,seventy,learjet,computers,dimension,packard1,crave,nacked,shade,bhjxrf,uhbujhbq,citron,kodiak1,phrases,pomidor,golfclub,ace123,longhorns,holdem,chance1,wellhung,tryagain,killah,colombo,dodges,saddam,alfalfa,january1,blunted,furman,mysecret,pfqxbr,druid,jenna1,qweewq,gopack,zolushka,shayne,copper1,fanatic,catdaddy,stella1,17171717aa,pfkegf,loglatin,gbyudby,barrel,samanta,rigger,girsl,photog,mustang9,chipper1,spide,nadezhda,lite,edinburg,panties1,maripos,dingo1,excellen,sokolov,rjnzhf,dashka,rooter,pandora1,romanova,vfylfhby,eragon,luscious,mayfair,sonyvaio,flipmode,borman,yorktown,states,jbond007,type,777vlad,silly1,hercule,doggystyle,dkflbvbhjdbx,goodwill,sofiya,watching,escobar,handle,holahola,davidoff,mich,prancer,robinhood,machoman,klaudia,henning,debbie1,mccarthy,protoss,tittys,beeker,12s3t4p55,momsanaladventure,fabrizio,humble,strato,foreman,theman1,avengers,kruger,pipe,ivanhoe,october1,dating,tomboy,seal,seaweed,sixtynin,toonces,erica1,reaver,chrisb,soleda,trekker,database,cortina,nichola,twostep,wiggles,gjhjkm,bobbys,easypay,deal,elisabeth,chevy2,goonies,lesbens,cueball,fuckedup,meandyou,hickory,everquest,omerta,fun4me,supers,sunbird,remington,hotter,jason123,olives,manage,01011958,schmuck,kram,evelina,timmy1,lancaste,hd764nw5d7e1vb1,loloxx,3001,25000,123698,224488,622521,747400,852963,10101968,69213124,78963214,briefs,garter,cheyanne,mentos,ortega,ginge,united1,keksa12,juanito,ginscoot,gaijin,abrupt,ub6ib9,kodak,bloopers,bobber,final,maddy,anthem,torque,flubber,mothra,steveo,clara,slam,nolan,snuggle,dshade,policy,gooseman,babushka,123bbb,patterso,fragile,felicity,plummer,bushel,kolibri,goal,blondie1,blueman,crocodil,sport1,first1,section,zzzzz1,social,acacia,bmw320,minute,yahweh,buds,5tgb6yhn,qazwsxedcrfvtgb,camelot1,guilty,helpless,soccer13,jazzy1,nugent,sweetass,sober1,rickie,major1,bootleg,bonzo,getmein,fine,ponyboy,andi,waldo1,sebastie,grove,shibumi,boogaloo,marlow,angelito,carlin,andrej,ebony1,myboys,zztop,hotty,lombard,francis1,gallery,peternorth,freiheit,kindred,valentino,tessa,a1a2a3a4a5,victor1,357mag,000000a,leahcim,hitman47,porn123,getin,winchest,konrad,nicknick,orleans,aleksander,blue44,mille,shades,consuelo,dantes,pimpster,butchy,guevara,dandy,cliffy,lifeisgood,splatter,matias,zxcvbn1,camilo,blower,feetfeet,ferrar,darthvader,ynot,georges,bruno123,wayer,secre,caseydog,amarillo,1basebal,satellit,mustang8,brent1,denton,tiffan,shifty,mate,cezer121,sonya,gomez,theo,romulus,robbins,looper,doomed,kleenex,123hfjdk147,carlotta,oralsex,kimchi,crayon,masterkey,blackbel,caramba,belgium,drjynfrnt,familia,lotus123,happydog,quarter,insertions,buchanan,monkey11,sidewind,missing,fettish,storys,newjob,paroll,bigpun,hannover,langley,politics,assault,cimbom,asdfjkl;,ohbaby,chronos,logical,m0nk3y,pookie1,tylers,4rfv3edc,delphin,vfnbkmlf,eleven11,vishnu,123qwe456,grapeape,andreev,sanane,kthjxrf,654321a,deathrow,merlyn,onepiece,waterpolo,rattler,dragon13,voodoo1,pilsner,donny,peepers,anna123,techniques,rodina,stetson,buratino,distance,facefuck,fabiol,morga,ijrjkflrf,avangard,volkova,naruto1,vineyard,qazxsw12,calculus,rfhfgep,buttbutt,china1,maybe,jack1,morley,zz8807zpl,archon,bignasty,emmitt22,toes,amidala,romaroma,maddison,stamford,dropdead,erasure,britta,lopata,badguy,farrell,hunters,cassius,ericka,tracks,router,123456789012,piss,8phrowz622,swanson,qazplm,balls1,dragon11,hawker,same,blondy,chastity,slippy,lindsey1,hatteras,claudine,ben123,skull,foxcg33,wicket,luciana,corporal,mazda1,index,trucker1,hills,rushrush,gotigers,eatme2,iloveit,ganjaman,meowmix,vegas123,sheets,geology,spice1,lacey,wiggle,rave,tim123,dude123,chelsey,rebbyt34,cletus,imhorny,hawkeye1,chin,mischa,mypussy,slayers,janna,jeffro,lizard1,klopik,123masha,talgat,1hxboqg2,rootedit,3003,123458,999777,100200300,universi,sexyred,sabrin,toyota1,priscill,yanks,okay,b123456,evil666,lexingky,david12,eight8,murdock,steel1,mandolin,teamwork,malaga,c3por2d2,smash,crowbar,dawns,gunner1,carefree,guru,rome,footlove,xrated,redwing1,muskrat,carmen1,giveitup,gspot,wilmer,reno,sexe,cleaning,blowme1,121212q,assface,rastus,andre1,085tzzqi,usmc0311,tanechka,elgato,aguila,fuckall,loveme89,test2,terrible,teufel,goodness,puppys,glenwood,ceckbr,retsam,star1,shiznit,samba,hottub,ufhvjybz,dildos,mongol,crowley,cool1,penal,1shadow,martin6,fulton,allright,goodwin,tucker1,sevilla,bobbi,latex,shift,claypool,car123,checkit,sydney1,vamp,imzadi,gandon,windy,julieann,greyhoun,063dyjuy,trivia,damn,shamil,pushing,reliant,booper,crevice,nyyankee,penfold,calamity,kajak,pagan,conquer,dewey,dillweed,pantyhose,cavalry,golf1,crank,arabella,forces,mauricio,jazmine,gophers,goodison,ayrton,123321z,bucs,loudog,tobacco,spade1,corpse,kayak,plaster,seviyi,ally,luv2epus,moment,12345c,taxi,noob,hackerz,thewall,tigre,alphaman,simcity,bowl300,pedersen,jackdog,feedme,44magnum,apples1,barnaby,written,blank,soledad,assassins,qwerty777,boris123,01478520,jared1,squire,drevil,arse,harpua,angie1,slainte,indy500,marusya,summer12,helpme1,augusto,bachelor,badnaamhere,nevermor,mattingl,lavender,patate,raster,mattmatt,texass,headshot,open1234,topsecre,boot,boobed,mariko,renat,mckenna,brigada,donald1,088011,gordon1,cute,batgirl,hotchick,banks,monique1,willow1,fabiola,alanna,cordelia,boliva,polar,titan1,akatsuki,fresh1,openopen,geraldin,freeland,mike01,rodriguez,princessa,miranda1,federica,5hsu75kpot,gbgbcmrf,ragman,0102030405,fabienne,abudfv,k.jdm,mamita,hellow,babygir,santino,carthage,raul,corsica,moonshine,chrissy1,touch,lucien,brother1,naomi,uzumymw,gooddog,aquafina,carney,voland,dbnfkz,catholic,indycar,bryson,bassett,alexandru,dawgs1,123456abc,police1,loveyou2,deepblue,argent,novifarm,alright,holiday1,black123,ducati99,mannn,selene,moonstar,finnegan,contains,schatzi,amores,nbuhtyjr,sexy12,satanas,johndeere,ultraman,samantha1,ocean1,dbnfkbq,r2d2c3p0,badkarma,teejay,wahoo,funeral,random1,lenin,niggas,swallows,seraphim,bigbad,damned,baldur,wendys,racoon,peter01,marco1,hawkwind,ruffles,hatchet,vwgolf,colts,zydfhm,harding,labatt,tiger7,assclown,crunchy,redneck1,mailbox,jamaica1,cerveza,catalyst,davidd,password3,passwerd,pepsi123,open123,mind,colony,classy,lives,trojans1,blaise,shiraz,fastcars,polinka,rundmc,pantie,failsafe,iris,insertion,modem,dkflbvbhjdyf,passed,hilfiger,businka,bronco1,55chevy,caffeine,klein,cipher,qwerty77,margaux,jacker,igorek,ella,pornpass,smutty,stas,matvey,123258,253634,427900,515253,1725782,12345432,32165498,74185296,3216732167,whaler,michael3,stuffer,sphere,divorced,bartek,anteater,anette,mustang0,redshift,fenton,cableguy,killroy,kingsize,collecti,2w3e4r,buffalos,steve123,resume,bryce,xxxxx1,brutis,warehous,bayliner,axel,catter,crusade,flow,soup,kilgore,shanny,basser,pitt,kilo,charles2,smoked,pattaya,coolboy,solrac,suikoden,year2005,bench,shyguy,lumpy,gangrel,dakine,buffys,billion,develop,bushed,porn69,single1,whoopass,press,0o9i8u,gardens,marigold,kermit1,yyyyyy1,allan1,aqualung,jamison,summer01,arcade,titus,wedge,steamer,perro,ricochet,days,jaydee,liam,woodson,hippos,cumeater,chico1,jesuss,rickey,kasumi,ninguna,112233a,rand,process,pamela1,nicki,ralphy,christy1,1sexy,nichols,goldman,112233q,margit,transfor,hart,roland1,coffee1,papaya,carlson,jackets,arslan,felony,andrew12,haynes,indiana1,strange1,dart,alexandria,alessia,garth,joseluis,centre,leno4ka,saab,learning,kathrin,wolfwolf,thorsten,carol1,luckyman,tennessee,kirby1,needit,hallmark,saturn1,leeds1,tiller,alex11,mahal,gfnhbjn,polarbea,cvbhyjd,louise1,gfcgjhn,blackie1,mostwanted,heretic,loveme1,pentium4,poopsie,all4me,raziel,erwin,1qaz!qaz,anduril,resource,tail,darlin,prime1,broodwar,xterra,jimmy123,golfing1,opensesame,nadegda,ninanina,8phrowz624,chemistr,ward,gulnaz,qwert12,numlock,prison,nitrox,morozov,januar,gfhjkzytn,aeynbr,porky,lol1234,prospero,brownies,flyers1,master01,pipers,mamma,mindless,rakkaus,cobraya,mywife,darker,ytrhjvfyn,percy,licorice,allstars,kosova,angel7,memnoch,lalaland,giacomo,schastie,crfprf,arsenalfc,durden,teabag,alpha7,barakuda,stell,floyd1,westham1,pluton,bondarenko,marykay,anatoliy,wysiwyg,stampede,dane,ananda,myhouse,carissa,loveyou1,saopaulo,tinker1,jamesd,passions,dream1,mexic,loll,freeme,mobbdeep,flintsto,endless,lovegod,covenant,sound1,robert2,tigress,kabuki,capri,dance1,nessie,beers,serial,boober,trophy,zhen,phillip1,lemming,mapet123456,steak,yodayoda,vladvlad,pleasant,vergeten,funky1,calcutta,bmw525,3465xxx,halibut,incest,muskie,vfr750,hangman,yfafyz,manhattan,sailfish,summerti,revolt,righton,foxhound,budget,gunsling,gonads,lusty,h2opolo,coolone,bluedevi,boswell,yess,thornton,patter,boilers,backspac,snacks,rosalie,victo,daffodil,pussylicker,crush,10sne1,magali,chaplin,essence,pochta,redrock,sergej,ghjvtntq,blindax,197,9000,123454,333221,456258,963369,1212121,12041961,13572468,48151623,123321456,rerehepf,niceday,counterstrike,titanic1,burly,forumwp,dolly1,sceptre,mickie,mustang3,alfons,whodat,baphomet,cloggy,lionlion,kasey,bob,longlegs,flora,limpone,oldone,fire1,oilman,gwen,norm,bastos,christ1,abdulla,biff,gato,zxcvb1,kostas,hot123,fred123,starsky,dapper,good4u,lemieux,amador,thunderbird,nippon,invis,falco,conan1,lockheed,voiture,rockroll,regal,jeepjeep,parking,derby,diddle,drink,adam25,sandys,marcus1,adam1,bigtoe,hands,henderson,wicked1,laugh,takashi,ladles,ducksoup,sully,palomino,test11,grey,shroom,buster01,taste,pine,yesterday,maxfli,cabinet,dann,mosquito,buggy,leah,01011963,aruba,sabian,1asshole,26exkp,forklift,number9,jerusalem,dddddd1,dennis1,nomar5,planning,teenie,aquaman,maribel,jesusc,backs,psyche,booty1,hometown,aces,prisoner,sexton,toons,just,bigdave,request,franz,theory,away,quack,ltdjxrf,milenium,vegita,jodeci,kenya,lounge,meltdown,mammamia,caribou,postov1000,world1,anita1,pussylov,flapper,fancy,pops,name,evgenii,pump,elrond,tigger12,berkut,bully,cadets,import,limpbizkit,biceps,saphire,redhead1,theworld,points,ilya1992,culture,user345,juvenile,jumping,omsairam,speedy1,12345678901,whatever1,dustydog,yfnfkbz,afrodita,aria,antoshka,wasdwasd,ambition,raoul,arrow1,gannon,gumball,gillette,champions,acoustic,forums,charlie3,pennstate,reeder,wheel,bball1,smooth1,colombi,khalid,teste,celticfc,tooltool,horsey,hollis,zhenya,bonghits,solidsnake,oldschool,mymother,romana,longtime,01011955,asasin,matter,yfhenj,cumonme,cristiano,nolimits,galaxie,noriko,michael9,tested,delivery,messi10,lotion,essendon,ratdog,legoland,tashkent,skyline1,sargent,plague,rhfcfdxbr,asterios,nbvjif,seahawk,dominator,pleaseme,vicecity,junkyard,nokia3250,aloha1,magnavox,count,investor,amos,connection,focus1,mommie,natha,whoami,lakings,katharin,frenzy,filimon,hellohello,lauras,33rjhjds,bunnys,march13,gogeta,fightclub,franki,1a2a3a,illumina,copenhagen,denny,lopas,metalgear,thinkpad,tkfkdgo,bastard1,fenix,lovesme,swanky,lovefeet,billiard,walters,bareback,cinderella,touchdow,elise,limpopo,gussie,rooster1,coolbean,galadriel,third,rincon,showboat,shabba,creatine,dominica,bones1,intense,dahlia,fucing,123rrr,rainier,truckin,socrate,beeper,sushi1,shipping,sideways,buttplug,sorry,matthew2,searcher,hartman,jenni,chesty,nickle,your,appleton,sandi,garry,getsdown,tandem,goldfinger,pioneer1,volodya,chillout,erasmus,october2,meeting,ohio,danmark,qwezxc,ronaldo7,d12345,westlife,madiso,gfdkbr,prashant,thelast1,vadimka,mateusz,5566,10000,111666,124356,131415,135799,145632,315920,322223,555000,555556,789852,1478520,13576479,159753123,333666999,walter1,tristar,1footbal,rakesh,hayes,sandydog,mustangg,angelofwar,blue69,film,151nxjmt,goheels,puerto,gsxr600,primera,vesper,rubbing,lucas123,smuggles,peoples,cisco1,bethan,cwoui,aaaaaaa1,schneider,ketchup,version,nonsense,psychnau,valdepen,bantam,petter,hateme,memo,charm,dupa,shadow2,kirkwood,dragon99,party1,anselmo,camara,schule,sting1,ultras,weapons,level42,walker1,roygbiv,skazka,fifty,scottt,snoogans,adelaida,1batman,2wsxzaq1,glove,yogurt,noonan,vols,boring,satchel,raisin,wrong,curly,1killer,indica,dina,liver,pick,trustn01,splurge,obrien,chisox,cretin,fairway,crimson1,rapid,alec,kovalenko,passfind,forgiven,wisconsi,letmein22,ballgag,elite1,boss302,carwash,mike11,nata,derevo,makoto,carmelo,asphalt,mavericks,lineman,asssss,stink,nikko,sailor1,azteca,tartan,erfolg,cavallo,agyvorc,warden,twodogs,melon,joshua12,behemoth,price,123321qwe,iloveu2,remy,romain,audi100,tuffy,7hrdnw23,chosen,ghjnjrjk,sixtynine,flossie,swansea,maroon,marsik,horus,bluebear,8ball,titlover,kilkenny,jackel,agnes,glen,reset,mycock,cfiekz,rice80,zaq1xsw2cde3,tuttle,viper123,destroye,zcxfcnkbdf,baraban,teres,satan1,mariano,chocolate1,ashlyn,abigail1,codeblue,dunkin,slayer666,haley1,minotaur,scoop,tales,havoc,goodstuf,argonaut,annabelle,lucky777,number6,leilani,baldrick,nitrous,metropol,hernandez,adonai,footbal1,juancarlo,fuckyou123,pipiska,agnieszka,armitage,bubbaa,indonesia,empires,arioch,favorite8,bartlett,cognac,sauce,master11,apelsin,powerade,chobits,shadow11,parliament,bladerunner,batigol,charms,tracie,firework,language,besiktas,baltika,vfvfvskfhfve,01011962,1a2a3a4a5a,gilmour,mackey,salt,orlando1,isabe,aleksa,gfhfljrc,krasnodar,lunar,blink18,topless,makarov,tarantul,meaghan,overtime,fy.nrf,davecole,jetson,wonton,mousepad,browneye,talent,brenden,schwanz,anderso,violeta,ecstasy,browne,brianna1,nacional,dfghjc,red12345,vfhbyrf,mathilde,doodie,yukon,kiko,venezuel,kochamcie,vthctltc,buddha1,bianchi,favorite7,famili,wildcat1,hounds,aztecs,k123456,andover,goodone,ryjgrf,metalica,skateboa,pieman,shooter1,olivia1,silvana,orange12,redbeard,paulus,louis1,nectar,rocks1,sampson1,colour,schwartz,theflash,perez,natalka,hitter,fucke,nokian70,nfvfhf,tyrell,pass99,lugnut,omanko,gy3yt2rgls,fuckup,oscar123,derrick1,side,grant1,embassy,riviera,nomads,stew,femmes,zhua,puddle,asd123asd,jackman,cubano,carly,myangel,scruffy1,brutus1,bizarre,longdick,network1,clitlick,raffles,1buster,fathom,ghtktcnm,nosferat,fomoco,penn,dumpster,judge,dirtbag,jediknight,nighthaw,rerfhfxf,charlies,dvader,shady1,overload,kitty123,morlii,passw0r,tamuna,ladygaga,hotsauce,dmitry,dimasik,hfleuf,htubyf,100001,123369,124816,233223,333222,444777,500000,1233211,1234432,3234412,3263827,7415963,246813579,eric1,coach1,sallas,lisboa,mnbvcxz1,discreet,diabl,interex,neal,brasilia,birdie1,nvidia,rajesh,access2,amir,posture,griffon,repytwjdf,sheltie,daisymae,killyou,author,gixxer,tacit,fuck0ff,whopper,leone,nascar3,janus,sensual,simpson1,david2,meyer,plus,champagn,birthday1,grifter,vincen,asdfg1,closeup,spinach,autocad,3e2w1q,story,mill,jacks,riker,samhain,iawgk2,aztec,07101962,beethoven,chocobo,katy,greek,adrien,1lover,nelso,fluffy1,clues,eek,discount,wade,mikki,papichul,conman,ranchero,1jennife,dove,auction,waves,sassie,characte,k2trix,eighty,classic1,bodies,lovesexy,thissuck,gunsmoke,crappie,khalil,gohogs,pooch,orca,olds442,jerking,gibbons,darts,maryjo,slut69,shana,bible,gubber,moneybag,masa,cowman,ndirish,bypass,bumblebe,halfmoon,airborn,jim123,gremlins,zzzzzz1,juno,muff,thatcher,jerem,karla,lind,televizor,vostok,telecast,atlas1,davidj,relief,torment,1fuckme,aziz,pelikan,southsid,micha,picker,1harley,mormon,guide,sex1,henderso,mettss,fuckfest,gregg,kylie,chacal,foghorn,hornyboy,retail,farcry,karapuz,print,realms,tities,multisyn,michael8,sector,dagestan,qweqwe123,123456789abc,nubian,yasmine,hellokit,blowjobs,jelly1,toggle,balle,ocarina,booties,cheer,soda,boscoe01,joachim,tristan1,doggone,thematrix,wsxqaz,badlands,galactic,donkey1,commodor,kings1,soccer2,passion1,jamila,mackenzie,knockout,tess,anjali,malcolm1,bigpimpi,sneaker,brian123,winchester,main,snikers,flhtyfkby,carter1,hrvatska,d123456,only,tactical,imcool,nikitin,octavia,svetka,hondacivic,dreamers,spartacu,syrinx,afghan,brabus,marietta,ararat,timeless,sable1,steelhea,ctdfcnjgjkm,watashi,conker,welcome123,myszka,dragon7,lostsoul,jagr68,poopy1,wilso,123456h,rubbish,doodah,angel13,evgeniya,rfkbyf,hibernia,q1234567890,mansion,cashman,seren,loredana,123456789n,kukolka,sinjin,lfhbyf,pi314159,patit,farter,fkmnthyfnbdf,razzle,biggdogg,knife,oriflame,rats,gtkmvtym,totally,crisis,joyce1,daytime,rockydog,pasport,ytyfdbcnm,micke,manana,dimebag,online1,mothe,redfive,georgi,ganesha,internet1,iwantsex,rasta1,tigger01,vitaliy,ghbrjkbcn,mugwump,reporter,chucha,knulla,petra1,ashes,avgust,frontera,bigpapa,grape,tony1,ganjubas,rodion,venezia,signals,pendrago,1234567u,intelligence,haribo,hotbabe,elisha,rocketma,hammerhe,darkmoon,thematri,popsicle,jewboy,boggie,rocketman,hellome,ruger,viola,ratfink,glock17,semen,force1,margosha,geisha,68camaro,ibilljpf,kevins,bigstick,lehman,1bigdog,westie,salad,milford,sweet16,gypsy1,voyage,jukebox,jackso,riches,martino,stephy,shrike,jadzia,passage,democrat,iloveher,otters,milashka,floria,biggest,swede,matt1,hoes,funnyman,sawdust,emachines,rob123,playboys,randal,twiztid,charl,dave123,satriani,lolwut,wobble,lucky2,susann,faulkner,gospel,xavier1,suzie,tables,roderick,bloomin,rjyjgkz,johnn,lowdown,ghjcnjghjcnj,strannik,satin,megafon,thomas12,123123e,marko,ibill01,ghbdtn12,admin18533362,15151,135531,271828,777444,1231231,1233210,1475963,2234562,5641110,7555545,12233445,159753852,777888999,domenow,wowser,stroller,jerryg,014789,tazdevil,dale03,sarah123,crossbow,bigg,rocco1,abc321,08154711,critical,borg,oldnavy,freetime,001100,kingrich,tupelo,funhouse,clarion,lynne,hun999,playful,capt,coop,swat,trader12,parade,dickman,bogie,prasad,heart1,roberto1,billyb,metals,billing,013579,dave1,material,hottie1,toxic,shining,lemond,whkzyc,njdevils,mika,hotwife,hrfzlz,diane1,gravel,thunders,aman,nose,mounta1n,murat,andros,jana,inform,royale,internat,camaroz2,paper1,damager,mage,toshiba1,pinewood,dick69,1qay2wsx,2wsxcde3,nihongo,thinker,trust1,august1,jabba,stockings,elena1,egorov,hiroshi,sure,futures,boobs1,holeinon,mazinger,oneton,empress,%%passwo,vampyre,canad,pokey1,clocks,hooch,jamest,2cool4u,college1,8balls,treacle,ak1234,blazin,bonefish,pass01,islands,homies,xmen,blue45,fairview,bigfoot1,funn,cramer,million1,chewbacca,enfield,piramide,patrick2,juggle,chump,sc00ter,galahad,winter12,bettie,inches,decatur,hatfield,blueline,fishnet,underworld,piranha,nino,lager,freight,catfish1,orland,bourque,bound,maxman,jiggy,yackwin,girlfriend,bateman,interpol,sydne,tide,dandfa,windstar,tenpin,skittle,bluegill,edith,brat,lizaveta,fatpussy,isgreat,stlouis,bereza,baloney,st0n3,beckett,camaro69,wacker,jeeves,gobucs,player69,hommer,therion,cadence,beluga,polgara,samael,josef,crazy8,qqqqqq1,group,warcraft1,a123321,qwerfdsa,income,nutsack,peterose,qqqq1111,viewer,marduk,architect,mansur,mutabor,bitchin,zamboni,123456p,ckfdbr,123456zxc,mofo,allure,mclean,13579-,jacque,smurfs,truffle,marcie,gimme,jack123,qazedc,rosette,centrino,marx,aguilera,amherst,paula1,nikit,sega,photoes,herald,kobe08,wonderland,bingos,memorial,midwest,trashman,danielit,green12,asd1234,fonzie,clubber,invader,artofwar,lexicon,keys,puckett,metal666,dripping,flamer,mansell,flapjack,kassie,123xyz,samwise,raider1,newworld,organic,landscap,verify,cristi,temp1234,23176djivanfros,salamandra,vbkbwbz,ljrnjh,123456789qwerty,null,oktober,deimos,dzxtckfd,sobriety,tookie,casa,angeleye,yecgaa,hotcock,saturn5,thetachi,dickface,iddqd,advocate,nasdaq,schoo,marma,nokia5300,edition,gemstone,minion,nonrev67,amormi,godofwar,smallville,qwertasdfg,dthjxrf,rfntyjr,mashina,audis4,lisa69,stamps,astroboy,woodward,armenia,delores,ubnfhf,cyberonline,galatasaray,vbkfyf,sexybaby,hendrix1,mitsubishi,notredame,blacksun,qazxswedcvfr,vittorio,azsxdcfvgb,tillie,shakti,karamelka,shadow13,capa200,novikov,catalin,qwertyasdfgh,glamur,mobil,cathy1,devils1,patryk,hitomi,dominic1,gallardo,rjyatnrf,imperium,inflames,bugsbunny,nicholas1,vlad1996,arina,jakers,dragon88,connie1,astra1,connect1,ukraina,freezer,piedmont,bagwell,qwe789,grassy,katrina1,davidm,dorsey,blade2,bigdogg,pheasant,blastoff,ginger12,convoy,venus1,steves,pablo1,tuborg,indahous,laredo,ilovemyself,parasite,voltaire,123456j,touchme,delano,banjo,bronte,robinhoo,wallace1,seven77,newage,cummings,shorty1,jimi,polska1,laracrof,bosstone,quixote,tribes,justin12,system32,zebra1,pigdog,bluenote,nibbles,flossy,islam,sk8ter,brentfor,shari,goldmine,wellington,bassist,manner,forty,goodtimes,michi,camill,mousse,colgate,budda,wtpfhm,schwinn,holley,sincere,dewitt,wantit,humpty,exploite,giddyup,dopey,greedo,mewtwo,salute,reverb,morgen,useless,lapdance,cvzefh1gkc,mania,water123,killemall,guyute,joyride,nelson1,matvei,marlowe,driving,velcro,pusher,lfybkrf,craig1,bublik,fantastic,rocking,scooby2,cnthdf,covert,ramazan,gail,iwantyou,repytwjd,radiance,lethal,ruthless,sweethea,peter123,poohbea,volodin,olechka,kapusta,01011957,89600506779,sandeep,pablito,damage11,212223,235711,524645,555444,5550666,748159263,987412365,pissant,michael7,caddis,chicke,country1,pogo,jerrys,haters,cumload,raccoon,epaulson,perils,slurred,hermit,cards1,powerpc,kalle,ariadne,bungalow,drag,patsy,semaj,garten,brandie,tripp,chatte,jjjjj1,gggggg1,ppppp1,loading,stomper,seller,jamal,cafe,1aaaaa,john1234,aurelius,monet,man123,buttsex,gifted,merli,cuba,etienne,grainger,charcoal,eatmee,marisol,xytfu7,stand,vulture,ronaldo9,soraya,kona,homebase,yannick,take,lana,adrianne,1chris,sensatio,1george,1bubba,1diamond,1golfer,burke,mclane,conejo,edwardss,crybaby,3edcvfr4,1qw23e,terence,george12,dune,lazy,playoffs,passe,lovegun,king123,closed,andreas1,month,panchito,frantic,jys6wz,train1,out3xf,picard1,munchie,fellowes,thirdeye,alfaromeo,hellion,isacs155,paige1,joanie,dominus,hubbard,roodypoo,stars1,mcleod,oops,scooters,dbrf134,sludge,paul123,tahoe1,bugsy,etnies,jesuschrist,maverick1,dragons1,ashman,palmetto,sylvania,gerardo,tobago,favre4,hansel,thebes,vertical,psycho1,aurelia,fordman,chanda,callme,w1w2w3w4,launch,proteus,melbourn,desperad,save13tx,relax,angle,hotwheel,bretagne,arabic,trinket,starla,300zx,phatty,caspar,sportste,aida,pickett,terrace,ship,raging,madsen,marcy,vatoloco,ghostman,jedimast,pringle,futura,bungie,prakash,muncher,sunrise1,clinton1,blingbling,pembroke,fatim,arsehole,barret,slayer66,animal1,framer,bored,psychnaut1,bonito,begood,started,mollys,harlan,prairie,braden,odysseus,pizzapie,silver12,desires,alpha12,accent,reverse,driver1,guess1,wargames,elissa,winkle,give,mysterio,darkknight,actor,career,integra1,blondi,westcoast,scotia,xfactor,banderas,4r3e2w1q,crabby,fatluvr69,trilogy,xsw21qaz,denisa,yjdsqujl,felice,slimed123,kawaii,malvina,1q2q3q4q5q,sailormoon,habana,varsity,current,big123,sameer,levi,tele,spanks,indians1,babycakes,sarahs,teddyb,schweiz,mack10,rouge,creativ,scoob,wooster,diesel1,oldham,pussyeater,ghfdlf,nikita123,muenchen,sashok,yana,qwerty22,medicina,gabriella,cristia,alex22,stussy,petersen,mara,cyber1,mercy,den123,izzicam,warpten,nokia3310,samolet,reaction,scott123,whosyourdaddy,prikol,black2,egorova,auralo,japan1,rafae,astoria,carcass,bill1,tagheuer,dexter1,weeble,xthtgfirf,1234567z,kochanie,oc247ngucz,carioca,manish,gianna,orkiox.,kingair,squish,1111111111zz,tired,porn4life,anatomy,snooks,illegal,warped,slimer,littlebi,siberian,limerick,toys,xboxlive,spawn1,ignacio,gaffer,parish,rostik,lunch,baile,mopar1,desk,kratos,prettygirl,calvary,moonpie,thejoker,greeny,coyotes,cleric,riding,cuntlick,metalman,freak1,chantel,pounder,leiceste,osborne,handcuff,warhawk,temper,princeton,trolls,kailua,peaches2,minister,three3,billys,wife,cum4me,sitruc,firestor,rhapsody,nodoubt,angels1,jeronimo,denise1,makemoney,annemari,ironmaid,utvols,chevyman,resist,bungee,ready1,hugecock,refresh,tooshort,primetim,yogi,sylvester,compa,thomas2,lasher,oceans11,tugger,richard2,passing,valdemar,jetaime,bear12,yendor,toobad,goodies,death123,outcast,safe,darkwing,taylor12,wipeout,chrism,jeepcj7,nikitina,abrams,jaws,nickname,yomomma,coopers,cereal,flyaway,caitlin1,slipknot1,muaddib,nelly,123456o,ramone,dima1996,fnkfynblf,skypilot,newstyle,levani,0wnsyo0,123sas,258741,335533,451236,479373,554455,555888,741236,852654,951159,968574,12332112,13579246,96385274,159875321,326159487,789123456,1223334444,alvarez,timbo,luckyboy,mullins,asecret,booby,ramair,miss,2112rush,chicas,duranduran,hiro,gunman,daily,pescator,dte4uw,gaetano,chapin,merrick,linsey,brayden,rulz,police22,giovann,trina,candi,silva,bakers,boner1,burnley,bbbbb1,thebomb,elite11,birdy,sexslave,hobbs,ganster,buckie,bosworth,heinz,mulberry,elohim,willys,purgen,waterfall,skeletor,plant,annett,pulamea,mccabe,caballo,rule,human,disco1,itworks,santo,steph1,idiom,walk,asslick,gaysex,bebop,creep,notice,pepsicola,winamp,octavian,love22,serebro,qwerty00,eeeee1,123123123q,detail,itachi,ilove69,squiggy,w4g8at,macho,montauk,dwarf,terrie,1jordan,4snz9g,hot2trot,blue33,thug,delorean,bianco,matthew7,step,ishikawa,simeon,magyar,baldy,bullets,explode,hash,boggle,burgers,alias,pedro1,primo,document,jessika,retep,zorglub,wilcox,fistfuck,dixon,barnett,fredd,pedros,gfhkfvtyn,omega2,runner1,gorman,sexyguy,seagate,whitney1,jailbird,arrowhea,tainted,sexbomb,casablan,creek,qazxswed,moneymoney,miroslav,dagwood,showcase,bulldog2,barca,omega3,collette,polkmn,sorcerer,sex6969,pato,hemicuda,saber,hotel6,stargaze,funguy,1111aaaa,tweet,polka,weirdo,imogen,bling,adams1,conflict,ironhead,shorts,smarts,bones69,fuck777,moosey,winky,cnhtktw,fktrcfylhjdbx,poppet,char,checks,vfnhbwf,scimitar,nikolaus,mikaela,ashish,oriental,trippin,hellothe,parole,nordic,chatter,reverend,ronaldo1,oven,negrit,whiskey1,edinburgh,gemin,hondacrx,zaxscdvf,latvia,zepplin,popular,voltage,kitten1,slap,rebirth,voetbal,as1234,order,anton123,pervasive,kelly123,goodnews,astonvilla,cheval,milagro,pepper12,stewie,ashley12,cachorro,imback,truckers,sysadmin,olivetti,89015173454,mamedov,petey,rjcnbr,multimedia,daddy123,navarro,manitou,symphony,sanjuan,toronto1,emachine,fktrcfylhjdyf,phuket,asdfjk,danni1,malcom,cnfcbr,regret,scotty1,bonfire,vaz21099,sandals,reklama,violent,slammed,joselui,plover,smarties,healey,wars,roxana,stanger,sunita,hanover,genesi,frankfur,godwin,horny69,gfhnbpfy,bubby,svetlanka,cuthbert,steward,password4,alcat,odette,blue21,stealth1,naked1,declan,nagrom,yardbird,godfrey,morkovka,atdhfkm,gjgeufq,dmitrii,kisska,qwaszx123,virtua,dragon22,arhangel,percival,fresca,minako,kban667,muaythai,whitman,nyknicks,mahalko,yorkshir,rodrig,enkeli,echo45,molina,junction,guitarra,tatian,hereford,sweeper,badger1,tippy1,tightass,metro1,hoddle,jackson2,taekwond,island1,phenix,moses1,millerli,layla,cstrike,123123qwe,staple,qwer4321,division,gr8ful,feyenoord,solid,morrigan,dtythf,hello2u,apathy,parolparol,vermont1,kamehame,round,jake12,arschloch,catlover,whatthefuck,madoka,bigshot,bagger,dogfish,calcio,direwolf,karmen,jakedog,reaper1,1357911q,rocheste,pittbull,hondo,rache,roma123,bethann,jobs,bernard1,terminus,walden,trigger1,pennst,grandprix,future1,drinks,comicbook,japanes,excell,jeanie,sonnyboy,sexboy,bennett1,daniela1,twingo,moneyy,lickem,slydog,rumple,lucinda,logan5,eltoro,parties,lawdog,gibbon,helloyou,gunter,jimmy2,fencer,starks,redtruck,trex,cuties,chevyz71,miko,header,walkman,1nicole,surfin,kosher,kindbud,morrisse,trafford,update,mymoney,match,evenflow,concert,geneviev,marisha,oneshot,konfetka,knowledge,irvine,halflife2,laxman,maus,sk84life,fuck12,versus,123456789w,dawg1,denis123,12344321q,fyutkjr,ghblehrb,lbfyjxrf,dron,lollol1,kurosaki,4000,123333,123666,567765,789321,963741,976431,4637324,11121314,19844891,21125150,132465798,243462536,tommys,brandt,bmwm3,redbirds,mint,skelter,westport,rock1,slacking,crysta,soldier1,hosted,annual,makemone,indiglo,strings,antonius,legal,3some,bogey1,culo,olivi,frehley,eadgbe,talon1,541233432442,dmitri,patriot1,fish1,hoss,weights,takehana,12345e,robert12,ratchet,germaine,chain,becket,rotterda,vicente,fcbayern,pirata,toosweet,love13,nolove,380zliki,knarf,startac,milesd,schwarz,1robert,coast,4free,warhol,figment,bellevue,bayview,prizrak,arigato,sallie,scores,monica2,tiramisu,1daddy,reggie1,mambo,belarus,wetlands,practice,12qwasz,sssss1,luckey,watermel,paulo,platoon,johnmish,orange8,gump,natas,seraph,t34vfrc1991,hecate,melville,stuttgart,fffff1,bolivar,muffi,check1,westgate,hr3ytm,theraven,superdup,folder,skoal,mzepab,maria123,winifred,adagio,benning,abulafia,al9agd,oemdlg,dhip6a,cranky,7uftyx,antioch,trustnoone,papercut,energize,oriole,barnsley,alexan,hoopster,eightball,toughguy,babygurl,moore1,deadeye,fermat,azer,dalila,doctor1,mahoney,circuit,blanket,spooky1,nada,razorbac,paints,schlong,brazzers,cornholi,champagne,singing,yokohama,bigboi,kaya,brew,firetruc,thurston,epiphone,gateways,chicago2,mexico1,transam1,seven11,edwar,proverbs,bulldo,patricio,pionee,good2go,ellen1,brianjo,davida,puravida,shocking,baby1,123456qaz,chasey,warfare,durand,tremere,vfhrbp,glorious,catch,soccer15,strategy,q1w2e3r4t,stallone,payne,nails,jeter,ishtar,bugaga,arisha,sunderland,seven777,a12345a,carrier,sandy123,capitol,stringer,penner,yingyang,kramer1,chevy454,anamaria,ilovepor,ghandi,beauty1,gfhreh,asdewq,ashanti,tough,shannara,kremlin,whatisit,niunia,config,kakaroto,friendship,nurbek,buzzsaw,candid,superboy,cellular,dress,maricon,pacifica,teacup,weedman,annabel,phantasm,antman,salvation,finalfan,cogito,yummy1,sepultura,azerty123,adida,tigerlil,adrenali,hellbent,mina,guderian,samurai1,grimlock,airwalk,playbo,anklet,aenima,pampers,caller,baltimore,render,arena,wilson1,beaut,airforce1,asdasdas,girdle,rebelde,newlife1,batter,texas2,seafood,dahc1,cheesecake,rebecc,testme,swindon,izabella,123qaz123,kardon,brindle,shotgun1,northsta,sherwin,rosetta,kindness,kusanagi,diceman,junfan,alaina,shake,charlie9,malishka,aa1234,szevasz,pepit,robby,iskander,fgjrfkbgcbc,rfgbnfy,katenok,123456789qaz,555555a,a123123,cabrio,home123,dreamy,55555a,aol999,sammyboy,bagpipes,dimarik,4rfv5tgb,reward,ismael,aliska,cjrjkjdf,barsuk,froggy1,3girls,lebron,celtic1,mamit,freedom7,buldog,alyssa1,vfrcbvec,utility,butter1,mello,cfhfnjd,favorit,haha123,kellys,oliveira,tigerwoo,brewers,garrett1,cnjvfnjkju,lover69,cambodia,centurion,anime1,warzone,verity,colette,vfiekz,rediska,neptun,onclick,fidelis,piazza31,boogie1,spandex,1234qwerty,ihateu,liberal,ostrich,doremi,shelia,scooter2,mickeymouse,vjhrjdrf,rainbo,creamer,ilona,rolando,grasshop,snotty,colleen1,bauer,wonkette,ernie1,melonie,vasya,patrick9,jake1,klootzak,jake123,geniu,trouts,vsijyjr,britain,landry,later,bubbadog,mustang7,ghbrjkmyj,makarova,effect,kohler,beto,travelle,tiedup,chevron,deere,elvira26,steelers1,compusa,reject,bootneck,biggin,red1234,watkins,cuckoo,sharo,gohawks,ou812ic,000006,bobby123,nutz,yoohoo,redsox04,ladybug1,fuckslut,bigdee,mcgwire,canseco,joann,hotpants,shaw,slaves,aluminum,grizli,mylene,nodrog,adelphia,frederi,tavern,thomas01,golgo13,crime,mcguire,coffin,password69,supper,lolit,stalker1,matches,panacea,keaton,r12345,portman,prefect,lakeview,jonathan1,medieval,lollo,hammers1,towing,flavia,neogeo,all4u8,longbeac,lina,ravage,networks,joness,cinders,lesbo,jansen,albania,larry123,hansolo1,4904s677075,kirill123,paul1,jemoeder,shadow123,oddjob,reddragon,w12345,respekt,kevi,12345i,dawggy,orlova,natashka,123555,222888,224422,242526,475869,12345671,12347890,19933991,44445555,135797531,1111122222,tincup,mrbrownxx,harley01,007james,flyhigh,sonnet,cordell,love23,strike1,apache1,freestyl,barman,hardhead,l2g7k3,pollock,celtics1,juergen,soccer7,maribe,ballz,yamah,mellons,shadow69,trashy,guns,mitten,weber,andy123,cain,fartripper,ggggg1,eeeeee1,superbee,turkish,knowledg,eyecandy,eugen,engel,topfuel,budice,eatmeraw,asteroid,crewcom,blister,khaled,cheeta,12345f,abcdef1,ellie1,agustin,spectra,doqvq3,kswbdu,browns1,parke,oconnor,cerbera,anselm,sister1,kitty2,divx,phipsi,tomm,maximal,franny,marimba,juster,bulldogg,mavrick,vander,merry,meyers,1william,c6h12o6,1james,flogger,carmex,letitbe,mylord,steeler1,kosovo,bobdog,redhawk,squonk,lamar,sycamore,tigerman,moss,009900,howler,cleaver,squishy,shiny,marky,bethel,pkxe62,2fchbg,ladydog,fun123,pascale,ewtosi,aaa340,mp8o6d,tyvugq,nowhere,hard1,tequila1,hunter01,tzpvaw,diogenes,macros,marillio,xngwoj,realdeal,greeks,larrys,ferrari3,craps,fido,cheeze,chilidog,lanman,winston2,mozzer,regiment,grogan,gerhardt,astana,asdf1,asakura,people1,soccer14,webb,davidl,power2,013cpfza,bmw325i,pompier,fredderf,hodges,nietzsch,bluerose,workshop,bharat,qpwoeiruty,symbol,12345trewq,hillman,woodys,ritchie,defiant1,dustoff,ganymede,chapel,maxie,thelema,clear,satanic,beasts,1234rmvb,freelove,daniel2,aqswdefr,pootie,numbnuts,quetzal,walley,siemens1,love2,juggs,whistle,kakadu,jay123,antigua,amanda18,minidisc,blablabl,voices,razdvatri,sensor,pakistani,maddog1,babygirl1,fylhtqrf,alhambra,alastair,ukflbjkec,gonefish,biteme69,kozerog,xcountry,hakeem,bigwilly,humboldt,faceoff,greenbud,colby,iluvsex,chester2,override,destro,bosnia,blacksta,scooby12,erick,sherpa,godson,rules1,jumpman,joints,biscuit1,beaver1,salamand,chantell,change1,acosta,poli,carmela,jenny69,milagros,kailey,coffe,chelseafc,paroli,memento,gtnhjdf,roxan,10inches,t123456,felip,mikhail,0147896325,lynx,darkjedi,katana1,blackrose,falcon16,godislove,aldo,region,q1a2z3,ghjkju,weronika,rankin,g00ber,agosto,haircut,blue13,vfhvtkfl,primrose,password0,london12,kukuruza,kozlov,rfpfynbg,farrah,jacki,dragon76,gaming,grenade,cristo,brit,kasparov,flipside,kadett,12345g,memyself,gfgjxrf,kidd,doritos,ghbdtnbrb,micros,dashadasha,blue55,wesson,hellya,daniel123,savant,ghbdtnghbdtn,juarez,valerie1,rfhjkbyf,boaz,evely,kukushka,latitude,barbie1,sistema,cthuttdyf,strelec,sonechka,xtkjdtr,chicca,belochka,atlant,atybrc,rerjkrf,gnusmas,rasengan,packman,transport,eater,marjan,ulysse,scribble,cdtnjxrf,jarred,marbella,sparco,landlord,1cowboy,blackber,alvar,elnino,carguy,selen,ameli,packers4,martini1,schlampe,red321,caro,assmaste,capitan,loulo,anasazi,natash,maxim1,mrhappy,golf12,shizzle,jledfyxbr,vika123,churchill,miracles,hoopla,timoha,ricardo1,password1234,07831505,pike,monkee,bigsky,nbvcxw,foolio,saint1,silverfo,lilly1,sabotage,tackle,baller1,spoonman,babyboo,bandera,fred12,cupcake1,swan,congress,chisel,gfhfif,bmw123,xrp23q,leo123,britneys,drinking,sideshow,ppspankp,4life,gearhead,bark,jamies,kamil,rope,hooked,q8zo8wzq,1winner,bassfish,batman99,queer,rider1,accounts,etoile,kinky1,federic,joking,dannon4,stratos,carbine,jigger,gamers,scottish,biggy,temporar,stump,multisync,boing,slinger,hollydog,scribe,neuken,12345678900987654321,bella123,kari,moonie,lovepussy,sumner,kaneda,lexingto,canadien,bluearmy,wrxsti,luzern,knives,bobbo,blythe,laverne,problem,dollface,letitrid,juventu,goodfood,super7,kelsie,peterbilt,getalife,porker,sunnie,shock5,stairway,driver8,rahasia,nakita,bonham,mills,troopers,halfpint,browser,westcoas,deusex,costa,steady,3stooges,toolshed,canes,buddy12,mattman,drdoom,timing,rapids,goobers,pepsis,buttocks,lausanne,sebastien,wildrose,doorman,iwantin,bocephus,loveme2,davi,pats,squeaky,nafets,jeanine,lottery,katina,kenyon,jesucrist,ghbdtn1,skyblue,bestfriend,graeme,qazxsw21,kallie,howard1,favour,kingsley,stacy1,dmoney,washere,greenwoo,problems,debate,sharik,coconuts,ibill123,08522580,florenc,lena123,fussbal,images,harry123,katusha,20001,113322,123234,133113,135792,333888,555111,557744,1001001,1212123,2583458,11924704,12345666,19877891,25251325,43211234,123123321,titsnass,connery,erika1,heaven1,123asd123,haunted,freenet,testme2,mabel,jumble,wallis,gnasher23,regis,greasy,sinfonia,rjw7x4,wavpzt,newguy,birthday21,gabi,dad2ownu,jaspe,fleet,maui,reksio,1pillow,019283,elaine22,mrbrownx,yyyyy1,iiiiii1,hhhhhhh1,curtis1,testy,spenser,dominos,probe,phaser,adolf,wash,matte,moby,suresh,shooting,qw1234,mitch1,hopefull,piotrek,jordan12,dolfan,gnaget,pwxd5x,tron,gotlove,replay,8dihc6,qbg26i,amtrak,upnfmc,herons,bluemax,trotsky,recycle,wiking,manzana,superson,commie,herb,ford1,lamesa,bringit,camell,joonas,serene,intell,leila,abdul,alex13,hyper,qwerzxcv,grubber,canela,ichabod,vibrator,1hunter,hillbilly,westwind,hotline,snowy1,1tigger,iggy,covers,piglets,bronx,frame,yakuza,alex99,154ugeiu,crypto,clarkie,education,gandalf2,corvus,ichiro,duluth,rosalind,paramedic,scenic,111111aa,schnee,opel,downey,lustful,g3ujwg,reddrago,wins,hufmqw,hellou,meddle,likeit,manwhore,mamasita,aassddff,sexme,powerboo,cracksevi,ford150,51051051051,davey,fidget,cup2006,383pdjvl,planetx,pipo,landing,rottweil,playe,karlos,nazareth,gudrun,tercel,paperboy,draper,bochum,adjust,scranton,notagain,2girls,springst,drumline,salamat,lagoon,powermac,woaini,duckling,rellik,iiiii1,canabis,rjynfrn,vestax,burbank,checking,kira,wiseman,african,brendan1,fontaine,wizkid,dragon2,romina,easy123,weiser,hotrod1,mask,jiujitsu,buckey,backlash,quark,pennie,2w3e4r5t,ancient,neuron,porn1,270873_,wells,colt1911,chic,hahah,knocker,myhome,bulova,shingo,thisone,gordito,jennys,judas,kickit,tolstoy,dingus,changeit,winning,possible,fucklove,mozilla,chipie,doma77ns,lostone,hoopstar,alamo,cosita,strangle,venom121293,frolova,corrie,hatcher,blue01,fabregas,ambassador,miria,vacuum,free4all,vbktyf,welkom01,guessit,assa,cuntsoup,12345zxcvb,blackshe,osbourne,catarina,moss84,chalupa,gargamel,anutka,gomer,attica,zealot,madonn,golf18,porno69,coronado,kaplan,chaoss,jizz,commodore,teiubesc,vfvf123,meatman,hellcat,outlook,promethe,baikal,melissa2,anuradha,berliner,jesu,painkiller,reviewpa,pepsione,cass,frieda,montes,salina,black12,slade,gtkmvtyb,rockport,harrypot,clair,newmoon,vodoley,confuse,positivo,teddie,derek1,maid,pflybwf,humper,foosball,kipling,foxtrot1,gonzale,viviana,riker1,saltanat,kjgfnf,vfvfbgfgf,hadoken,syclone,mythos,gigolo,biggs,kelly001,hamburge,duffbeer,jennife1,saywhat,amanda12,webhompass,a7777777,countach,wembley,cumface,piano1,bates,britney1,works,seagulls,grunge,anabel,alfa156,amylee,guatemal,zamora,gtxtymrf,liberta,helpdesk,mazdarx8,gfhjkmxbr,fuckina,gehrig,scamp,cruzazul,giselle,colon,pollito,hermos,lovecraf,darien,alici,castaway,dianka,gecko1,wings1,peoria,breakers,thisisme,master2,sherman1,almera,alpacino,mall,gamera,meadows,louie1,incognito,badone,defence,victoria1,annamari,suzenet,marissa1,rollie,quality1,cnhjqrf,manunite,qwerty21,andree,dockers,purity,package,sarasota,checkmate,boondock,vredina,garci,nokia5310,happydays,landrover,kfvgjxrf,chesterfield,opensesa,crossfire,senna1,apocalypse,thetick,wildblue,dragon66,junker,transpor,spokane,nec3520,locoman0,tenni,submarine,neveragain,nokia6303,moving,cookies1,powerup,galena,moneymaker,westbrom,haggard,autobahn,denver1,shua,cycle,jasonb,gazza,official,phantoms,wesley1,1patrick,benji1,suzy,wester,fatcock,new123,sprinkle,deepsea,samsara,julies,maldini,quick1,purchase,1hello,drivers,client,shayna,interests,mets86,dryden,dothedew,defjam,billy123,felixx,scales,010203040506,number2,binger,nigga1,chicken2,libby1,kevlar,mgoblue,shakey,sparkie,paterson,gizmo123,sandrock,binkie,bubber,shaka,tommygun,hockey12,pimp69,usmc1775,open4me,fightclu,caps,audia3,kasia1,tanja,thunde,gandhi,mauser,lakers32,griff,gorgon,dragon23,bigbuck,heybaby,bridgett,lexi,iloveyou!,society,smokeweed,gibsonsg,firefighter,ozzie1,funsex,seagrave,darla,bourne,madhouse,bookmark,soloman,caruso,sissy1,tristen,[start],mookie1,its420,one,panty,broncos7,windex,dobson,bells,teri,vonnegut,robbie1,drawing,bolivia,fighters,cachondo,kasandra,chelsea2,homersim,eros,syncmast,spirit1,hayward,doraemon,chaotic,nurse1,roxie,vasilii,farting,taras,rodeo1,croatia,john11,lol12,f00bar,alpha3,samsung2,cherish,puller,berries,eugeni,tyler123,rfnthbyrf,tease,handler,pepino,montagne,patel,4wheel,graffiti,smile123,trusting,newports,topgun1,shank,perico,treat,lfiekz,hjvfyjdf,qwe123asd,cresta,sogood,tmoney,woogie,kbytqrf,lost4815162342,kozlova,mobil1,platform,silicone,naresh,art131313,45645,113355,123432,123444,178500,192168,999333,2580456,55832811,98745632,99887766,124578963,314159265,321456987,eagleone,crazyzil,kristal,yssup,dimensio,penney,blacktop,acrobat,kenton,nacho,trap,srilanka,muddy,bedtime,session,tyler2,pimple,jjjjjj1,12345678c,claus,slipknot666,batman69,finley,ffffff1,sqrunch,gobrowns,wellcome,bear123,montague,accessno,sweetie1,123zzz,irland,updown,6string,spicey,patent,tratata,iamgay,christof,buckster,gldmeo,m5wkqf,ratpack,marios,jake01,1martin,giulio,merritt,l8g3bkde,bommel,geirby,waller,sunstar,imissyou,bakery,abbie,ar3yuk3,goober1,4r5t6y,sallad,trial1,pershing,xena,manchu,hcleeb,x24ik3,razor1,scot,dummies,frigid,bobbyy,tawnee,pigs,greddy,sami,ccccc1,hhhhh1,102030405060,marks,patch1,garvey,just4you,antilles,bethany1,deadlift,gordo1,visions,shankar,southend,glotest,brianne,sxhq65,lindas,edgewise,math,abracada,drummers,scxakv,t26gn4,winslow,calhoun,shifter,3cudjz,xqgann,teenager,pxx3eftp,lada,archive,f9lmwd,durango1,hihje863,oakwood,alma,payback,george2,moldova,w0rm1,bonds,jdeere,dapzu455,chucho,password6,gabe,leisure,cuda,hicks,ballon,bare,cool99,123kat,lowlife,lovin,joeboy,alpha06,fiat,mooseman,onkelz,coffey,buckle,skooter,green2,aarons,heath,oneeye,gr8one,qwerty6,juices,merhaba,bowhunt,godboy,scratchy,sex666,postov10,mica,tooter,jimbos,2sexy2ho,cumalot,thaddeus,kassandra,stadium,rama,stjabn,katie123,gabbie,fastback,trails,cfvjktn,phone1,reliable,ohiostat,jellyfis,morons,bigbill,pidaras,brazil1,fuckmenow,bullhead,austin12,1234ab,mira,arsenalf,temporary,ghbynth,lolly,glist,ranger99,vjkjltw,utyyflbq,baguvix,phydeaux,mindy1,sevenup,qwertyu1,numark,lettuce,dummy1,dread,78girl,dionne,mongo1,sylvain,dthyjcnm,skate1,enable,ronal,hellraiser,abpbrf,donger,eminem1,africa1,access12,timex,cidkid86,cortland,aceshigh,kimberle,verizon1,ulisse,gaby,gardenia,beware,boxer1,griffen,biotech,cigar1,secreto,tomoko,testing123,shipyard,orange44,pepsimax,salem1,wolves1,qsdfgh,fall,lyudmila,michaelj,anna12,naruto12,tangerine,loyalty,michelin,telemark,shemales,daisy123,doudo,smiler,adult1,dragon10,starion,claire1,dreamon,happys,hfgcjlbz,cheeto,gemma,shahid,coope,soccer22,anonim,esmeralda,thrill,fabien,taylor2,filipp,ariadna,bluefin,kitana,frdfhbev,ferdinand,winsto,vavilon,caliber,kanada,iloveamy,lynch,gogreen,ollie1,flore,doorway,kaitlin,tallinn,disc,alphaone,cheer1,kamala,censor,centauri,mobius,moren,senha,tori,nataliya,cheap,dbrnjhjdbx,favorite5,nbnfybr,123qwe321,estella,cxfcnmttcnm,supergirl,kennet,rexona,thorpe,lthgfhjkm,wtpmjgda,marlen,weaponx,niceone,gametime,rayden,independent,arian,zujlrf,files,hammarby,grizzly1,allover,lthtdj,pollard,idaho,onyx,obelisk,asdfgh12,florid,cougar1,amanda69,television,oldies,campos,kmfdm,anatol,rockit,madeira,beasty,lovell,teache,google123,charged,planot,myers,indianali,sayangku,myriam,kongen,deadmeat,saruman,apostol,interact,cracker1,letmeinnow,frien,ishot,angelin,monkey7,11223344q,spoon1,skates,sexy1234,master99,ewelina,coldfire,vicki1,ranger01,tenchu,9inches,televisi,sherrie,virtue,climb7,mark1234,hogan1,greeneye,korea,myfamily,pickles1,heathers,paprika,preston1,welles,fiddler,nomad1,rudedog,brussels,gentry,killer7,jeepman,bluegras,darken,wire,barbarian,perfecto,carla1,operation,bartende,blazer1,cart,bobbins,blackbox,charger1,pharaoh,woodduck,coolie,dickless,thales,timeport,clones,johanne,lsutiger,freddie1,verdun,buster11,1234567890s,skytommy,jerrylee,hoboken,cadr14nu,timmie,ready2go,suicidal,well,tokenbad,hotguy,keyser,my3kids,consume,hobo,rossia,scramble,pi3141,jody,shepard,1066ad,review69,deacons,mustdie,wexford,filbert,tania,candy2,hunting1,aragorn1,happy69,paleale,com2,mule,sailing1,excel,ballbag,limaperu,racine,nashvill,kellyb,tropic,pinecone,centaur,scubadiv,tracy71,history1,1summer,nokids,starts,rebeca,raymon,boatman,billyjoe,sheri,bridges,rfrltkf,tazzzz,boness,killing,makers,games1,lions1,yesiam,thrash,nolimit8,inkjet,squids,rhbcnbyjxrf,uniden,marta1,dogbite,oklick,tallyho,homey,lars,parol1,radioman,pirate1,booner,montan,garfiel,satana666,q55555,wall,bonjou,spacey,nx74205,sundin,charmed1,holstein,polaris1,golf72,flaming,savana,mallet,petrol,clemson1,priscilla,stuff1,toro,turkey1,sochi2014,ghostrid,sexmachine,thurman,magdalen,dallastx,docto,powered,gnbxrf,raffaele,starflee,marcopol,dribble,portuga,grigio,doroga,demonic,laughter,asnaeb,gatech,njkcnsq,stepanova,nariman,egor,nikolaeva,marked,123456789g,maksik,littleton,lockwood,stepanov,mark22,nikolaev,vanyarespekt,3008,123345,152535,198200,203040,282860,654456,852147,12312345,18821221,23049307,55556666,134679258,michael6,0070,redgreen,steff,daddio,freebie,123dan,qqh92r,dcpugh,heavyd,opened,muster,danimal,redblue,medium,danthema,odie,basics,walt,level,andriy,katze,zafira,straycat,sicily,elric,johnpaul,fffffff1,lower,zzzzzzz1,wolf666,leonora,simmer,tomcat1,violence,failure,dozer,gtfullam,followme,fritter,andrew2,rudder,1charlie,nimda2k,poilkj,martel,apostle,babette,rolan,picolo,wish,siemen,masaki,d6o8pm,ingeborg,lifter,forensic,7bgiqk,supervisor,nicole2,recoil,wendel,1701d,dgl70460,sosa21,quixtar,hugger,bello,fuente,sussex,cellphon,matman,abel,lovetits,digiview,porche,chubbs,corey1,green3,missile,jacky,wolf1,husky1,ilovemom,redmond,fenster,bondage1,taggart,djgabbab,member1,bangor,herbal,h4x3d,bodine,heel,gert,take8422,christen,rebell,primer,nail,banking,waterpol,hadrian,marconi,packrat,tino,dano,maxtor,bbb747,ch5nmk,withyou,5rxypn,doozer,fuaqz4,mendez,bjorn,jailbait,bono,treeman,lenore,acun3t1x,chgobndg,rasta220,luft4,echelon,phelps,mike13,123456i,fore,omar10,udbwsk,tommy2,redcat,striker1,fernandez,roman123,revilo,macarena,shagger,letmein6,saturno,sexlover,slyfox,jambo,choose,wheat,martyn,octagon,cherr,pasquale,speeds,pegaso,jlaudio,phred,radios,borris,cashmere,molotov,dman,mpower,lookatme,dutch1,bateau,house123,pentax,radiator,1thunder,zoltan,luvfur,mugsy,bangers,vaz2107,alistair,dumber,chinacat,teddy2,gino,jenova,sokrates,maddox,redford,wabbit,asdfas,omegas,vista,gungho,choclate,mass,reese,monaro,matlock,beszoptad,smiley1,sartre,12monkey,miramar,nolimit9,foucault,cities,fktyjxrf,ssssss1,wwwww1,qw12er34,aqswde,fromage,deamon,cochon,tiesto,friendste,pollen,hardcore1,tolik,1fuckyou,apple12,guerrero,woobie,wormwood,saleem,tajmahal,gretel,pucara,demian,student1,aq1sw2de3,aidana,climb,madona,qwerty123456789,paypal,1pepper,gameon,egoist,love143,acidrain,farside1,pepsicol,fortune12,love21,talking,eden,tarheel1,simon123,password7,gander,google12,flakes,farhan,teddy123,serdar,adrenaline,vigilant,lakeland,qwertyu8,aditya,colibri,jessica0,psalms,malamute,megamanx,clare,berenice,123456789x,soccer17,gremio,tampa,kocham,guerra,caesar1,uhbyuj,gross,alyss,rosebowl,noof,lewis1,esperanz,89231243658s,costarica,naveen,millennium,obvious,iseedeadpeople,goblue1,rjdfktyrj,alpha2,douglass,courtney1,suchka,matematika,nikitka,malik,fargo,henry14,vfrfhjys,transformers,olga123,stuffy,tribe1,boobo,ratbag,devilmaycry4,another1,baranov,steinway,rahman,sodium,asroma,zaratustra,dbjktnnf,ghbhjlf,pfchfytw,mama1234,magda1,garand,israe,hellomoto,perros,drgonzo,slaveboy,imperator,dasha123,skyking,anabolic,monstr,booyaa,tigran,bongos,venkat,alligato,chamonix,blood1,ballen,freeman1,weener,kriste,ktjybl,hedwig,trogdor,charlie5,rubies,motivate,golova,ytreza,password5,gracey,celia,deneme,tornado1,secret12,simran,mrpink,mujeres,quiet,eagleeye,vologda,torsten,foxbat,andone,andre123,vehpbkrf,qweasdzxc1,murzilka,solitari,tempus,william3,forest1,lbyfvj,bratan,gfnhbr,fatty1,angler,depechemode,zombies,zanoza,ias100,hosehead,robroy,fuckass,tallman,marcell,gznybwf13,assa1234,vyjujnjxbt,serendip,avenger1,combat123654,arsen,xaccess2,midian,vlad1997,littleman,12e3e456,69a20a,minni,madras,fortytwo,ferari,go1234,huey,minnow,franca,pope,ballss,ilovekim,teflon,paulette,quicksilver,ribbon,that,zinaida,teleport,quint,bigcocks,rimshot,barbos,ghzybr,trespass,nastyboy,mine2306,goggles,bess,earnhardt,cris,startup,qwerty66,peache,trevor1,biotch,1soccer,superd,dfcmrf,curran,feedback,claudius,bassline,xsw23edc,juninho,bathroom,precious1,dunk,wander,dog1,salvatio,piggy1,kkkkk1,ryan1,cozumel,stoops,schooner,robyn1,nikkie,mullin,genuine,chimaera,dispatch,qqaazz,controls,tbone1,spyglass,jack12,poiu0987,summer06,bud420,saracen,gardener,honeyb,tweeter,findme,kacper,rescue1,itstime,good12345,playas,devildriver,kolyan,killer2,pennywise,celestia,rosey,pullings,rimbaud,pentium1,chicky,candycan,wonder1,321ewq,sturgis,hellen,primary,darthmau,cumulus,vinny,gnosis,kewl,jetset,myass,onelove1,ferrari2,bigtits1,hotels,breaks,nalgas,milleniu,mckinley,f150,holder,sunny123,hunger,leandro,paul12,hood,jadakiss,nunzio,harvey1,crowes,toyot,james23,dixiedog,poppin,kati,paulchen,scarecro,rfvtgb,skunky,milwauke,stefa,lucydog,fixit,leglover,dodger1,concha,naciona,maria6,therese,bentley1,s1107d,saints1,smell,cabbie,payment,wetone,tigger69,happyboy,marci,rammer,hoops1,misskitt,xray,theone1,porsch,aalborg,1daniel,relisys,mariso,misha1,rfhfufylf,plastic1,rfnhby,kama,steely,soulman,canes1,tilly,digger1,bladerun,keebler,ginuwine,contrast,crack1,zigazaga,iceman69,sanjeev,intrigue,teetime,gitler,sergeev,brave,radish,paol,farmall,dbrekz,jkmuf,qqqqqqq1,dilshod,gaeta,jmoney,efbcapa201,robbi,intheass,ytcnjh,mikeys,vova123,1dawg,114411,159874,171819,197000,225522,232629,252627,300000,326598,654987,667788,774411,852123,852741,5550123,7550055,9788960,19391945,54132442,456123789,456789123,1112131415,3141592654,deck,james11,michael0,eljefe,squeaker,magda,agenda,johns,gobills,keines,persia,hoop,jennyff,joschi,medlock,elektro,00133,salty,humberto,picasso1,netzwerk,ranger2,wired,art123,souris,heyman,ddddddd1,2002tii,deliver,thunder2,1ginger,proctor,charlie6,tragic,flicka,perv,golde,evidence,podaria,ajem,qwertyytrewq,2hot,badgirls,newyor,smoothy,stromb,putz,loveboat,gonzalo,oneman,ricflair,xerox,snap,milli,silvio,lucifer1,file,nadin,tweeker,monty123,dirtyboy,outlawz,nick12,043aaa,56qhxs,qcfmtz,ugejvp,d6wnro,punkie,englan,super8,1thomas,semprini,sr20det,assist,4meonly,ambulanc,wotan,galaxy1,hanna1,calvert,mutton,farmers,mark12,xakep1234,catt,diese,adler,mybitch,merkin,dogfight,1dick,howdy1,sammy12,2wsx1qaz,fucker69,corran,1orange,wolfer,jimenez,xwing,qwerty5,vatech,marias,subwoofer,seagrams,lbvekz,rudi,jeroen,wulfgar,theron,remark,stephe,arachnid,vanille,hotdamn,.adgjm,pledge,ikarus,jiggle,pockets,casey123,armadill,diabolo,horst,3ki42x,4zqauf,oneway,q9umoz,3mpz4r,yy5rbfsc,lllll1,nochance,w123456,papercli,fhntvbq,skye,dehpye,zsmj2v,david69,redondo,2n6wvq,beelch,p3wqaw,schwein,love4u,buzzers,dolittle,4money,sn00py,2good4u,mihaela,1972chev,cranberr,sesam,dutchy,121212a,beryl,carey,phuong,trickle,nomercy,gossip,susi,screwed,jude,happyme,melnik,uwrl7c,4wwvte,argento,hisashi,gsxr1100,concerto,bubblegu,green5,mellie,ernst,forest11,andrade,tommy123,florin,almost,makita,giant1,diaz,mode,passss,jamesbond007,jobber,defamer,6chid8,ptfe3xxp,roofing,airhead,pervert1,mainman,basses,adgjmpt,waldorf,elmore,cornbrea,123123123a,a987654321,globe,beasley,dont4get,kingsx,golf69,thermal,merkur,duncan1,boone,mehmet,helloworld,colin1,christos,fruits,giorgia,clarity,cheerios,qwedcxzas,tgbyhn,acerview,getty,batterse,snowing,clticic,mof6681,chrystal,rerecz,coupe,jaclyn,saxon,koufax,a55555,goodtogo,letmein7,bayside,torana,donnas,hump,ponce,ferdinan,bigbaby,honeypot,milkbone,ooooo1,umberto,asd123456,chairs,cabowabo,wrinkle5,strekoza,kfylsi,caballer,nanny,kaffee,sleuth,vasilek,jacqueli,smallvil,anna1987,andreeva,rfnfcnhjaf,okidoki,tanstaaf,edelweis,freedom3,birmingham,telnet,abfkrf,superduper,098123,crossing,findout,passer,vfkmdbyf,sadist,guster,matrix2,gold123,123a123,vfvfgfgfz,loveporn,owned,larry33,fcporto,mocha1,sampras,himera,123123qweqwe,julianna,daboss,camera1,doris1,saveme,hinata,easier,mailto,polecat,thatsit,magnetic,karaganda,atrain,elanor,naruto123,brahms,santosh,deathsta,kroshka,9638v,butte,eintrach,healthy,male,vfhcbr,pedigree,quake1,jacqueline,tatanka,note1234,bigal1,campion,sergey1,freeride,alex777,123456789b,asq321,cdznjckfd,pornsite,gfccdjhl,hikaru,geraldine,year2000,andyman,toonporn,pallas,ukflbfnjh,rusalka,jameson1,farhad,flair,luebri,koffie,kinsey,karups,rfhfcm,guita,kristjan,cummin,helicopt,shiver,eugenia,alex32,whitepower,disturbe,mercur,awaken,drakula,anonymou,gala,kryten,mierd,4815162342lost,kami,toodles,rfvbrflpt,sasha1996,ledzeppelin,rkfdbfnehf,hitech,hakkinen,gblfhfcs,1q2a3z,principe,alien1,virgo1,love4ever,falcons1,harrie,pokemon12,elephan,rhfcysq,strokes,arches,plato1,fgntrf,antonell,marusia,xxxman,dfcbkmtd,scarface1,kobe24,modano,angel777,atkins,upgrade,ruffryde,uzumaki,star11,rfn.irf,burgundy,gfdkjdf,ringo1,dannie,anguss,ghjcnj123,imhotep,gjyxbr,snail,ruslana,brooke1,chosen1,redhouse,angel22,fuckmeha,q12345678,veritech,kaos,barbaria,edwina,pongo,studio54,zxcvbnmm,zemfira,orion2,olorin,123456e,brett1,mineral,atlantida,lucky3,mamuka,berserker,antoha,lastochka,recon1,shootme,hobbes1,bh90210,fuji,mosdef,flush,surfing1,memphis1,raja,335533aa,vermin,ruff,professo,999111999q,kfgekz,aspen1,goshen,starling,awsome,f3gh65,shadows1,loveyo,4z34l0ts,tranmere,giuliano,barnet,newell,horns,sugarbea,gonzaga,gallop,passmaster,caviar,schneide,ilovehim,chaucer,kumquat,manta,gipper,banned,fabrice,macduff,stacey1,skipjack,sharkey,barking,horsesho,nokia8800,daimler,coolest,esoteric,test01,leslie1,vitali,other,july23,unlimited,bigbass,majere,loveu2,misty123,treetops,iwanna,coronet,pynchon,herzog,killall,poplar,cuisine,swimmer1,kickme,shimmy,giggs11,candy123,marylou,comic,volition,chinaman,bennet,benjie,king1,rottie,leipzig,jeanluc,fishfood,enzo,marmot,april12,juicer,saving,surround,littleon,sticker,bedpan,lima,juice1,1z2z3z,maritime,hyacinth,flatline,fordham,morphine,thorn,saitek,lancers,plumper,jericho1,slash1,joint,chrisp,brookie,colder,guatemala,maltese,twisted1,witches,grouch,cover,monkey13,tuscan,summer05,willing,drexel,cannot,madzia,blueyes,hotdog1,amber123,hurtme,p12345,bob1,jack1234,phidelt,mcnabb,darrin,hotspot,dogstar,nailer,shlong,fastlane,gobble,ohiostate,jester1,disk,koolio,harvick,glock21,eggs,montego,studmuff,blazed,peeker,protege,ripcurl,negras,count0,superdog,ranger21,blackbea,takeshi,bishop1,sigmanu,djdxbr,sluts1,grasso,disciple,kennedy1,cichlid,kingme,hoseman,march1,carousel,desade,timers,greed,katies,sickan,lasting,jugs,smith123,copycat,maplelea,dragon21,123456789qqq,realtime,inferno1,sanibel,darkwolf,godslove,karpov,travesti,zaragoza,taffy1,boards,kimmy1,jazzbo,siempre,weight,cdjkjxm,090909t,mmmmm1,ness,charlie7,brendon,dumper,ckjybr,jimmyb,melkor,nikole,senha123,allalone,totem,bollock,lolitas,juice2,tower1,sunghile,simbas,lhepmz,nick123,seldom,surrey,shadowfa,madball,crocodile,liverune,suka123,hamradio,vandam,iddqdidkfa,sexyfeet,yhntgb,sandee,geoff,natacha,geordie,martin12,bulgaria,johnso,p00kie,bitch123,cjcbcrf,franko,ballgame,dastan,wrest666,wildroid,cbhbec,qazxs,12345678z,12345as,12qw34,cdtnrf,dont,fabi,evgesha,erhfbyf,nylon,123456789t,qq123456789,kristinka,ilya,78n3s5af,lera,4rkpkt,199,3005,3009,85245,95175,153426,159487,159963,187211,197500,198000,258025,669966,775533,789520,889988,900000,1020304,1233214,12345689,15987532,42042042,49527843,62717315,123459876,555666777,0000001,nokian95,gnatsum,00096462,redrider,computador,bullride,bigtymer,zoloft,makelove,billings,nala,g9zns4,ozlq6qwm,dunn,all4you,pooker,themaster,cabin,pitstop,bruin,hobiecat,novartis,autobot,hardhat,shelly1,angola,amatuers,chelsie,bbbbbbb1,jjjjjjj1,gerasim,mole,barkley1,123www,carolcox,shadow99,topman,antivirus,abcde123,skully,unholy,manger,123fuck,jolie,bless,gwju3g,pzaiu8,gourmet,royal1,shooters,buttons1,redeemed,hugh,368ejhih,57np39,t4nvp7,pieter,1spider,vkaxcs,seventee,808state,trials,rockys,hutton,fatjoe,nameless,guinnes,syntax,87t5hdf,boeder,.ktxrf,bobbijo,kato,jeanna,1andrew,2bad4u,jazzer,masterlo,trustnoo,panocha,1bigdick,savage1,carine,casimir,zambia,asasa,smedley,redrover,bovine,fuel,suffer,grave,maggie11,lifting,angel01,cookie12,spicer,mech,pacific1,topeka,shellie,jochen,legend1,dolphin2,anelka,elfquest,harve,herpes,brooking,infinit,nnagqx,salut,socket,emyeuanh,jurgen,zlzfrh,schorsch,brianb,slowride,3qvqod,hpk2qc,iqzzt580,njqcw4,pn5jvw,whyme,wrecker,cingular,hawaii1,yvtte545,elysium,fdm7ed,cantrell,hostile,ikilz083,cthulu,wpf8eu,cicci,lilred,gallaghe,readme,bridget1,bodyshop,babaloo,zxcv12,nofx,dragan,aloysius,berserke,cohen,554uzpad,vcradq,legsex,hzze929b,uyxnyd,kidder,winter01,jamielee,grimes,turing,cobrajet,horne,babble,gravy,frannie,zaskar,jesusis,photoman,grange,intj3a,kissss,fairfax,trs8f7,issue43,epvjb6,ornw6d,tanman,vasileva,sylvia1,seven1,dime,forgotte,dauren,artwork,sanity729,stewar1,lotus7,pinner,oldsmobi,wc18c2,jodi,wojtek,birdies,rockbott,bashful,mahesh,lovegirl,super2,alicante,juicy1,tripping,flavio,jocker,chop,mongolia,omega7,bustanut,drakkar,painless,vivien,fairmont,harley12,1qwertyu,dunamis,cupid,agony,extreme1,811pahc,read,shaver,pittsburgh,red456,ducker,vespa,kinetic,joker123,concepts,patrick7,theodor,italy1,cocoloco,spaz,shirin,hockey99,martins,lawless,zebulon,wild1,hase,cane,gardiner,sadness,slutwife,eieio,12345678912,timebomb,casandra,kazbek,albundy,feb2000,zenit2011,feliks,josefina,arthu,dank420,hax0red,planet1,muggsy,cbcmrb,badcat,sergeevna,rjcntyrj,gnomes,cubase,abcdef123,westlake,bearshare,sashimi,whatnot,brandon2,kaufman,sword1,affair,aquinas,ahmad,danuta,cadaver,rjnjgtc,asdfghjkl123,pendragon,sexse,watchmen,pizza123,kudos,mateo,quercus,rossi46,vampiro,skater1,theway,limabean,allah1,peaces,1234qwerasdf,adam123,shirak,mafalda,bigten,addams,fuckyou7,mattia,cologne,erickson,chessman,savatage,quake2,sidorov,trade,alex2000,nortel,annalisa,asd12,fighton,sheppard,vittoria,elli,aero,lisa123,pass1word,hopkig,mancheste,blue56,viceroy,zx123456,didit,jg3h4hfn,bigpimpin,nabeel,tinytim,aggie1,calavera,hunter11,crushed,theboy,behind,hazelnut,gaelle,geek,rashad,salavat,asdfgh123,alaska1,qwer12345,airedale,primetime,airline,123qwe456rty,setter,rossi,protein,curve,cuckold,trivial,cierra,tonino,becks,1234567890qw,olamide,vlad7788,alinochka,monkey10,aq1sw2,atkinson,wenger,alfie,goodhead,elizabeth1,surfers,amiga1,monkey99,suerte,rustem,ironpony,88keys,gogetit,tony123,vaz2109,jack11,rjntyjxtr,ghtpbltyn,awards,bueno,aurore,sturgeon,cvtifhbrb,valenti,primavera,stephie,nfbcbz,wantsome,birds,anjing,fynjif,sonic2,bullet1,11111z,sleaze,langer,muffie,nokia7610,tombston,badkitty,g12345,asdfghjkl1,cable1,alskdjfhg,bluess,solnze,00007,poonam,teens1,milen,kokakola,girlss,ibragim,becca1,countyli,djljktq,1234567d,gsxr11,badminton,nervous,kalinka,vjybnjh,lupita,ghjcnjrdfibyj,lollone,gojira,blowme69,semenov,dfktyjr,smitty1,zinedine,lightsab,magister,qapmoc,cakes,lenovo,phenom,dragon5,fedorova,mom4u4mm,hjlbyf,parabola,mechta,danil8098,lookie,orange77,mcdonalds,coorslig,cobblers,redriver,triforce,regular,hecnfv,doggie1,gilberto,guillaume,galactus,reshma,guinea,sevilia1,pebbles1,nfyufh,youwish,r3ady41t,bailee,austi,cutegirl,taipei,blackhol,green11,olddog,davros,oliveoil,sixnine,chiron,fredi,shelley1,omega123,repmvf,bent,heroin,dogbreat,heythere,pikachu1,lovebird,sorrento,maggie2,curtain,underpar,tiger69,santacruz,ottoman,baxter1,carvin,mcbride,doggysty,hinton,condo,simson,techie,goterps,grendel1,jeff24,nitro1,1superma,horny2,welldone,global1,coonass,grady,feynman,pupuce,godisgood,br00klyn,dunce1,gbpacker,sexmeup,bucky1,skeet,broke,payroll,connor1,compaq12,sending,shaggy1,briand,crm114,dynastar,lyle,etower,suntan,sammy2,vision1,chrissie,mudder,chris22,cab4ma99,kitte,klimenko,hotmom,megabyte,strummer,nascar88,bears85,ghostdog,queenbee,m6cjy69u35,froggies,lonsdale,smiling,thor5200,hurricanes,snipe,goodfellas,123456x,kinger,talons,pussypussy,peluche,cherub,rusty123,railway,grommit,diciembr,april10,moody,machine1,sonali,baseba11,mikey123,hardtime,littlee,methodman,tabby,ponies,comcast1,1pass1page,stymie,mckinney,shitbird,heave,sharkman,anus,ouch,tommyt,joker69,summer20,nashville,johanna1,tomatoes,gibby,yasmina,pennys,goddess1,squid1,bomba,slut1,zombie1,winkie,devlin,only4me,cccp,starlet,sweep,brody,aeiou,leviatha,ghbdtnbr1,misato,joshua2,bluecat,dongle,gretsch,draken,lifesuck,kerri,k12345,sade,diego1,santa1,jordans,moveon,bomber1,stomp,ridley,offsprin,ultra1,1qa2ws3e,nbvjirf,blue25,less,ocean11,brend,lepton,provider,hungary,marek,gocanes,fausto,getlaid,3syqo15hil,leonard1,brethart,chrisc,longwood,shaven,sleepers,yamamoto,asterix1,recent,damia,diosesamo,crackhea,sundrop,mexicano,moogle,nosaj,kaizen,fullsail,pallino,azathoth,dantheman,kariya,intranet,masyanya,emanuele,bigdeal,save,webster1,1qazwsx,sense,soap,javaman,tinkerbel,buttmunc,gabriel2,dima12,silky,kamehameha,sellout,essex,bysunsu,huskies1,12345ta,jesuit,stratoca,d1i2m3a4,maverik,lebedeva,njnets,manisha,vjhjpjdf,gjkbyjxrf,zxcvbnm12,kuleshov,freelanc,magazin,external,kamran,rfhfntkm,rizwan,munkey,himmel,ybrjkftdbx,hawkmoon,mironova,budge,gavrik,mixail,asfnhg66,vitalya,mcardle,fhntv1998,8008,75395,78678,123580,147123,161718,181920,430799,444222,555999,557711,616913,666111,4071505,12346789,12481632,19922991,159753258,1122112211,1357997531,mrbrown,drahcir,tabbycat,zxcvbn12,11qq22ww,1sexyred,george01,blader,boome,playgirl,bosley,evad,ha8fyp,slick50,skydog,hhhhhh1,consul,sunray,myxworld4,andi03,hobby,brujah,justina,1test,birthday54,0raziel0,maine1,malena,clubpenguin,evening,buba,bobbyd,michael4,goddog,poke,autopass,deviant,master3,sarahb,dakot,sherbert,nogood,pooki,promote,11c645df,duke3d,dizzy1,pretty1,celest,cheerio,opie,qwepoi,asdlkj,katja,mase,studboy,datalore,vvvvv1,belles,herson,shay,students,womens,obscure,asdfg12,nick1234,eagle123,123red,sonnen,bowers,timber1,lonely1,areyukesc,arlington,genevieve,watch1,14vbqk9p,ab123456,adamant,jamesr,4wcqjn,6bjvpe,863abgsg,qn632o,actors,wilton,bigb,turbo2,braces,psswrd,paganini,elias,corvett1,marcio,master69,osaka,mortar,theroc,bamba,esmerald,pollo,1grand,lama,1lovers,salaam,2bigtits,argentum,radagast,bigload,nohack04,quickie,scatman,pattie,stamp,finest,cn42qj,batboy,babs,extasy,curt,swank,sadler,plokijuh,alana,front,vega,ta8g4w,beatit,backhoe,x35v8l,hamster1,ilovejen,cmfnpu,mwq6qlzo,masahiro,hubble,201jedlz,ndeyl5,mort,qwertyuiop123,geryfe,lzbs2twz,rxmtkp,zxcvbn123,spammy,facesit,whipped,drake1,gangsta1,acls2h,buckwheat,bob1234,yeehaw,griffy,crapola,2kgwai,simhrq,rolex1,sabin,fett,gerry1,ffvdj474,monster2,r29hqq,international,dukedog,richman,mac123,551scasi,arcturus,omega5,lacey1,transformer,golfer23,footlong,azalea,screwbal,independ,slice,celin,outdoors,clark1,pain4me,primetime21,2b8riedt,ssptx452,wanker1,barbi,sunnyboy,tmjxn151,yqlgr667,half,beulah,thunder5,doyle,13579a,raygun,bluered,bree,mumbles,atreyu,stage,michae1,mjordan,fabolous,spring1,michaeld,aldric,stick1,trekkie,gambino,filibert,auntie,pussylic,jq24nc,jardin,schalk,retlaw,qcactw,dflbvrf,matt11,wardog,sasha2,cntgfirf,heathrow,digest,kissarmy,3mta3,chumley,happyone,devin1,michael5,batman01,bowden,mmouse,benedikt,hunter123,klausi,romantik,manny1,chazz,lazer,woodruff,boeing74,millard,1scooter,cronos,mike77,grand1,flights,fourth,hiphop1,paloalto,schnapps,davidk,peterj,elementa,teodor,quickly,kafka,lotte,zeta,dcunited,cubbie,wanger,babes1,horses1,.ktymrf,mecca,submissi,mouton,marcopolo,supersex,azimut,goto,charlie4,kolya,rafiki,1austin,fuckhard,limpbizk,crownvic,poppa,luisito,davido,biggirls,smudger,tbirds,j12345,odense,alan12,aqua,canibus,cheese12,kelly2,glitch,aaron123,hackme,archana,mather,amina,ibill,jonnie,getsmart,masons,urchin,postit,zonker,pass11,money4me,warchild,bmw540,amadeo,ilaria,shadowma,stalingrad,koetsu13,burnside,mamabear,beirut,connecti,cfvehfq,samapi,guyana,viscount,stoke,charmain,beaufort,pericles,dolomite,genera,servus,altoid,vance,bangladesh,jodie,andrzej,james7,monkey77,master22,viper2,atrium,balefire,bowling1,sumerki,revival,desperados,matahari,ybhdfyf,maman,admiral1,gerrity1,netware,support1,challenger,sonia1,maritza,stripclub,patrycja,canberra,tissot,sagitari,djhjyf,splunge,triumph1,invasion,sex1234,chubby1,cojones,flushing,ariel1,gfhjkmm,golakers,237081a,evgenia,zx123456789,hellothere,inessa,soon,saun24865709,kbcbxrf,insuranc,mercury7,jojo12,strutter,aguilar,hopkins1,x123456,love777,salma,novembe,iluvporn,valter,snakeeye,hapkido,pupper,labatts,fiction7,bruins1,noshit,sayana,thirsty,sheffield,bvgthfnjh,tennis12,booze,poop12,apokalipsis,111222333a,cumshots,annelies,aventura,berg,hoot,subrosa,wildthin,666666q,lifesucks,phantom2,palom,shakir,cfvfhf,cthuttdbx,alexsandr,cnhjbntkm,sasha2010,muhtar,lbhtrnjh,rihanna,maldives,m1234567,fallout2,frida,haddock,hbxfhl,perfume,vasquez,mahalkit,modesto,jerico,kalani,critters,spider12,sasha1995,backer,gjhjctyjr,minimal,talley,hotboys,lindaa,1silver,killie,morris1,vfrfhjdf,serafim,sherif,cnhtrjpf,martina1,karsten,cvetok,moremone,sexnow,poopies,swetlana,magica,mom123,goodwood,sdsadee23,solei,1pionee,marmelad,maynard1,qazxcvbn,secret123,nikusha,yfcnz123,anti,calais,madison2,masterca,q1w2e3r4t5y6u7,avatar1,comet1,kirstin,andrey123,thames,dalla,deadwood,woland,corrina,angel11,blasen,mynewpas,cambria,realm,maiden1,vsevolod,pankaj,parrish,taltos,wildwest,teaseme,antosha,4z3al0ts,tekila,shygirl1,salam,wildstar,homer2,arseniy,raspberr,ashland,steamboa,bmw330,buzzy,chicos,phatass,tecate,metros,shelli,arsch,sandmann,peartree,snapper1,idontcare,fridays,killians,dice,scampi,drumset,gagger,pappas,balzac,dupont24,kimber45,heller,letmein0,bangkok1,parris,glock22,bearman,gorilla1,romeo123,clarice,eagle5,liberte,jason2,enigma1,tubitzen,newfie,della,economic,casey2,ville,lilkim,gilgames,akira1,nitwit,pole,123456789f,deerhunter,trippy,brass,batavia,batman2,soccer9,emerald1,nicolai,brittan,battlefield,mike22,pulse,renard,wladimir,dibble,elvin,nnnnn1,orbit,ambush,spawn2,shithole,hello5,strat1,plenty,mittens1,datalife,copeland,boodog,708090a,domino1,summer2,kendal,locke,krueger,pudge,eagle3,lochness,sargon,chimpy,carlos2,snooze,exposure,crotch,hardcor,hermosa,shots,montess,longone,elenka,everything,laundry,jeannine,london22,nemesi,speedrac,sabbat,crippler,lisette,sarge1,777angel,maxwel,mitzi,bitch69,sony123,getiton,mastiff,culver,developer,filipino,gordie,slurpee,hurdle,foxglove,michaelc,sugarray,peniss,nothin,spacer,vbrjkf,pipper,shanks,gear,moleman,mila,mustang4,fatdog,necron,maddie1,chomper,snooky,clambake,sharp1,chochoz,rodolfo,cubfan,familyguy,sales1,manpower,boyscout,scipio,eagles05,binky1,phobos,bistro,loser123,kenny123,evolve,luvbug,alohomora,beard,spade,holler,kimchee,pound,labrat,sheffiel,target1,choco,purple12,diablo66,bumblebee,undies,summer11,london99,karens,seaways,fish1234,undergro,xzsawq21,sellers,kemper,shell1,malibog,foxx,like,vovchik,natusik,cortes,hadley,fucker11,roaddogg,buckfast,cooley,jello1,inspecto,torre,jackdani,1hammer,patrick8,pittsbur,micro1,jamie123,boscoe,hellrais,sharps,ownsu,23dp4x,killa1,torrance,synapse,cardiac,leaving,caterham,1234qwert,masterch,spin,cirque,watts,halley,popolo,mixer,bujhtr,cuddles1,ownzyou,volvos,crazy123,morehead,griffin1,romanroman,valerka,d1lakiss,edward12,soccer3,thomas123,ownz,zaq12ws,hellspawn,yanochka,dantist,doc123,wiggins,098890,mamulya,homeland,programmer,shutdown,dima1997,nakamura,4506802a,qqqwwweee,holden1,lovestory,lenusik,qqq123,dicanio,loveu,fastfood,mimi92139,ghost123,shani,sandal,leanna,jimmyd,mrclean,hendrik,r123456,pierr,pernille,0137485,kodaira52,klingon1,eistee,rebrov,vfrcbr,irontree,olya,ramesh,989244342a,5005,123963,198500,247365,313233,331234,543216,996699,1010101,1123456,1234565,1234576,1598741,2741001,12345600,52678677,55667788,77777778,123456781,0003,doromich,pornoman,gogirl,gracelan,poopface,1wildcat,1compute,chris11,chaz,10inch,letmein9,686xqxfg,04975756,docker,pilot123,folsom,090808qwe,bloom,nastja,artistic,danijela,pajaro,wilfred,klep,reccos,serval,fire777,babe23,cumnow,sunfish,i81u812,workit,warrant,whippet,baum,punky,withlove,starfuck,nederland,xholes,cecelia,burton1,demented,1zzzzz,brando1,1aaaaaaa,pottery,diggity,11bravo,hackman,alpine1,luojianhua,email,comments,smasher,janette,495rus19,jack22,caveman1,wer123,123xxx,griffins,larryb,wiggly,holy,kugm7b,giblet,npyxr5,etvww4,eyphed,pktmxr,vdlxuc,xjznq5,number7,bently,snipes,arkham,karma1,emiliano,majesty,kiefer,redbarch,pravda,operatio,123456zx,vitesse,nokia6120,markos,schiffer,viktoriy,adele,golfin,sweet69,siamese,eternal1,dave12,darrian,acces,drakes,monker,mission1,1eagle,maddy1,bootcamp,user1,gestapo,shilo,gertrud,csfbr5yy,ewyuza,toosexy,royston,pinggolf,jamesc,mifune,twice,lucky5,handbook,jumpin,bingbong,vanman,accident,gandal,ywvxpz,mick7278,9skw5g,vpmfsz,yxkck878,qhxbij,xirt2k,565hlgqo,north1,br5499,extacy,egypt,gimlet,abyss,demeter,4_life,8womys,ms6nud,fx3tuo,luv2fuck,arsenal2,ponder,puschel,7kbe9d,nt5d27,chbjun,gsgba368,ztmfcq,darre,russia1,greeting,utah,pioneers,bartjek,poppies,pussy7,aron,absurd,sieben,annette1,mccoy,twitch,muppets,mako,maggy,dually,erebus,satan66,qdarcv,taboo,pattern,80070633pc,stryder,coolkid,sucker1,alfred1,getnaked,fellini,parallax,vball,orions,kayak1,davidkin,stabilo,tibet,4all,bozeman,satsuma,allthat,wiley,ingram01,klem1,cardenas,plazma,spjfet,thered,freya,sams,whitedog,emotion,audio1,torben,portos,mowerman,lacy,gowest,fylhjvtlf,cabibble,sauber,l8v53x,papi,midnigh,friedman,nantes,fred69,nemisis,minou,ciscokid,makeksa11,kwan,rimjob,camar,nightman,ivanna,medford,multi,schumacher,ragtop,trying,polarbear,whacko,filler,scotsman,pepita,bigdadd,nighthawk,darter,hogs,crooked,johnny69,bancroft,octopuss,nester,bonou2,prentice,stiff,pillar,grandad,a123,allstar1,alesis,fleetwoo,almaz,aa12345,angeliqu,chilton,skank,55555q,poi123,weldon,hacker1,delrio,barely,scarlet1,urban,newpoint,ptybnxtvgbjy,agency,aleks,belial,night1,albatross,star99,briann,abc123abc,qsefth,blackbur,bonit,bahrain,alegria,suzuki1,kannan,lobito,thisis,mcmahon,gfif1991,piggys,palestine,linger,mellissa,jujitsu,lambada,kayaking,alex1996,annushka,mighty1,response,loveable,mariann,mulder1,freiburg,kindbuds,croucher,123as123,jack01,qweas,snooper,gladston,xpress,lickher,blenheim,excalibe,zidane10,tasmania,loopy,gemma1,malaika,tycobb,shearer9,chrissi,russland,bibles,roxette,biteme2,eae21157,score1,chase123,compound,moroni,nite,temporal,123zxc123,tassie,quicksil,bingo123,elefante,hot,rocky6,adriana1,teamo,aa123321,porthos,healing,vertex,forbidde,timofey,fumanchu,levin,psalm23,danville,evgeny,samsung123,asshat,123654a,timofei,sylvan,blue66,rfnfgekmnf,carolyn1,papero,poiu1234,nfvthkfy,wwfwcw,albacore,raintree,demigod,notoriou,anyway,12345l,isobel,yfgjktjy,lawton,pthrfkj,fyabcf,juggernaut,rashmi,aliyah,philly1,wise,aristotle,ghjgecr,gulmira,millers,dallas12,zaqqaz,12345qq,millenni,hoppy,cowbo,dexte,bassman1,shirley1,cinzia,alberto1,barne,redhook,larinso,chile,june22,password13,kamasutr,123a321,karamel,georgiy,angelo4ek,zaqwsx123,alex1990,mydream,undercover,1236987z,antiques,ptktysq,alternative,lavinia,candela,denial,cleavage,highwind,wishmaster,alisa1,viktori,nightwolf,hikari,lovesporn,ponchik,rascal1,mercurio,garcia1,lasombra,jaredleto,lombardi,putang,damascus,pridurok,maggiema,invalidp,madeleine,polniypizdec110211,one4all,sasha12,kaulitz,qwasz,logistic,beehive,rosemari,californi,kendrick,celestin,avalon1,12345n,allanon,gatto,boost,breakfas,dfkmrbhbz,already,qpwoei,holding,bmw520,amsterdam1,pegleg,alvarado,winni,lament,kondor,summer10,patchy,thankgod,1girls,collar,medellin,ducks1,filipe,123456789qw,archibald,roar,asbestos,drunk1,janell,corset,silver7,abcd12,lalal,episode1,buttlove,1qa2ws3ed4rf,stupi,jetbalance,guzman,loophole,moises,blackadd,iamtheone,bonobo,pennies,informat,midnight1,qwertyuiop1,huston,azbuka,carrera4,snuff,dtlmvf,jesus12,zackary,1chicken,strauss,gauntlet,sinead,rawiswar,stronger,ivan123,bannana,potomac,aprils,rusrap,governor,harris1,hutchins,rfghbp,pop123,paradoxx,buttface,lietuva,friend1,dinesh,fenerbahce,kenyatta,hornyone,spanked,hater,maniak,teresita,love2011,vern,skaven,caspian,alizee,bagel,baggins1,bradly,rancho,mouche,petro,ichbins,exit,gertie,amandine,henson,seventh,ferrets,ascona,shortie,slippers,focker,chigger,james01,chiller,biochem,0range,scott2,teardrop,bane,krauss,forte,bassboat,watches,wankers,carpenter,vitara,yeager,warrio,brooks1,farmer1,beachboy,benson1,mayberry,trustee,sudden,simonsay,katerinka,holbrook,kender,district,verycool,prufrock,12345zxc,djamaal,logic,gangst,lizards,bassmast,domin,snider,kettle,holymoly,laramie,zaxxon,hazzard,mcgowan,hamsters,supergir,miata,crafts,m1sf1t,hamburg1,boobies1,nairobi,monmouth,atlast,brady12,foothill,kenney,thehulk,1david,sparky12,bobble,trainman,ruckus,gonoles,tardis1,cruzer,hornie,babycat,oakland1,me1234,retarded,billyd,chunk,canoe,jeff1,dirtyd,jiminy,sandler,sing,fatcat1,serpico,freud,harri,playaz,gadzooks,pornogra,dragnet,marge,beertje,solstice,z123456789,assword1,newpassword,console,gasoline,catwalk,tigrenok,micah,poppen,sexdog,spruce,sacramen,corrine,bonk,lisbon,discgolf,flynn,kmg365,mariachi,tinhorse,rfkmrekznjh,pieces,mannie,guzzi,bigfun,kissass,khorne,saab93,1access,bradpitt,monkey22,timepass,bigdogs,zxc321,community,greenwood,shaner,barons,keeper1,highball,radman,bigdan,mandela,mybuddy,traci,ladyluck,ragdoll,pounds,topflite,bighurt,longcut,asshole2,prettybo,mitsubis,suave,snoops,slither,oscar2,yours,wiggum,favre,fartface,proust,waste,bimini,cocorico,mozart1,proline,v12345,brownie1,1qwerty1,1234567t,spooks,myshit,generation,parkway,bogus1,girlz,blueduck,pussyy,matt123,annie2,dragon0,estela,nokias,melchior,onfire,grind,elfstone,number5,everythi,cops,touchdown,redtail,evets,echoes,tiffani,technolo,bullitt,mine12,pimpin1,stanly,ozzman,paul1234,chiapet,dfkthbq,tissue,leopoldo,jaybee,puertorico,liteon,trajan,noggin,mtndew,carmella,mymusic,justyna,journal,welcome12,sc00by,slowly,friction,collier,coondog,alameda,herrera,brush,speaker1,loislane,proper,newman1,vicky1,rings,burunduk,burnett,gmctruck,1qaz2w,azwebitalia,julianne,mirela,sprewell,spaces,francais,loqse,mullen,stonewall,jonny5,profesor,superman2,rogues,kimberl,choppy,minstrel,turbine,dbrnjhjdyf,pimmel,hotwater,defcon1,callan,jaime1,duke1,fishy1,itdxtyrj,fernandes,jazzie,tatung,fraud,verygoodbot,dragos,guido1,vfhecmrf,pickle1,rfhfvtkm,blue2,rock123,unite,gosia,travi,scruff,ruger1,teeth,indeed,scythe,dietrich,korona,habitat,headcase,123456789zxc,9988aa,dfcbkmtdf,koshechka,mercure,yuki,dima12345,dickson,vitaly,maksimus,wizar,djkrjlfd,leighton,moosehea,elegance,mondo,type40,fyfrjylf,vfkbyrf,pierced,freitag,sambuca,1um83z,ratt,messer,snoogins,origami,seconds,shrooms,ranger11,vjzgjxnf,gangstar,quicken,lerochka,kakka,fighter1,asslicker,layout,musi,shivan,fuckhole,timon,vw198m2n,hanter,paska,zaharov,kaskad,mark69,vfhbif,sigsauer,v123456,maxim1935,sardor,wenef45313,3007,45454,74185,151617,199000,492529,666888,1357900,3364068,10111213,15975321,19966991,19992000,24681357,31121910,34524815,96321478,98741236,159357258,741236985,794613852,00001,espanol,caramelo,munchies,yank,1tiger,doober,maximili,gaines,swampfox,1boomer,skiman,260zntpc,ov3ajy,qguvyt,barty,psylocke,holen1,12pack,grenada,sugarbear,jlhanes,aabbccdd,neuman,blackeye,flyer1,marilyn1,drummond,nocode,costas,syphon,tiki,elviss,suffolk,bigdog69,codfish,lastone,daryl,pentium3,dionysus,charmin,ford9402,tttttt1,tk421,lorrie,silverst,1johnny,creaven,levelone,alona,anon,goomba,scotti,torey,kokanee,qazxsw1,12345678987654321,rrrrr1,desoto,sherry1,caeser,emery,jimm,suze,ashlie,qaswed,plop,johnathan,corvair,strand,adolfo,gold1,sass,hevnm4,jowgnx,fwsadn,draconis,phish420,ibxnsm,whdbtp,bonus,portsmou,marce,sexxy1,para,rockz,veedub,wong,ttttt1,keeley,tempgod,hawkdog79,nora,chaney,adolph,yourself,pepperoni,cajun1,cock1,joey1,427cobra,ardvark,lover2,5t6y7u8i,davina,1angel,stjames,eduard1,warrior2,homes,boop,xxxsex,efyreg,lysander,zaq11qaz,spinal,chris69,pigman,1xxxxx,access20,gotit,hamme,komatsu,squirter,shortsto,mellisa,sleepy1,granger,freestuff,zw6syj,saab95,ndaswf,wu4etd,artman,4dwvjj,vp6y38,bobbyg,watchdog,jo9k2jw2,oqglh565,cyzkhw,razors,honda2,house2,nurgle,fqkw5m,sseexx,arroyo,pmdmscts,640xwfkv,msnxbi,scull,ginger2,bowhunte,affinity,test99,sloopy,bagheera,angel69,beatri,jenner,rincewind,rodents,19mtpgam19,kitt,minette,cubbies1,dorina,mirjam,stunt,rabbitt,holas,woodsink,scorch,axolotl,mopars,calder,p3e85tr,alphonse,c123456,iamthema,magna,rclaki,nitsuj,poet,birthday299,4tlved,c7lrwu,sexisfun,duran,eggbert,parol999,flotsam,asscrack,buxton,fleury,mty3rh,alarm,chato,a654321,alpha5,1234567w,gena,newjersey,conrail,celtic88,djg4bb4b,tulsa,trinity3,69dude,cutie1,pistons1,snook,panama1,phillesh,jamaal,duff,beep,2112yyz,cardigan,sanger,soldiers,ybrbnrf,petr,qweszxc,qwerty88,wookie1,endymion,hund,searock6,hondo1,eyespy,rags,granted,digdug,tacos,aerial,cayuga,ballpark,vwjetta,24pnz6kc,farris,saba,lovergir,ravi,sumatra,deaddog,volt,ranma,nikkii,chris21,fudge1,bump,rally,twocats,slk230,blackmen,hiram,1212qq,mana,arnold1,hibees,omegaman,doria,prettyboy,dasha1,54321a,barclays,kjkbnf,hundred,qweasd12,vvvbbb,333z333,scheme,alemania,redsky,milf,dauphin,turismo,kawasak,husker1,oranges1,alfa147,threat,dracon,steroids,1guitar,tuczno18,playstation3,killer666,scoubidou,anthea,jerusale,trading,newton1,spycams,tm371855,tiberium,carrie1,calderon,iwantit,alessandra,flawless,06225930,roflmao,bakayaro,dropzone,academic,lefty1,newhaven,cascades,mithril,tribute,quantum1,kitsune,harleyd,sonic123,rawks,pimpshit,hades,unforgiven,delta9,rowland,ackerman,sandor,applesauce,31217221027711,prodigy1,irvin,alfie1,sachem,monkey01,123456789qq,buffy123,wisconsin,arakis,asdjkl,waddle,fireworks,fucktheworld,sexybeast,anaheim,utjvtnhbz,hiawatha,joker7,pussy3,rotterdam,mallard1,ahfywbz,joseph10,esposito,pseudo,cocoon,roflcopter,anfield1,cheburashka,ali123,12345x,rochdale,melange,kavitha,variable,goldsink,required,amanda11,cance,amalgam,hshfd4n279,abercrom,prostock,technic,343104ky,luntik,htlbcrf,dvorak,gondor,cordless,shammy,vjzctvmz,mimoza,augsburg,nezabudka,lilleke,masterchief,machin,fury,brisco,tickleme,pargolf,maloney,monkey3,combine,ajtdmw,barolo,svarog,dragon00,cyjdsvujljv,mikola,genie,jewelry,poligon,159753159753,lunita,extrem,innuendo,jacob6,q111111,sarit,deluge,monami,sandoval,komarova,necromancer,habs,jimmer,alex77,159753q,rjktcj,marija,medvedev,initial,catsdogs,king1234,ripken8,impossible,campeon,fkbyf001,rfhectkm,tatooine,ghjcnb,xzibit,guadalup,bluefox,teddys,atilla,explicit,strapon,jason12,rocko,thunder7,imhere,eddies,rectum,ber02,cara,theology,baltic,emanuela,bongo1,deltaforce,rosari,tonic,gtivr6,woodcock,hardman,murder1,monaliza,1jessica,karman,lambrett,iridium,solar1,lehigh,condition,chaton,india1,pharoh,hayastan,ammo,overland,tink,bearshar,vanquish,iaapptfcor,silencer,clayton1,bebit,titanik,isaac1,golfvr6,vfrfrf,masha123,asbury,getbent,hustler1,pear,kimiko,letitia,onlyyou,vecmrf,mrbungle,karoline,pornografia,cubby,hardin,firestarter,colole57,dreyfus,ajcuivd289,birdland,london11,taliesin,applemac,cornet,martyr,pascha,farkle,marysia,aretha,kenshiro,kin,rubyred,oldspice,dima1993,qwe123rty,fdfnfh,w8gkz2x1,godzila,asenna,cigarett,equity,steelman,salt55,hebrew,integer,bigboob,pavell,djohn11,bignose,giggsy,birdhouse,gunslinger,backpack,badboy69,variety,spankit,baghdad,12345b,squad,julieta,timmer,codydog,halo123,jordan11,buckskin,toenail,bruce2,gobama,axlrose,delicious,footer,mash,bandit12,cat,cowboys2,banjo1,words,carnal,fuckyou69,buffie,genova,crab,wichita,vfhnbyb,werwolf,flash123,civil,helloman,sillyboy,veggie,holland1,longview,latter,masonry,hound1,bastion,purzel,nisse,proceed,motoko,freeport,trstno1,darkknig,voluntee,scubapro,tivoli,counchac,bigpig,shadow7,managua,tweety1,7777755102q,biking,said,flutie,poly,fiji,harley11,mudhoney,teatime,darock,testicle,executiv,wiener,thebeach,poll,mrbean,chica,madelein,enemy,dollie,camelia,forty2,matthew8,bigdic,through,trillian,speeder,beer1,jazzbass,cuddle,weather1,poiu123,gojets,rainger,cortex,crayola,tamika,evelin,mander,love77,supra1,plumber1,crichton,lapper,invisible,benjamin1,dover1,catmando,ichigo,benhur,bennyboy,schnecke,friedric,manic,scandal,musique,course,neutrino,kartal,pikapp,hartland,wizz,caleb1,springfield,hutch,pinkpuss,tribbles,liquor,oswego,gilly,south1,1samanth,dictionary,2pac,tbones,sureshot,wooddoor,nowayout,stamina,latoya,lakers34,testit,heyjoe,henri,suckthis,bigtitts,bosto,saltlake,therat,gusher,talker,customs,ideas,delasoul,fallout3,nilrem,bigman1,newt,kickass1,theresa1,mach1,bikerboy,moonglow,sideout,marciano,nascar2,james69,mackay,loverr,valjean,hubby,roscoe1,katmandu,hotbod,paulina1,ryno23,logitec,handy,musics,strumpf,scar,bmw325is,hangover,greendog,pastel,metro2033,tombstone,bruckner,ltleirf,collants,grouper,sivart,inline,smoochie,excellent,dickies,benladen,pitbul,robert3,realty,philmont,blue77,noone,perry1,darknight,knicks1,thegame1,1melissa,bacon1,sweat,convict,finished,modems,ducky1,redskin1,popimp,nokia3230,jimjam,toucan,froglegs,incubus1,zoinks,cobaka,yfnecbr,crasher,users,winnipeg,willo,hello1234,moomin,primaver,fordtruck,yzerman1,charlieb,leicester,setup,pearce,replace,rosemarie,kelsey1,branson,makeup,frank2,buster2,cochran,kayaker,masher,ware,1taylor,1jesus,googl,lora,martin2,spear,yes90125,copter,86mets,marques,ethel,made,dallas21,sex12345,nascar20,kidman,starry,seaton,legendary,rowdy1,justforfun,pereira,pavel1,solange,verga,herpderp,primax,fkg7h4f3v6,mariajos,jada,enriqu,castello,mist,florida2,cottages,red5,lostlove,domina,robo,tumble,paris123,james99,matrix3,performa,supermanboy,rival,specops,dictiona,0okm9ijn,crapper,rhfdxtyrj,june29,jeffer,sample,jenny123,avondale,steels,mace,masturba,sveta123,revelation,telekom,s456123789,tbilisi,pirat,schumach,organ,daking,geforce,sakic19,mylov,careful,skorpion39,kinkos,lyndon,bakugan,mireille,vfylfhbyrf,novice,tralfaz,suzuk,pasta1,dima2010,summer0,green7,smurfy,downlow,marit,dimon,freelancer,tujheirf,stein,qwerty321,mevefalkcakk,f123456,aaaaaas,mendel,dima1234,dima2000,mama12,230857z,ticker,datnigga,dmitriev,irochka,fierce,meteora,gfyfcjybr,p4ssword,fvthbrf,fedor,kali,destruct,olive1,q1w2e,werty1,stasya,magomed,quicksan,igromania,francoi,nissa,spinning,vfhctkm,pashka,kim123,fnord,jimmyg,tarasova,soroka,inkognito,tishka,karinka,kala,jonson,shock123,semenova,hatesyou,m69fg2w,unable,tujazopi,consense,99941,119911,123645,123777,133159,144000,159123,215487,234523,246800,272829,555551,666000,4500455,5552555,7558795,8318131,12332145,12435687,14938685,15975346,38972091,40028922,51842543,123452000,123455432,123456780,333222111,heman,chessmaster,amekpass,007jr,petros,zz123456,chach,martin7,huffman,able,herve,hoagie,emilee,72d5tn,yippee,chow,dragula,airmax,sequoia,jarod,hallow,celebs,amy123,torch,nicolas1,pinga,bassingw,gerda,delia,crocker,b1afra,1iiiii,sparticu,counting,jeanpaul,sobeit,sloth,davidg,jeffie,justin11,fantomen,1starwar,1hockey,cricke,fake,beefy,vixens,1zxcvbnm,starss,elle,innow,roaddog,gobbler,glueck,happy12,motorhea,helloween,reba,21crack,maurice1,elocin,perky,firefly1,123456789aa,epwr49,geeman,underwor,abarth,locksmit,d9ungl,volvos40,7xm5rq,arwpls4u,gbhcf2,sigmund,de7mdf,jakob,alphas,euskadi,rogue2,ziadma,demond,m1911a1,gridlock,lipinski,dora,rainbow2,ou8124me,rulesyou,firetruck,kell,1chance,seminoles,fasted,jessica7,all4u2c,godisgoo,euro,gsxr,seiko,freddy12,candybar,abc456,jona,carla10,cucciolo,cornholio,yyyyyyy1,webstar,inhouse,rivaldo,1phoenix,kattie,calvi,qrhmis,checkout,vetteman,buick1,waqw3p,2004rj,delta4,ptbdhw,orbita,redmoon,guppy,darby,qcmfd454,tusymo,nevaeh,stucco,area,nbvibt,gethigh,kqigb7,2kash6zq,dlanod,spotter,mangas,duke11,finch,pokesmot,amoeba,lenny1,rockfish,md2020,daveyboy,ricker,pyf8ah,1bailey,sandbox,slickric,potatoe,d9ebk7,curves,sangria,wp2005,lagrange,auditor,jalal123,fifth,sometimes,atheist,cossie,nikolaj,deidre,ogre,rileydog,meditate,boutit,i62gbq,tape,civics,bigman2,maples,girl78,foggy,hemi,sharing,ajay,corbett,aster,lunker,slime,paste,hello99,construc,join,jman,elton,luvpussy,dick12,holliste,cxfcnm,braindea,bravos,squadron,baird,noble,goddard,bolt,shore,rola,tawny,marlena,airbag,ipanema,naughtyboy,herschel,xakepy,sky123,phlegm,arnhem,homewood,yukon1,jimmyc,hogger,nobby,bipolar,germania,geelong,tijger,bob666,scholar,texmex,admin2,energie,foley,cockring,replica,steve69,snickers1,milosc,convert,bittle,andretti,oneday,cocteau,happy7,tate,shetland,carlos12,balla,goatman,wellness,sandokan,peedee,pendulum,yummie,chrisd,lawnboy,bobbyb,kinney,ktyxbr,phisig,oldsmobile,davex,nicklaus,dfcbktr,mystere,handel,zorros,kimba,sepultur,sicilia,taka,romeos,manyak,nowwowtg,1a2b3c4,heartless,netgear,my3girls,fktdnbyf,hooch1,shadow1212,soccer21,nopasswo,suarez,elloco,pusser,zara,1joshua,hondaciv,tempest1,alakazam,duffy1,money01,villa1,hej123,team3x,nolimit5,hacksaw,verde,biohazar,bmw323,tellme,august2,borisov,spots3,going,brehznev,casper12,pilar,ilovelife,homedepo,caterpillar,noise,ripoff,sk8board,hannah01,leviathan,janitor,1234567890qwe,peternor,bailey12,peewee1,atletico,cubswin1,academia,acadia,qzwxec,hardbody,bonds25,renton,fruitcak,maduro,dudelove,qwerty2010,freaky1,ecstacy,el546218,fabiana,deion21,kappasig,florian1,anathema,superpuper,gilbert1,birch,casper2,8letters,template,acuari,tvxtjk7r,rubens,xenocide,rutland,sasha1234,barrys,beaver69,nikki2,dcowboys,yessss,overdose,cfdtkbq,kzueirf,blackmag,tuffy1,codeman,gamma1,roger123,g00gle,agbdlcid,jesus3,malawi,vitoria,roshan,hfcgbplzq,1qasw2,rattolo58,green99,batata,merde,dnstuff,april17,glavine,bubble1,passw0rd1,christer,mike2,moosie,football12,dmb2010,king69,h00ters,hedimaptfcor,mateus,calient,tomat,pollit,juehtw,kalima,turk,twisty,richer,azertyu,gotika,pdtpljxrf,assman1,1234567r,angel5,uniform,hockey2,herkules,james12,sausage1,zorba,poopers,sharingan,pozitiv,jaimatadi,mossimo,rfcgth,fuck1234,lovehurts,turd,washing,eric12,juillet,rajeev,football2,sanandreas,lisa01,creosote,amista,piligrim,dragon77,electronic,trujillo,dragonfire,lennie,alessandr,az123456,elenberg,cosmopolitan,cassey,enamorad,alevtina,mancini,gfhjkm2,hip-hop,elektrik,jasond,qazedctgb,kasimir,salama,nadezda,mausi,ilovepus,zxc12345,roadstar,kaspar,sevastopol,annies,autechre,browncow,beautiful1,nazira,rjpzdrf,djkujuhfl,vaz2106,twinz,cheri,lildevil,danube,redknapp,mariela,vito,greats,tester1,milligan,stiffler,1fucker,bill123,altitude,usmc69,alukard,sailer,esteba,iamhappy,bayadera,sashas,pencil1,zachar,sweetp,soccer99,eatcum,ambient,roksana,sony1234,azerty1,zaebali,shitass,inspire,westward,arriva,cyecvevhbr,loreal,jessica8,anamari,frfltvbz,sweethear,erevan,xtvgbjy,geneve,volvo850,evermore,moxie,chelsea0,genius1,drexler,qaz1wsx2,asdasd1,knob,muerte,strider1,sashaa,nihao123,religion,artem1,camille1,aniston,frnhbcf,mechanical,oskar,couch,pomona,dressage,kellyann,1999ar,tommi,strippers,chris99,whip,rulezz,chicubs,antonella,deleted,fragment,money7,severus,redfred,sebastian1,mcgregor,joni,redeemer,bester,rtynfdh,artemon,flood,artie,flameboy,sperry,nathan12,dukester,kenner,scorpio7,athlete,pourquoi,vfrcbv123,shlomo,gues,rocky3,4815162342a,biskit,overture,chutney,nitehawk,kroger,milehigh,crawfish,hornydog,tigerpaw,radost,myopia,oxnard,delbert,evgeni,mathew1,k1234567,bandito,bigrob,tensor,oldschoo,recruit,artiller,00197400,thebull,section8,bandaid,cannes,racecars,kelly69,sessions,mathews,namibia,vovochka,06060,retro,honeybea,11111111a,rangers9,lobster1,belova,damon1,stormy1,josie1,julian1,tally,catty,evertonf,kagome,sangeeta,torrie,starwar1,katt,spring99,outdoor,sock,osvaldo,minnie1,sti2000,herman1,holly123,superbad,ronin,buddylee,pepper01,coates,council,djhvbrc,dirkpitt,golfcart,manitoba,greener,jacinta,jeepcj5,crazyboy,danica,riggs,blitz1,master23,pfeiffer,navarre,1horny,seniors,ucla,gowings,iforgot1,townsend,lawrun,petey1,ivory,tiger01,navyblue,avemaria,viviane,theclown,makeme,roxane,dinmamma,supermar,probert,neener,rosebuds,nottingh,01011901,rfhbyjxrf,ostrov,seed,delta2,sheila1,wayland,kessler,katelynn,blue88,buccanee,chihuahu,mookie12,parachut,afdjhbn,oneill,bergerac,popmart,doherty,jessicas,curly1,varadero,redrum1,ceejay,vivahate,malaya,dieg,sharks1,joplin,carley,lace,civic1,gobuffs,coleslaw,serenade,rastafari,shotguns,trump,breezer,sitting,spankey,diggers,hahaha1,ferreira,bojangle,lyndsay,phase1,pussylip,luckycat,matt1234,notorious,horny123,thuggin,sadiedog,daddie,bigdaddy1,mackdadd,lines,lakers8,good1,romuald,budwiser,iggypop,anguilla,enter2,twinboys,knobby,johnson2,rambo123,handbags,moneymak,norcal,gripper,pentium2,specials,henrys,maggie12,domani,partytim,gracie1,pacifico,reliance,astrovan,collingw,blueballs,vortec,ghhh47hj764,popstar,zagreb,squeek,ajhneyf,ignatz,ugly,merda,january2,gunn,james5,hideaway,isgood,hazel1,oscardog,trinit,luke1,1panther,black13,1slayer,pimpi,cyberman,b00mer,fractal,randi,comeback,bladder,ronnie1,panther2,1matthew,pitbull1,drives,masters1,shelb,freakshow,milkshak,getpaid,izzy,keifer,jock,spector,biscayne,lauryn,priority,oakridge,rockss,weedhead,merle,voodoo2,johnnyb,management,sabbath1,bob101,jillian1,lyndsey,golfers,roberts1,tauchen,bobbyboy,rocket88,seventy7,durant,tazman1,haslo1,plate,france1,cocodog,wuschel,kola,dekker,pionex,boy,ryan11,mycroft,swerve,tiktak,pepper123,matthew9,joesakic,ktutylf,ufkfrnbrf,cyclops1,monger,halogen,waynes,sicnarf,hawking,valeriy,gogiants,crawler,winter11,jackryan,sexylegs,elguapo,majors,1234asd,glori,sc0tland,gaetan,mcdowell,jame,tinfloor,stratton,fishbait,5t4r3e2w1q,1scott,freddd,nougat,thermo,dill,quagmire,carly1,coolbeans,printers,chaka,reinhard,redcloud,killerbe,jewel1,rennie,fetch,fire911,calamari,blanc,calli,domenic,pariah,filters,a1b2c,gearbox,golfe,mollycat,clicker,sanpedro,oldtimer,dogday,jalisco,tayson,dreams1,fairfiel,forfree,carte,starfury,cocopuff,ratrace,smurf1,croft,fullmetal,travolta,malibu1,bmw330ci,neruda,pappa,finster,blueice,where,znbvjd,cannondale,bette,dinkle,kind,b0ll0cks,crackhead,friskie,liveevil,curious1,lancer1,z1234567,asdfasd,period,eldar,delta123,boston12,putnam,greggy,ichiban,wolf69,lvbnhbq1,topdevice,pink123,09877890,grades,slava1,advantag,printer1,pontoon,1john,qwerty10,totalwar,underwoo,123q321,billions,flame1,nfnfhby,danny123,cocky,supertra,rvd420,homegrow,gotti,flipyou,supermen,shad0w,ghbdt,q1w2e3r4t5y6u7i8,gjrtvjy,pedro123,lbyfhf,lime,kaycee,mutual,redroses,bigfella,joy123,rude,gaurav,masterof,www111,killer66,notyou,bilder,ender1,byajhvfnbrf,monolit,sweetgirl,uruguay,cookie59,shinobu,dbityrf,nelli,zqjphsyf6ctifgu,flamenco,fische,maitre,morebeer,klop,edvard,goleafs,skyhigh,suzanne1,ironroad,rhjirf,sandrin,miche,kath,midcon,viktorija,timoxa,exercise,fabrizi,noncapa0,marle,popol,speeding,redstone,olimpia,11qq11,tallguy,madri,fuzz,sanya,prono1,tyrik123,devices,kavita,natalia1,puccini,taters,gthtcnhjqrf,k9dls02a,takagi,1hxboqg2s,lhbjkjubz2957704,pulley,m0rn3,pradeep,sergik,nurik,devo2706,roman222,tamwsn3sja,6000,123423,125678,135711,183461,198400,227722,233391,369147,481516,526452,554433,998899,999998,1232123,1313666,1314520,1596357,7355608,8543852,9632147,13324124,36460341,77778888,81726354,86753099,88351132,88889999,123123456,299792458,481516234,0009,boobis,denman85,binary,napier,roberta1,007,moreland,xeon,55555n,busch,jasper12,dole,nadroj,septic,leetch,cabinboy,shines,ctcnhf,opopop11,134kzbip,gsewfmck,yhwnqc,dzakuni,amadeus1,blucher,teengirl,bellsout,pescado,ace1,freeee,arundel,showers,doppler,belgario,sexxes,rose12,sociald,beandip,1bulldog,1012nw,hypnodanny,wildside,anjana,clive,fromv,flor,eatit,cavern,1ccccc,1xxxxxx,aleksand,qaz123456,chicag,tetons,biteme12,whittier,cavscout,borneo,1qazxcvb,123456782000,1234as,drlove,nerd,1234a,cyrus1,cisco123,alfabeta,123kid,julie456,charvel,cand,yumiko,ontheroc,h2slca,apogee,clapton1,repeat,john69,yakman,hayduke,blingbli,deckard,545ettvy,bjhgfi,2wj2k9oj,alianza,alcapone,cooool,flagship,gjmptw,runway,muirhead,deftone,monica69,nabokov,hightime,natedawg,hodge,hepcat,eastwest,egon,giusepp,lights1,213qwe879,piehonkii,murdoch,footsie,fredo,horney1,chev,12345aa,123456ss,peppy,angles,suzette,nascar99,adena,stores,llib,vg08k714,baerchen,victim,tamia1,coca,warpath,finbar,openwide,insane1,1chelsea,time1,next,1ferrari,anna2000,baby2000,chew,gepard,tifosi,noidea,gfhjkm007,ontime,cq2kph,wvj5np,concordi,grouse,arschloc,qwerta,surreal,cordero,subito,homicide,89172735872,farout,eeeeeee1,dakota12,ferrer,23jordan,timoth,zachery,linda123,tri5a3,3a5irt,yja3vo,pond,1blue,747bbb,e5pftu,y9enkj,magnum1,erich,troutman,andrewjackie,shaheen,knuckle,chablis,5lyedn,zpxvwy,alina1,hot4you,dante123,uiegu451,btnjey,vgfun4,4pussy,7ovtgimc,graceful,seasons,libert,766rglqy,clumsy,tome,feli,sappho,king12,monorail,succubus,warlock1,willia1,xxxxxxx1,beercan,damngood,lalo,pussyfuck,bootsman,lsdlsd12,bmw530,1yellow,bubby1,sonicx,handjob,nujbhc,scorelan,pot420,boonie,mobster,giles,aisha,prometheus,cinderel,armagedo,ewing,brenner,dirtball,cape,tootall,thema,jesusislord,yankeemp,jupiler,zxgdqn,beetle1,sabre1,novembre,megat,sucess,forgive,bigmac1,1qazxsw23edcvfr4,123456zz,jalapeno,rizzo,austen,brandon0,bintang,fence,intimate,comander,itsmine,bootay,nefertiti,incredible,myword,annick,dukes,spatula,faerie,whoops,chakra,alexand,virgins,antler,sloane,valheru,turbodog,speak,amaterasu,mastercard,brides,dorothy1,paddy1,avensis,jbaby,hard4u,cathouse,hajime,cornflak,kswiss,onlyone4,pjflkork,frankfurt,miro,hertha,rancher,catsmeow,8uiazp,kanker,exposed,plucky,packer1,shanty,konijn,guest1,june17,slage33,hairy1,rfj422,split,socball,pirrello,anchorag,biggins,lamers,mulch,rose123,epoch,sergey123,alicia1,3xbobobo,brakes,archives,pirates1,spacebar,burr,cfvlehfr,cripple,madhuri,peekab00,9379992a,hacienda,bad123,nescafe,takeoff,joshua01,packet,shilpa,tigris,sonntag,mistydog,engine1,carter15,thedevil,rjhjkmbien,a9387670a,cellar,barbaros,monday12,dicksuck,abaddon,alex00,fatdaddy,security1,crabtree,raven123,kiran,ktrcec,1fire,sophie12,fred99,vitae,mrjones,tonedup,cutler,sugaree,abuse,episode,pixie1,ares,carton,alison1,1111111q,tops,boopie,soccer20,gerald1,achille,yankees0,love14,dodgeviper,poppys,guitar12,collins1,tequilla,mercedes1,a1l2e3x4,crest,choctaw,2110se,1adam12,holloway,chiken,07070,mummy1,zaq123wsx,ferndale,jam123,ghbdtngjrf,loveee,.adgjmptw,bandung,victoire,zadrot,mano,kingfisher,gaspar,andrew01,fcbarcelona,badbo,beam,ramos,wargod,agents,facile,andron,flutter,dagny,provence,qwerty89,precios,maintain,rhodan,sidewinder,all4u,gorodok,n123456,spelling,mcfadden,alenushka,afric,otello,flick,always1,merton,zsxdcf,slovakia,loveislife,soccer16,brilliant,asdf12345,sondra,colonia,alladin,julieb,scarecrow,bald,icecrea,hockey11,angela12,vbhjckfdf,saluki,smk7366,spray,richland,ak47,mylove1,welcome8,simplex,anna2010,lampoon,snaker,fisher1,bats,percy1,harley2,birthday5,ilikeyou,ulster,loveher,firewood,freshman,flight1,alaskan,goforit1,websters,bellas,auror,frames,putas,apolon,apollon,zmxncbv,rjpthju,kotopes,lena2010,cfytxrf,ghjrehfnehf,hingis,alex69,snowdrop,popov,tickles,4321rewq,123qweqwe,opelastra,werthrf,chelsea6,mircea,melmac,kazakov,monito,lesbian1,sioux,malkav,narayan,qazwsxedc12,teresa1,kjiflrf,hockey10,kentavr,fredrik,napoleo,liverp00l,cessna17,feature,suspende,airjordan,stang1,master10,billard,nyquist,rezeda,diablo666,karan,mizredhe,rfvbkkf,thief,yanshi1982,stargazer,julia123,mandy123,max2000,thissucks,brenton,tianna,andrew123,pass2,fantasma,amrita,winthrop,amylynn,berlit,kilian,djkrjdf,angeli,anneke,killer99,marlbor,honey2,planets,hashem,024680,1andrea,edoardo,skylin,fourier,werthvfy,antique,parool,morgan2,kaktys,koteczek,clemence,caio,apples12,chennai,anima,martyna,emerica,exbntkm,chiva,antone,obsolete,blood123,slowpoke,pimps,jordan01,francy,azalia,luthien,zasranec,studley,chuckie1,thegirls,aries1,samual,armagedd,lilia,raspberry,remedy,arturik,chelios,schaefer,dbacks,sevendus,multimed,vaz2108,dimsum,roxbury,baseline,screws,bitches1,howling,scale1,blarney,bunky,grunts,doglover,bagpipe,seaking,septembr,djembe,jail,alphabeta,letmein3,brewski,keno,david7,kalinina,jake11,vialli,fanta,heskey,geddylee,pantry,gizmo69,brittany1,jasonr,clarks,biggreen,birmingh,tracker1,wagon,chingy,ravens1,bangbus,bcnjhbz,truth1,nations,davidh,honda250,pyramide,august16,xthysq,rikimaru,fred01,grimsby,red1,goodrich,curry,millie1,tazzie,bier,firstone,lurch,hullcity,beachs,seymore,yyz2112,carlie,sidney1,bartender,hawkman,goduke,monamour,my2kids,cuban,camaroz28,wedgie,wheaties,bassie,lupus,mavrik,batman7,camillo,missed,olesia,unlimite,qsawbbs,puppie,gaydar,skimmer,fluke,orville,dario,uuuuu1,wwwwww1,confiden,bobbbb,duke01,charlie8,snoop1,blinds,macsan26,glock23,biomed,britten,hunted,carlton1,avilla,bear69,rfpfym,notime,sunmoon,gocards,shame,programm,fishboy,swamp,haywood,clarkson,judoka,digweed,rofl,hyper1,media1,renoir,bunny123,deadbeat,hol,redcross,danielle1,stanle,bluejean,kayley,idiota,banana12,killabee,rifleman,iseeyou,care,natas666,mutt,moriarty,haring,tomcat14,bigair,begin,chatty,kstate,bootyman,12qw34er56ty,padilla,gunther1,believer,zxcvbnm.,schmoe,pron,verbal,granit,honey123,password00,slicks,fiona1,blinker,dreads,shea,piramid,planters,jolanda,forster,german1,chomsky,sarenna,spiegel,hollyb,bernadet,ment,alex2112,activate,neverdie,manning1,nnssnn,buck1,war3demo,boomtown,cindylou,feldman,biffer,solara,billgate,penalty,tandy,waverly,penis123,scouter,richard7,honeybear,rawdog,mrskin,cheetos,newzealand,trumpets,lorenzo1,volcom1,1fred,trapdoor,sexy11,veracruz,glide,hardtail,corpsman,boss1,octane,racheal,bottoms,23wesdxc,p4ss,blunt420,vero,fuchs,bigjay,1rocks,celtic67,blowjob1,lloyd1,chelseaf,blocker,druids,stimpy1,reddy,copy,nasser,propane,boobman,sanche,twain,hummer1,irondoor,tractors,islanders,billybo,kingdom1,draft,nagual,drunken,christopher1,bitchedup,lucylu,buffett1,osborn,shirt,nivram,aristotl,159753456852,ikke,nando,donegal,awacs,blackpoo,bonny,davion,salazar,shields,t3fkvkmj,huevos,spank1,three11,collant,blind1,fencing,ventrue,perrier,lagarto,golf11,netvideo,exclusive,blumen,shaolin1,philips1,noaccess,mason123,jennyb,godloves,tiger12,bob12345,bobby2,younger,chucks,clint1,carriage,bondar,yonkers,tomwaits,junior2,betsy1,fedora,ludovic,poorboy,geniusnet,tuck,cfrehf,jeopardy,mcintosh,corvet,smacker,grosse,frolic,judson,krazy,demand,tiger99,snorkel,techno1,norcross,silky1,signup,civicex,maisie,collection,password10,33ds5x,tigerwoods,benfic,passio,newjerse,fish123,mikel,mascot,defiance,forgotit,merlin12,intel1,aynrand,chicago7,crocus,isgay,brunner,wolverines,unknown1,7seven,texas123,tattoos,bujhm,archie1,baseball2,longball,junglist,cornbread,panic1,pilatus,acer123,motherfuck,qwerty3,keyhole,porno123,smartie,daisy2,camaron,margo1,chris01,patty1,deltaone,stardog,iowa,hateyou,captiva,arclight,snoopy12,magi,drache,right1,mcgrath,blesse,windsong,toogood,lightsaber,skoal1,lasagne,stavros,skipp,moremoney,123321qq,timewarp,gill,nikon1,joseph12,kerry1,inuyash,toots,supercar,shaitan,ololo,hardline,hass,bassale,whattheh,neverland,cortney,thorns,hashish,orange2,oshkosh,nokia5228,smolensk,jordan22,yeah11,cunt69,myballs,edouard,grunt1,mojo69,metropolis,tort02,leapfrog,accord1,permit,tascam,davidp,kamil1,servant,cash12,freemail,goddamn,dali,zxcvfdsa,mazahaka,djghjc,maitai,sneak,danny2,1234567890w,qwerty666,parol123,love2000,ginger11,treehouse,nugget1,yojimbo,wolfgar,daytona1,riot,uthvfy,krause,matrix12,sssssss1,azsxdcf,cat222,rockyboy,reese1,sirena,wow123,denisov,vfhrbpf,guards,kondom25,1211123a,awatar,tanzania,dumbass1,fantik,dimon4ik,123wer,gfhfyjz,ktybyuhfl,pablos,feelme,flemming,suzieq,screech,juicey,motorhead,123123s,idkfa,playa1,polo1234,kiril,erlan,erbol,123654q,kovalev,siouxsie,password23,sylvi,josh1,vlad1995,slicker,timeline,matthieu,stuart1,sachas,bhbyf,fetish01,wessonnn,lefthand,celti,jeffre,glock19,heatwave,ginny,jansson,geronto,suspect,1bear,nurbol,pitufo,markova,harlow,henrique,kishore,jasonm,sylwia,skipping,warszawa,merc,tamila,maryjoy,ladyffesta,installutil,lekbyxxx,networkingpe,comicsans,pnp0c08,zvbxrpl,tarasov,yuo67,olegnaruto,200,4002,20000,106666,123400,148888,195000,198900,258789,302731,375125,556655,666425,778811,1123581,1236547,1357246,2481632,5782790,12342000,21436587,36987412,66669999,123654987,444555666,1236547890,0002,drogba,shah,1chevy,bunch,somers,wehttam,daddy2,brigade,cr250r,bogies,smallfry,6458zn7a,qvw6n2,hasbro,wolfi,spoony,david01,matild,toobig,birthday3,blakey,satch,kcuf,stace,hines,unicorns,m69fg1w,disease,terrys,scoots,defeat,lynda,pelota,lithium1,1beavis,octobe,pleaser,chippers,karol,nichol1,jjjkkk,penmouse,bearcat1,deli,kisser,vbitymrf,1steve,sp00ky,jerky1,1aaaaaa,123abcd,congo,12345abcde,abcde1,geilesau,lusting,montgome,pompano,cum123,mikes,128mo,1jones,gimp,jasonx,dga9la,v2jmsz,vogel,casey22,cyril,babu,bruce10,sm9934,aristo,kill666,fihdfv,sd3lpgdr,llcoolj,idteul,hardass,hagen,dalglish,mike24,haven,natwest,seat,bmw535,skorpio,1corvett,puntang,olli,jager,impaler,steal,tincan,gatekeep,spurrier,1abc2,669e53e1,karishma,habit,1smith,shack,1clutch,twopac,arrest,avery1,wilco,matt12,phikap,nemrac,1p2o3i,e3w2q1,daboys,gooner1,pugsly,lift,spammer,cecili,freek,brian2,phunky,tension,f1f2f3,1ddddd,1fffff,1yyyyy,schools,schick,donato,larrywn,steffie,gods,f00b4r,manni,len2ski1,schism,yakumo,474jdvff,nella,jmzacf,kringle,symow8,625vrobg,dwml9f,zesyrmvu,ifghjb,damned69,firewire,date,cde34rfv,cqnwhy,cuxldv,jenmt3,vallejo,rincewin,buddycat,big,7pvn4t,yqmbevgk,bloomer,cammie,sh4d0w3d,gfxqx686,boyle,pharoah,2b4dnvsx,takedown,scammer,buzzed,bastardo,golf99,ulises,konami,holida,danika,gobruins,andrew13,manners,matthe1,paiste,pornlove,rainy,fortis,bronco2,darby1,beatnik,killer23,softbal,d2000lb,minded,cheung,wcksdypk,254xtpss,3tmnej,ue8fpw,harmony1,bust,wolf12,kaylie,rlzwp503,fuentes,all4u2,growth,83y6pv,5qnzjx,vita,bayshore,tits1,lasagna,qwerty02,duvall,momentum,1morgan,chung,carr,harp,quant4307,1arthur,dragon3,sexsite,09090,balbes,jearly,mcfarland,austintx,reddawg,red12,aidan,vanish,jgthfnjh,lvjdp383,fuhrfzgc,griffey1,dickme,balling,patagoni,mhorgan,holman,valium,wavmanuk,jetman,rapala,megumi,lois,chyna,evol,toot,falcor,simo,shrike01,broccoli,nivek,charlot,daisymay,plump,asleep,lowboy,qpful542,tamere,alba,egbert,taint,sk2000,melton,fridolin,virus1,rasheed,adastra,mike18,meanone,000009,dreday,togo,sarajane,blue52,schmitt,hea666,leonel,sigtau,northwes,alexa1,borland,trix,toby1,duplicate,philadelphia,pooka,johnny99,pirelli,dontae,sukram,whatthehell,ohwell,tripoli,rosales,merlin69,appels,drewman,charme,saxons,creed1,wide,karen2,kolovrat,manley,escorpion,volvos80,nena,ea53g5,pepper76,r1chard,passward,plonker,minka,nikeair,rafferty,1star,acuransx,gift,piggie,shooby,gunners1,1black,a19l1980,1shot2,89211375759,vagner,abcde12345,1qaz3edc,manso,leafs1,123456aaa,1qqqqq,nutshell,mount,pagoda,jumpman23,mustanggt,hotcum,isabella1,alesia,natura,sweetpe,abused,mumbai,sexylove,giantess,88002000600,lsia9dnb9y,camaleon,lucky12,make,cathleen,you,shasta1,fathe,theblues,sibelius,manon,shane123,natasha2,onering,abramova,walleye1,whytesha,baranova,edgard,briant,deeppurple,service01,everyone,asdflkjh,ace1210,domination,angelique,spaceboy,agamemno,settlers,goldorak,cahill,tickets,kipelov,duffel,jessy,dayan,123456789i,john99,merlin01,gjkbyrf,creative1,breitlin,gohabsgo,spaghetti,beavis69,crespo,parkside,ashford,malvern,dances,addiction,imesh,password8,dare,utjuhfabz,jor23dan,221195ws,oktober7,jehova,serega123,boy123,silver11,melinda1,allo,qwaszx1,tecktonik,pinche,violette,agent99,max777,timberwo,rocky13,bazzzz,asdfjkl1,aezakmi1,kiara,badfish,005500,technology,pelusa,eyeballs,producti,imagine1,monte1,755dfx,warm,fyfyfc,spk666,klipsch,ktnj2010,armond,misskitty,chargers1,agent1,martin11,a1234567890,mike00,bohemian,cruz,armpit,archi,blimey,doroth,wallaby,yard,almira,sarang,z123456z,dfnheirf,aaa555,balsam,morgane,zoidberg,polic,wildman1,honcho,survive,nautique,gfhjkm22,iloveass,monterre,paparoach,twisters,dawkins,dashenka,birillo,severine,alphaomega,hiroko,aaa777,anna1988,approved,stone32,frogger1,angel9,lamp,veryhot,bailey01,ardent,wonders,dalamar,asturias,elendil,bianc,juanit,madcap,12345ab,1qaz@wsx,reanimator,angelochek,artem2010,vekmnbr,benefits,alex21,ranjan,anastasiy,catering,deano,korsar,windsor1,korvin,azaz09,1234554321q,deadman1,dolfin,dolemit1,pokerface,realmadri,whitewolf,quigley,theghost,stellina,tesoro,george11,moulin,dtnfkm,streetball,astaroth,teaparty,monet1,12345zx,vodolei,froinlaven,jagged,mudcat,baseball3,ofelia,berlin1,schaap,chilango,duende,15s9pu03,badge,shaina,weasel1,andy1,amega,brimston,freund,woodlawn,capita,dominant,mydog,loner,kumar1,dimochka,sixgun,splitter,arshavin,cherise,gostoso,krokus,matia,juve,gooners,ivanka,petrovna,qwert54321,verdi,climbon,escada,kennyg,angel6,cocacola1,arie,artem123,spike123,mightymo,hariom,anna1,asparagus,vfuyjkbz,aziza,habanero,freedom5,mariella,foundati,seashore,devilboy,alabala,esperanza,goeagles,quince,telefono,1234567k,firecat,pjcgujrat,dump,april6,cruiser1,getaway,gagher,serkan,peanutbutter,simba123,redsea,rastas,quattro6,hemmelig,chamois,tanith,breaker1,callas,diabetes,artisan,kibble,channing,qwert1234,atari,snaiper,splodge,lolpop,rani,hxp4life,clone,twice2,1player,hellyes,misa,murmansk,boy4u2ownnyc,scum,bear11,bunches,pepsico,killer11,kahn,explore1,hoping,suckit69,surfboar,bosses,prapor,beholder,2bornot2b,miller31,hello9,spuds,baller23,mario123,gellar,crazycat,baltazar,littlebo,buttmunch,gatorman,twogirls,bosox,grappler,harley69,bambush,iamhere,crickets,longbeach,fizzle,rambone,kikker,cantik,deposit,daisys,western1,tenor,roadie,baobab,monkfish,kellym,chameleo,york,barbwire,befree,spiro,overlook,vtufgjkbc,voldemar,bornfree,barnyard,redfire,wetcunt,itchy,oceane,barnum,splooge,micasa,ferrari5,britt1,domi,suckmeoff,constance,1234567b,tarkan,fende,realgood,maxxx,tanisha,sammie1,pipetka,himura,ludlow,vandamme,7xswzaq,bavarian,sarah2,summer00,nastyman,petty,hotwheels,gorams,tailor,golfer12,insure,fern,bowler1,ddgirls,michelob,cowpie,beerbong,chops,love33,logos,vettes,crayfish,stevek,minus,firehous,ferry,1heather,beegee,backspace,frenchfr,rustys,bumerang,pounce,buthead,miked,satans,heslo,bluecar,liberate,fuckyou!,bighorn,schmoo,parkview,2bornot2,shitball,saliva,thayer,nadia1,darksoul,beograd,jordan123,rassvet,roxydog,pronger,skynyrd,sticky1,painter1,hearse,peapod,way2go,clown1,verynice,pauli,jorgen,martesana,wutang36,phoenix7,sally123,c43qpul5rz,invalid,focused,bethie,stiles,159753z,conair,mermaids,777win,rockhead,playhard,principa,tsv1860,shoebox,sooty,farted,jasonp,dallas11,madone,jamesp,jrcfyjxrf,bhutan,muscat,blabl,momma,scared,mcgee,funboy,hugedick,capella,ballers,bigchief,mojoman,cabinets,scoot,dementia,dimwit,poop1,kellen,dogstyle,buda,bigfan,kimberly1,fosgate,larger,getrich,bodyhamm,jasonc,thrice,sintra,starr1,rodney1,chucker,devotion,elbows,bigstuff,majinbuu,joeman,eliza1,winxclub,gunship,misawa,pitbulls,providen,dragon9,maria2,sweater,simone1,marielle,bonded,billbo,suzanna,hobie,diamond3,chipster,toyboy,cheney,phitau,saddie,kansas1,backside,davidruiz,opium,drill,detlef,miners,schlumpf,wm00022,green22,espace,w00t,crisco,bitchedu,eugene1,hangout,cello,yensid,julius1,rounders,numberon,circles,slayer69,blacksex,blackhawks,forzima,witch1,buns,lee123,crossfir,codename,blotto,bologna1,job314,jasmine2,muffler,dalmatio,ranger12,pavlusha,jenny2,suckmycock,741852kk,travel1,funtime1,mybutt,troyboy,millionaire,briley2,jaso,movement,excelsio,ninjaman,dessert,waldemar,mesquite,anniedog,staley,bobbin,redso,peanuts1,d78unhxq,redwood1,marsbar,ankles,trololo,cordova,trudy,snakey,drumss,freakout,spanis,radley,dink,nooner,racing1,plug,graham1,trademan,running1,garfield1,headers,grandmaster,nitrogen,ilovegirls,dapimp,frequenc,trolley,zzr1100,m1chael,stifler,melodie,nokia6230,chilling,ingodwetrust,thunder9,mishanya,littlebit,s4114d,falcon2,minicoop,diskette,cobra2,rocke,k1ller,owens,jasonn,kennys,deadlock,cornell1,geek01d,pepsi2,toxicity,mesa,skeets,moose123,henriett,dohcvtec,hologram,greater,midas,macanudo,dakota01,fidel,tone,creole,charles3,cameleon,canard,granp,moosejaw,offline,costume,clooney,master5,chrisk,bulle,emory,counters,justfun,icewind,enzyme,polymer,minecraft123,finance1,dignity7,leave,chelsea8,jcnhjd,pierrot,harriso,london20,lightbul,products,1ashley,wwe123,ultimo,nightwing,karina1,fornow,davidlee,whatnow,daddyy,danilov,mickey12,sarahc,slaye,4cranker,cure,teremok,goodbeer,whatif,sweeter,catdog1,lifeson,q123456q,duncan21,lerxst,seanjohn,laura123,parker12,longlife,soccer4,mashenka,titani,desant,nremtp,shanice,mayfly,pokemon2,pasha123,fatality,kiska,dome69,horndog1,qw12qw,runescape1,7f4df451,twinky,standart,shami,westwing,tippmann,fatbob,rfnmrf,marquez,composer,intheend,nutty,doedel,commish,davidr,zermatt,monkey5,qwerty111,jeep95,nesterov,rights,kappas,abkbvjy,waheguru,pastas,jobsearc,aw96b6,mika00,drama,geolog,turtoise,orange3,riesling,anastasija,kashif,rfhfynby,karthik,natasa,fisch,morgan12,igor123,goosey,felicida,whisper1,manuel1,rostislav,bear01,dbyjuhfl,roxann,thomas11,nokia3110,gjvbljh,piknik,loshara,namron,paulaner,glory1,kristel,seward,pass69,pfhfpf,kbnthfnehf,ficker,lopas123,generic1,sucram,erkina,safina,volgograd,fk8bhydb,winnipeg261,futur,cegthgfhjkm,manics,whoareyou,digita,motorol,zerkalo,dusty197,renner,ghbphfr,gokart,kkkkkk1,berezuckiy,my2girls,jagua,marina123,ole4ka,pussylick,pigtails,abigai,conehead,negril,sandhya,gangste,hiroyuki,jinx,teachers,mustard1,suns,gulnur,crushme,hfccbz,megapolis,satoshi,modified,vfvektxrf,jasont,12345678qwe,room112,karolina1,sanek94,kairat,scripto,ktr1996,vlasov,digitalprodu,installdevic,berbatov,piter,moldir,p123456,sherzod,2509mmh,123456@,mmm666,7000,36936,78787,113311,123213,125478,158272,179355,197800,198300,199200,222999,234432,332233,339311,345543,392781,442244,444333,444666,446655,556699,557799,600000,616879,697769,700007,703751,708090,852369,888111,889900,975310,1234512,1234578,1453145,1654321,2835493,3334444,3891576,6031769,6666667,6820055,7894561,12332100,12345698,19216801,19899891,19977991,22221111,123452345,159357456,666999666,951753852,963214785,999888777,billyray,gulf,crying,sirens,avocat,selfish,dunham,walte,maarten,yell,vitalina,netcom,alter,xswqaz,minami,dun6sm,zsfmpv,voyager2,crf450,devilish,seemore,chrisa,taxicab,mont,dave69,cobber,nolan1,huxley,joedog,pimpdad,yesman,jazzzz,1j9e7f6f,mott,masterb8,manda,warlord1,hookedup,matilda1,1power,edgewood,richard3,1eeeee,1ggggg,trojan1,1zzzzzzz,ggggggg1,1rosebud,marth,stout,pussy21,wharton,kucing,abcd12345,worth,byron1,motdepas,asdfghj1,rodgers,peep,cameo,joey123,allianz,antlers,angi,metart,melissa6,tennis11,acorn,masterb,4play,paradiso,hotstuf,a131313,tapout,4ng62t,cooling,toront,rembrand,smoky,nqdgxz,wqmfuh,devlt4,dynxyu,mxaigtg5,tinner,dorsai,lipper,soccer18,peterp,samedi,anglia,04325956,tweedy,cheryl1,chet,nashua,spiked,digge,steamy,fortun,an83546921an13,terces,blac,1apple,1buddy,forrest1,1grizzly,observer,1richard,bigjon,1kitty,wolfdog,spain1,tatertot,stanley2,0p9o8i,ronni,amigo1,wank,penthouse,scan,jblaze,katrine,vfhufhbnrf,tanne,bodger,plan,toasted,filth,foiegras,tiffany2,compute1,viper9,lupine,newdelhi,batman11,chris23,containe,peek,meagain,sharif,xswzaq,anna21,toering,mardi,tgwdvu,wallstre,nirmal,305pwzlr,nbu3cd,ikalcr,tbivbn,critic,iyaayas,e6z8jh,zjduc3,yr8wdxcq,luisa,sumitomo,jibxhq,chevell,hilly,notyours,sniper12,iloveme1,diddy,missey,bmw318i,bitem,sterne,azuywe,barrakuda,spawn666,slurp,yelnats,warlords,fcazmj,spaniard,vasili,sam138989,bestia,hoschi,robbin,qwerty33,bobbym,mystikal,drawde,georgetown,extras,catalan,radial9,lame,chicano,scrumpy,uvmrysez,7u8i9o0p,hotmove,gshock,merson,pizzaboy,pinto1,pandor,drowning,rookie1,betrayed,sonar,flashbac,liefde,abramov,gillie,billy2,boon,berty75,minogue,summer04,iraida,trillion,sexisgood,hen3ry,renwod,1house,booya,4mnveh,anakin1,o236nq,agape,rovnogod,isengard,rook,willi1,maps,gotoit,qwe123456,dark123,67vette,hoser1,wesdxc,mcduff,sands,oleander,chronic1,expediti,skelly,master7,1958proman,iago,hippy,flashes,camaro67,454dfmcq,headhunt,pussyboy,yellow12,tbbucs,gathering,marla,nicosnn,hedonist,greekgod,theta,frances1,andy12,gracia,amar,kappa1,franken,markhegarty,daveman,throttle,kristopher,gregori,koenig,oaxaca,ncc170,dummie,brunel,astra123,necro,bingham,aegis,thom,milkshake,1crazy,newhope,office1,joselito,porto,tillman,skunks,arbeit,smoove,123qazwsx,fonseca,tomato1,austin11,gtnhjd,mishima,shaddy,energy1,peach1,yt1300,newshoes,aaa12345,aaaabbbb,olav,qawsedrftgyh,tarantino,diablo11,abhishek,caseys,drawer,qawsed123,punched,cbr1000,rccola,rhett32,antani,badass1,blue02,drums1,gamlet,symmetry,study,doghot,abc123456789,melbourne,samarkand,adilet,abdula,wilkins,ljcneg,estefan,chino1,infernal,ghjuhtcc,bartman1,mohican,rugged,papyrus,vip123,jasmine5,sesamo,amanda01,muffy1,xenon,lumpy1,brampton,rosit,roulette,testing2,access123,executor,offer,alternat,womersle,dblock,emmanue,spaced,777777a,august25,nichol,karandash,tristram,alber,action1,bb123456,yoland,moppel,jemima,alicat,growing,adam1234,jigei743ks,august11,charlie0,locate,charlest,snowfall,towncar,nagasaki,archer1,filomena,rana,steaks,123456789as,preciosa,tommaso,ctvtyjd,advokat,adxel187,toystory,avocado,unicor,mike21,midgard,ellis1,tool69,thomas19,bangalore,kata,idlewild,trythis,silvers,delfi,francisca,graikos,polito,cjxb2014,emerson1,42qwerty42,moguls,luci,dawidek,karen123,wapiti,oldguy,illini1,joker666,veterok,gr00vy,nostra,rammstein1,craxxxs,mithrand,fhbirf,autumn1,aiko,fishka,jabba1,strats,bibble,aldrin,structur,chloe123,dimedrol,alex23,rubina,getreal,chinita,muffdiver,kazumi,godislov,at_asp,pflhjn,cegthgegth,pornography,dionis,yfcnz,gfhjkbot,mare,bernar,7653ajl1,greenie,tigger11,antero,shinto,cecily,ascend,minnette,vessel,green69,campari,biglove,ale,vinograd,samvel,lesnik,qazsedcft,123321qweewq,0987654321a,sereda,alesya,jlbyjxrf,ujkjdjkjvrf,punheta,kbdthgekm,merlino,1029384756q,mrsmith,widder,gatita,merrill1,quiksilver,challenge,isaiah1,belgorod,aristote,1234567v,curitiba,lindeman,crist,tomjones,alices,mixture,picass,chongo,ettore,ashton1,cacapipi,mcgraw,beloit,chich,mrgreen,ramadan,endzone,vtkrbq,noisette,crumpet,allout,shama,lfplhfgthvf,cave,italian1,highfive,love01,chalmers,alliso,ontherocks,poolman,rfhfrfnbwf,soriano,medicin,sneeze,laur,omega9,dorkus,koldun,deandre,chupa,santeria,rekbrjdf,deathstar,moneymon,ericson,punjabi,mystique,crystals,gumshoe,guido8,fvcnthlfv,winne,qwerty69,fuckwit,anvils,ankita,0u812,lodoss,georgin,timberla,033028pw,fuck11,condoms,downing,cdfoli,label,michel1,asian1,m1garand,bilbao,andr,lumberjack,gigante,ghbdfn,priora,maradon,bundas,indigo1,tigers01,northstar,ilonka,bigwill,strain,prober,nekkid,burberry,doogle,krasavica,vfvekbxrf,anna1989,scouse,hernan,butterba,badnews,animation,animator,bethesda,tomek1,espada,minolta,rfgtkmrf,sloneczko,kononenko,bureau,hunter99,gembird,vfnhjcrby,vaz2110,cross1,dillion,trailer1,balalaika,karimov,franchis,nicola1,shumaher,kartoshka,bassss,raid,redman1,ryjgjxrf,isaeva,anywhere,hebert,crevette,corsa,cockman,sophia1,redlegs,fallen1,shutter,linwood,februar,dogballs,basspro,eliana,misterio,jason5,armenian,2004-10-,bigtime1,brookly,kidding,blah123,streaker,spells,include,roadtrip,holliday,strata,stubbs,buterfly,vulgar,eastern1,asshead,1wizard,sikici,gnomik,aureli,austin123,ellobo,boredom,sack,cashed,1please,ghjcnjnf,jbird,baha,futuro,sirene,kalinin,pistache,baileys,passwrd,clean1,bait,thebears,green6,shortys,david3,govinda,direktor,harmonic,merida,narayana,giants56,salisbur,miata1,george3,weezie,patric1,terry2,winnie1,tyghbn,cock69,redapple,brain1,1balls,denison,licked,airsoft,orioles1,bambam1,wicker,finney,plmokn,hipster,brillig,whitetai,kellogg,favorite3,educatio,scraps,saber1,bailey10,robber,batch,junkies,banshee1,banyan,shuffle,sarahm,caracol,rhtfnbd,danial,babcia,passwo,carole1,apeman,basenji,glencoe,grumble,sashadog,maureen1,chibears,barrow,scoreland,truls,nirmala,bouchard,sybil,bradman,roger2,manstein,wanton,batcave,gerrard8,bmw316,hates,austin01,chrisl,clara1,shack1,19371ayj,demolay,windows9,winte,koala1,berman,neworleans,vanechka,far7766,rare,aerostar,titans1,moon123,xxx111,bigboy12,elsinore,mantas,joshie,sosa,caper,gisele,mardigra,auckland2010,brandi1,conni,deltachi,hockey19,veronique,milkdud,pueblo,lubbock,fresher,scouser,zues,digit,celery,nozzle,beernuts,wolf01,guys,c3po,manolito,gazza1,trail,sexiest,belladon,4freedom,rebel2,074401,ironbird,prett,ozone,eveline,gnarly,lordik,beer30,bobster,tarkus,matty1,susie1,davids1,nintendo64,babe69,mufc,wolfman1,univer,joes,satnam,bichon,all4u3,takeit,missy2,wordlife,quovadis,plankton,lurker,eric1234,foofight,diabolic,duhast,omaha,talisker,1234qq,siberia,liebe,straw,jimmyboy,susanb,siren,brianm,pelle,r3vi3wpass,coco123,fucknut,hello69,tbontb,chorizo,breanne,gobuffs2,tipsy,habari,parents,charlee,lagers,raven69,yfltymrf,sacramento,beaudog,canaries,flimflam,bighouse,housepen,dale88,lustig,flyrod,ampere,littlejo,nannie,hotbody,ironmike,blade123,allblacks,green23,ironman2,bimota,bingoo,needsex,oneluv,shonuff,gifford,jason25,booga,lying,bigstud,hellspaw,gococks,dough,juancho,goonie,wallst,darkmanx,neuspeed,billgates,fj1200,engines,buddy7,mrspock,ithaca,august31,jackin,christian1,marlin1,looksee,heckler,ironsink,dairy,closet,pittman,clough,goodgod,norman1,fastone,yasmi,legalize,warbird,wiggin,wahoos,bath,pratt,hokie,karat,iloveu1,****me,lifeline,rainbow7,rhenjq,ladydi,miyamoto,promo,putamadre,honkey,valve,s1lver,browny,haylee,deepdive,phantasy,gansta,steve01,tasman,pushit,stapler,knigh,sawmill,tuffguy,grace123,kathie,breadman,bran,wideglid,treess,naveed,protos,niner,soccer5,zzzzxxxx,mammal,fantasy7,calliope,jerome1,gossamer,thehip,aeiouy,testuser,hello3,shares,braves10,1amanda,sucker69,builders,corkey,monkies,license,cfif123,volker,partyboy,lobsters,harold1,jonny1,donnell,w2dlww3v5p,jakeman,john01,milky,merger,dovetail,goober12,kline,funkster,4me2no,mandragora,leto2010,seesaw,peterb,mytruck,spirou,omgkremidia,hemp,dogbreath,daybreak,norton1,knight12,magoo1,peter12,shit123,salinger,bubbie,timberlake,crickett,telstar,shyster,jacob2,dedhed,track1,megastar,butterfly1,shecky,dollar1,milwaukee,trimmer,charis,skippe,gillian1,jake99,mst3000,pazzword,furry,woodford,eclipse9,jackdaniels,residentevil,claret,forsythe,lockhart,mookey,1merlin,ruthann,javabean,joiner,strait,leader1,heads,happier,patche,wink,bunny2,daffyduc,stoopid,christal,zyltrc,ranger5,6xe8j2z4,applebee,imajica,marceau,lisamari,caliban,tragedy,augus,housecat,requin,fe126fd,nintendo1,gfhjkm11,mackdad,eduardo1,policema,1freedom,dragon25,pelus,carlos123,offense,towson,remus,mancity1,logan123,cutting,ziggy123,qwerty23,casper99,minivan,random123,copier,qazwsxe,dion,minden,blessme,lovesyou,galloway,offset,mancow,redshoes,pondscum,mainer,daftpunk,blackburn,now,shoppin,linus1,demi,helix,grimmy,epic,univers,corky1,counter1,workhard,methane,sunnysid,speech,solomon1,false,redboy,hungwell,greer,peggy1,uconn,olcrackmaster,monkeys1,gamer1,poppy123,hipho,ficktjuv,shar,viggen,smells,oscarr,dayana,ybrjkftd,geyser,jack10,prince12,mayor,aksarben,987654321z,liljon,bnfkbz,cujo31,morbius,smite,killer69,changepa,s7fhs127,spudman,premier1,painted,herbert1,cybernet,cyberia,ryder,vfhbfyyf,kwiatek,novgorod,daulet,karate1,sasa123,albcaz,kevin12,shaun1,hbhlair,john31,ghjcnjrdfif,ebenezer,thaman,hotmale,maricela,sexywife,millenia,1234567890zzz,denzel,rfnz90,harrison1,n12345,mean,kardinal,wolfram,eumesmo,lisa1,estonia,cleodog,lfdbl11,display,megryan,vodka1,dobbin,scoops,go4it,economics,splat,navidad,mariusz,seeyou,minchia,majortom,oxymoron,eliston,leclair,ducati1,zhjckfdf,threesome,dima1992,jacked,tman,benetton,important,perr,putaria,brasi,tango2,qwertyasd,messy,4809594q,hysteria,stuntman,boloto,dooker,dima1990,samuri,dima1999,ufyljy,hone,1mike,joeblack,nuke,jacob123,mudman,taz123,intent,mangust6403,marvi,dozer1,getdown,scat,koks888,empty,upright,freespace,tayler,multik,ester,lizzy1,grasshopper,galax,mouse123,taker,earwig,mmmmmm1,ktyecbr,welshman,zhanna,pasca,satan6,aa1111aa,platin,fann,fulle,seifer,lthtdyz,litter,rockland,fred11,hickey,magnat,1234567s,12345678s,uekmyfhf,martial,jimmyj,newspaper,0p9o8i7u,freedoms,jetta1,gfhjk,vlad1998,schiller,flintstone,redbull1,trunk,unity,qweasdqwe,oddworld,a801016,tarkin,hide,childre,silvestr,greaser,sexdrive,pingzing,snake123,ghjhjr,zcegth,dkflbdjcnjr,j123456,bcgfybz,bunko18,moonunit,whiteman,kils123,junkman,jimmyjam,sportster,lajolla,membrane,sid123,freehand,variant,maks,zaq12w,monkey21,lecture,ekaterina20,vika2010,qzwxecrv,laputaxx,vladislava,fetish69,exploiter,32615948worms,196,5003,7001,66699,123211,135795,157953,198700,213141,267605,276115,316769,405060,456838,464811,678910,741147,775577,777771,789632,824655,867530,908070,995511,1020315,1232323,1234599,1597530,3247562,5681392,6345789,7224763,8902792,13245678,13579135,15975300,19866891,22223333,44448888,92702689,123456788,123456798,753951852,minhasenha,cables,brinkley,namtab,manga1,cadet,mrlover,hurst,dragon64,cbrown,herbst,mariner1,demetria,ingo,vampyr,homesick,leftover,quatro,bogdana,himitsu,miniskir,fahjlbnf,cargo,dashit,wouter,phanto,homerjay,typical,robi,tuesday1,gammas,ewq321,about,aaaa1,1ccccccc,upupa68,invent,regin,basso,senses,morgan01,5432112345,glimmer,45auto,adnama,bulls123,royce,kissy,mono,aphrodite,dimitris,stakan,s1234567,alex12345,bathtub,gold12,lickme69,blowup,jansport,cool11,bill1234,molly12,deleon,slicky,anhnhoem,pension,luckycharm,keithb,slutty3,cinco,greengreen,incognit,mpetroff,wc4fun,maddo,o4izdmxu,878kckxy,oddball,lazyacres,project1,qaz12wsx,jams,gallon,stever,award,nudge,rolf,taylorma,blair1,lesbia,marwan,lacross,very1,kats,1big,ginsberg,cat1,tramps,patrick3,hotsex69,rape,toolong,1cowboys,chap,1rocky,4fun,1pizza,rebound,ryan123,sinnet,bushes,decembe,garden1,burt,mandys,shorter,overton,cher,joop,sex2000,vasily,devil123,vfrcbvjdf,silversi,arnster55,hairless,freddi,dominati,assembly,gwbush1,snowshoe,selwyn,juanas,securit,reform,2196dc,dreamer2,fairlady,1bbbbb,andrea11,xxxx1,rollo,0072563,bullpen,isotwe,crows,94rwpe,luetdi,pvjegu,glock9mm,4gxrzemq,jkne9y,jtuac3my,qmpq39zr,yejntb,4g3izhox,suzjv8,krieger,93pn75,at4gftlw,ljb4dt7n,wmegrfux,maytag,shoulder,000005,lieben,monsta,qr5mx7,duke123,4sex,dolina,fatkid,fred22,marie123,barbosa,4x7wjr,7ertu3ds,u4slpwra,iluv69,poetic,decipher,cazzo1,wooglin,1sunshin,6jhwmqku,humbert,snoopy2,berli,omalley,adel,nanotech,janvier,peppermint,caterpil,norma1,achmed,gauss,shagme,analslut,madmike,chiefs1,b929ezzh,shawshan,aminor,9kyq6fge,hilda,7f8srt,schulz,gedeon,12345asdfg,hevonen,wayfarer,killemal,soloyo,682regkh,peterc,scotto,found,elgin,agricola,leblanc,kimble,murad,leadfoot,cooney,reneee,downfall,tommyd,bastille,crypt,jump23,druuna,marry,charle1,dumbo,lifeboat,russians,conduit,kairos,sender,germa,parkave,imes,minimax,utfp5e,yujyd360,crista,riven,rocawear,ffej,ufgyndmv,freedom4,presari,b7mguk,porsches,piolin,arne,egroeg,guppie,tears,alex007,logitech1,allay,cobra123,gameday,delenn,sr20dett,busdrive,uvdwgt,phoebus,kurgan,stormie,drwho,jtkirk,ariston,shadow3,andrew88,bigwave,cheeseca,retrieve,zzxxccvv,parisien,qazokm,newmexic,everest1,cmgang1,dave13,fritzy,babyhuey,honda99,006900,ashwin,janessa,dontcare,c00li0,fucklife,hunnie,jugger,aaronb,mashed,jason3,7gorwell,buttnut,yelena,paint1,chand,piloto,godeep,tempo,brunos,567rntvm,tunisia,heat7777,harryb,fhnehxbr,smokeit,buddy23,shinigam,randers,cheek,1braves,whitaker,anthony0,mamon,brigit,queeny,catlin,jesus2,lostboy,cabo,apple22,tenore,mercutio,danbury,vehicle,studs,treehous,crawdad,once,pornman,pokers,carter12,a54321,karting,needsome,asdfrewq,matveeva,milion,alex1959,august12,painful,pleas,blitzen,holera,hillcres,kobebryant,lol123456,dark666,sher,sonofgod,rakker,truckman,sunnyd,qazxsw2,jmh1978,merkel,loverbo,kalleanka,mester,1butthea,nbvfnb,alex02,pullman,bugaboo,skate123,temitope,april13,jumbo1,alibek,anyuta,woodwind,harami,sebora64,bachman,1qwertyuiop,crabcake,basile,boeing1,bankone,melin,divinity,goomie,saudan,waleed,pelmen,tiger200,gatlin,viborg,given,foxwoods,slack,pico,dirtyman,lawntrax,swami,dabble,margin,badbob,dinsdale,argo,shalini,wicca,rando,zoulou,unforgiv,sanctuar,rjvgm.nth,southbay,twins1,clipper1,acmilan1,taucher,rfpzdrf,owner,making,matata,method1,mishutka,dorota,relish,atombomb,open1,verysexy,gavin1,black3,finite,hubbahub,sorokina,flavour,franka,ohyeah1,112233aa,2502557i,carla51,chicago0,coleta,cxzdsaewq,legioner,tortue,millertime,erreway,jertoot,dbrown,arcana,ashley11,fylh.irf,artist1,computadora,lafayett,andreea,taliban,123456789e,gordolee85,forever21,mumdad,munchen,serenit,monopoli,mosley,westend,portillo,keving,rfktylfhm,seether,huskie,dovajb,firsttim,sliders,loginova,blackone,gblfhfc,alicja,eurocard,hockey21,timberwolf,ironchef,fucknuts,dignity,mm111qm,vida,kotek1,jabbar,fdhjhf,caraca,parazit,gunny,hydra,ahjkjd,nokia6630,robertso,cerise,bigdo,sentinal,ajnjuhfabz,212121qaz,gjytltkmybr,qweqaz,aileron,aircrew,tesla,virtuagirl,rfkbybyf,peanut12,sunghi,magpies1,anissa,bucks1,pussyca,mukesh,don123,lbpfqyth,winery,geujdrf,badmojo,akbar,zhukov,a1234b,afhfjy,ersatz,cloud1,whiting,borntorun,ilovejesus,wonka,verochka,lamborgini,ilovejes,speculum,fhifdby,lodge,wizard12,rachid,margare,winstons,babilon,hfvbkm,barbra,waikiki,alyona,spagetti,rossella,marlboro1,ruffian,xenophon,salty1,vanes,38gjgeuftd,sasha1988,alekseev,silver2,alex95,sensation,alex1973,vorobey,mama2010,alena2010,harrow,prestigio,napol,chitarra,rebellio,alex1991,corny,machado,helloall,cavalo,sasha12345,rjrfrjkf,paula123,sanches,gwbush,as12345,barmaley,katharina,eveli,jannie,jetblack,sportin,nedved,milenko,parovoz,a121212,alfredo1,venezuela,grizz,karla1,sardar,kameron,habib,ants,alino4ka,tdutif,fabiano,kolesnik,012345678910,kathrine,twenty20,mcintyre,jb007,sorted,tadmichaels,jose1,wyatt1,roselyn,hardon1,nascar03,sexkitte,zydeco,maries,macker,6339cndh,harley99,stronghold,buffy2,fahbrf,alot,lorna,balloon1,grim,thekiller,altavista,vhou812,turandot,infrared,cristopher,scrub,alway,angelo1,shalimar,willa,sweety1,dingos,lapdog,kerala,hairpie,1111111a,pressman,smokers,flashg,asel,jeff1234,justinbiebe,hotel1,1dolphin,stef,aninha,b00ger,matrix69,bioshock,ane4ka,yfcnfcmz,remembe,avocet,antoxa,lisichka,peralta,studioworks,heike,janis,illuminati,aq12ws,matheus,sonnie,vfhnby,state1,guelph,geraldo,andy11,cjytxrj,goose2,howitzer,gfhfdjp,backward,hardaway,angel99,carin,angelbab,shokolad,madison3,pancake1,microwav,sunil,sayonara,tura,anjela,borisova,tkachenko,asdf11,ghjcnbvtyz,fuckyoubitch,antalya,qwerasd,sleipnir,trash1,asseater,avrillavigne,straus,flatland,pizdets,ubvyfpbz,obsession,trader1,asd321,ivan2010,ziff,diablos,tiziana,ara123,shkola,arsenic,yesican,shape,bonjour1,sunsh1ne,socks1,karlmarx,vtufajy,foxs14,gevorg,a32tv8ls,master00,lalala1,godswill,dallas01,konovalov,artyom,sanan,soccer123,ass1,warior,aztec1,felicidad,buenos,lyubov,bacardi1,kaliningrad,rattlesn,automatic,oleg1995,indian1,boombox,lifetec,bills1,brooklyn1,mcgill,bailey2,cellphone,hummerh2,keylargo,1banana,susans,lakers12,manilow,advisor,eagle7,lovecock,graces,diplom,jaydog,partys,fittan,limbo,dollarbi,magma,baloo,free1,vorpal,terps,junior12,x1x2x3,tiger11,matrix13,chummy,julio1,baton,fair,inspector,multiple,nicole11,baptist,geckos,goleafsg,haloreach,gregorio,barbell,funbags,dolls,blonde1,hickman,barcode,shakespe,bridgette,gmcz71,cocoa1,prado,sears,meoff,burley,sasami,barn,1maggie,barney12,beverage,shoelace,freed,kurwamac,catinhat,simpso,katieh,jayjay1,walsh,basia1,inside1,googie,volvov70,basque,lester1,nokia5320,superma1,crazed,spencer2,gambit1,graci,tujhjdf,freckle,beaches1,bertha1,latics,panties2,parkland,whipit,skyhook,madison9,carrillo,hagrid,bernie1,serve,hibiscus,mydogs,snowwhit,elaine1,mitsu,fatal,cheat,santacla,free4me,prescott,chesney,mossad,grizzley,beejay,amistad,calabria,staten,larrybir,1steeler,nikhil,cindys,tombraid,boriqua,kakawka,deerpark,meee,nibble,shred,skylane,flap,production,have,peejay,wildthing,missoula,00000001,searchin,conor,452073t,madhatte,fanny1,fenrir,hendrick,bhbyjxrf,amonte,tommylee,labelle,monica12,veritas1,ayesha,lucky69,largo,incoming,branden1,terras,rexx,polizei,triste,kalamazo,saphir,liebling,rubin,bluefire,pita,woodbird,constantine,elinor,family01,kimo,w8sted,charmer,spoiler,itali,grundy,gostosa,iamsexy,goblues,derrickh,deshawn,hitmen,hunter69,healer,labamba,hotti,money4,neptune1,trevo,ripazha,26429vadim,ripper1,gerrit,flyman,novass,hollys,belmar,weegee,rexdog,pigboy,dave99,master77,piglett,suckmydi,rollout,steeda,blowjo,phoneman,mynuts,facials,tick,neworlea,massimiliano,sasquatc,ibiza,megans,loveone,browns99,chips1,spices,chancey,sam2000,pussy11,call911,redhair,chevy350,wigwam,noreaga,stjohn,election,revere,tylerb,ruffneck,putney,idiot1,smokeone,cadbury,bill99,parcells,emily2,valves,fatrat,lombardo,likemike,trashcan,waylon,mandie,bitchboy,marryher,lady12,coorslight,renaud,boats1,parrothe,redwings1,fritos,cycling,deltasig,insect,birdman1,carlo1,qawsedr,dutches,trench,pursuit,jonnyb,damocles,caroline1,lloyds,slug,blackdic,x12345,chinese1,pugwash,likewhoa,canal,shadow22,tantrum,money111,raylene,godpasi,shallow,p1234567,gucci1,summer07,share,teaching,supermax,reggin,executive,chaos666,burg,schalke0,psycholo,scorpio2,jeans,paperclip,rastafar,salzburg,chianti,blue2000,deirdre,starrr,bonzo1,sintesi07,rey619,vgfun8,clarkken,london2,lucky8,peerless,october8,darin,chelsea4,wormhole,urlacher,topaz1,dodson,lp2568cskt,spicy,sexfun,sp1der,scooba,animate,retina,swell,britton,reynard,skins1,carlsberg,chrisx,melvins,gonzal,proof,easyride,travels,****you,ratface,masami,bakker,cjlove,legrand,bananna,napolean,kevinb,walther,yankees7,macro,beast666,jelszo,cardio,james3,tanya123,phil413,aston,clio,shamanking,partagas,botafogo,sanborn,honky,drains,josefin,oxcart,disorder,venom1,pepper2,proxima,cumsucker,cbr929,chapstic,lammas,cire,itout,secretar,coolguy1,woody123,padre,cumlover,tarbaby,scooter7,nifty,jaba,antietam,sydney12,limit,touring,hexagon,devon1,reunion,ereiamjh,smeagol,clarets,chapter,dulcinea,crutch,canucks1,gnocca,celula,beach69,elbow,nhfdvfnjkju123,friars,crouton,happy100,penny123,elbarto,weeded,mudshark,webman,sallys,golions,1w2w3w4w,truck2,codyman,str8edge,gattone,xcalibur,cossack,veroniqu,gettysburg,bvgthbz,widespre,sunking,gjikbdctyf,c12345,parent,vidadi1,caddie,lesli,barsoom,drastic,cahek0980,iglesias,calvin69,kryptoni,dupa123,guildwars,fairy,lol123123,scottie1,bracelet,candycane,merit,chris3,dima1994,melissa7,iloveyou123,danger1,1mickey,savag,nephilim,pumpki,fats,cliff1,toadie,newhome,poulet,nissan350z,ch33s3,tull,massacre,chalky,pure,montgomery,cabaret,shiney,charmaine,thefox,doomer,chester7,poochy,madagascar,tgo4466,darrow,maddmaxx,pastry,ghosty,bowhunter,gottlieb,leverage,pooder,monkey23,jackyl,kevink,nathan0,rainmake,cracked,potter1,magistr,june27,nutcase,patt,sweet123,frolov,mordred,bromley,xplorer,cableman,gkfytnf,manol,zippy123,daycare,deanne,dude1998,damaris,powerpower,power7,free123,hemi426,redding,waffen,vinter,june21,muffin12,malik1,742617000027,vbnmrf,local,noway1,jeff123,indies,deagle,scuderia,gilman,ripcord,silverfox,chameleon,silenthill,osca,pogiako,ramsay,nilknarf,cyfqgth,knotty,daisie,daisuke,navigate,tigers12,sucks1,twinss,xcat,hogwash,rent,tenshi,newburgh,shin,1mouse,dfhtymt,dembel,shanda,311music,noneya,stephany,toast1,stressed,cristy,perseus,shiva1,isakov,revenant,flute,qazxcvbnm,popkorn,0147258369,xfqybr,jetlag,boro,nessa,campeo,minouche,kukareku,ledzeppe,deadline,denwer,dilligas,pppppp1,deniss,tupac1,rfvxfnrf,leppard,drumnbass,showgirl,eknock,deltic,qqwweerr,744744z,tane4ka,flatbush,suisse,elusive,stalker123,zxc123zxc,metatron,ghostly,dolphins1,honeymoon,cbvjyf,moderator,limpdick,5t6y7u,dinky,protools,teeny,jayman1,uhfvjnf,jersey1,elder,bankai,capture,homeworld,downunde,egyptian,gondolin,1qasw23ed,007008,station1,volvo240,vanilla1,todays,mouseman,dartmout,qazxcdews,dctktyyfz,panthe,moresex,pon32029,1234567l,eric123,dialer,jarman,marcu,lovelov,hitman1,lollipo,examiner,ridden,hollister,primo1,max33484,changing,zenit,juiceman,noclue,putain,radical1,henry123,kaleka,golf56,cryptic,narkoman,q2w3e4r,fifa2008,000777fffa,41d8cd98f00b,undertake,bombo,hfccdtn,goodgame,marusa,necroman,dontask,frosty1,123sex,iamhorny,everlong,katia,4311111q,nudelamb,pinkpant,schach,tombraider,miller2,spots,sacrifice,12345678m,ag764ks,ghfplybr,scrappy1,hoodoo,happyy,lololyo123,shylock,ironside,tricky1,01081988m,1biteme,booboo12,yourname,uganda,jaimie,tomas1,movado,nemvxyheqdd5oqxyxyzi,thunder3,jujube,hellhole,tomkat,porpoise,olympics,redrocke,sanjar,traffic1,jsmith,pololo,jamesk,kalel,sham,malboro,nigel1,juliya,kostyan,bandit01,kapitan,keli_14,pfqxjyjr,vishenka,kolya1,rolsen,sidorova,titova,ulugbek,adv12775,gblfhfcbyf,mochaj,pavlenko,sephan,hovepark,19952009sa,kr9z40sy,aaa123a,4001,9009,34778,45685,56565,123445,123678,137946,147789,155555,159789,197100,198600,222666,223311,246824,246890,284655,316497,443322,455445,526282,555123,579300,666420,667766,779977,785612,888555,926337,1010220,1357642,1726354,3578951,3630000,3657549,4034407,11335577,12123434,12343412,12345670,14071789,19733791,33334444,46775575,57392632,85852008,98798798,123456654,142536789,1133557799,00009999,spycam,hirsute,0006,0010,hermes1,2183rm,scrubs,rotciv,vinyl,maratik,claude1,nursultan,noentry,trouble2,paul01,dmh415,demetrio,raiders2,bunns,choices,moline,248ujnfk,vinbylrj,ycwvrxxh,kcaj,poochie1,1charles,deadend,dutton,7452tr,anatole,q12345q,octave,bruces,0128um,birthday10,grandorgue,kubota,kensai,webhead,prong,pickel,pillow1,peterg,grubby,feuerwehr,valenci,rummy,1jjjjj,passwo1,hussein,eldridge,chubba,wifey200,ololo123,1pass,melena,ilovemusic,boyd,ginseng,321cba,fatback,tapper,camron,dazed,drizzit,luzifer,boby,firstson,ceisi123,gatewa,barrie,medman,boneman,russ120,mylady,rock12,123123f,ern3sto,cious,spine,mozar,susanne1,entering,shiela,florent,f8yruxoj,tefjps,toltec,aftermath,2gether,emilys,ralphs,16473a,leduc,roundup,loser2,jupite,facade,love99,orgasmic,thesnake,stgeorge,david5,swanny,vale,sina,pippa1,thicknes,kristall,encarta,minty,adamo,aircav,49ers1,1truck,1eagles,madelyn,1fender,luv269,acdeehan,freema,linksys,1jeffrey,mac1,mikeyg,slacker1,montagna,willey,ssecca,hondacar,abacabb,zippo1,lovesong,moebius,cyanide,matkhau,motorrad,redoak,tonka1,monda,absinthe,iiiiiii1,pants1,chia,courts,skyblues,456123a,wabash,viperman,alecia,gatekeeper,01234567890,remove,267ksyjf,redvette,ac2zxdty,hxxrvwcy,lardass,alan1,noddy,atwater,arun,simpleplan,rampant,cincinnati,1pookie,cuzz,hj8z6e,x5dxwp,modest,batman23,eyebrow,animals1,lavigne,zomu9q,nokia6230i,snitch,hunt4red,darknigh,cptnz062,ndshnx4s,wnmaz7sd,durandal,8xuuobe4,cmu9ggzh,apple3,angel3,cribbage,dubois,bitche,bearclaw,treats,1diablo,janbam,bigeasy,blink1,ttam,whirling,october3,manoman,bsmith,matilde,mandi,rrrrrr1,chum,snowie,fumble,cabible,moomoo1,summer98,lieve27,mustang69,exocet,nadege,bapezm,up9x8rww,bodega,deflep27,shafted,8vjzus,cornball,lopez1,mama11,1amber,anja,tightend,paquito,snowmass,ayacdc,early,giuliana,chariot,harlee,giuli,andie,keanu,qbert,elkcit,prism,sasquatch,lewie622,essen,fellows,grinders,kzsfj874,bargain,irma,nofags,rustler,devils2,7inches,nimble,armen,soundman,verna,alchemist,april7,hoppers,thunderc,tintable,basilisk,yomamma,kayla123,motoman,a3jtni,12345rewq,nightime,mxyzptlk,ohboy,banter,fatone,trivium,meet,dezember,ledger,molokai,bossdog,guitarma,waderh,photosho,tobia,junior24,silke,arcanum,spit,shilling,ranger69,leica,kellie1,frank12,april22,mekong,carlit,reuters,towtruck,melone,ranger75,toyman,boeing77,suit,gosling,kevin2,tuba,xohzi3g4,kfnju842,0147852369,raptor1,ralston,green77,heyjude,missy123,greenway,maiyeuem,nccpl25282,thicluv,godard,broncos2,gartner,ivonne,norwegen,movieman,deepwate,suki,severe,eshort,buffaloe,baby69,sad123,pipes,villan,705499fh,barbecue,whatthef,123456789y,allochka,finesse,polo12,maggio,spam967888,summer03,aaa12,123321qaz,belous,ponytail,psw333333,ford123,letmein4,fldjrfn,sissie,almas,checked,jens,licks,mungo,graceland,mathis,fuckoff2,character,mathematics,toutoune,pause,1tiffany,rosebu,klinker,vaz21093,audre,path13,shabby,ch1tt1ck,masha1998,vinny1,ghbjhbntn,fitz,gazeta,agamemnon,manor,fortunat,fltkbyf,twink,panget,shyanne,number3,bayonne,bohemia,optics,abroad,moom4242,keen,beginner,aldebara,eclipse2,pass22,cerulean,bonscott,clem,calbears,junky,rainmaker,snakeeyes,bleeding,signature,pandabear,croco,felina,jerald,chrisbrown,actress,dima1985,azzurra,hallway,gemini69,mada,lateralus,chivalry,paravoz,panda123,supercoo,worldcom,barone,mydaddy,1q3e5t7u,lyrics,naomi1,asdf67nm,chiquit,rev2000,tigres,marlo,leona,ximen,anemone,mommy123,asdasd12,mickey01,brentford,puszek,apple13,enduro,smile4me,bashir,keiths,bebop1,felipe1,happyjoy,hrothgar,biggi,aurelio,actros,diversio,marie2,trento,billiam,amarill,luxor,central1,signon,ujkjdf,8928190a,traveller,bartolo,lucifer666,123four,familie,agentx,kaligula,elodi,zidan,portsmouth,boludo,moimeme,yourmom1,ekilpool,puneet,ghjcnjnfr1,jackpot1,ahmet,thedead,123456qwer,destini,nolife,braddock,irock.,sanchez1,loca,alfaro,anger,ranger02,archmage,boneyard,vaz2101,tankist,steve121,rehjgfnrf,ant123,creamyou,bluetooth,mystery1,married1,cairo,surface,thesis,listopad,pepper11,broadband,cfkfvfylhf,available,1michell,corrado1,fghbjhb,kumari,gauthier,alex2010,kuzmich,redemption,blanka,snusmumrik,cytujdbr,allan123,lease,postcard,coolman1,langston,shadowru,killin,marzena,marilena,bo243ns,omega13,diller,richardson,zanuda,hana,chiar,temppassword,neopets,111a111,n.kmgfy,stomatolog,fktrcttd,alekseeva,iecnhbr,gjkrjdybr,sobolev,sergeeva,lomonosov,a123456z,vfhvtkflrf,raffaello,strela,lala123,dannyb,awsedr,costco,serbia,gutierre,beer12,palmeiras,baksik,mindgame,frdfkfyu,june24,chinchil,alex10,rfhkcjy,marakesh,breton,elmer251,kylie1,orthodox,terps1,projects,jake1234,flblfc,wpoolejr,alias1,staticx,qq12345,garnier,1234567qw,andrew22,cobweb,blackpool,salmon1,aliya,serendipity,trees1,inertia,kyliem,alle,appletre,satelite,aliso,fromhell,almat,designs,jeremia,maral,juggalo1,mourning,barnaul,playgolf,romawka,garbage1,sadies,alvin1,zaharova,musick,astonmartin,solutions,helpm,family5,shivani,daruma,deutsche,ford22,crazy4u,annie123,madison0,murphy01,huntsman,aurinko,cube,marica,baklan,shweta,kissme1,fynjybj,p030710p$e4o,museum,weasle,jerom,skywalk,gerlinde,solidus,omgwtfbbq,assfucke,foru,sombra,reamer,0o9i8u7y6t,anders1,celicagt,sarkis,pleomax,godisgreat,chris13,3techsrl,orenburg,80637852730,greyhound,7418529630,andy69,silvia1,length,lateralu,serdce,nemezida,appel,wrexham,stash,guernsey,empathy,botswana,wiktoria,moloch,tanuki,djljgfl,joe,maris,luckies,note,fy.njxrf,aa123123,teddies,tricolor,kikiriki,ranman,stevenso,barbaris,ujhijr,annarbor,fbi11213,senegal,123ert,bagel1,eliot,lauri,rfhnbyf,villas,rhfcyjlfh,turkiye,estefani,firehose,servo,grace17,arbiter,banderos,tatoo,mama1963,punksnotdead,tanner1,tiger6,australia1,keyman,lordsoth,sweetpussy,lool,dude11,multiplelog,milly,iamtheman,jetblue,dubai,gnorman,komlos,ufhhbgjnnth,guild,armour,yamakasi,cabezon,caseih,piglet1,7elephants,a000000,sharkie,yellow22,druss,appleseed,ashok,fynfyfyfhbde,birthday6,bluedevils,omg123,assembler,sergant,festina,twizzler,aamaax,gfhfcjkmrf,barrynov,punt0it,bruno12,vfvfktyf,kasey1,mackdaddy,dancers,mwss474,whitesta,turnb,backyard,caribe,azonic,vetalik,baby1234,sureno13,kluivert,flatus,mickeymo,nicerack,falconer,jackster,bahama,watson1,libras,bahram,raincoat,buzzman,manchild,spurs123,07931505,smokepot,bigwig,scoubidou2,benelli,nimda,jaihind,chihuahua,baldie,bali,missle,jasmina,balkan,karin1,throw,blasters,oiseau,myron,rapido,enjoyit,doodad,khushi,lowe,mantle7,bigbo,nightcrawler,tigerboy,owen10,bandido,superted,bandits,tankers,livestrong,chrisj,smooches,banging,heiko,grillo,spaghett,leopards,bigblue1,trident1,candide,zane,orange99,level1,lighters,baptiste,elvis77,barada,karabas,quiver,samanth1,fodase,harmless,shantel,week,jkl123,sitges,bartek1,bigmack,bogos,rail,gomez1,manhunt,cubalibr,kenpo,rosina,wombat1,paws,sammyy,purpose,haus,fishlips,asdf4321,intoit,ellison,saurus,postage,mapleleafs,welding,brahma,bern,funkey,poptarts,brillo,waters1,winter00,bassplay,eudora,1porsche,porn1234,sebast,bathory,buckwild,monkey20,i81b4u,kimota,murphys,postbank,superjet,duisburg,harrydog,laurab,snippy,raven3,dorothea,sexsex1,extra300,1q2s3c,boobys,tallulah,dowling,booman,ladygirl,isabela,vfiekmrf,buddy3,mahone,alpha01,epiphany,littledo,surfcity,queenb,sameas,mtwapa1a,bengals1,spindle,monkey24,laster,boriska,neighbor,sketch,hussar,doctorj,jeepin,zapped,phish123,jgordon,bear99,tubby,netman,topdawg,candlebo,daniel01,positiv,beauties,warehouse,sam1,hannelor,blue15,meeeee,saturne,pearly,irwin,felder,reggi,5tgbnhy6,jessicam,1johnson,repent,william7,geometry,dunedin,begonia,junior123,themaste,qaz12,somalia,milan1,wolfe,bubba22,7ofnine,pavlin,bulldog7,flea,rainman1,callista,password21,dannon,robinso,segredo,freedom9,cabana,fox123,medvedeva,blondin,fitzer,shaffer,liberty2,jackas,ferret1,araceli,moonlite,p2ssw0rd,freaker,dover,bryce1,donal,moon1,standup,sunnys,himself,orchids,happy5,benita,mitzie,benn,pensacola,eminem12,sissyboy,loraine,takayuki,termin,tall,bergman,cheerleader,cdavis,berta,hemligt,benidorm,portable,murcielago,cums,legolas1,ensign,alone1,sunny7,command1,czar,666satan,rednecks,greentre,daniel4,solnyshko,jellyfish,ford4x4,oleary,baby01,bhavani,playstation2,m0b1l3,coachman,lovey,erotik,michail,sexysex,fedex,funnyguy,tammys,solder,arnie,peacock1,sandown,irocz28,iyaoyas,minor,macabre,bigbro,left4dead2,fuckyou12,wrestle1,degauss,super5,robert01,flicker,smokey12,bearing,alemap,perrito,cool69,lebaron,bigtom,bigpappa,heartbre,bootycal,igloo,kayaks,dicklick,athena1,jarhead1,harbour,boobss,chynna,justic,shirts,blacker,biglou,bigtop,newcar,master13,limp,popeye1,boarding,womack,lucretia,rocky5,stunna,wutang1,nomarg,knights1,reef,shortdog,forsure,tea4two,joyous,icepick,motorbike,swatteam,scarfac,juggerna,hownow,lawncare,bikes,mike44,bilbob,bloomberg,okie,doubles,gawker1,amazonas,dalejr88,jimboy,rhianna,sparrow1,acorns,macdonal,billygoa,asshole3,mess,sparky11,omgwtf,bugeye,smokey01,baskin,crass,fabrika,thump,westsid,kangoo,dredd,engaged,associat,downtime,songohan,snowball1,hooligans,brunswic,safety1,concac,harwood,1forever,krayzie,altosax,tysons,greenday1,black22,hydrant,shazbot,zealand,instruct,blackdick,greyfox,glock1,cmoney,realman,lmfao,shep,shaft1,holsten,iforgotit,particle,gretzky9,bombshel,rifle,celeste1,alderaan,corona1,dado,west123,lowery,whore1,loveman,blouse,compaq3,triniti,carlyle,honker,lokiju,blown,viva,lego,worldwid,extra1,carnegie,fenwick,jordan99,bluetick,k123456789,bob2000,fajita,essayons,bmw320i,sweeti,employee,bob2,tincouch,cindy2,katlyn,miroslava,samso,bosco123,cagney,booboo69,murderer,find,nafanya,spiff,pornlover,movie1,redskins1,bogdan123,123456789.,nicolett,polopol,jmol01,nicklas,1111qq,yfdbufnjh,landis,ffff1,beatles4,mrkitty,graffix,1tits,cerro,bonoedge,donnelly,randy2,wright1,sammycat,skunk1,1234567m,tass,power9,deadsexy,bookert,badluck,mercenar,merlin99,penelopa,dude1,nascar8,joeboo,lizbeth,gjkysqgbpltw,golf123,ernies,garuda,bazuka,stasia,glasss,worksuck,hairdo,partyon,speciali,behave,slip,rainfall,dusty123,dukeblue,reptiles,msdn,1winter,wilshire,tire,john22,cmc09,texan,bettylou,hagakure,pmdmsctsk,pumbaa,schott,flyingv,buffy16,tupper,love269,disneyland,marcelle,youare,durban,lifeguar,perch,stoneman,phoenix8,mishel,witness,mooki,patrick0,muzzle,hale,milkman1,bruder,cornel,applied,nicole12,brodeur,ticketmaster,number20,superfre,cannonba,sandy69,ribeye,coastal,maser,fubu,milla,ducat,teepee,tompkins,gateway3,fuckyou0,hasher,dwell,potion,hang10,carson1,1xrg4kcq,cbr929rr,deangelo,motorbik,hideout,pussy101,camp0017,dugan,co437at,bottles,doormat,timmy123,paolino,hunter22,ceramic,st1100,vvvvvv1,krondor,nenit,gustavo1,eclectic,april26,hamlin,sprin,1green,katieb,steven2,shanon,123456789c,acurarsx,slut543,sequel,inhere,idea,pouncer,fishie,audia8,soccer69,settle,mammoth1,fighting54,mike25,worms,fontana,chaise,vfr800,sordfish,nofate,hellgate,dctvghbdf,qantas,sprint1,wallop,sixsix6,repvtyrj,zxcasdqw,stack,matters,parton,uranium,monkey6,warcraf,pwnage,coleman1,junebug1,targa,cachou,strateg,pullup,trusty,irock,oceano,edmundo,135135ab,psalm69,lorene,elemental,lone,perkman,salguod,viper99,backhand,serrano,dewey1,qwertyas,mailman1,red007,stanky,soaring,module,indoor,bizarro,brick1,michela,preciou,01telemike01,suzann,jarule,scout2,spender,1miller,wendall,forman,martie,yvonne1,psych,ytnhjufnm,electra1,oneida,integrit,strikes,popp,puddy,ruslan123,appelsin,miner,schmidt1,postal1,terorist,rehnrf,vengence,maroon5,juanma,kassidy,greek1,pimpjuice,repytxbr,other1,gen0303,karima,heavy1,02020,dash,palenque,mixing,laika,iamfree,bigears,damir,contessa,kerrigan,danone,yanina,111222q,loveforever,stratocaster,motorolla,ujujkm,123456789zx,stevo,fugitive,poker123,qaz1234,noodles1,lakeshow,soccer33,dark1,nosgoth,redbud,jordan7,hjcnjd,gooses,darren1,icculus,maul,zxcdsa,bluesea,provista,withnail,spiritus,quiet1,cruella,temp1,david26,deliciou,money777,metadata,hyde,shitbag,imfree,gfkmvf,dunca,diana123,mark01,nikita2000,11aa11,llllll1,qwaszxqw,mooooo,klapaucius,ramiro,bear101,vfktymrfz,smokey2,dracul,keith123,slicko,wetass,doofer,tubaman,phase,labels,jimmy69,nfymrf,acting,rjcnzy,demon123,marchenko,de1987ma,mo5kva,bonni,cronaldo,peterman,telecaster,megaman1,neophyte,lmao,stanza,fgdfgdfg,gfgekz,1986irachka,dfcz123,abc125,110491g,dctvghbdtn,niblick,performance,51094didi,majick,robert11,dolby,gfhjkm13,lapin,starik,martusia,vfrcbvev,markov,dogma1,thingy,losenord,evita,jigga1,jungfrau,zxcvbnmz,rottweiler,zxc1234,zero00,menudo,hotfeet,hardup,gamess,kaitlynn,sisyphus,mets69,limo,goof,pascual,eatshit1,olsen,kazak,dragon6,lucky9,kzktxrf,fermer,contacts,alabama123,faye,crazyfrog,anthon1,tiktonik,ferrum,lavanda,dhtlbyf,liana,romai,trantor,g123456,hookah,yoyo123,ghjcnjz,ghost16,gattaca,fotograf,gilber,gbjyth,rosco1,dumpling,flower12,novastar,yfcnz1,blackstar,iownyou,gerd,pi31415,tentacle,fielding,vasilina,lero4ka,1tommy,ididit,jlbyjxtcndj,mike26,wweraw,lukasz,loosee123,palantir,flint1,mapper,virgin1,flooring,calculator,iloveme2,themoon,radmir,ghjcnjqgfhjkm,sheela,spooker,squealer,kees,peace123,zxcqweasd,murakami,processor,harpo,bullshi,krishn,star22,galinka,rbhgbx,messi,rahul,nina123,geemoney,0000000000d,ser123,italien,vintelok,parfilev,grundle,1jack,matthew3,access22,moikka,miguelit,glenn1,vivienne,stason,hfrtnf,mjujuj,nallepuh,imaging,bissjop,rutabega,janeiro,monitor1,kazakova,mistral1,shakal,batman123,selma,5544332211,optimum,kenwood1,pypsik,installsqlst,klubnika,123456789101,jjones,vassar,moogie,vid2600,xfiles1,jeffy,buster22,solovey,generator,ola123,geolog323,a3eilm2s2y,failed,byabybnb,yfcnzyfcnz,twista,ltcnhjth,z1z2z3,monika1,compatible,uto29321,madera,earn381,soreilly,is_a_bot,531879fiz,4007,36363,44556,123579,123852,125412,125521,125689,131517,146969,151500,153351,154263,164379,166666,167943,196400,197300,197600,198910,198920,200001,241455,255225,258147,258654,261397,333000,334433,336633,337733,428054,442200,444000,477041,678901,709394,754321,786110,789551,800500,963147,1362840,1472583,1593570,2521659,5551298,6060842,8546404,11223355,12345611,12345789,19719870,19911992,19955991,85200258,112233445,172839456,369874125,789632147,1472583690,1597532486,hakan,pammy,adidas12,cruel,williamm,blue00,1234567890m,bbbbbb99,tekken3,bechtel,1member,snuffles,billyk,bb334,takako,babalu,exile,tapioca,cbr600f3,grenden,245lufpq,ytdxz2ca,hallowboy,ranger6,bayer,skirts,hartmann,insurance,fatgirls,clahay,hondacrv,outhouse,asap,gotrice,tana,sutter,fuckmeno,rugburn,weihnachte,2twins,heimer,hubbell,jong,megiddo,flori,validate,timoth1,24lover,absent,11111aaaaa,1hhhhh,ccccccc1,bridge1,stagger,jimmy12,greenn,cranes,heating,mario5,ronjon,hotboi,norseman,hilde,sundaypunch,birthday100,gorges,joesmith,john44,glenn74,def456,fotball,bernd,johnnybo,lynsey,blakes,lisa1234,booom,1prince,tudor,sanman,zombie13,bjarne,ancella2,shawn41,pandora2,ck6znp42,retnuh,1herbier,usaf,analfuck,maranell,veronik,1w2q3r4e,emb377,fishe,pass999,claybird,shashi,derby1,fredy,pelvis,chevytru,gismo,arista,ryan22,kitcat,36dd,battle1,kiler,dynomite,beer4me,sonshine,doug1,damnyou,harry2,hopalong,tribune,1fishing,paladine,1world,bulgakov,1wwwww,mycats,hdbiker,anthony3,yourass,breakfast,lory,niger,roof,kowloon,cheroke,dwarf1,33st33,robinh,tonite,asmodean,come2me,calbear,kennyb,dustin23,mistic,snowey,1bbbbbbb,1for,imran,luis1,1happy,crispin,promises,suckmyco,mjollnir,5w76rnqp,caption,farfalla,troika,lecter,4fa82hyx,x4ww5qdr,forum1,barbel,ford01,witcher,kevinc,avril,peter2,talktome,slon,ears,hot1,a7nz8546,fkojn6gb,zldej102,astroman,preteen,testin,vfdhif,kpydskcw,lg2wmgvr,pointers,bone1,unb4g9ty,65pjv22,nhoj,46doris,nicole23,bigsexy1,1surfer,qwerty01,3e4r5t,allen123,heli,zebra3,endgame,unlucky,counsel,petit,littleone,oohrah,krist,angrick,kesha,cba321,wayner,john33,cody1,rosalba,brownlov,pacer,sheet,allister,shader,wltfg4ta,rocket69,blueskie,mandreki,xsvnd4b2,apa195,zip100,vanya,dm6tzsgp,keren,dposton,8i9o0p,rdgpl3ds,kcmfwesg,tenn,1derful,tanis,aquamann,oceanic,sexfiend,guenther,bria,libtech,klaus1,jerry2,4jjcho,racecar1,hacke,wtcacq,gennadiy,nectarin,bigal37,xela,biged,notes,criss,fromme,inheat,rosen,poidog,motorman,boner69,weekly,myheart,jvtuepip,dc3ubn,analyst,swissair,shores,camacho,voronin,currie,dial,bags,timberland,cobb,carp,1matrix,lineback,gggg1,8363eddy,areyou,rosedale,gandalf3,1234567890qaz,pender,mushin,pgszt6md,redlands,startnow,titmouse,johnwayn,nike23,avon,camaleun,peepshow,lizette,1monster,freaksho,tabaluga,fefolico,contrera,levine,shave,robert99,rinker,wack,accounting,coimbra,jimdavis,skywalk1,raman,harr,whine,grip,thedoc,domodo,exclusiv,kimm,gershwin,failte,benefit,gefest,legoman,socal,heidis,wachovia,qwe1234567,i12345,kuma,safeu851,past,longtong,cokeman,magilla,jagman,shannan,baggie,blindman,hermine,debby,mtnman,valerio,asda,cindy69,johnson4,quinton,aura,valley1,scabby,negra,katydid,asssex,bigbroth,quinta,vallon,zanardi,lutscher,buster99,kourniko,finger1,devilmay,stockcar,aleman,haribol,telefone,a23456,b1234567,vasilisk,upload,classact,todiefor,bbbb1,qqqq1,uuuuuu1,nhfnfnf,strike3,andrew11,husain,trebla,ichbin,master55,ilovemylife,joshua3,antonova,valkiria,intelinside,squires,anastas,berwick,garena,belo4ka,cincinna,hasan,rjdfkmxer,goldtree,forbin,balla007,batterie,route,teodoro,12345j,torrente,1elvis,auburn1,faith123,amber2,heracles,shakespeare,abm1224,bennevis,uliana,lowkey,bobbob1,samadhi,jabell,parman,66chevy,monkey00,homie,castles,comrades,americas,shithead1,monument,tremor,verboten,thordog,thespian,modeling,average,mafioso,adamski,britni,rupert1,salle,raju,maranello,sham69,phishin,heffer,rapid1,fishers,scubad,emilyb,lila,sanctuary,thinkbig,fktrcfylh1,twinkles,march2,mymail,flvbhfk,dent,1manager,hidalgo,trendy,falcon11,muchacho,darwin1,matematica,sada,artur1,chicken123,perrit,monkeybu,0sister0,y4kuz4,anallove,maximus2,yjdjcnbf,gunblade,alons,anna1984,eagle99,lisa12,octavius,gcheckou,cbcntvf,asd123qwe,cowabung,amazonka,12341234q,sheeps,fktirf,choucho,pawel1,stokrotka,almaty,ghjcgtrn,foxyroxy,aguilas,florenci,silkcut,cormac,ahead,sandy2,asmara,alinaalina,henry8,rambler1,confidence,12344321a,newbaby,ranger7,poussin,duckey,happens,skylight,decade,batistuta,liebherr,babie,vijay,beaver12,klesko,janice1,snowdon,matulino,howdie,ajnjuhfa,invoice,green8,calumet,blue14,zzzxxxccc,messenge,atljhjdf,rossignol,arlingto,fkbcrf,shark01,konica,penske,ranetka,alabam,butt1,astonmar,kaunas,delta6,autogod,algeria,bigmaxxx,resolute,getfucked,pinguino,scoop1,bammer,bigun,mm259up,celular,archibal,juanjose,charissa,marihuana,sidewalk,eldritch,romer,anto,palmeira,sasha1992,mercator,parolamea,panam,tacitus,aleshka,gfvznm,sasha2000,www333,nastya1995,comando,kuzmina,aftermat,cfif,rudenko,dervish,protection,july20,sharky7,zastava,bristol1,sashasasha,gracias,beta1,sweetdream,123654z,golf01,and123,garibald,galatasara,madalina,nazarova,a666666,cytuehjxrf,knopo4ka,nike1234,elsa,worldwar,4me2know,elena123,giggalo,salvado,milano1,almanac,azucar,antenna,f12345,sokada,princesse,az12345,buckman,honeypie,alphadog,anneli,alsscan,7jokx7b9du,faustus,brescia,tribunal,precise,sparrows,kyle1,depot,andrei123,sundial,matrix01,webguy,bmw318is,elmers,pokemons,money5,blackhole,sun123,rulez1,madhu,chippewa,amparo,maxwell7,fuckyou6,elland,singe,suite,anaell,iluvtits,cholera,kilbosik,desirae,acuario,cheyenn,judges,stuttgar,andreia,vanesa,andreyka,fylhttdf,coulter,flatron1,telefoon,masha1,andrei1,vasco,sweett,frederiksberg,spinoza,velosiped,blackmetal,culito,andrew10,lovergirl,huggies,serenada,cnhtkjr,amberlee,rothmans,anna13,bambi1,vfyxtcnth,appollo,jbruton,qagsud,angelita,maldonado,1knight,dorsett,engine2,vfuflfy,aggarwal,tattoo1,lfytxrf,kot123,aniram,vika1998,juliane,teh012,anna1986,bkmlfh,lamour,matrix7,klimova,usethis1,123abc123,anusha,housebed,hero63,maranda,anyone,maltby,graphix,mlesp31,gurkan,gfgfrfhkj,caldera,send,roxanne1,underwat,conchita,arabia,radiatio,donkeys,snails,koolhaas,sofia1,sapporo,kzinti,nbuhbwf,vjnjhjkf,arkangel,artem777,babyruth,teatro,magical123,gfhjkm135,chanelle,rushfan,screwme,weinberg,q1w1e1,hannah11,twenty1,hellyea,respublika,haslo,biggio,unclesam,thehun,severn,bambou,chubb,villain,rfyfgkz,hpmrbm41,grayfox,baby12,alexis01,marryme,forward1,badaboom,hardtoon,hatelove,mensuck,kickbutt,eddie123,badseed,sweden1,yjdujhjl,babcock,iraq,panthers1,bagdad,charro,buddyy,boobless,russell2,tazzer,superbowl,ironic,tipton,starz,clam,home12,eruption,goon,ujnbrf,dillard,techdeck,busters,1murphy,comrade,kenya1,drumer,jaiden,kleaner,seeme,buttnutt,balls2,baloo1,ironhorse,montenegro,famine,was.here,omnibus,ashley01,greenegg,european,scooter6,spirits,bandana,suzyq,benhogan,lifestyle,bullyboy,bandy,poutine,mandalay,pistol1,hello22,david77,mysite,tampon,ayanna,rebecca2,ipswich1,1edward,powwow,delirium,rugby2,swiss1,lovespor,s5r8ed67s,cowboy22,lively,cum,putt,barney11,jamming,sexpistols,negros,barrera,saviola,groovy1,sanders1,bear2327,latour,quincunx,logica,barter,bronx1,chuck123,iop890,basalt,hammer22,basel,vfvfgfgf123,basil1,mathilda,otter1,cherri,vibes,knuddel,juhani,fetter,galatea,carolina1,22q04w90e,mollymoo,mirella,vlad777,batman13,saxophone,johnsmith,xpressmusic,dima1998,nicotine,tuppence,sexmania,chacho,sevisgur,chick1,kd189nlcih,polkaudi,thoradin,beaner1,ilusha,colfax,yankees3,thomas10,sirocco,1sparky,goldie1,oooooo1,wwwwwww1,plates,mignon,7eleven,cream1,bcrich,budman1,martha1,stacks,elliott1,melissa3,john23,sheep1,slick123,immune,stool,0773417k,august17,eagles20,irie,cyclone1,tigger99,bendog,cookin,mickey7,shanahan,ducati74,whipper,eccles,clothes,beagles,skidmark,fritzz,hunk,grumman,logging7,bears34,stripped,ashley69,roadhog,midge,studmuffin,bold,buckets,beantown,rolls,kurtcobain,sunset1,boodle,love24,beckman,bajskorv,idontno,portvale,relayer,nomoney,lenora,shamen,beefer,monkey66,lingus,pager,brewcrew,mollyb,gillespi,mother2,after,dedalus,footboy,boog,jose98,obsessio,gogosox,bellaboo,bob007,sleigh,cjhjrf,chorus,malvin,vlad1994,billi,ceramics,maruni,broken1,celebrit,elvis69,seppel,estrellit,felix123,krillin,godogs,grolsch,mrblonde,rousseau,rachael1,petal,solitair,natural1,chuchi,dorset,killer01,invest1,siegel,samuel12,booo,melanie2,studio1,rosies,zebedee,harness,aolcom,duane1,sooner1,regis1,thomas13,scylla,violet1,wakeboar,sabers,fresco,bilbobag,oou812,brainiac,bball23,busman,kimbo1,redfish1,know,deep111,bill2,rotor,gallego,carbone,lanzarot,camshaft,christa1,armadillo,trapped,killerb,fatso,bootycall,bigball,lesson,frank69,cari,speedie,1peanut,automag,goodpussy,russel1,jaysoncj,dwdrums,inbed,snowwhite,muscle1,bigfeet,chinito,yesenia,coors1,sophie2,chaching,2enter,onemore,sucka,tiger22,nowayman,hardpack,eman,fireboy,mangoes,skinner1,ruggles,loftus,philip1,sniffy,ratty,halima,phinupi,rocky4,millerti,iwojima,cork,tobi,nomar,1blood,zrjdktdf,blackfly,pretende,lucky6,jazzmin,woodpony,redlion,speed2,maxwell2,clocker,slides,cokeisit,veloce,halftime,guinness1,phoenix3,hammered,rachel69,tony88,icecube1,akitas,inga,billbob,pompon,compress,suger,william0,rich123,cdexswzaq,poohbear1,chessy,binkley,zircon,october6,tiffanie,endure,ducttape,misty2,dragonfi,molley,iro4ka,kruemel,flippers,dgthtl,falcon12,pingu,giancarlo,feather1,biarritz,physical,harada,gevaudan,humme,solidsna,heron,leather1,cumsuck,slobber,dennys,ttocs,courtne,chunli,briank,ashley2,pagedown,grandma1,buddy01,deskpro,condon,yankees4,mattress,temp01,majik,dragon20,dianas,color1,despair,ssvegeta,sneaks,overdriv,cheese2,chane,thechamp,panther5,alanfahy,william6,alianz,dasboot,tassadar,metalgea,william8,c0rvette,prosperity,red911,melon1,helpme2,tangent,ncc1864,honda123,bdfyeirf,nokia2700,waterbed,scoubidou6,spackle,blub,layton,joey21,bollix,crystal2,darcey,stratman,bluesky1,chess1,phatfarm,willows,sheen,millerlite,beverl,dowjones,mickey11,trooper2,tiggers,tierra,gofaster,markus1,mcdaniel,oooooo99,legola,gnome,fifty50,mikehunt,montez,intersta,bugsy1,earth1,ubique,asdfg1234,deez,anvil,ssap,eliza,beardown,hedonism,magnus1,nyyanks,ratten,faktor,sheena1,marrow,negrito,bosch,lytdybr,isabel1,jimandanne,tommyb,mccann,kekskek1,busen,rube,notlob,bolita,bruins77,kallisti,brattax,kalle1,sashenka,frostbit,kwiettie,perverts,daniel3,basshead,celtic1888,bookman,123qwe12,edward2,diamond7,rossco,creek1,booster1,roots,p3nnywiz,borisenko,45colt,heisman,bosshogg,4294967296,catbert,boucher,billet,michael12,materia,muledeer,wills,1doctor,vickers,boywonde,bckhere,pariss,wonderbo,groover,lespaul1,chinatow,starting,browni,gennaro,motorcycle,excellence,price1,mein,breaking,fishhook,wilkes,james00,carolann,gamecocks,chile1,bullwinkle,gasser,jibber,riobravo,snookums,vino,brielle,grog,fanboy,ranma12,rifles,twolves,december1,qazqwe,kendall1,redial,capstan,spunky1,gigantor,cairns,taylor01,brun,mucker,poiulkjh,dear,944turbo,riverplate,fuckmyass,buzzzz,bubba12,bubbabub,whateva,prisonbreak,hondaman,talula,delacruz,bugged,flog,ghjrehjh,karimova,skelton,energizer,cdtnkfyrf,gostate,braves95,3f3fpht7op,porkypig,joakim,rubberdu,donthate,rfvtgbyhn,comatose,clarisse,zodiak,tumadre,caine,bubbles2,cameron2,taurus1,smelly1,applegat,stingers,rockme,fitte,1camaro,culero,unhappy,ssgoku,master21,malinois,yeahrigh,poopee,dopehead,chewbaca,jessee,carla123,medics,fitness1,kyocera,aphrodit,joaqui,happy99,jackaroo,sharyn,depeche1,grendal,politic,lightman,nitemare,cassidy1,kirsten1,panman,dascha,1cookie,machina,pacheco,chumly,balmoral,delray,cnhfyybr,shitty1,ceres,realmadr,malabar,tigerr,alfa155,hjlbjy,sakur,fullred,lopi,diego123,microlab1,shania1,upsman,ram2500,28infern,muselman,juggler,cooking1,qazxdr,chicco22,twoone,darion,claims,vfvf2011,qazwsx1234,171204j,ketamine,buster21,hopeful1,swollen,gjgjdf,bloembol,medici,youngone,berkley,steve2,lui,roller1,cycles,dustin1,tkachuk,civilian,emily123,deploy,corinth,sillyme,gator2,sammmy,hornet1,albator,upper,jami,loranthos,doneit,kungen,debbie69,liverpoolfc,madma,tooling,mikasa,crfnbyf,heinz57,mark11,identity,moriah,mikeyb,josefa,mistery,shenlong,rse2540,greshnik,abundance,odelay,scare,drizzt1,flagman,tiddles,sailaway,starburs,scram,gbrfxe,!qazxsw2,siesta,wetwilly,father1,snoppy,purple01,handsoff,diamondd,scrap,nfqcjy,rodders,duchess1,jonnyboy,robert123,jacobsen,kaluga,liza2000,hangten,model1,wert1234,madam,theworm,espero,linnea,lindros8,sheraton,pudge1,midtown,dumass,rjyatnf,getsum,fallenangel,cateye,feyenoor,lambo1,ltybcjdf,girly,teach,red111,vtkmybr,sharron,55555d,merete,mirror1,diamond6,00000a,stryke,roosevel,d0ct0r,sexxxxxx,pass10,elvina,giordano,david13,virgilio,grissom,warren1,chacha1,dfadan,dima1989,polygon,gritty,davidw,kurupt,racefan,kazu,harddriv,firedawg,darcy1,1a2s3d4f5g6h,black666,celebrat,michaelb,co2000,mets1986,playme,kmfdm1,wilkie,muggins,laforge,pippa,seashell,xenogear,cornfed,daleks,jesusis1,cheerlea,renfield,tessa1,madness1,gary123,eyedoc,4iter,hoodlum,bigsur,natale,noonie,bsheep75,rolodex,rrrrrrr1,almaz666,efremov,sdpass,suggest,cell,whalers,pander,dimidrol,80988218126,dumont,dell123,00998877,dinamite,smythe,118a105b,toenails,newera,vika1996,koller,oooppp,foodie,ljhjuf,godess,constanc,grimm,b00bies,stuffit,fire69,ifufkbyf,elain,sektor,00000007,nigge,tanusha,dochka,1w2w3w,registr,jokerr,mahendra,colts1,cnhfcnm,gooch,wayout,geri,willie12,weeman,hornball,magnu,molly2,cash1,j0nathan,crashed,yankees9,tranzit,12345$,soboleva,teamster,quimby,shockers,elegant,merckx,ladonna,100years,hiromi,luap,mook,sovereign,silas,vangar,jesse123,bonethugs,nick01,dripik,ab12cd34,within,schuster,s62i93,nukem,lena1982,soapy,pointe,justin10,easygo,nonrev,champio,simba2,elina,ninety,katenka,example,17071994a,tktyf,cjkysir,togepi,unknow,gauloise,9lives,leigh1,paintball1,badminto,tourist,parviz,louder,fraise,gautie,guilherme,111111z,blacksab,leann,leachim,secret2,s123456789,marykate,freakme,thinner,shedevil,mousie,slot2009,highgate,pantss,vladimi,crjhjcnm,schuyler,reece,pink1,polopolo09,feuerweh,9noize9,rounds,tranquil,bycnbnen,atkbrc,selfok2013,fullhous,littlebitch,pussybitch,stitches,theking1,sexsells,swinger1,helpful,patman,rhind101,rotter,nord,nicegirl,gumper,tokyo1,suzi,trot,katerin,manna,jimboo,m7hsqstm,stufff,freeones,bombadil,leighann,merl1n,yousuck1,peopl,joker12,angel21,cb207sl,gallo,lennart,max007,tiffy,brucewayne,ivana,gauthie,h2oski,123321s,peggy12,trueno,bailey11,tiern,maxine1,baston,spookie,mine1,lightfoo,punkrawk,wichsen,knight99,dummys,ludmilla,l0swf9gx,hankster,dfktynbyrf,cv141ab,kalyani,eus1sue1,sexybitc,natala,gb15kv99,staci,bimbo38,01478963,phishing,sasha1997,fackyou,tatiana1,jamal1,nexus1,greeneyes,slava123,izumrud,katya123,marlee,123456qwert,pistols,loller,vika2011,mariska,ncstate,verlaat,phatboy,lisabeth,nestea,tom1,ak470000,10987654321,kurosawa,ladybu,valerik,poltava,fuckyouguys,754740g0,juris01,garfild,makarenko,lebedev,vlasova,roma1993,hjcnbckfd,tsubasa,ulyana,spanner1,nikki123,maksat,r7112s,directory,waitron,lizottes,nata123,heckfyxbr,nikita95,zamira,zz6319,shdwlnds,premiumcash,ramil,tos8217,tiribon12,tornike,9004,10048,78978,123212,123342,123452,123589,132333,149521,159456,182838,196800,196820,197430,198206,198207,198701,199103,199430,223366,226622,243122,255555,369741,369874,382436,424365,493949,515069,527952,556644,665259,666222,777222,785001,789963,888777,1011111,1232580,1313131,1357913,1597532,2597174,3440172,4206969,5792076,6969696,8481068,9811020,11111118,11223300,11223311,11251422,12345699,12356789,14142135,14159265,18254288,19755791,19944991,30624700,31415927,36925814,37583867,44556677,45645645,51525354,52545856,58565254,66005918,67390436,78621323,102030405,123451234,123578951,753951456,870621345,000002,0005,0008,derosa,retsub,rewster,tset,matti,sacha,demarco,richar1,golfer01,jegr2d2,noller,hondacr,pass88,littlegi,nihaoma,brittani,67stang,68stang,ds7zamnw,wycombe,foda,stivone,neeraj,titone,tirana,1jackson,apology,hoddling,eggroll,zucchero,rito,brainy,thousand,1001sin,scheiss,informer,1marine,1bill,72chevy,venetian,1simpson,sickle,adpass,letmego,zilla,richy,schlange,1gggggg,bdaddy,1jjjjjjj,newpass3,ermine,308win,drum66,porn11,1brandon,maulwurf,ace1062,naturals,sell,tannenbau,moni,kcng,qwerttrewq,048ro,1super,jose12,mayhew,runvs,supera,1abcdefg,ranita,fritze,tigereye,chiffon,bobbyj,qwe456,123jlb,adobe,akshay,dobbs,events,bama12,phobia,scott12,5string,blanch,q22222,blogger,luners,sexi,andrew6,gisel,sux2bu,sumo,greatgoo,mirko,randie,tonna,pinoyako,marcus2,xufrgemw,sonofsam,cheops,weihnachten,blackros,goobe,g5wks9,zwilling,maandag,asdzxc123,milo17,alic,everto,paraguay,anthony9,raissa,puffy1,watt,boscos,ardmore,piesek,stable,carlsbad,abc1,abigale,baddog1,fish99,255ooo,charly1,denny1,milka,king99,jack99,1ooooo,1booger,kalimera,1warrior,goddes,triplet,nairda,jackhamm,tiger25,nospam,tbear,honda200,hallodu,1carlos,lolopc,yrrim7,rollover,1baby,tehran,moonrake,agile1,melvin1,jdog,wisdom1,regan,hal2000,fuckitall,quart,teagan,vbnhjafy,coolwhip,signatur,sexygirls,aspect,fcc5nky2,rvgmw2gl,dro8smwq,mbkugegs,chris25,whoosh,gunite,myriad,azfpc310,breads,dogfuck,mooch,thetaxi,event,daywalker,mrpibb,apples2,edmonds,alice123,2much4u,bubb,keywest1,wejrpfpu,wwr8x9pu,watchman,tarzan1,gustaf,crue,ngc4565,2i5fdruv,hkger286,qmezrxg4,rz93qpmq,needed,schwab,javier1,skidrow,buzzkill,sierra01,mandel,canvas,nicksfun,jerryb,crock,sommer1,rick1,gibb,passwordpassword,vurdf5i2,xyh28af4,kzkmrf,euro2000,blackwhite,guenter,kmn5hc,ou812a,sujatha,armyof1,siding,saisg002,audra,chery,musket,eklhigcz,icicle,school12,bigboner,branca,rul3z,amberr,158uefas,lifesux,5thgbqi,triathlo,jamshid,teufelo7,germain,gutierrez,gravy1,pulp,wodahs,alexx,ffggyyo,divedeep,laz2937,4ebouux8,poopi,amit,mani,roxie1,cornelius,jonah,athlon64,bebert,psych0,saginaw,doog,winner12,carvalho,grumpy1,handicap,monkey4,r4zpm3,7seven7,hotlanta,schoolgirlie,tami,mvtnr765,ym3cautj,tangle,jaydog472,jjvwd4,cum2me,camry,differen,brice,duarte,still,bama1,vester,numpty,hball,gusman,pens,smalltit,00700,1rangers,passthief,dwl610,balin,foghat,bankshot,hackett,cessna15,thesame,deles,aekara,bbonds,aoi856,dell50,saisha,rueben,4cancel,swisher,doller,123321w,baldman,johnatha,1zxcvbn,blob,dori,spawns,rigid,stoli,tresor,gtnhjdyf,bootmort,purple11,caso,antonio2,harakiri,highjump,amen,nicole18,backdraf,caustic,borodina,hawkey,rallye,baily,maja,bad11bad,104328q,bogomol,souppp,techman,entertai,spec,morocco,cora,sabbeth,99ford,fast1,mommys,connors,table54781,muffer,gjlfhjr,pauly,fregat,fantas,goleta,grabber,ellehcim,albright,comand,gericom,4real,bensam,pardon,marv,whitetail,knudsen,agent86,dagobah,html,groucho1,calpoly,chulo,sanfrancisco,finding,merlin11,brandan,mervin,brucew,paki,tavasz,diamondb,kanako,gorge,aiwa,cando,changer,ownage123,bugmenot,melis,stillher,fourplay,wolfee,razvan,traxxas,entrar,band1t,muleman,bond0007,wow12345,atom,massie,mkonji,eastbay,ramana,turbot,struppi,bimbo1,boxxer,andreika,bigals,pkunzip,belly1,aaron12,joseph2,star77,jennyc,peludo,odonnell,hewson,diem,123qweasdzx,muskan,debussy,sniper01,hamzah,goofus,salima,easy1234,yarrak,abbas,rjycnbnewbz,toontown,checkito,saskatoo,cleo123,dianne1,pumping,z1z2z3z4,mascha,blood666,vesta,very,gotyou,mermaid1,chinky,sklave,sinatra1,hotbot,coolio1,beverly1,anna1985,hogtie,fate,greenlee,cjkjdtq,muhammed,ideal,bigted,dkalis,picket,alysha,aerobics,restaura,xavie,eire,canbeef,allston,ferarri,clownboy,iced,456rty,dock,labour,rockets1,strong1,kodeord,funfunfu,ironlung,latisha,rucker,eatass,alskdjfh,bigdong,htcnjhfy,123a456,black23,mamusia,primes,galvesto,amaranth,corvette1,a1b1c1,lofton,pogoda,cleocat,ilovemar,alex2,89876065093rax,aracel,goodboss,stater,tiburon1,jjjdsl,anisha,adilbek,copland,diadora,cacique,cbhtym,inverse,desember,sl1200,farming,lektor,passw,sdbaker,cthuttdf,kevinm,iamthe1,siegheil,chilis,jorel,jitterbu,sammy7,tronic,rutter,persepho,zaq12qaz,mtgox,wizardry,reviewpass,sambuka,nathan01,msconfig,arianna1,louisian,anarchy1,alphaome,alieva,apex,heather6,anar,fleece,yorkshire,alerts,kohsamui,fatdick,adidas11,horacio,jazmyn,cascada,lanfear,apples123,kulikov,toonsex,piroca,flameon,march11,koskesh,pcitra,agnes1,newzeala,safrane,zoedog,zaphod42,av473dv,sf161pn,transcend,shuriken,saudade,toma,kamilek,poker0,ballast,surabaya,love20,preggo,ahmed1,nastik,dunwoody,dirtygirl,marthe,aidan1,converge,htyfnf,grigoryan,ania,sebring1,airmail,1iceman,aishiteru,shortcut,rangers2,blackhea,rumpole,scorpio6,toto99,praveen,marston,deidara,kristo,denhaag,august24,daniel0,ghjrjgtyrj,akita,answers,larionov,nausicaa,airlines,prototyp,andorra,vangelis,tango123,neelam,walhalla,mansour,vanill,aurelien,remorse,pinoy,glasnost,isaia,lovehina,bestboy,leander,alaric,chante,songs,aerith,quaresma,gizmodo2,weymouth,phaedra,rufuss,arrowhead,classi,faramir,idinahui,conej,alex1995,a159753,rhfcbdfz,konfeta,jumpjet,1234567qwertyu,sorento,liliput,lytghjgtnhjdcr,wonderwall,111222333000,isidor,assa123,alex1985,merengue,chulita,chelsi,alex1987,fiorentina,mansfiel,god123,escrow,areyuke,vaz2115,indahouse,sex777,chiqui,avata,cagliari,ioanna,granat,lucius,fktrcfyl,nhecsyfujkjdt,alford,neumann,qwertyy,mama1961,pornostar,alina123,a123456b,kickin,miledi,mala,brittni,chelsea7,cthlwt,tarelka,ellada,iverso,isthebes,fuck666,walkman555,cowd00d,almeria,joanna1,ataman,ethiopia,17711771s,travieso,aquemini,kristina1,berlioz,sandia,recoba,jerkyboy,gumdrop,icandoit,lenchik,zgjybz,rose1,forest99,wishing,3611jcmg,amazing1,kathmandu,meeker,spring12,kaylin,anisimov,woman1,harlock,tereza,money99,armine,humtum,megha,nottoday,funkie,lucero,kenshin1,gorden,cognit,fsd9shtyu,philo,videoman,bigbird1,ybrjkftdyf,camion,bpvtyf,voronina,locos,zaqwsxcderfv,rebate,flaco1,avenge,hvidovre,dakota2,9638527410,assets,blume,lucky99,ercole,laszlo,fylhtq1,annapoli,misha123,seemnemaailm,anderlecht,tigertig,soccer09,leonov,zebra123,priscila,margret,wake,chula,cactus1,rockshox,missyou,hygge,kazama,baskets,canopy,andzia,anna1990,anetka,anna1997,ybrbnbyf,jxfhjdfirf,5c92v5h6,purple13,qwaszxerdfcv,qweasd1,ataris,giallo,slonko,lucozade,antananarivu,dunno,maywood,gbplf123,pawelek,makeit,anna1994,geroin,gfhfyjbr,fvfnjhb,sucesso,diamond2,philbert,silmaril,venom123,grandson,redhill,listing,antonio3,heimdall,firstone123,karlmasc,sungod,apartment,vermeer,regatta,artimus,plat1num,dick123,dictator,crisp,nell,moom4261,corgi,distant,thoughts,pa$$w0rd,styx,maxthedo,logan2,pushistik,unclebob,cubalibre,armor,(null,canada99,mistie,shipmate,fibonacci,artemis1,bunnyman,kokain,asdfasdf1,cock22,gopnik,bravado,eeyore1,thebeatl,montesa,vaders,assss,glance,sandan,09080706,silver99,vasile,msouthwa,zjses9evpa,ou81269,brandon6,piccolo1,azerbaijan,wahooo,seau55,hergood,hotlove,whipme,outlaw1,misfits1,bilbos,hoghead,ernest1,humanoid,c43dae874d,tarado,tom,mink,penquin,test3,seattle2,kenaidog,department,123123qq,balata,pinkey,minot,demise,natty,june12,himalaya,pinkerto,bigballa,dewdrop,bash,small1,chode,toonami,fuerte,lawina,peyote,robinho,berry1,mypass1,wonderwo,dancer2,notmine,9ball,paycheck,jesussaves,brother2,rodman91,dopeman,apple11,hammock,1penguin,pugdog,micmac,forbidden,caramon,jorden,prophet1,black9,july16,glamis,ninja9,screamin,philosophy,killswit,kegger,rebeld,czekolada,w8woord,racin,hammett,jazzman1,barge,anabelle,bartend,finnland,barnabas,barnard,jayne,rhett,reina,1justin,viper69,demetra,ligeti,diana2,lawnmowe,rockyy,ab55484,papasmurf,ktm250,p3orion,jazzed,calves,gloria1,barstow,neo123,chelsea3,rockandr,bigboys,shellac,burnt,darkness1,happyguy,jaco,greenlantern,polock,untitled,batty,cbufhtnf,python1,nedkelly,sassy123,cams,kreator,lamppost,bonapart,8vfhnf,batman21,joker777,robin123,ventura1,peter22,battery1,phili,bobbyjoe,yomismo,painkill,antihero,carri,spartak1922,boomers,gervais,beeman,cruises,gulnar,goldenbo,bazaar,genoveva,glassjaw,redarmy,redshirt,1loveyou,basketball1,bearcub,nnnnnn1,uuuuuuu1,marley12,wheaton,coronas,chlorine,67mustan,buddy4,poo_,xyzzy1,reynaldo,inandout,tazzman,normand,cousteau,hello6,specboot,hiccup,junior01,castell,goldi,myles,faiths,im2cool,legion1,redsox11,hotfun,0112358,byteme1,qazwsxqazwsx,nikkis,abby123,scottm,floors,cornhusk,bunkie,defcon4,clash,markp,mykiss,linkinpark,soybean,culebra,fuzzie,cantona1,ditka,beastie1,messiah1,kissthis,beatoff,tequil,cymru,cheesey,chomp,hejmeddig,redcard,beckie,intermilan,1light,cakewalk,pitter,clusters,chasmo,osceola,poolside,reeb,beer69,beer1234,gobulls,chimay,yfz450,pimpsta,bernardi,rocket21,000000z,enormous,anit,swansong,helicopter,poulette,theodora,bellows,creams,below,dolphin9,pater,darth1,cookie2,smokee,1ladybug,regedit,good4you,france98,prout,kensingt,inspect,hanger,psychic,billee,scsa316,blue28,dmb2011,without,peter69,private5,teenslut,bombero,pawnee,frogg,eleanor1,ones,piotr,vassago,august15,edgar1,thiago,brandon7,gusto,cheating,tarbit,tippie,landers,bwana,mauritius,hithere1,flexscan,2305822q,nickey,billyg,kawika,tomjerry,iamsam,chrisg,nnmaster,bradle,oboy,belladog,cool1234,gautam,dreamgirl,superman123,manimal,ensemble,hailey1,simpl,baseball12,dirt49,formel1,pornosta,amber69,divine5,bicho,dooper,superdude,arnie1,brucie,biddy,fishbowl,whitewol,dcp500,devochka,littlebear,sparky99,mary1,goshawk,nothing0,suckfuck,john55,mario12,dukies,beanhead,goathead,faith2,johny,tigers11,cannibus,penpal,johnnyd,fastdraw,halford,notme,hefner,daddymac,thibault,potty,morri,promopas,carded,thereds,tarawa,powerpla,wallpape,morgaine,bettis36,aust1n,matt01,palm,thruster,1theman,1bigmac,liberty7,greenery,bigmouth,bigt,dennis2,stoker,dildo1,hangers,march15,johnd,wetworks,crossroa,gunfight,bunky1,rockcity,tingle,heywood,gordy,gutentag,dirtybir,kimbo,willis1,motox,pepote,bushwick,sharon69,mystic1,kink,stat,katiedog,greatdan,hastur,houndog,testerer,schroede,runnin,multipas,lizabeth,chico123,lund,gillis,sayuri,kumar123,channels,shana1,pecos,birdcage,racquel,washear,shameless,rachele,k1200rs,tools1,kissfan,sassydog,yellow5,optiquest,birdsong,forecast,kingss,tirpitz,bison,laluna,mini14,bobby12,cooper12,mistys,byoung,sammy69,toscana,rhode,modify,cleanup,flag,snake2,mymoney1,cntgfyjdf,blackfin,blackheart,brady1,robotec,joker13,grimreap,ashaman,walsall,motoguzz,kathi,money23,peterk,whoa,thekids,temple1,logcabin,thorny,gordan,bykemo,neverwinter,twiddle,breed,stevie1,pinokio,mclarenf1,stickboy,bloodlus,cinta,torrents,blueone,pussy12,boogiema,bnm123,depaul,bluedragon,delay,scorpian,fsunoles,januari,standrew,dolce,87e5nclizry,justin01,astron,flat,ginger123,bmw750il,stronzo,canesfan,welch,kathryn1,gijoe,luvsex,nomis,65mustan,shoeman,britches,stumper,killer13,terrill,fortune1,jojo123,justin123,bobrik,hotdick,boca,cindee,bodie,bren,cer980,rafale,dfyjdf846,futebol,pinarell,nepal,dude1234,jkmxbr,wilmar,pepluv,zantac,fuckthem,mattias,micky1,giampaolo,danny001,shaken,pace,bouncy,puppets,pancreas,tampico,micki,supermario,union1,lollie,lichen,modesty,turambar,hamm,usopen,pretender,chatting,eagle21,myhero,killed,pandoras,hottuna,sever,roofus,buddog,ryan01,satire,balls123,magic2,nosaints,marten,leaf,dukers,mccall,lovesuck,fillmore,brandy12,chevyss,ryslan,kleiner,buster3,barney01,ou812345,paully,conor1,children2,carrion,longford,pub113,sofun,shaky,chink,mcknight,roisin,redhorse,fuckgirl,gordon2,napster1,doodle1,panzer1,amazed,hebron,sasafras,publish,bridger,topten,miami305,antrim,secure1,tosca,letmeino,roboto,lesabre,grizzy,videogam,brucey,tylerj,clubs,wales1,pointman,gehenna,daniel21,gopokes,ranger98,abbydog,lou1988,sathya,wreck,spankme1,buck123,thank,stunts,hammer99,artichok,gthtrhtcnjr,jimmy99,bushmast,filip,sailormo,amersham,samat,coolfool,1bullshi,mmmnnn,void,lucycat,butterbean,pie123,vfrcbvvfrcbv,canman,mahatma,love88,merman,byrne,cgtwbfkbcn,elroy,lacrimos,maude,caball,arisia,mccain,caraj,dameon,teenlove,palace1,seabass1,pineda,taratata,fitta,marmalad,cameron7,mahogany,huntress,redwhite,interior,nbibyf,june28,lechef,mudslide,canoneos,nalini,kahala,icema,finale,rimini,ember,zxc12,image1,erwin1,carrol,path,goater,october7,channel1,naturist,chrish,kilmer,catboy,shapiro,beatty,jayboy,authcode,master0,rusty5,latrice,smith22,kicker1,surfside,glasgow1,rfycthdf,clements,ingersol,daniel11,selrahc,donna123,maryann1,annamaria,taller,baseball9,steph123,donsdad,system12,marcelit,wrestling1,tedd,orange10,lances,choker,arowana,silver33,chris10,delhi,atwork,hobson,scoopy,merced,palpatin,music2,dishes,smurph,silverfi,1beer,stark,corneliu,design1,insignia,thestone,cools,yoghurt,drain,singer1,5411pimo,dima2009,zimmerma,cowboy12,stalke,excited,wigger,soxfan,retired1,sodoff,kolia123,harley13,sarah69,dude69,dyanna,grill,acme34,sigmapi,bigloser,47ds8x,couger,rebenok,fucky,crenshaw,roby,esteem,r1234567,joshman,sputnik1,croaker,ridges,titti,raver,schuey,lexmark1,salerno,cestmoi,sheree,good123,august9,masterma,helter,love4you,ctvtyjdf,passking,sayan,oleg1994,9379992q,samboy,photogra,aachen,stain,awesom,sleeve,quacker,pooky1,capital5,handy1,poppydog,embrace,ferraris,clementi,kenned,punish,singe11,semperf1,maria12,marcin1,fafnir,marquise,feldspar,sthgrtst,tylenol,robert22,hassle,spooty,lovethem,deuce1,killem,thread,short1,qwertyz,kittykit,monster7,french1,ginny1,liveoak,silverma,kolding,clinic,sam,mama12345,1moose,dnevnik,genial,poopoo1,floor,aqwzsxedc,marshal1,greentree,qweqwe12,conley,presence,purple2,drucker,pentagram,hfnfneq,lolita1,njhyflj,margera,pumpkin2,bond00,powerhou,emmajane,terri1,1qazxdr5,sponsor,darkhors,superx,mineonly,redder,electr,torrid,jaylen,dragoon1,timm,lotrfotr34,caffreys,zvfrfcb,serina,gladiolus,ryder1,hotspurs,boutique,disne,driscoll,russo,gettysbu,holeshot,pixel,recover,shazam1,viper7,logans,p0o9i8u7y6,dave1234,ritual,peggysue,jamesw,koresh,till,llama1,herber,mushka,loved,plant1,bogeys,baldhead,nesta,everclea,dctdjkjl,1nnnnn,muse,vbkkbjy,rkbvtyrj,123321aa,terminato,rfghjy,monday2,lolnoob,nextdoor,giga,santorin,hardest,emergenc,awdrgyjilp,thefrog,flibble,papageno,boomerang,555555d,quietkey,skripka,timbuktu,123qqq,kanat,mrbig,hardy1,123lol123,1234qwerasdfzxcv,gordit,korolev,diann,lionsden,pappnase,tweaker,xexeylhf,dougla,qazwsx12345,studly1,arenrone,italia1,gateway9,jesuschr,axelle,eclips,terrific,edibey,money69,honor1,powerstr,bigsexxy,thesims2,drilling,suckit1,dthjybxrf,lbvfcbr,thrall,panasonik,oinker,rory,emblem,polkaudio,xbox36,asilas,nicetry,letici,nermin,salim,agshar,yeehaa,hockey22,111luzer,mongrel,boognish,kierra,kimono,pbyfblf,thx113,gtogto43,lidiya,pepsiman,jason13,eiffel,polonia,fathead1,nola,station2,ps253535,dragon666,mashoutq,nfyz123,alston,dumbshit,toyota91,struggle,newlove,muttly,gonzos,selassie,gatinho,shmuck,iddqdiddqd,bikman,tcglyued,touche,apple5,assmaster,ned467,jamboree,yjdbrjdf,elise1,stockhol,toplay,matrix99,sofiko,a1b2c3d,thvfrjdf,emilka,valenok,bananza,gribble,sat321321,espn,tinti,felecia,hank1,quintana,alexandra1,1234512i,bimbos,jorge1,gfgf1234,apocalyp,b0n3,spiri,starline,raffael,gasto,fabfive,sharona,lovebugs,marcus12,pikach,reape,cepseoun,pinkpussy,cityboy,w1w2w3,321ret32,babyboy1,fastman,morrissey,nintend,mickey22,sasha11,jkz123,nokiax2,guille,niles,ferdi,sovereig,remi,ferrell,qwest123,stiefel,ozzy666,agapov58,ttttttt1,junkfood,nfyrbcn,profiles,ironfist,squeeky,hjvfynbrf,hondavfr,homer69,pens66,cockgobbler,timati,dad123,tornados,oleg123,dude12,mario64,richard0,12345qqq,summoner,mclaren1,gilgamesh,diavolo,cvzefh1gk,marleen,wm2006,hardguy,galleries,nokian,maks123,nikita1998,luster,birder,lucas12,pica,blargh,tetas,furka,godhead,powerr,kumiko,mamula,cimbo,dextur,moll,gass,shithappens,gallus,sergio1,cheetah1,lindy,cornish,rudiger,aimee1,pocono,topcop,iloveboobies,hambone1,abcdef12,kloster,georgy,irina1,gigant,hereiam,janssen,sommar,nick11,irish123,tree1,ghjcnjgbpltw,shahrukh,longboar,margaret1,vfnehsv,luigi1,nomames,puttana,tr1993,w1234567,quantex,mikeee,viktory,phineas,hammertime,mayflowe,avr7000,teeter,heckfyf,jndfkb,hatman,cbr600f4,tv612se,jason22,smacky,bliss7,deskjet1,0cdh0v99ue,mossberg,tuff,miracle1,huligan,cheez,precisio,karpova,napkin,roman777,mmcm19,klaudia1,vfvjyn,roadrash,nara,medical1,crazzy,nokiaa,perfection,lillo,nazarenko,rfhbyrf,hjvjxrf,dctulf,revelati,rfnfhbyf,love2010,importan,jordana,j1234567,zaqwsx1,shaq,lactate,jesus33,burrows,mike34,rafter,gcheckout,rfgecnfcerf,mammy,selector,secured,wooten,lacroix,minddoc,sweeet,maier,mobility,sudhakar,julija,malcolmx,kamal,kakosja,karim,preeti,0101dd,kisa,vlad123,fizika,pangaea,yfl.irf,l123456,nanette,description,accountbloc,octavio,hardwareid,tidbit,scripts,287hf71h,mrmagoo,romanenko,mkvdari,mdmaiwa3,msinfo,osipov,timt42,ybrbnf_25,nurjan,gfccgjhn,svetasveta,havvoc,123321az,losbravo,sanek,thd1shr,shash,imaccess,gxlmxbewym,n8skfswa,ufdibyjd,bubluk,4060,6001,10078,14028,17098,50000,54354,78965,115511,119966,123592,123699,123978,124365,125690,137955,143000,144444,197200,198020,198800,199410,204060,224455,228822,316271,365214,382563,414243,441232,444888,483422,545645,665566,666444,687887,747200,789056,880888,887766,1010321,1233215,1346795,1512198,2022958,2121212,2525252,2797349,3816778,5556633,7085506,7506751,9124852,9556035,11119999,12457896,15975391,19372846,19380018,19822891,19855891,46466452,51502112,55495746,57699434,61808861,87062134,98766789,159357123,159951159,777555333,999666333,2468013579,dclxvi,1digital,a8kd47v5,supercop,stall,enfant,gentleman,ssbt8ae2,jackfrost,doda99,whit,chevyy,christo1,henr,2500hd,mould,themis,000008,shinchan,winder,dimes,peterm,qwerty09,fiocco,nitsua,happie,ibelieve,mchale,knopfler,hanley,parsley,thecure1,horizon1,chucko,walter34,buster88,fastest,wendigo,platina,fordfocus,contro,verymuch,oldpussy,bman,1bbbbbb,1eeeeeee,easy1,zachar1,1xxxxxxx,jasonj,bob111,greese,arlen,al123456,oompah,scottb,purdy,achim,121ebay,arzen,goodjob,shadow88,bigtim,atep1,austin2,dragon98,1asdfghj,coco12,bertone,123test,123boots1,tplate,dav123,opal,sss123,divad,dietmar,softcore,hathaway,camilla1,penfloor,visigoth,leet,bullnuts,elixir,mark13,singapur,scotlan,shadow14,samo,matveev,blue92,alia,elfriede,animal2000,carlos6,7imjfstw,9hmlpyjd,478jfszk,merlin21,hambur,jhereg,algiers,specter,racism,bung,july1,refinnej,nokia7070,jimbo69,imhome,tobias1,crazyd,lalit,elves,lozano,deedlit,nicks,damsel,lichking,hubertus,suspend,pantyman,moman,newyorke,vfhnsyjdf,liza2009,1month,abner,abra,adolphus,bunyan,1rock,1bigdadd,1alex,bombs,2balls,romper,1sarah,gable,delite,littleb,plain,breeder,5alive,taproot,malaria,paolo1,pools,1packers,hammer69,golfer11,1badger,qwe1234,simbacat,yodaddy,thewolf,lightbulb,inout,liar,ignite,altman,filles,lilone,arnol,angelia,buffs,belt,hoffmann,xxxyyy,123321456654,decent,currahee,emanue,nicole3,holly2,truant,pages,aassaa,paule,peni,dkjfghdk,stork,1honda,1creativ,a6pihd,sd3utre7,chkdsk,voice,wrongway,sassy2,reiner,torquay,wunder,demetri,queenas8151,bigbri,damian1,justforf,mccool24,imani,hedj2n4q,ofclr278,dudder,macross7,johnnn,forplay,gilroy,dotson,jeff12,rosebudd,twotone,schwing,wewiz,jabroni1,dukeman,angeleyes,pipeutvj,dorman,lamerz,2h0t4me,wallstreet,tiburo,goodby,gleb,moores,burundi,tabletop,richard9,acehigh,bendis,gorila,billy5,bellybut,12345678i,invernes,medias,conducto,tooting,method7,barrabas,softball1,hooks,voorhees,moonstafa,barabbas,escort1,lgnu9d,mustaine,calimer,summer13,aerdna,1drummer,albert12,tony12,indianer,scanman,panther6,demon6,tico,byers,cope,petera,duramax,sissi,arsenii,doss,accobra,scottsda,brazen,hymen,poppi,dukey,dago,erathia,gera,44mag,perth,aaazzz,adelheid,camel123,jackie69,n7td4bjl,laurenc,lukas1,peking,loploprock,markin,issmall,giveit,josh12,richey,gborv526,yaglasph,blessyou,refer,dsmith,acer12,franzi,mariette,capo,misterme,bine,checkm8,pussy6,connell,1qazwsxedc,whynotme,monteiro,cage,dott,akron,125wm,auntjudy,waltrip,fica,1234567890987654321,blofeld,barnacle,marlins1,felici,legs11,signin,trotters,flyboy1,dudley1,akuma,joxury8f,5speed,fifa2010,gotime,trim7gun,today2,lark,donaldduck,buster123,brande,booyaka,geral,andrea12,capone1,1234567890qwerty,barth,rabbit66,feeds,lomond,abandon,boolean,monster9,hydepark,opening,devil69,george13,azreal,connecte,montse,matthew5,rushman,jhrl0821,handily,kosssss,nightfal,sixer3,phoenix9,anthony5,oslo,armani1,kaufmann,gemeni,snowcat,kissed,flippe,enlighte,david21,elmer1,86chevyx,f14tomcat,relic,29palms,koichi,mali,melt,98xa29,ygfxbkgt,adamson,turbo911,pussy5,jimb,svenska,greyhawk,keri,volante,christiaan,girls69,anchorat,lovess,lilli,sanskrit,ajax01,queens1,hanford,gayman,ending,gimmesum,bigtex,eatmyass,dogbert1,azimuth,truegrit,jeniffer,targa1,edward11,xenon1,totti,q1w2e3r4t5y6u7i8o9p0,honda450,gigemags,a112233,a159357,anna1982,sammons,ghibli,biedronka,dmitrij,gresham,12345678w,techn9ne,shihan,6gcf636i,primus1,playhouse,gangster1,ash123,jerkin,trabant,guitarman,rakas,sportage,denver7,bogdanova,chevy11,ghfgjh,hesoyam1,asher,nottingham,morganstanley,bobbyt,amanda10,airbrush,hubba,milburn,charit,freecell,astronomy,warp,curlew,pakalolo,hockey4,vfrcbvjd,bullard,nevergiveup,anupam,chivas1,andrea99,minim,arenas,romanson,nepenthe,morefun,bela,gonchar,madhatter,le33px,fredrau,access88,eugenio,impossib,scrapp,morelia,scratch1,hollywood1,stewar,sacrific,bmw750,aiden1,siffredi,nantucke,drew1,acme,wiley1,kravchenko,rochester,darksta,sananton,mary69,looking4,angel007,bubbl,wear,adama,adamas,bmw328,mother12,billa,excaliber,bandman,hello101,mishra,sawtooth,a1234a,dawid1,bonn,pistola,theriver,alfonse,basket1,sophieh6,bluewave,koketka,seymur,123321qw,borodin,felicita,freder,azizbek,adios,bankrupt,1arsenal,birthday2,edcwsxqaz,mark3434,sybase,valmet,backwood,sunday1,molodec,larousse,spawn7,nokia5200,taylorc,deflep,mamaliga,kajlas,wowlook1,manchester1,telus01,motel,qqqaaa,natasha123,casio1,sys64738,alex1974,nostradamus,trish1,newborn,al1716,654321z,epervier,afrodite,poopypan,recon7,skydive1,bokser,jawbreak,penchair,kareta,aldebaran,akinfeev,silkeborg,pensacol,g0dz1ll4,sanction,jesuschris,nn527hp,dolla,milkmaid,terrell1,epsilon1,lillian1,crhbgrf,maxsim,cathryn,felicidade,ezequiel,matrixx,ekbnrf,junaid,amira,polly123,number8,vaffanculo,botanik,jhnjgtl12,arxangel,malyshka,barsic,petshop,fhrflbq,0123654789,alltheway,zoltar,maasikas,sunsets,solid1,59382113kevinp,cachero,resort,password!,karizma,ashram,tarragon,mama1964,joshua0,part,silverstone,chaparra,tetley,havok,bums,saraann,pipeman,numb,1chester,reset1,massi,monarchs,asmodey,sarahh,zapidoo,connor11,sane4ek,journey1,9988776655,blue135,jnrhjqcz,daggers,123vika,ilford,1legend,anna2002,tomb,tsunami1,rolltide1,ybrbnjcbr,portishead,free30,redcar27,footie,moskwa,cougars1,blackhorse,petert,ferrina,cstock,av626ss,macedonia,si711ne,robles,dtcyeirf,1234567890p,picture1,column,cartagen,volodia,folgore,alex1975,katemoss,alegna,burzum,alex1981,digitex,fktrcttdf,yfxfkmybr,evropa,123654789a,sasha777,alena1,leshka,glasha,ytpyf.,bloody1,ancona,ander,haustool,cbljhjdf,alex1971,134679a,northside,skyeseth,alex97,frontosa,andress,diamond4,luansantana,blooming,scudder,rondo,tima,fredonia,anya,valeria1,corrigan,jawa350,contrasena,elmwood,qwe123qwe123,change12,yellow3,cubana,ofcourse,romance1,genesis2,fuckthemall,dilara,alina1995,lubimaya,lisica,cardss,happyness,weasels,paranoya,hifive,vbitkm,vinicius,alley1,charleston,titania,alli,boing747,allies,parliame,hunglow,lando,bossss,women1,ufkjxrf,mamada,patient,pookster,parapet,1hardon,shavon,adrianna1,painters,ferrero,lore,stargirl,marist,pennydog,onlyone1,amanda123,ashley123,satyam,green45,fucking1,festiva,buldozer,axiom,slender,pheonix1,amigas,negrita,meduza,heavymetal,bobrov,beb,ashraf,sargsyan,1flowers,april15,laura2,ifoptfcor,miyvarxar,lovable,anahit,anais,truelov,flavi,varsha,dekal,stimorol,potapova,anatoli,lubimka,fylhsq,cathrine,dorcas,carro,mazepa,147258369a,qw12345,andrew99,fargus,halle,clarkkent,andrey1,gjkzrjdf,betmen,yfeiybrb,bumhole,luvbekki,sparky01,holcomb,derren,jakes,amberdog,persona1,multiscan,beloved1,hotbitch,advert,varela,dannyd,truskawka,angel17,sascha1,eatmeat,v00d00,tagada,anil,yoshiko,anime123,sanna,outpost,antonioj,flyvholm,fhutynbyf,berner,aaa123456,sone4ka,donkeykong,gtnhjpfdjlcr,gowron,hurryup,into,lovepuss,susan69,sexy22,owns,avtoritet,antonia1,conny,ninjutsu,red100,dima777,mansikka,modem1,odt4p6sv8,zxcvbn123456,gjpbnbd,imac,apache64,aessedai,aperture,sultry,monitor2,totenkopf,dogphil3650,chicago5,fine1,arabian,putangina,love15,tony45,babyphat,artful,jason11,hanibal,dontgotm,undone,veruca,vehxbr,arjuna,arkasha,pouch,asslicke,philippines,cantina,wideopen,chitra,run4fun,molecule,unseen,barsch,hakuna,davinchi,zxcasd123,scrapland,methanol,bmw328i,frog1,spiderman3,phezc419hv,imelda,reviewer,blass,werty123,lassiter,comicbooks,64chevy,astonv,zcxfcnkbdfz,perrine,1video,borealis,a333444,zsecyus56,awake,bigbone,booboo11,d50gnn,rjirf,4815162342q,zzaaqq,thuglove,rkelly,badder,leto,bear13,recess,baer,raptor22,bltynbabrfwbz,pest,poacher,medtech,baba123,vaz2114,1explore,robbob,america2,ricci,masterba,baja,bmw528,nelly1,greenlan,chopsuey,kokot,balance1,pussy4,moondog1,moise,meeko,bard,flynavy,hayman,cotton1,layla1,katuha,destiny2,happy6,ironfish,tracey1,jasmine7,betrayal,mcgrady,ballroom,geetha,kronik,chitty,oneputt,humpin,stonehenge,lazer1,munchy,zacharia,pedal,bananas1,flute1,brille,1frank,punto,warhammer40k,tnt123,boxman,hemingwa,cjymrf,hello23,cobra12,jordan45,furnace,canto,generale,mine11,march17,killer77,williamj,jimbo2,letterma,war123,olson,steroid,peanut11,seamless,rugbyman,plywood,dany,franco1,kriss,execute,xanth,angeldog,potters,hatrick,shenmue,grandam1,layer,rosehill,tucke,parson,zackery,1cricket,fences,swift1,kinglear,cessna172,calla,baroque,gbpltw123,shadowman,rstlne,mockba,olga1976,pd25,bowie1,myhoney,guadalupe,1bastard,baseball7,cottage1,homerun1,bleu,spike2,greenda,monkeybutt,farts,jays,syndicate,something1,craiger,passwordstandard,pierre1,dorothee,bastogne,brandon3,iamgreat,358hkyp,overflow,siddis,coffee2,marcia1,chancy,fairchil,hits,batmonh,doody,wildon,batteries,tom204,vonnie,exciter,sundog,gti16v,ottom,rataros,tonchin,joesph,chicken0,missys,dell11,bodhi,maprchem56458,magnit,paswoord,leedsuni,dance123,bballs,ppppppp1,1kkkkk,1lllll,city1,mmmmmmm1,nnnnnnn1,elessar,bobo123,user123,bobolink,gandalf0,beckys,1giants,udders,freezing,chappie,maddawg,hextall,amiga500,hotcunt,scubas,diet,further,infotech,moose69,motoxxx,righty,gundam00,speck,bermuda1,tylerd,maersk,vending,blight,camelo,backd00r,cheyenne1,1king,drumming,tgbxtcrbq,lovezp1314,buster69,twistys,whatluck,riptide1,kalo,playgrou,construction,tangsoo,brewery,thanku,ortezza,killas,beatbox,slutfuck,ostsee,beatme,kiddo,corp,momoney1,eager,fractals,polkadot,prince11,seemee,milner,bigtitty,form,kimberley,slavery,optimus1,iluvu,pickens,london01,steamboat,emely,comfort1,sammy11,brianc,litebeer,hampster,smalldog,realsex,romann,cartman2,blasted,jeep99,sunburst,engels,toby12,mugen,albertjr,0101198,wantsex,egoiste,pjkeirf,maddog69,object,belinda1,omni,elvir,gammon,emma01,awesome2,maximu,thicker,stoked,cosmodog,bijoux,falls,beltran,ben1234,pooped,fatmike,mamadou,benwin,michou,bend,medicus,justine1,bendix,morphius,biplane,goodbye1,brillian,kirbys,wrote,snaggle,kenji,lankford,pr1ncess,glass1,laotzu,nuaddn9561,benner,metalhead,mamapap,jollymon,field1,janets,trompete,matchbox20,rambo2,benzene,bozo123,lifestyl,bobi,pachanga,drool,buzzword,bugg,gfhfpbn,adaptec,halloo,roslyn,grenoble,mariana1,green420,spring00,help123,vitalik1,papas,gavrilov,123qwe1,steve22,dermot,indig,cody11,cassie12,underhil,fireplug,bobcat12,overcome,bruce123,knowles,poole,g1234567,usmc1,rust,brianw,lokomoti,pegas,nightwis,sleddog,red333,jamesm,onizuka,melony,scooby11,brody1,noir,obvious1,kelton,basura,policeman,jamese,bautista,zzzz1,bicep,emporium,kolort,chevy3,1nascar,patriots1,chrisrey,padawan,eather,pinky123,stud69,thc420,golf1234,girl1,fucktoy,pinkfl,loreli,bigbubba,2letmein,ilikepussy,godsgift,june14,chevy69,technica,dummer,flinders,bouvier,elway07,james6,bige,liljoe,gravedig,jakeyboy,longboard,highspee,saralee,jaded,12inches,grizzlie,hockey69,biggums,leghorn,bigjake,tomtom1,goskins,jekyll,gaffney,mackin,monkey9,nigger123,lilmike,snappy1,bigo,gomango,mantaray,whitehea,push,ray123,redhawks,newcomer,hondas2000,steve12,dickster,ruddy,skinny1,sunburn,cumshot1,bonkers1,doors1,convair,kyjelly,flabby,ford11,throatfuck,imladris,himmler,hiker,mcnair,85bears,hots,waiter,12play,partner1,july21,nibiru,communit,mitzi1,alucard1,latham,bantha,jackoff1,madnes,clitty,spider10,cabledog,figa,eagleman,tidwell,peggie,drachen,lzhan16889,tight1,ladeda,chest,bitten,igor1994,unison,champ123,brooksie,frogman1,lasse,bubbaman,august22,passsword,noodle1,stang50,coco11,brennan1,1cherry,magic7,twinturb,pamplona,tangos,claws,pasture,sling,boycott,baseball11,welcomes,scc1975,nailed,krille,cunt1,harumi,douchebag,fuhrer,rossigno,nuggets1,youngman,blazing,billly,clothing,doggy123,craigs,krakatoa,snowstor,church1,orange11,chester3,motdepass,zymurgy,leyton,harryp,bloomers,wisper,dale3,equine,selecta,fatman1,humans,fuckuall,mamasboy,zaire,purple69,shopping1,delta7,moon69,blue24,miyuki,juvis123,noremac,icewater,damiano,blurry,joshua99,imagination,viper01,dood,ramman,apeshit,crimea,kenpo1,shit12,007000,richard8,lompoc,estes,urbana,irene1,quad,mcclure,freedom8,nephew,coppers,flash2,carrot1,2big4u,5nizza,latenite,789456123a,imperia,bubba11,pasha1,nikolaevna,nokia6131,evenpar,hoosier1,kwiatuszek,gtnhjczy,fjdksl,inter1,nokia6500,spuddy,kiba1z,vova1994,chicony,english1,bondra12,meatwad,fatfree,congas,sambora,foreign,stonie,busta,ohmy,fahayek,boobs69,snack,write,piper2,pimphard,cootie,belluno,booty69,boochie,green4,bobcat1,wintermu,rjnjatq,iberia,born,j0shua,beckham23,delerium,1rabbit,caseyboy,sleazy,redsox20,justice2,debbi,venomous,scorpius,boundary,edit,gondola,stabbin,toybox,fight1,denn,va2001,ladylove,sniffles,eintritt,lanesra,navyman,slang,ascent,jessica3,vanhorn,platinu,cookbook,darb,storm7,bradbury,kanmax1994,thunder0,gundog,pallina,duck1,roach1,cubby1,holde,isbest,taylor9,reeper,hammer11,compaq123,fourx4,hockey9,7mary3,busines,socorro,wagoneer,danniash,markham,david11,infidel,shockey,caring,hammer12,burlpony,ram123,platonic,nels0n,angel77,sarcasm,kenseth,hassel,max1998,science1,lawn,cabin1,ox3ford,platini,sparkle1,service321,christi1,brunob,bot2010,retter,cooper11,iraffert,guillermo,hammie,gnasher,cleaners,wooody,tiedomi,sveiks,wifey1,yams7,johnna,flipoff,snazzy,abc123a,janie,dave55,1christi,pothole,man1,jack5225,vwpassat,burltree,mornings,cosmo123,thomas21,tonto1,jaden,1snoopy,pocus,caveat,subzero1,julias,sanson,oaktown,rodder,bullrun,happyhap,yasacrac,discord,coma,greenhouse,shampoo1,reiter,qwerty32,tiziano,candance,coloring,twincam,supermom,easypass,porkpie,mannix,undernet,endeavor,pablit,wireman,talavera,tobasco,rodeos,vault,karmann,shameles,taylor11,chippie,guthrie,retrac,brevard,gamemaster,bpgjldsgjldthnf,cassis,casting,niagra,dearborn,strikers,effects,xiaoyua123,writerspace,passwd1,pantera6,tttttt99,manageme,hornets1,sosexy,ciccione,regal1,emokid,chaika,jumpshot,aekdb,sharper,clockwor,starrs,katiebug,chills,pincher,reynald,guybrush,music101,tabaco,fleur,maxcat,ewing33,control2,toadman,trixie1,marmalade,beerss,arsenal0,jasmine3,speedy2,kamaz,clancy1,janne,cooper2,deuce22,th0mas,zpflhjn1,jimbob1,hunden,claw,1rocket,elbert,confetti,coorslit,12monkeys,slavko,matrix123,helens,earlgrey,shabazz,wildchil,throne,countess,anthro,coven,marzipan,coyote1,sofaking,1crystal,gfhfvgfvgfv,eetfuk,mouse2,gonzo123,standing,solus,beagle1,klepto,craig123,cutlass1,cram,jimbo123,flappy,sign,milliona,sactown,1horse,kryptonite,rocksta,creativ1,darksun,saved,wisteria,mustang67,scene,sanjos,69er,123456789j,08080,einstei,sofi,marcos1,repmvbx,pass1wor,queball,sparda,fondle,roy123,matthew0,hoyasaxa,posse,punchy,worf,waring,gamgee,methodma,saladin,lisaann,holiness,prince2,prisma,damilola,kolawole,richard4,jesus4me,lostboys,rabies,qwerty789,shadow10,marge1,samar,atwood,ghtlfntkm,barabash,1lucky,rugby8,triton1,cnfhsq,kasia,tigerfan,oliver2,moparman,cuddly,izzard,9z5ve9rrcz,rocker1,razer,jackmeof,mamma1,ringwood,1gandalf,kahless,splatt,disable,cathay,tickled,sexy21,rbhjxrf,greta1,rustyboy,mood,fietsbel,hitch,one2one,dippy,wales,hotshot1,cynthi,acheron,ev700,gfg65h7,goldenboy,d1d2d3,kgvebmqy,vader123,slava2,gizmo2,falcon69,athene,xfhkbr,scarlets,dogman1,pfhbyf,pongo1,dopamine,laverda,dumbfuck,duke12,graphite,pimper,raque,tigers2,dimo4ka,fiveiron,wilber,jade1,blowme2,mine69,katyusha,green55,snoopy69,haileris,dandelion,jumbos,6846kg3r,denis1988,topnotch,skanky,spinners,azerty12,jerbear,assass1,prints,intercom,cheezit,1rainbow,caritas,brondby,fifa2011,1q2345,pioli,ashlynn,looking1,tyson123,kramit,windward,morrowin,changeme1,gdansk,lifeless,darcy,faber,123qw123,yukiko,lexus300,12345abcd,jungle1,sword123,janus1,wetsex,wharfrat,bespin,heavymet,mountains,soarer,andiamo,gfghbrf,lfiekmrf,paraiso,1q1q1q1,tlbyjhju,d1234567,sony12,windows2,david4,rattlers,hershe,david10,palmer1,world123,superdav,roth,gruber,1golf,anadrol,hauser,dolore,spartacus,jan123,larkspur,tashas,mudbone,blessings,lexxus,loc,hippo1,is3yeusc,dobie,fearme,qazxcdew,cannon1,oakville,nhfkbdfkb,sugardog,enigm,nothanks,1996gta,dwells,kalleank,5678ytr,ujhjl312,scanner1,fourstar,whome,ilike69,partyman,star1234,kissa,joshua19,steveh,bricky,kotova,boss429,bdfysx,notch,ivan1985,canada12,kappaman,chiro,sahalin,fordgt,demona,den12345,deni,gaudeamus,satur,vivia,kolonka,taganrog,gash,1muffin,stuffing,soccer19,rosebush,1assword,ziffle,hannah12,skyfir,poker2,franke,dimon95,lamb,mailer,danang,zse4xdr5,guss,kaizer,ghjtrn,qwertgfdsa,pyramid7,uplink,prisca,commandos,sloeber,fuckit1,qscwdv,diapason,dinamit,drumandbass,hanswurst,yfcnzvjz,dinky1,torito,tulipan,tsmith,dixon1,0147852,dlanor,shavkat,toppdogg,flywheel,xxxjay,staples1,rockytop,pewter,mixers,7777777s,maguire,dupree,marino1,fiend,huskerdu,sokol,pilsbury,fatbitch,emma22,donatello,tamada,mesohorny,doming,gram,mike99,suitcase,kailayu,kaka22,stuffed,brasco,mancha,uaeuaeman,donttell,rifraf,sergei1,industry,wolley,gunny1,surfer69,safado,s0ccer,gree,tallest,iampurehaha2,dukenukem,samatron,pussykat,trekbike,stopper,headhunter,racerx1,schenker,bounder,semaj1,19851985p,ptichka,muncho,quarks,ohlala,rf6666,felixxxx,mickey2,carpet1,buffal,scooper,1falcon,eagles12,shadowfax,brandnew,102030q,shocks,economist,armastus,granvill,134679q,munkee,elaman,elena2010,maks2010,gerbera,jones2,mamma123,qwer1209,dontforg,wxcvb,kevin69,tdfyutkbjy,surfe,jkbvgbflf,kolosov,peterburg,q1a1z1,qazxswedc123,footslav,power666,river123,limits,456asd,hallo12,vlad1234,freedom0,kafedra,hunny,restore,isaacs,nastya2010,maremma,floren,jayhawk1,foster1,counte,searock,sierr,marque,mexicali,dead13,mathie,stargat,hesoyam123,invisibl,morse,green17,tupacshakur,fyutk,startre,ghjcnjabkz,decembre,pengui,romantika,qwertyuiop10,noon,farrier,racket,cheetahs,fatgirl,playground,position,1989cc,shalo,redsand,7777777z,hfcnfvfy,assasins,hollyy,engine3,ginnie,cvbn123,jpthjdf,dune2000,nano,zxcvb1234,grazia,fevral,4rzp8ab7,waratsea,nokiadermo,njhvjp,borden,michiko,blankman,a123654,walls,abkbgg,james22,nadano,1gateway,hour,colbert,stinkyfinger,cuntfinger,littlewhore,12step,flashnet,fletch1,ultra123,littlegirl,bladez,123-123,blackmor,frame1,busybee,fuckyou8,schalke04,whalen,sukkel,pretoria,tanushka,schecter,mike12345,turn,larina,heathen,c00kie,fuels,jasmin1,groundho,april21,falco02,karel,basta,jutta,sexfreak,homefree,snowhite,rouges,igor1234,masturbate,blackhat,voivod,butthea,gbljhfcs,24gordon,winam,soni,nicolas2,supras,sextime,gridiron,helge,losfix16,ilovecock,red222,lill,cartma,qwsazx,blue10,sanyco,mile,turtl,zwezda,cjdthitycndj,viper12,dewar,homero,rockbottom,southwes,haze,glock40,gavaec,1s1h1e1f1,chinna,mariami,shandi,grafton,condos,fyfnjkmtdyf,heidie,gould,enkidu,dugan1,gintonic,konnichi,mohan,glad,plethora,maestro1,alabaste,qazxswe,uhtqneyu,superhero,guy123,tiger8,gusev,4077mash,vergesse,hooker1,1qayxsw2,jeffery1,jerrod,sheikh,kkk666,pele10,higgins1,terry123,toccata,sexytime,postie,thespot,troop,pedrito,home77,leia,ferrara,rambos,kat123,syrup,limbaugh,eybdthcbntn,qazwsx11,fktrcfylhjd,june26,ravshan,slayers1,mobila,tracy123,weezer1,kirpich,greatwhi,kompas,formatters,espinosa,irina123,metoyou,melnikova,saqartvelo,veronda,jessica6,kmdtyjr,tautt1,jake5253,sewanee,zimmerman,vakantie,pill,joaquim,roanoke,rapeme,lovesick,calender,jossie,traxdata,flyfishi,maktub,outbreak,tedbear,ayi000,jordan18,maitland,thebeatles,madmax1,spurss,mynewbots,michaell,zagadka,cjfrf,mandarinka,thekiwi1,walera,kbpjxrf,villevalo,runfast,mariupol,likesit,pornlo,vishal,soloma,nfnmzyrf,odinthor,triada,icam4usb,completed,vfif123,parts,fancy1,netnwlnk,iloveluc,maniek,luxury,mashamasha,adapters,ravers,webtvs,1matt,bodiroga,netsnip,pchealth,pngfilt,413276191q,lennon1,asdcxz,protected,savina,performing,corperfmonsy,controller,predators,paulinka,servis,krimml,25563o,trevoga,westin,richi,talonesi,vova12345,fjnq8915,fylhtq95,dei008,saveliy,neel21,wafer,vladimir1,02551670,tony_t,zavilov,4030,5001,6070,10020,15058,26058,54545,77879,109876,117711,123888,124536,125000,125267,135642,136900,141592,142500,145678,147456,159000,165432,196100,197010,197101,197700,198505,198520,199020,201980,223355,258046,311420,342500,420666,444111,500600,511647,543211,552255,552861,645202,777123,789512,888889,963214,1111112,1169900,1231230,1237654,1357924,1597535,2580258,6942987,8520456,8538622,8807031,9933162,12213443,12758698,13467985,15253545,15975312,19216811,19801982,19821983,19831985,19833891,19921993,19932916,24688642,24861793,31021364,31359092,36985214,55378008,56836803,76689295,112358132,123987456,147369258,147852963,213546879,794613258,824358553,987654123,1234562000,1346798520,shante,deadmoin,6043dkf,roast,coon,bigwaves,0080,gameplay,gomes,%e2%82%ac,quintain,lommerse,centra,spook1,reppep,selur,kpcofgs,jockstra,porsche2,avalon11,jennyk,commo,nosredna,swizzle,chrisbl,4speed,barbarossa,madarchod,time123,katoom,bebeto,48n25rcc,centric,nounour,merry1,1861brr,captaink,dubesor,fried,yawetag,oglala,kontiki,1sexsex,rhfcyjzhcr,kare,monica01,lockedup,bertie1,schnuff,scuba10,bobbybob,nitti,karuna,timexx,v55555,1ffffff,1jjjjjj,1zzzzzz,1iiiiiii,bigasses,sorrel,****er,luckystr,olaf,weihnachtsbau,hoppie,net,agate,matic,rufus2,1234567892000,fredric,jamesa,1234567887654321,nikos,1abcdef,jaxson,andrew17,12345678d,flippo,spandau,crackpot,forced,toshiro,n0th1ng,1spanky,max,1asdfgh,dino12,lucy11,erdfcv,mice,basia,spasm,133andre,chingada,purge,liten,clock1,fun,10293847qp,parks,rmfidd,a22222,goran,z3cn2erv,hazel5,hull,wwjd,biene,enhanced,loveland,maraca,kiddie,centro,dasein,maria3,8seconds,beet,crooks,gage,ansel,diablo23,salsa1,ace111,anonymer,maha,lucy1,manutd1,tevion,weetabix,2000jeep,godless,abagail,malloy,1fish,glock9,1sucks,1montana,expired,1vader,mobile1,oldno7,1rachel,br1ttany,gigantic,lickme2,1tigers,lamina,leggy,reiko,1august,stigma,2wsx4rfv,ogoshi,tampa1,girls4me,1irish,james4,cqub6553,baldeagl,andy2000,bboy,dweeb,piet,josiew,cabbages,tani,sexybeas,truong,kraft,icebear,blueroom,antonin,ranger9,farber,tremble,gilead,opinion,peewee51,rockwood,groin,chello,every,mrmike,bart316,zapato,movies23,critter1,bg6njokf,entrada,benno,auguste,wetdog,mollusk,marky1,donking,jzf7qf2e,vkfwx046,ballad,naumova,arrive,cannelle,1angela,molten,none1,august29,happy8,aaa666,stupid12,1qwe2,trevon,forsale,love98,nsync,5gtgiaxm,odgez8j3,pqnr67w5,mazdamx5,macondo,discman,allana,rapide,300zxtt,312mas,kman,debeers,palace22,djctvm,rfvbkm,divin,scurvy,bedbug,squidly,babyfac,tdeir8b2,arab,guitar69,brillo021,fincher,meetoo,skyman,mickael,tenorsax,lupe,brooze,providian,alex1983,minfd,supratt,ukqmwhj6,dsobwick,sassycat,dmfxhkju,46and2,posh,2children,bishkek,combs,somali,hobnob,pudding1,pissword,connolly,letmeon,howhigh,juntas,grow,drone,addpass,kewell,cause,chancho,holio,kevinn,whitecat,gautier,okaykk,marantz,denali1,elaina,snow123,spanners,tanzen,semtex,spike69,jgtxzbhr,newmoney,purgator,h9iymxmc,2ykn5ccf,passpage,mayflower,noskcaj,primas,jambos,mogli,stickdaddy77,canno,lorna1,yardman,manoj,harlot,ebonee,spacebal,abcd1,sanja,crate,sumter,madrigal,rolyat,lopesk,khongbiet,pudder,paigow,speedster,azzurro,captain2,1therock,anomie,slevin,1little,bubbly,sweetu70,defend,blank1,geronim,mickeys,gkfdfybt,zaqxsw123,muppet1,coffee11,pentable,drakcap,123456789000,marinus,havefun1,highest,bob69,chicho,hello11,123max,stride,facial1,megaton,implant,014702580369,lynnette,birthday26,enron714,asad,luanda,jed1054,heydude,samsam1,spotligh,riordan,timid,wilbur1,flake,tsalagi,76ers,james10,dak001,mama777,saransk,blue72,7654321a,purcell,shibainu,pidoras,cant,georgia2,marimar,orphan,wholesale,capri50,bayamon,honeydog,bruise,grisou,aldrich,martinet,nutt,ang238,bigrick,maint,123qwaszx,brutu,44e3ebda,bernadette,scary,daishi,money100,spuds1,shwing,asdfgh123456,guitare,jayz,dorene,laser123,fall99,raunchy,pyro,slammin,fila,bahia,honda01,greetings,profits,segovia,3bears,teen1,appeal,paul11,artefact,stoppedb,ronson,daffyduck,compass1,urgent,veget,jordan20,chevy01,aa123456789,mygal,wasdwasd1,durdom,assmonke,alex74,masson,tyrese,saraht,fozzy,lvbnhbtdf,joshua5,1cassie,chica1,thomas0,spartan11,4seasons,hockey14,kinsella,stthomas,aass,vert,toby22,syndicat,greatman,god666,jamesy,m7n56xo,honey12,five55,afghanistan,jennan,tremblay,california1,furnitur,necronomicon,oligarh,samuraix,liudmila,isdead,esbjerg,abercrombie,hollister1,bellamy,asha,araujo,encounter,aeneas,ridder,welcome01,folgers,riggins,showoff,palevo,antanta,angel20,rafaela,tlaloc,connard,sexual1,calipso,sslazio,bri5kev6,lilac,airborn1,matrim,borracho,2vrd6,sungam,olesica,alex111,usermane,tubby1,serious1,mauric,azure,tocool,stella12,c0l0rad0,bryana,jyothi,soho,bacteria,saraha,dynamics,detective,sport123,sayaka,acumen,moonshot,rayner,fatal1ty,hyman,venture1,appleby,fooey,moscow1,santana1,1234aa,litespee,football123,open12,vfufpby,retype,adam01,sigge1,tony69,boogle,deepika,menards,passat99,lemuel,lawler,csm101,adebayo,adelante,1mercede,alex15,junior13,brooms,laketaho,dartmouth,cool-ca,katter,icebaby,capitano,adjuster,89032073168,daxter,genetic,monk3y,vans,ackbar,economia,hershil,heather9,anthony8,adriane,orange88,f1f2f3f4,fenomen,deisel,howlin,yfhrjnbrb,andyboy,qwer11,seatleon,dimanche,login1,schreibe,apollo12,passover,kristof,happen,rajah,outside1,fiero,qazqaz123,beegees,affe,metlife,amizade,ghjuhfvbcn,dfktyrb,break1,obafgkm,rfhfnt,afrika2002,afroman,qqqqwwww,tapestry,myst,agatka,ctrhtnyj,zipdrive,motaro,agathe,patino,seemann,alex1982,kneecap,zontik,sluggy,ganges,parlay,schloss,sagittarius,bobo1,preludes,aguil,profil,titan2,bomberman,alex1976,1albert,youth,yokosuka,commercial,mami,victory7,bertuzzi,mundell,daniel6,golive,fishpond,zse45rdx,1234554321a,aigerim,arson,mortalkombat,warspite,black10,ramir,cessna1,operate,bangalor,harley03,hedge,gineok,jedi01,qweras,akademia,mishmash,santan,peacemaker,cycle1,shaq34,artema,mylover,lucky4,dale33,tony22,arkady,1oliver,trabajo,akmaral,nesterova,calgary1,vtldtltd,frxtgb,askar,horosho,candoo,pfuflrf,lloo999,artem1995,alex1998,h200svrm,love3,abeille,rynner,prodojo,bismilah,fort,guitar01,alton,animalsex,raines,alydar,clermont,bydand,darkfire,pa437tu,alina2006,eleonor,pujols,mustek,meiling,chicago9,vernost,torres9,reza,beyblade,wlafiga,stormbri,balaton,walstib,badboyz,ciccia,alex1989,bagman,atalanta,legends1,emotions,karlito,gemini12,lobzik,minotavr,sorokin,123qwerty123,al1916w,palladin,soccer6,papirus,chanel5,alex88,fostex,cucina,csyekmrf,alex24,alexand1,lexa,jitters,lestat1,chicago3,colins,burro,gendalf,1carolin,prelude9,san123,fgjcnjk,proghouse,thegod,sookie,diesirae,qwaszx11,flaquit,happylife,winston6,emergency,victoriya,potapov,1secret,breeze1,alina2010,millan,jackson9,ingres,lickpussy,obsessed,cesa,wasp,rfcgthcrbq,kellyj,voshod,lovebu,rejoice,tinchair,money77,alina1998,alina1994,alina2011,gjgjxrf,marco123,nata1980,poznan,q1234q,dinah,divina,anastacia,contex,123456789zz,pondus,mama1970,kamakazi,cookie123,aris,arashi,lkjhgfdsazx,escaflowne,sigma2,jarret,mendoz,default1,joselit,systemofadown,briane,june15,wahine,sahar,hijodeputa,themack,thunder6,alpha69,play2win,bidule,casita,stunner1,porosenok,nopasaran,tontos,altec1,altezza,14ss88,andrew9,michell1,imaloser,sara123,ihateyou1,wolfone,qaz123wsx456,highway1,1speedy,muchacha,awo8rx3wa8t,xiomara,dulce,money1234,atlanti,tallboy,babyblu,horndogg,wpass,vespucci,nimrod1,samant,amin,rajput,sodomy,toasters,neverman,soloy,asem,teamomuch,devotee,newblood,kareena,trace1,rmracing,kizzie,pornclub,naumenko,anabe,chanel1,wer138,verbati,tulpan,nastyanastya,sistem,qazwsxc,angelangel,cinque,avogadro,angelz,hoangen,lambert1,stratus1,fengshui,bonaire,forzaroma,nurich,superme,andy76,chimp,houghton,jackiech,express2,andrey1992,artem1992,rosenrot,thugstools,lohotron,pandemonium,tubgtn,thesun,yelrah,luton1,supafly,028526,foundation,storey,karenw,kvartira,angella,tile,redwin,cameron0,plhy6hql,spieng,diamond0,bk.irf,infix,violett,songline,doghead,morale,anitha,czarny,thegirl,samsung9,nazaret,vigor,destruction,bringiton,privet123,fynjyjdf,quicksand,gadina,gaylor,dfymrf,arno,fufnfrhbcnb,annoy,carino,chinadol,anthony4,vjqvbh,armyman,henry5,eddie666,bodo,babare,nokiae51,008800,santa234,2boobs,findus,mogul,lincoln7,fusilier,marcelin,bacons,roza,bodybuil,aquatic,hyderabad,wroclaw,bazongaz,eusebio,pakistan1,pasion,leonor,geeque,madalena,questor,contax,zxcvbnm123456789,f22raptor,yggdrasi,chris200,gulfstre,mononoke,arvind,tootsie1,kovacs,meditation,mybabe,jas4an,baby22,james13,latrobe,deadsoul,kalash,privado,aaaa1122,mallards,2278124q,hjvfy,lollol12,tray,yelhsa,elgordo,prevail,lover123,rattrace,azores,alla98,birdbath,impress,egypt1,auger,34erdfcv,darkseed,nikolay9,azat,bravada,bujhm123,kasperok,notgood,queequeg,1vampire,keats,potvin,cool22,nytimes,buffon,ikmvw103,irina1991,mudbug,memem,ashley19,ripley1,bailie,booboo2,cookie13,love4eve,baka,street1,peyton18,longman,thresher,opusone,steffan,zxcvbnma,chaplain,hfpdjl,frasse,grail,melly,rauchen,ferre,1celtic,masonic,keating,snot,ball1,124c41,dagger1,gayguy,ba25547,patito,flyers99,cookie11,firedept,heather7,walker2,lemmon,splits,bananana,me2you,dfhtybr,puertori,bryan123,warhorse,ashes1,jaffa,patatina,bangbros,uptheass,37kazoo,megan2,bearss,fred20,muffin11,mykitty,stepside,smoke20,bouboule,tram,daystar,covingto,warhamer,niccolo,rhtyltkm,satchel1,chri,barbaro,oldfield,tamar,peter7,peppino,moviebuf,marder,smile2,mostro,yamaha12,trips,jabari,expresso,wartburg,trill,irnbru,bakesale,charlus,bugger1,mattylad10,1barney,lullaby,chicc,bocman,sekirarr,hesse,kerberos,franky1,weave,sweetpus,jasmine9,conditio,krysta,lexington,essential,karloff,bars,cdtnf,deeman,brace,bleacher,pimpman,falcon3,dragonla,nomi,burmese,brause,sixflags,dennie,pitcher1,torock,jeffrey4,catchme,spangle,preppy,dakota99,shakers,basse,motzart,turner1,patat,freakboy,tuller,hofner,amman,killerman,bjork,darknite,magic69,robin2,heehaw,ilovelucy,grocery,mildew,gothic1,gallen,radiant,bordello,britania,preserve,triston,tommyy,bayard,kablam,bayou,baytown,burrito1,kilowatt,dedham,wallie,momanddad,megan123,tiger23,stjohns,twenty2,pass111,paramount,leedsu,badmofo,breakdance,process1,1dakota,sturm,blockbus,david9,kiersten,court1,july27,vaduz,chessmas,spittle,brett123,bigboy11,evbukb,coin,potsmoke,nodnarb,blademan,tafkap,eric99,blackwoo,1qaz0okm,notepad,bueller,com,lauren12,colts18,camneely,ooicu812,chispa,theband,money21,orion3,wspanic,esthe,blome,stars2,woodchuc,yomama1,airways,parker01,militar,keksa2,clk430,dog2,jackfros,sight,andrew23,beardog1,clitring,osasuna,curtains,1newlife,codered1,cocotte,sexstuff,ludvig,peck,welcome4,tigre1,ashley24,cathie,singles,lokit,newyork2,smitten,godown,figvam,hoppel,michal1,sunshin1,plaza,bisous,petty43,tanelorn,expos,snatch1,manteca,lunacy,luckyy,ribs,roleplay,kips,upskirt,pecan,alcoholi,john10,whassup,innate,hecto,isgod,sharipov,jordan9,algore,orion123,suomi,gandalf7,institut,lilacs,svoloch,bell1,bellini,runne,much,07078,vijaya,under1,breadfan,mitsou,pablo123,roseline,fourkids,robot1,deebee,ramire,santini,coal,sperme,virgos,vgfun2,palermo1,spider7,sunny2,ships,9hotpoin,lovinit,carpe,cinemax,penguin8,asshole123,santana5,satisfaction,oakdale,kkkddd,faucet,europ,rooney10,latinus,lexusis,bultaco,ahjkjdf,telescop,kobayash,cfiekmrf,berger1,artcast2,bigbull,kelse,berni,monrovia,technik,trafalga,bink,butane,bigberth,fuesse,quartz1,firegod,kiss123,lise,biafra,flopsy,moorea,eric11,danno,gullit,better1,buttss,thebus,raven13,rockstar1,gfhjkm777,drones,robben,crazyj,deadfish,ragtime,fitzgera,kl?benhavn,biggame,enigma2,quackers,chiphi,magichat,lightspe,bruiser1,kenneth2,thinline,blue30,innova,blackboo,shara,goodstuff,gopinath,bosslady,chimaira,connelly,snooch,chinnu,sataniv1993,joshua10,fourty,fortran,symantec,turntabl,intrude,hobbes12,bieber,1234567890d,peruan,farmland,88mike,rugby123,coffee12,iambigal,brentwoo,bigdon,nipples1,l12345,boating1,kingshit,magical1,dogleg,bigmax,doodlebu,teenfuck,justme1,shatter,pimpjuic,macdad,ow8jtcs8t,countryb,needajob,chelsea5,angus123,tuscany,chris5,vanburen,pokerman,prevert,delta5,sexy4me,smokewee,sassys,cumhard,bigfoo,solana,threee,cheeseburger,debra1,darvin,jazz1234,surfboard,bigkev,kipper1,berlingo,cherrypi,gmac,chicklet,maximize,jagr,livefree,sexpics,sheldon1,fubar123,vannasx,violentj,brenda69,xtr451,panther8,bigrig,bigsam,acuracl,wazoo,pureevil,stuffs,pimpin69,cherry12,love5683,happytim,cbljhtyrj,brownn,adapter,burton12,crystal0,raindog,miller01,dukenuke,amex,sindhu,stillers,sanchin,phoenix0,password22,willee,shemp,derrek,grump,passssap,blanks,analysis,jenson,quail,forgetme,boredboi4u,yyyy1,warrior3,mankind1,cunthole,sawadee,decline,fagget,coralie,boobies2,kotton,cavalla,tine,onelov,albatro,snakebit,michael123,1hotdog,linette,heresy,daniel9,pabst,dgoins,warman,blowj,bisquit,bloodred,rideme,hardc0re,justonce,porol777,ethics,jkelly,rockhopper,silver77,samba1,supercat,drew11,patch123,nabisco,patten,hpvteb,cubsfan,worldnet,chaser1,hotchkis,packers2,kalamazoo,scully1,blaat,1panties,likeme,max1,nickers,plastik,thorne,lowers,martijn,wrapper,nosmas,talk87,madinina,manning18,regency,montblanc,roadrage,hitme,1yamaha,tinroof,aaaassss,abuela,stoner1,elephant1,kociak,regula,corpus,jamesdea,glowworm,bluedevil,explorer1,changa,k.ljxrf,1brian,poes,mingle,caleb123,bliss1,chevalier,tolkien1,blackb,coolbree,catapult,sonoio,cosimo,chunks,takeme,bobby18,hijinx,chech,sunse,nicole01,hilliard,keepsake,riogrand,chamberl,bluedog1,musiclover,yacht,libertin,anamika,blues2,mike2000,kd5396b,ween,blumpkin,joliet,frankly,grappa,exceed,april14,fiver,hard69,nbhtqa,bigsmall,clove,hamada,1friday,suck1,lovelady,godsend,elsie,tarmac,mikey2,mamiya,bonker,digital2,b26354,logout,good4me,redsox19,killit,hammer01,bobjones,krypton1,gbkbuhbv,nothere,folio,fulhamfc,carreras,not4u2c,wert12,sadomaso,banaan123,henrie,789qwe,boilerma,indien,cyklone,dipascuc,red666,water12,lisbeth,hiheels,ohotnik,slickone,otherside,casper123,countr,timer,thefly,nitros,hornys,mikejone,boodie,dragon4,pumba,sexxybj,2dumb2live,wu9942,booking,fetus,ladder1,omnislash,hakaone,sketchy,lotto,redsox99,delta88,12qwer,amberly,redsox12,popart,diploma,minutes,corcoran,conklin,ipvteb,gogolf,spare,delonge,ganibal,founder,boyfriend,yannis,adkins,death6,antiflag,brianp,adroit,catrina,equate,killer00,ralliart,frodo2,yanni,bigtee,landscape,fzr600,brandon8,halsted,brea,recife,parkhead,braun,fodder,bravo7,lorie,dizzle,chart,kamikazi,breakout,cowboys0,hotdog12,boofer,simferopol,jeebus,juanpabl,jeremi,subscriber,002200,black5,crossman,usmc01,april9,monkey14,evan1,silverch,glock45,toluca,4nick8,praline,chuluthu,salom,reisen,pookie11,shazaam,freeway1,mountie,helga,brogan,burrfoot,malacon,boise,elway1,free12,krakow,summer02,bronwyn,brood,demetriu,orosie1,radio123,chris33,reid,feeney,raven11,ridered,goniners,kyle123,dragstar,randle,chloes,landau,kareltje,q12we3,willyboy,burned,cagiva,jackie01,bugssgub,kendo,animes,fires,rawr,orange6,midiland,ford50,money3,manara,charlize,budster,671fsa75yt,1harry,buffy1ma,hunt0802,pizzle,welcome0,constantin,tremendo,kessel,22tango,king11,hfpldfnhb,passin,farina,bushwack,dimitry,pene,jblpro,a1s2d3f4g5h6,mahina,cbhtqa,bvlgari,lately,masque,fortknox,tanyshka,chris999,corsair1,papier,sleeps,yolande,prunes,zipcode,camster,kazuya,monoxide,tamera,cia123,cochino,spinnake,brave1,skyclad,yamada,karolin,jamesl,chuvak,lafleur,eddie2,2hot4you,jaytee,ogden,advice,testament,guano,howl,canter,revel,gogetter,canario,murciela,yoda123,startrek1,cody123,newto,zemanova,pa55wd,playboy6,minnesota_hp,washingto,intubate,marocas,caution1,coupon,catania,mendes,mko09ijn,pineapple1,glacius,tomatoe,rehman,samfox,moo123,bulldozer,rachell,pippolo,olemiss1,livid,not4u2no,squat,strongbo,nathalia,zorro123,wham,miah,reggie31,tree123,conno,peugeo,lickin,zola,enolagay,gfgfif,youngs,tort,celos1,silence1,bigtuna,leftie,cfdbyf,chinga,mythic,allard,newlife2,iloveyou11,shanta,quell,chuckd,cx18ka,wrist,charliem,collect1,tony44,amoroso,parachute,lovegame,pfizer,madman1,princesit,jinxed,gulla,ashcroft,stepashka,chernov,alto,bellend,beano002,mainstre,paolit,woking,united99,chinni,fanclub,yjhbkmcr,cartmen,hideki,draco1,a1s2d3f,ilikeporn,matsui,gawain,antichrist,jesica,unicron,spammm,elenor,nikkita,select1,l0nd0n,1cooper,fun4all,cassell,jenelle,g0away,yeti,rcfhlfc,colin123,typhon,command2,jacobson,1escobar2,koontz,asguard,atease,babybo,sasha1993,tigger3,shivers,fucker12,lukas123,harsingh,sooty1,kangol,tachyon,tama,winner69,hooters6,scott11,mrmojo,coastie,branford,arminia,rattrap,fender12,potte,jedimaster,nantucket,digits,steam181,steamforums,rhonda1,loveline,adidas69,unions,420smoke,cressida,topanga,lovehurt,toreador,hellbound,gimpy,matrixxx,jhonny,cronus,percussion,space199,gwendoli,thoth,thor99,jacuzzi,fannies,flowing,abiodun,destinee,kracker,bassey,shockwav,sweaty,wcrfxtvgbjy,asdflkj,tigger13,dylan2,iloveyou12,cnfnbcnbrf,122333444455555,makenna,norwalk,2401pedro,polkilo,montage,tileman,macbook,sexiness,kudos4ever,disarm,1linda,marillion,cunningh,phelge,69pussy,latching,nastya123,cuyahoga,poopo,regine,sydnee,digler,pippo1,ludic,summer22,just4u,lovejone,e12345,ruiz,valent,network2,vfvf12,erxtgb,kreker,vladimirovna,rank,ousooner,jackson6,sweet666,jlettier,ruffin,bodean,55555r,wolve,delfino,favorite4,defect,yoshi1,legshow,llbean,rampart,donke,sakic,ichwill,111222333444555,djtiesto,s1s2s3s4,whatis,132forever,ddd123,tgkbxfgy,indonesi,dddsss,lfybkjd,mmxxmm,dr8350,blunder,shit1,davidt,dreame,watchout,march23,moms,socool,assert,lachesis,1time,dame,1-oct,imissu,lol1,wrinkle,zippos,cumquat,temujin,tubular,babo,joanne1,silver22,opelgt,irelan,divine1,popcor,buhjvfybz,ecosse,tiger5,oldskool,daniel7,lilmama,marmaris,porno2,daniel5,kevin11,tart,pokemon00,savannah1,dracula1,cerebro,hektor,ilovemyfamily,julemand,kingman,dannym88,roos,mello1,bigelow,welcome5,indiana7,sou812,microbe,770129ji,drongo,cheats,jilly,remmus,kevinr,dave01,dasha2010,lakers08,escrima,empire11,teamlosi,fredie,deadmau5,tiger21,fernie,1andonly,lbvekmrf,racer2,michaeljackson,humanity,prorok,starfleet,sarah7,2legit,firdaus,padrino,david777,emilyann,teal,philou,success2,call06,squad51,dresser,6yhn7ujm,epstein,jaguarxj,passit,corone,peugeot406,dewars,decibel,gocart,kornet,euclid90,barmalei,poiuyt1,myturn,elites,baldeagle,glenny,gerasimova,chances,werken,stainless,demoman,grinding,copernic,munson15,xxx12345,jack2000,jokerjoker,matthew6,kcid,ironcity,patti1,1mmmmm,123llll,domovoy,dylandog,donaldo,robotic,phoenix5,middleto,lena12,hatebree,consulta,dadd,difference,cumberla,aquariu,sulaco,mazdarx,frontline,corine,ifiksr,sarmat,spam69,stupor,sapo,doom12,jeffhardy,liziko,clave,yeahright,corkie,werule,elric1,freude,dragonage,valmont,denis1984,marial,dessar,hockey13,robert8,ukrnet,federer,depp,donn,server1,ummagumma,lozinka,ginette,recipe,osito,rfpfyjdf,chanc,thomasd,curiva,exorcist,fuckmylife,misha1111,vfhbyfvfhbyf,qwaszxedc,lollol123,duce,evh5150,onetwo12,cecilia1,howies,yeababy,insulin,oleg1996,mushrooms,dianochka,roma1990,folly,biggus,duper,sito,hokuto,digi,sharlene,nargiza,masiania,diman,1234567890o,qwertyuiop12345,trfnthby,1qa2ws3ed4rf5tg,savchenko,fenomeno,krystle,freyja,tabby1,gfdkjd,ditty,weeks,zion,homyak,kacie,vbhjh123,chipmonk,winter2,federov,sig229,iluvme,nirvana9,pfqxtyjr,doohan,doogie1,cobbler,koalas,castill,dragon05,ilkaev,pitboss,vaz21074,qwerty4,newpassw,happy13,yuitre12,partridg,dragon19,ilovetits,tybalt,jacklyn,april24,pallet,al1916,fliper,qscesz,ervin,thatguy,marisela,scrapy,111lox,fleabag,fromvermine,selhurst,phase2,utrecht,topshelf,nyyankees,sympathy,supert,gfitymrf,hanako,dylans,blackdra,fire13,kevind,poekie,trunks1,snowden,thedream,penman,trrim777,nicolette,bdr529,hornier,scatter,sasha2011,quadra,lindac,time2go,qwerty999,ruffus,rbgtkjd,yodude,power5,pumpk1n,frost1996,penhorse,netpass,woodfish,kita,lainth88,minority,dutchie,am4h39d8nh,jackme,kki177hk,orion7,sanders2,koblenz,opelagila,flhrci,madmax11,thecount,widespread,bigjuggs,rfntyf,bhecbr,quixotic,cranston,olesja,tusk,gibso,lovedick,03038,prive,websolutionssu,nosliw,ratiug,el345612,adonis1,amadeusptfcor,jacopo,kuolema,win123,makavel,julie123,babochka,pimp1,jasmi,souths,djkxbwf,muffinman,qwertasd,ninja123,luthor,qwerty100,studen,spinne,misiek1,uthvfybz,pimaou,silver01,martin01,vfrfhjd,macross1,lazarev,starwood,yamahar,good4now,cleary,gerar,wretched,ladle,fotze,frown,dogs1,qazsew,bibigon,honey69,qwerty8,fallengun,lindam,phalanx,falloutboy,uhfdbwfgf,fanatik,hawai,london123,kelli1,1inside,l1750sq,canalc,testdrive,harsha,surrende,fatboy1,kalender,point1,glossy,ueptkm,tema1234,eriksson,toeman,kernow,mongini,rfvbkf,killerbee,sirius1,nfkbcvfy,cbarkley,justlook,filmstar,gruppa,happyface,mayo,icequeen,presidente,fest,fkrjujkbr,kkkkkkk1,9085603566,stocker,bumsen,spritzer,nissen,filatova,minicooper,houser,sony1,mister2,rush211,baggio10,littlefuck,littleminge,guitar11,tommycat,fitnes,mike31,recluse,smallvill,lords,byrjuybnj,iubire,scally,visit,kershaw,joseph11,oriana,scholes,nfhtkrf,laptop1,musik,stanisla,myth,racecar02,grass1,eight888,thepower,ab12345,dead1,grossman,punter12,waves1,sonja1,skiller,kingrat,zygote,alondra,walnuts,isolde,pills,kevinh,shannon2,engineering,icebox,tiikeri,moody1,mavis,thering,shrek,frogss,adalbert,hanse,kabuto,jawbone,fruitcake,yjdbrjd,jamaic,grits,stratcat,sexybo,suckmy1k,massive1,yoshio,winter0,grapple,miniclip,skinnass,shibuya,smile4u,grego,money8,ilovedick,niewiem,gabriel12,mirand,vikin,gosha,turga,kisulya,gomer1,galen,onlin,caiman,manut,soren,medin,gayathri,ginger69,snowbal,jayde,alskdj,goducks,stangs,summer08,prostreet,junior8,kemp,gators96,maxie1,castle1,hoople,screwu,katie2,gbljhfc,meister1,rosalia,carleton,goodmorning,maslova,greatzyo,herbie1,hacked1,threepio,duke33,jamesg,mickey69,sinnfein,quiksilv,lava,geiger,mooser,sueann,newspape,ramina,colucci,mommy2,ollieb,rami,keyword,sambo1,shant,john77,zeratul,gladbach,bundle,gromova,kiborg,johansen,jamesh,lizzie1,zucker,sb211st,kennel,love55,pukimak,thesims3,katinka,murena,jahbless,stormin,miller12,trigger2,jasong,cezanne,sexy01,lida,valerian,repmvbyf,trinity7,doctorwh,sadman,nine09,cometh,tinkle,volunteer,specialinsta,sweet2,naumov,tahira,111111w,vthrehbq,madara,123456789asd,goahead,brandon00,karolinka,vfcmrf,cthulhu1,drugs,juancarlos,jimmyz,troutbum,kalambur,taison,trillium,tijuana,msvcr71,neveraga,nhfycajhvths,rfnthbyf1988,lllooottt,lissalissa,hollage,kbpfdtnf,.kzirf,nthtvjr,kravitz,jimmyp,00000ty,cdtnkzxjr,trixi,jack23,stockpor,stumps,fidodido,mcclain,starbase,harlequi,nufc,satcom,jasonk,switzer,joshua11,mike007,nietzsche,matt21,kimber1,superman12,makenzie,technical,transits,muneca,theword,willow01,phantom3,nymets1,sweeties,jimmy6,nudegirl,pangit,tiara,jocko,green33,messages,estrela,julietta,darthmaul,rollrock,curzon,ksyusha,kamelia2011,khalif,yelena03,pundai,leolion,yfnecz,vlada,klara,tails,o123456,rock69,5element,luger,qwertyu123,njkmrjz,123456rrr,komarov,dbrbyu,vika1995,max2010,nastya1996,bond9007,passout,metal123,nadya,paraklast1974,maryjan,shagg,mdmgatew,serjik,lapo4ka,michaelm,begemotik,sunbanna,yarddog,serafima,blade55,settings,rhfvfnjhcr,fairless,jscript,mailliw,s12345678,webuivalidat,advantage,nataxa,ja0000,tomass,msorcloledbr,phenmarr,f56307,inetcfg,nondriversig,browseui,sasha1994,mike1969,asdasd22,zaq!2wsx,photowiz,tanguy,freeclus,aregdone,123456789qwer,manifold,wordz,20091989q,nikita99,ojp123456,pivkoo,zhipo,v123456789,9085084232,lolkin09,sarvar,bypop,fm12mn12,vovan,tu190022,8096468644q,zverev,8090,9001,9007,14038,14058,18068,20038,20068,26028,29024,45632,65656,78791,108888,118801,118811,119955,123569,129834,132546,132613,135798,136666,136913,143333,153246,159630,197901,198305,198603,199308,199500,199508,200007,212325,231456,232222,233307,234561,235555,246801,248624,258012,266643,321671,400000,423956,432100,486255,523252,663366,666123,718293,741776,744637,773400,774477,776677,963210,1112223,1231233,1236798,1239056,1371280,1478523,1766734,2008200,2323232,2505198,3434245,4258195,4707570,4930321,5318008,5455555,5557940,6741314,8522003,9001668,9104587,9293709,9512369,11012566,11114444,11234567,12345656,13467982,13571113,14314314,15935746,19761977,19801984,19841989,19891959,36169544,45678912,51501984,55443322,67899876,78978978,88887777,91328378,98256518,102938475,123123789,123456321,159357852,212009164,1212312121,1928374655,jgjesq,0020,elena1971,hawkwood,dnomyar,sexaddict,cool23,yocrack,sissinit,123ewqasd,kaytee,dannii,arsenal9,sexyred1,google10,rate,papo,dknight,loveall,crust,remmah,maxsam,freeuse,dandelio,spiller,pmtgjnbl,qcxdw8ry,affirm,dbm123dm,reports,123joker,financia,euroline,leyden,jimkirk,ameritec,topazz,geoffre,music11,baffle,lilcrowe,oldmans,likesdick,showit,zhv84kv,charles0,bitter1,lechat,prost,sparkplu,savoy,10121v,timoteo,q1w2,muie,nobull,diode,mexican1,several,juanjo,lies,drafting,1shelly,1autopas,autopas1,wwww1,1ggggggg,tallen,frozenfish,morello,nuggett,haines,yellow7,raide,a13579,dranreb,harish,matrix19,12345672000,onetwothree,boop4,house12,narf,pimp13,tuesday2,tarrant,stpiliot,car12345,098poi,asdzx,hiller,96328i,henry12,14u2nv,templar1,outbound,zoro,yasuhiro,cataract,erdna,zsergn,justinb,wazzkaprivet,aliev,ralf,ouachita,funone,dabl1125,nollie,eldest,ezra,sandburg,cousins,scorcher,tahoes,charless,jeanmarc,1701ab,monalis,debugger,jason69,lewiston,sysman,kain,cashin,willer,myemail,inca,canis,jonass,epatb1,weihnachtsbaum,mrwhite,socken,bayern1,19delta,bernal,adore,agusta,bowl36,1bigfish,getinnow,trav,drako,1hawaii,1peaches,1vette,chief123,1sierra,theme,1kevin,evil1,rounder,1winston,sugar2,mopar440,dishwash,artboy,nonnahs,captai,2wsxxsw2,illwill,1qwerty2,rasca,djfpass,bashar,xenia,1alexis,userpass,iman,drumme,llabtoof,fired,gangsters,belind,dawg69,n2deep,pivo,nosnibor,oregano,vital,safonova,beaversx,above,andy22,yesyesye,rowboat,jabo,hotstud,hamdan,taro,skarlett,fliege,hamid,venise,yougotit,gargle,aloevera,jack2,khmer,kurgn01,hzgg9umc,tobyto,ch3cooh,ahab,dmarink,quasimod,physic,hpsalgay,5daxb,anni,frankzap,thesmith,lupin,oct2888,regime,fossil1,benz12,fleetwood,andrea2,2access,stjude,damasta,floods,fjysk762,vre2nc3z,hearts1,tanager,falcon5,fores,1beaver,zwt2sbzl,jacobb,1private,chandos,viglen,1212aa,brannon,sazd,webby,passtrader,gateee,123dog,norsemen,runrig,adumas,oaken,jjjj1,catman1,knute,as5ffz17i,yusuke,cdgirls,q4n2jdeh,vmdnygfu,merlin2,groggy,perron,avdeev,mcfly,audit,robertos,bigboy40,packer4,kazman,venger,reece1,prosser,admins,gasper,watchers,lbnjgtmp,mung,wedge1,e2fq7fzj,alon,sportsmen,dallen,dackel,holywood,sykes,shipley,fuckyour,dogmatic,final4,willson,sharon12,jiffy,bumfuck,hayden1,bowlin,falcone,nikey63,quicky,mooo,cindyl,lada2110,allycat,bruxelle,alex26,babaji,tvmarcia,chiles,seattle7,super412,march21,3kings,takecare,logon,4teens,peterd,152geczn,farragut,bikeboy,tastee,jammie,frank51,golgotha,herc,shantell,pikey13,introubl,chris198,eatpie,antona,lupo,trickster,eckerd,toby11,kaye,zlatan,robinb,shianne,chester9,gypsum,spiros,joshua7,ryleigh,adman,donvito,kravin,ichiro51,groovin,august19,zeek,cooke,animales,sophie3,penile,niemtel,test22,johnboy1,andrew69,mayurs,wicke,fickdich,bruce69,mocajo,apos,jwest,parisi,ingri,greekboy,slutz,billy69,legato,asuka,trieste,fucka,shumway,mark77,naylor,westies,tomch,blah1234,69stang,mandms,orange9,00948230,bondone,tr2amp25,bettyp,dtrain,yoman,wamozart,8428ld,spongy,damp,giampi,orestes,rjpkjdf,arthur69,buffy44,chinatown,wheeling,yolanda1,a1111111,greenwav,911rsr,kazakhstan,waylande,mabuhay,ppooii,onspeed,rational,hornyme,chuck2,gasanov,deluca,97ford,dakary,olds,autism,vtr1000,foamy,james8,teamase,probegt,optiques,piffle,prince55,sdh686drth,allahuakbar,pianino,argos,deering,rjhjdf777,sadie2,avenged,anton1992,ford99,sutvsc5ysaa,qaz26101778,bbb111,aaa333,revlon,123mmm,jeremias,artemartem,bailbond,holton,sexsites,passwordd,gurpreet,aegean,radial,sanek123,porndog,joshua123,flowers2,snares,njqjnf,amicus,pillage,badgers1,march20,kamchatka,jacobus,goliat,kalamata,tejano,splendor,marylee,123abv,babe1,goofy123,abadan,shadowrun,annieb,beeble,fkmabz,april4,onetwo3,bryony,daniel69,bemine,chuch,cesare5,wsx123,mkjhfg,bucket1,ramfan,wordpas,duplex,potolok,turke,likethis,robe,lachlan,acidbath,dallas88,tatarka,1homer,abogado,foxxx,leclerc,vtec,tallis,lancelo,lizar,66mustang,progon,chauncy,lovecraft,utythfk,perkin,merlin10,gyozo,user1122,sunspot,denis1987,killer9,derfla,barata,robert0,access10,fatcow,samurai7,suleiman,cabot,vivian1,smoken,mouloud,silvergo,akimova,shazia,forza,booge,acolyte,alex98,salamon,moneta,alastor,maximill,activex,actuary,rovert,elsalvador,adam21,nulife,john21,outrider,fukoff,ghostrecon,lauretta,necron99,gearsofwar,football6,apple9,terranova,ulrika,dass,chieftai,mercede1,adelya,dalia,bongtoke,aspirant,hotness,granata,yoda69,admin12,bunia3,lilo,suka,browneyes,admira,virtuoso,admirer,photoshop,june23,laurita,almonds,gjdtkbntkm,supercal,dontdoit,farooq,babys,advance1,catrin,sicilian,escola,harry5,qqq777,panatha,rfvtym,useful,flux,pucker,aeroplane,vaz2105,kfgecbr,saretta,knick,laranja,afhvfwtdn,trans1,vovan_lt,pfeffer,fktrcfylhjdf,lunar2,ever,alex86,canadiens,cghfdjxybr,narine,kamilka,lenina,aishwarya,taburetka,andrey12,ghoster,vthokies,vbhjndjhtw,stroud,alin,serafin,pichon,rada,hola123,aniolek,agusti,crm0624,hockey123,rjdfktdf,dotnet,kbkbxrf,farouk,alina12,gadfly,matt23,antoin,sweetman,aksana,roma1995,newmedia,rhbcnb,esmith,shashank,maddog01,hyperlit,swapna,ovaltine,bitch2,axle,mcitra,diablo69,dogggy,nabila,ohyes,ghbcnfd,milker,wonderbr,uhjpysq,purina,bunnies1,fylhtq123,bullgod,akimov,barmen,zxcv4321,static1,ou81234,cbkmdf,libra1,gipsy,sasha13,chicken6,fanfare,violin1,alan123,galan,positano,sanremo,shippo,panther9,tibbar,st123st,forty1,blowjob69,savanah,xtcnth,wesker,reglisse,ferien12,1coffee,fhbyjxrf,nicolle,zhongguo,prokuror,cfymrf,gorbunov,pronin,pfhfnecnhf,peresvet,aliona,dfkmltvfh,irkutsk,pasword1,nhfrnjhbcn,djkrjd,love007,alena123,carisma,podarok,baster,gznfxjr,pride1,xtutdfhf,toolkit,dfkthbr,troll1,problemas,sapito,alex06,alexsander,alex2009,kamakiri,marsala,host,touareg,cfnfyf,revell,ntktgepbr,ronaldo99,z1x2c3v4b5n6m7,gaviota,frosya,micael,palacio,ethereal,heccrbq,konoplya,ghjgfufylf,giotto,numeric,reddevils,biolog,buheirf,alkash,nokia5610,edifier,fyfnjkmtdbx,pepsi12,duetto,understand,nyranger,aspirina,kemerovo,alhimik,nicole123,traitor,montella,peachfuz,holdon,great123,ucht36,lzlzdfcz,alina2002,fifnfy,prohor,domodedovo,ybrecz,halfway,danilova,roseanne,222222a,darkmage,werrew,nhfkzkz,lindalou,ghjatccjh,bulldog5,shortman,diabolik,google2,qqqqqqw,splicer,stoffel,modaddy,wapbbs_1,ghjnbdjcnjzybt,555aaa,bigguy1,secreta,polla,evander,locutus1,elke,vepsrfyn,rockers,grafix,protozoa,puissant,access01,fynjy,gorilla9,alternativa,matthewd,metalcore,jordan10,dctvcjcfnm,hannah22,homer22,amarok,hightech,cobra5,qwertyuiop12,blog,gerri1,livia,mumford,tracksta,dejesus,ambulance,calida,hindustan,kurama,aminka,ramin,stiffie,furelise,kalifornia,subspace,ammonia,02588520,amorcito,orange01,nautica1,lovebaby,dragonma,sonnenschein,magal,katinas,peggys,energia,ballsout,claudiu,servette,anand,06068,corporat,king10,arsenal123,sapato,hawkes,levent,anastasya,ufkxjyjr,gjlcnfdf,balinor,sexkitten,s9te949f,mamou,moderato,bulldoze,nemiroff,asa123,andranik,arachne,nobody1,apacer,tima123,jaroslav,fktrcfylth,micaela,andy01,stokecit,aotearoa,gkfnjy,egor123,anka,zxc123456,artemi,yoshimi,jasper2,phooey,1sugar,anna12345,karol1,anxiety,zasxcd,rincess,travka,rebon,angel8,angel18,dolphin6,forgetmenot,proverb,montero1,turnkey,computer12,12345qazwsx,francia,gazette,madison4,136611gt,jen123,mcmaster,crosby87,beatrix,1sluts,belldandy,kapriz,sharpie1,dentman,jaan,astra334566,palamino,bright1,diebitch,demonio,parkur,margherita,spartak1,martymar,anubis1,00000000a,ghjnbdjufp,malishi,mando,risky,infalicall,vicenza,vacances,pluck,applejui,ashlea,trains1,appraise,kungsan,april27,marinaro,hakim,controll,dracos,aram,ashole,policia,dodobird,amoremi,audubon,qw3rty,arenda,birthday36,argus,universidad,tinmouse,vonsclan,qwerty0,frazer,laputa,electronics,caballero,cheburek,cloud69,polis,chidori,noser,batten,ximena,artem1994,artem1991,zxcvbnm1234,cunning,tutti,astronom,scuba123,pratibha,guitarist,wapku1,navigation,tijean,ashat,uhtvkby17,matelot,xxxwow,pumps,positron,allah786,asdqwe12,bollock1,betito,rfhvfyftd,asuncion,tempo1,angelfac,myspace2,sharpy,auxerre,elevatio,avinash,zolushka2,24beers,bulldog8,shel,fabfour,zorrope,badd,voodoo69,linear,rattlesnake,nitrate,sushis,megafon77,ivette,ahamay,southwest,baggy,mariss,jc05595,ballsy,steer,maveric1,yasmeen,kojack,hejsan123,guide1,hogfan,moller,akella,balerina,jetboy,piledriv,lampard8,flattop,waster,clapper,adder,wool,sasha111,ball123,sonic593,smaller,blowpop,fantasm,palani,sombrero,armchair,haguenau,kuken,prolong,bananaman,peeler,rugby9,santande,agustus,chief2,anointed,fuckstic,smurfett,realhard,feast,banjoman,ditch,makena,calvin12,specialist,bluntman,graycat,rococo,banzay,reymysterio,mudpie,campo,havanna,espagne,chases,corrupt,04088,love10,satin1,working1,barca1,2hot4me,lazyboy,huntin,duval,thegreat1,mibbes,barf,blarg,chris6,bandar,refugee,sparky69,lena2011,minimax1,futball,missydog,rocinant,sonne1,barrett1,rosado,inventor,barrier,1turbo,schnitzel,barros,lavern,terrano,blacke,polimer,beergood,ubitch,smuggler,oliver01,sixtysix,bardot,ganteng,berna,kyleregn,eliezer,daniel19,checkin,q777777,kearney,tigger22,faulty,baske,baobab6,tedesco,jackfrui,marijane,final1,tubbie,789456123q,batcat,eliane,green42,bathgate,thejam,fatass1,tiger3,starcraft2,timothy2,underwea,pinkyy,battlestar,laufen,danziger,shiner1,mccallum,bearden,bayley,sregit,rainforest,lifeis,divine2,wwwooo1234,lilmac,airjorda,markers,thunder12,lawsons,jack13,beatles6,augie,michaelp,cincy,vandread,politika,bluebir,gooding,ken123,black6,bobby4,sargeant,rekmubyf,latte,nursery,kill123,bubba7,hello7,utmost,furtado,go4broke,david6,bbwlover,goldtop,skidmore,crown1,lockup,cnttcb,brandy2,bill2455,ozwald,weider,golfer69,chipotle,atherton,evanston,musicbox,cupcakes,floyds,binker,picabo,beachy,versace1,codyboy,ronster,50cents,huck,superj,pass1821,benny2,beanies,smooth15,greybear,kelly12,alberta1,grudge,anytimetoday,sorpresa,confess,beastman,password88,accounta,zrx1100,tanlines,melod,specialp,butthea1,betsie,machone,f0cus1,klovn,leather9,d41d8c,rashley198,multisca,lipid,assfucker,beckham1,cloak,kimba1,jeffbeck,spider2,caladan,overseas,jeffers,gunnison,burford,clickit,yes123,bonanza1,enfuego,woodbury,gotribe1,jordan98,saloon,figona,weiss,ev7000,shitman,beeswax,frost1,thenet,shanee,boba,panther7,hangtime,bellum,nimajneb,papote,salgar,belfour,belladonna,malo,brune,jareth,murph1,wonderwa,belong,doubt,enders,danechka,amours,lobster2,daddy3,xwing1,marrero,dragonman,shawns,sveto4ka,nadnerb,tagman,moneybags,caddy1,libertas,pook,heston,assfuck1,trevino,starwars123,footloos,espoir,boffin,kalle123,garcia12,ledzep1,briang,eddings,prussia,indurain,superbob,beotch,fiction9,beppe,quarters,hjcnbr,eingang,tigger7,clear1,lucky10,blcktrn,mecano,panthera,beast11,moolah,liane,bernie51,getitnow,jesus01,nanner,illicit,radar123,noelia,janel,11king,saline,calamar,hosty,berti,ferrarif,hackaren,stblow,tatyo,tater1,spazz,spider8,cadmus,beth69,sarah13,sheppy,sony678,pete14,nikopol,redtop,goin,powerof3,chesss,poolboy,marsbars,gungrave,grave1,123321i,chevette,scooby69,bojack,ratliff,metalhea,twine,myjdxtcxks,bouboune,lumpkin,firebir,idontcar,4peace,shiloh1,groan,tennis01,develope,ntktdbpjh1994,1ussy,oilcan,jonny123,krishna1,rover123,pelado,gizzy,biblioteka,ghana,boris2,philemon,boots123,cooldog,blackgir,wiskers,cooky,doggod,lcrastes,zzztop,goldone,daria,keefer,toothpic,hertz,mistycat,voyager7,cloth,snakeyes,tnvols,bigdik,38dd,devante,bigbug,macy,morph,brian12,bigbud,firewate,nick1234-rem936,wetpuss,bigcock1,emmarose,jasona,pumped,reddick,weeds,duckbutt,daniel00,1flyers,evenstar,blocks,bakerman,lickpuss,ishard,1booboo,johnie,chevvy,mestre,warrior6,tyra,ravenlof,altera,minger,hooray,kickbox,donahue,vegasman,foulball,tellurid,ashley10,foods,shawty,futile,falcon01,tyrone1,topside,james19,smarter,slurpy,crazy2,lovelace,attack1,fries,markis,timmay,cantstop,feller,1nissan,mossyoak,conrad1,nicnac,carrick,summary,tamiya,oliphant,estreet,home1,papasmur,guesss,hasbeen,timdog,timmys,dandie,fleshbot,suckem,hobbits,yonder,tense,nichelle,winbig,hawaiiguy,garters,transalp,carper,dimabilan,spill,daniel10,elevation,sarita2,shatner,titian,cium,koufax32,privates,jettas,algerie,ssnake,connor12,william4,silkie,12string,stauffer,amoco,brown2,freakin,resin,mudhen,choc,faces,redsox24,camry1,excel1,horsepower,promo1,nadine1,miasma,meetme,laila,binford,colo,gfhfyjqz,extra330,reggio,1birdie,tristin,beast123,keegan1,samcat,paramoun,cheeser,cardman,hattori,treech,locksley,maxmotives,nina1,toolfan,seminar,metal69,bitwise,hockey33,thomas7,kook,headroom,katiee,ozzmosis,sloop,tolkein,cochrane,purple3,dreadful,fireston,catch2,serena1,moshe,camilit,blackdragon,96ford,2500aa,dragon33,blunt1,need4speed,irish88,tbird1,plugger,malaki,blackwid,soylent,bacall,leonardo1,snuggles1,nightshade,1234567j,choppe,babylon6,anal69,blaze420,jetboat,1accord,potpie,bleed,chard,blur,cassiope,hogg,oi812,blotter,magicone,polopo,delta12,xbox,chandle,wolf123,hellhoun,argon,japan10,collecto,redsox3,blowhard,knitting,brunodog,whodaman,x002tp00,fishead,soccer77,foxes,radium,lakes,compac,raider12,sniff,bluelight,gaynor,bundao,scott3,vice,redrobin,j10e5d4,roaches,cobra777,blueboys,bluewate,boomer12,jitter,cowdog,awesome123,crystal7,strip4me,1trouble,bandit11,m_roesel,maclaren,m123456789,wethepeople,111zzzzz,beaulieu,nevins,vett,bobbobbo,bobob,boney,bobo1234,blackpus,bobo12,turbo6,duckpond,narendra,pimpdady,wirenut,iceman11,goose5,nji90okm,theman22,puffdadd,newmexico,suck69,hubris,moist,frigate,skagen,rsturbo,nikko1,bobsmith,statistika,cypress1,jethro1,others,malaka1,netware1,resipsa,sheer,kutter,desdemon,timoshka,bolat,kulikova,vinegar,fujimo,pippone,vitamine,spears1,buckles,wallace2,sex4free,head1,renob,hoskins,mandog,bonita1,zero000,happyhappy,scooter5,chester8,bouche,camus1,pussy9,buggie,boogyman,kittykitty,hortense,portnoy,open321,boomba,chrisw,cdtnkfy,all4u9,valid,corsano,kantot,lopotok01,boosted,shocker1,butttt,nikki69,ruben1,iluvit,shadow23,200190ru,bubba8,bore,hogans,temp12,webpass,volvos60,passive,vlad2011,pagans,princip,boobear1,maccom,norwest,bobbyorr,fynjy123,wolf100,boston11,yeahman,swordsma,mama22,zxcvbasdfg,plokiju,slipper1,hardwick,pickwick,bowling3,hagler,wombats,minkey,boxster1,987654321g,megama,delila,shazza,wolf13,kfgeirf,prozak,jourdan,orange22,robert19,owen11,renrut,puente,vsythb,knothead,aikman8,nemesis2,philli,chaddy,1junior,shelby2,rock22,pinky2,goodlove,choirboy,vikes,qwaser,cocomo,brasil1,stony,vikings2,anastaci,jimmypag,welcome7,spitz,amitech,harley20,kenmore,dvdcom,vitalogy,rfybreks,trick1,visionar,pussygal,cheaters,turtle2,kimmi,nunya,landman,august20,paul99,brinks,magnoli,olivier1,lackey,imperato,fire1234,april16,vehvfycr,mypuppy,bigjohn1,robust,septiembr,cisco69,brothel,jenkin,robert23,h397pnvr,logoff,olin,risky1,unified,goteam,hibernian,robertr,amazon1,rosebud7,wilson2,enrique1,ghislain,compost,salo,build,milfhunter,ma123123123,priory,samia,xjy6721,natalie2,roykeane,shire,mamatata,crazyc,mikie,jackie2,bubbah,hackedit,duggan,clause,buck13,bronc,godflesh,pornog,iamking,dale38,buffa1,saul,green15,nona,q123123,gungadin,steveg,chinaski,faithy,storm12,toadfrog,westover,rabid,automati,squirtle,cheezy,burbon,llebpmac,slavic,camus,burrell,chikara,durex,plowboy,imbue,hormone,wagner1,thepro,letmein5,duder,scale,fastfun,conner1,stinker1,seek,reston,syoung,dugway,rojo,whole,kafka1,catsss,campus100,shamal,nacho1,fire12,eldon,rangerover,mohamma,skyblue1,canales,roamer,morgans,lope,logjam,fifty5,capa,broward,ingenier,ranger3,daddy69,capulet,ford350,tiger00,energy12,march14,murphy11,lydia1,parasha,nielson,saxo,tobbie,pilote,heather4,leones,charisse,carmina,vergil,colegiata,lincol,smoothe,carwash1,latrell,eider,bubblebox,loquit,stanhope,wiseass,nutsac,1qazxs,enjoy1,earnest,1pumpkin,phantom7,superpower,dogdays,u23456,silvan,slagelse,twothree,dannyg,bftest,ballsdeep,alphasig,cccdemo,fire123,claire2,august10,lth1108,1rusty,goirish1,bxdumb,rabbit69,travail,chantal1,greenpea,bergen09,petticoa,classe,ceilidh,salter,lucidity,manure,centrum,qaz321,chileno,masked,cexfhf,99ranger,estoppel,carter80,rustic,unit,herder,fcgbhby,gimmie,sunitha,onslow,menard,cast,flagpole,nicole0,chisholm,souschef,cater,riverat,makalu,publius,dancin,chez,thomasj,bmw540i,nazi,signs,kasi,shoots,stacker,late,iceman44,nicely,vengeance,chris100,chris24,cosette,clearwat,chumpy,koolkat,jamesjames,ckflrbq,j1964,streams,18n28n24a,coasters,shergar,nautical,ringo123,reach,tanita,economy,johnny12,halberd,dillinge,divide,fatb0y,c00per,cosenza,sloboda,mooman,marion1,arsenal7,sunder,need,daimon,ezmoney,chesters,aiden,hugues,patrick5,aikman08,robert4,elspeth,roenick,writer1,foxmulder,jamjar,scurlock,dinkus,icon,1sailor,nalgene,snarf,allie1,cracky,henkie,1friend,quique,bandicoot,death13,wiggy,master4,jr1234,hillary1,rumba,bloodlust,shadow00,bambina,yummies,melany,cutoff,freehold,funnel,grammar,matthew4,itdoes,mnemonic,fubared,dannys,nikifor,scubaman,saavedra,dtheyxbr,shirle,letssee,tamplier,gorillas,pelican1,fiction6,thwack,onetwo34,gunsmith,murphydo,fallout1,spectre1,jabberwo,tactics,redryder,fights,dean1,jesusgod,kicking,musical1,loppol,josepha,rebel12,organist,toshka,dangit,archimed,springsteen,wowsers,peeing,yamoon6,dangel,miruvor79,falcon7,miatamx5,dogpile,dfcz,haruka,birthday28,crowns,sten,georgio,sinaloa,willy123,jumpup,llabesab,clique,vicelord,lenard,hopper1,gerryber,fiasco,fre_ak8yj,nahlik,epson1,dumpy,jergens,itsasecret,takeout,mountai1,wurst,bongwater,1london,fords,heroine,pepper14,rays,dereks,qweqw,molar,fordgt40,rfhfdfy,hallelujah,hunnybun,prank,megamon,tuffgong,gymnast1,butter11,123xyi2,tatarstan,oussama,fianna,technici,schweden,throbber,jacksons,pilgrims,tech1,deadzone,kahlan,dethklok,xzsawq,cybrthc,buck01,qq123123,williams1,c32649135,flash33,spacejam,holycrap,daman1,tummybed,nusrat,daniel26,sevenn,kingpins,dima1991,macdog,spencer5,usagi,thecakeisalie,slushy,sophie01,penny2,meesha,magik,jerry69,daddysgirl,irondesk,jasmine123,tomuch,mosias98,esenin,raleigh1,heady,daisy3112,zootsuit,rubyrose,parallel,vova1992,dave2,jeffry,hardee,letizia,duty,vfhfnbr,1986mets,dilly,enclave,mafia1,boomer22,swifts,edwards1,fyodor,gemini13,montee,eagles11,snafu2,cintaku,mossman,maks5843,lincoln2,acess,gre69kik,core2duo,ublhjgjybrf,ashe,daniel20,massim,hardcor1,orochimaru,hjlbntkb,paradoks,ghjuhfvvbcn,doright,bkmyeh,figure8,freda,fuckya,scamp1,ontheoutside,louis123,moonwalk,mercury2,amenra,richelle,lafrance,detour,hosers,5150vh,sexking,alomar,wealthy,jahlove,ringding,apollo8,nefertit,morrisey,tailhook,bujhmbujhm,thedark,meteoro,felicia1,tinuviel,istina,lolz,lgkp500,grandkids,darling1,redhed,dazzler,chuckle,jager1,plumpy,vsajyjr,vbhjckfd,zcfvfzkexifz,max1234,1dave,loggins,pangolin,marhaba,latin1,dave22,salford,fiscal,escape1,fairbank,grepw,ernes,desi,yield,soundwav,greg78,sexmad,elvis99,rooney1,chiefy,pilsung,dennis12,demolition,logistics,davin,philos,lavonne,whizzer,upiter,bluejay1,kosta1,sustanon,kyla,tiptoe,medley,marine21,nasa,winsome,dctvgbplf,xxxp455w0rd5,lllllll1,ooooooo1,gammel,devan,1jerry,death2,qwertasdfgzxcvb,vegeta1,brigham,maxxam,mooose,ilovetit,illest,debi,doesit,vallarta,abby12,longjump,littleguy,magritte,dilnoza,saltwater,kokaine,spore,dream2,destiny7,dragonss,klaipeda,suckme1,scitra,delights,smellyfe,reyes,deutschl,harley88,birthday27,embalm,vfvekmrf,kristie1,kelebek,99strenght,denis2011,stalker2,popey,1stunner,jessejames,molars,madlen,west1234,jeter1,judit,silver69,green9,twentyon,drstrang,yannic,jenna123,malinda,civic97,rusty21,shineon,cabins,buyer,wonderwoman,kanabis,wert21,fktif6115,kakaha,54gv768,826248s,leecher,kinkysex,geekboy,62vette,scuba2,bunter,ussy1,towser,semmel,dochenka,fujiko,nadja,firebug,snake12,starbug1,querida,meester,diggit,parcel,outland,zsexdr,hotty1,dalto,pcgamer,dima3452,maksimov,dima2011,dolphin5,kakdela,p1nkb178,warranty,pointblank,dinochka,mama1965,1scorpio,dios,measure,seitnap,rfnz123,ghjatccbjyfk,witchy,gestalt,eatadick,discordi,onward,salsas,cider,jackhammer,nasca,helping,lamer1,sicher,ether,player21,soccer23,robert5,sirrom,deadfred,cornelis,br5490,cntgfyjd,ciara,iloveyou22,1startre,jasper01,gromov,melita,nfhfctyrj,wonderla,cygnet,berlin1945,starkey,missions,maxmax1,sort,ramble,novato,felixcat,vbhjyjdf,aksjdlasdakj89879,dominik1,tiger10,docter,0000aaaa,pussylips,polo99,lucious,senorita,waimea,cjhjrbyf,diamond8,criket,terror1,valetudo,geno,monit,junito,doublej,sup3rman,tigr,stryper,papa12,101054yy,rbceyz,jehuty,weiland,kovaleva,pelham,isdaman,mandala,percussi,varken,sallydog,naruto010,1maddog,sissy123,artanis,thimble,june1503,raptor01,poppers,mercy1,eamonn,rs2000,23wkoa0fp78dk,evgen,sumsung,yhnujm,amerik,lucer,olga12,1488ss,palacios,triad,1sophie,erkebulan,northpole,marinamarina,fdfyufhl,balou,gbgtnrf,fifa,mastert,gille,ershov,reddead,estefania,hopping,saki,ibragimov,tenor1,radist,albuquerq,juliett,timofeeva,semperf,grace2,carame,jackpot3,champo,lazareva,ramse,trev,christoph,reptymrf,nextgen,guitarhero,50cen,hellboun,quinten,evrika,00198,valiant1,nokian82,tortilla,skytel,fatima753357,clemen,paloalt,segundo,telegrap,elemen,bigbrother,redhat50,longfell,marijke,lyrical,cucciol,tropico,misti,pascal1,firema,redma,pendej,faceman,poirot,123qwa,mirinda,twats,tiger77,bkmifn,nthvbyfnjh2,algebra1,zugang,falken,luka,samson12,allways,pjkmabhz,leandra,terrorist,islamabad,sixpence,6inches,rockster,bluegreen,205gti,readynow,thing1,itsme2,ilyas,porridge,lacrosse1,galleon,sakina,prolinea,meloman,osiri,c7e4f8ezqh,probably,lead,footsy,112233qq,move,stas1992,pina,rasha,lexus11,dkfcntkby,justin2,zafhjdf,rjkjrjkmxbr,hcir,pizarro,turin,maggie01,samura,latexx,123vv123,farmhous,gthcjyfk,weyfvb,octobre,jackass2,fusion1,duckhead,filial,star21,showbiz,juanch,jama,regina1,jordan00,fghghgh,fireice,birthday133,dirtycunt,jizzeater,naughtya,rebeka,shamroc,t66hks,fisheye,asdf0987,ryan12,parma,passman,irongoat,satyr,sultana,robert00,roses1,howareyo,1magic,bebita,forreal,takefive,reinhold,w3e4r5t6,lovegirls,powe,polkan,pomme,foo123,ilovefee,wkmcpmn,protecti,mansfield,rocket7,vaz21083,ardennes,porsche8,my_pass,wacko,trek5200,klinger,gamer123,goodnight,francis2,pinpon,george123,sarakawa,drawoh,germano,jake69,wilma1,jeannett,ohiost,freddo,michiga,cumin,tour,storm123,strosek,freeky,mama1,xcat_xca,picaso,sheetal,satine,sondheim,love0,udinese,gurken,6215mila6215,przemek,girasole,datho,marku,tommy55,il2fw2,smd123,lizardki,loh123,funker,lutz,seeing,futbo,seniseviyor,maudit,5unshine,quasi,quinn1,adi7id5,traills,jobsearch,fitzgerald,halt,gaura,garik,bmvm3e46gtr,howie1,galatasa,miguel1,mail123,mary12,joshua23,girls2,bible1,market1,pinklady,1florida,guardia,nymph,blackadder,zkexifz,dallas33,gary1,flirt,ethan123,hamlet1,gauhar,newpass2,priroda,girish,koukla,2606642yra,kgmtva,capucine,mahoomar,iloveyou143,mastery,shango,schokk,valentinka,varenik,saipan,poutana,111222a,russi,sandi1,shit1234,buttock,maisuradze,xsw2zaq1,uthfcbv,2008m2009,greger,123b321,babuin,kensington,maggie10,zaq12wsxcde3,kenn,oskar123,shaka1,glue,greg13,dufus,goga,oliver99,goodboy1,pinkys,googly,publix,koss,qqq11,gq361hy,grifon,satisfy,pageup,mags,shebadog,inxs,tucano,diagonal,john13,smeg,fgjkbyfhbz,grind1,whenever,happiest,letmein123,genius123,chinchilla,hockey77,gvanca,keener,gates1,othello1,hhhh1,twain1,vfvfif,suzie1,loli,harvest1,rjhjyf,shaunc,1q3e5t7u9o,padova,kaylynn,roskilde,hepburn,herbert0,ratmir,pol123456,proud,hiroki,latinos,juice5,astros1,kippy,tariq,murasaki,hubcap,scorp,rowley,pampa,indi,k9vvos0a,masha2011,ronaldo123,soccer01,upland,iamawesome,love4me,eisbaer,plushka,katushka,jokerman,imbored,rollers,tropicana,sergeevich,logging,diamond9,access16,sandy12,t1234567,autocar,paycheck1,kissmy,debaser,rajendra,cthdbc,vfubcnh,jamdown,viole,voronov,blitzkrieg,irairaa,ubvyfcnbrf,bushmaster,pilipenko,kmdbwf,mirumir,pcmcia,minarets,hjvfirf1,lera2000,123456zzz,thommy,nathanae,popochka,bardak,kallis,kalman,decision,brookes,kelloggs,jake13,kalyan,mj2345,silver5,jhonatan,mike33,puckhead,ridgeway,motera15,robb,worldwide,jammers,timpani,backhome,candyfinger,stayrude,akvarium,johan1,starscream,patricia1,jasonh,kimmer,prolog,salvage,onlygod,deathblo,b0hica,johnjr,lakerfan,kevin7,boxsters,june1,rommel1,angora,jerry123,sachiko,stephen2,lani,thesimpsons,born2run,maddi,nouveau,sigchi,redbird1,padlock,petrik,quelle,greatnes,mariamar,tomasz,mascitti,feeble,sexwax,toshi,todd12,gohogsgo,aaa123aaa,kurwa,210689n,makcim,dtybfvby,keneand,size,spork,nahtan,icefire,siddhart,mst3k,rajkumar,kiselev,volodja,rock1234,talented,hammerhead,katebush,gznybwf,surge,kozanostra,malysh,maga,loveme12,zadnica,vfieyz,ohrana,1234567890l,samy,skotina,mark10,marinochka,minina,sahtm069,bcnbyf,polyakova,maintenance,raptors1,misia1,love12345,ljkkfh,papa123,vfhmzyf,carnaval,vladivostok,bigrod,sale,wxc123,zoey,azsxdc123,larryg,robert6,lavrik,1raiders,sqloledb,adding,yfcnhjtybt,vitalik123,oink,scooter3,gjhjlfcjqrb,rustik,leon123,natron,cabeza,matt22,nixon1,candyeater,jammygirl,littleslut,mocelot,overmars,carlsber,makayla1,moeman,7samurai,helpctr,nexxus,m1m2m3m4,love777321777,rellim,corratec,sniper123,mjbnbna1,yoshimitsu,superm,cscomp,max12345,masha2010,reddawn,eventlog,vfif1986,activation,1shark,wminet,citbanna,mutiny,podiatry,messina,nicki1,192837465q,beller,okmnji,vjkjnjr,gfhfdjpbr,mostafa,luggage,voronova,osipova,123456789aaa,setting,ieinfo5,poopie1,nfyz,kopa1994,nastya1997,cnthdjxrf,nurgul,oksanka,4815162342lf,nepbr2009,swetik,vardann,rahul123,rasul,snh4life,zalina,w74156900,celt29,pfqwtd27121988,zxcvbn3215,serda,sergey7,sssata,tekkon,16fretb,timote,cnfc35762209,221133z,hassagjs,4050,4080,9008,10088,14078,19038,20058,24048,26048,29038,29048,33669,89586,96385,113411,113456,114466,116211,123233,123478,123498,124563,125480,125896,127266,127576,134267,134652,135789,138500,147000,149200,157359,159654,172165,177777,179328,187420,196500,197506,197610,197802,198100,198510,198620,198707,198802,198803,198810,199004,199090,199404,199406,199520,199610,213456,222221,222223,226688,232123,246642,246969,286685,345123,358853,361619,369987,422119,444455,456963,495812,542678,551155,552233,565758,567432,636332,696977,699999,741369,776655,777007,787899,887788,888666,901234,907629,951623,997755,999555,1213456,1234556,1236951,1258963,1478965,1590753,1593575,2236345,2580147,2947251,4050328,6657684,7106189,9035768,9517883,12101492,12141618,12341231,12345543,12378945,12601196,15161718,15541632,19688691,19811983,19861987,19888891,22224444,22228888,22360679,33331111,33445566,41513042,45683968,56259090,66778899,71727374,74125896,78789898,91929394,123234345,123258789,147963258,222222000,383295502,451236789,741963852,789951123,987321654,1324354657,1994200414,2143658709,holt,headspin,0040,erskine,merlin7,effie,tdfqugl5,membe,123happy,hahahah,march10,geneseo,yooper,66stang,giucil,robbieh,smilie,closter,swivel,copperco,wsbadmin,randyb,ramtough,lindsay2,digby,pernell,marmo3,kassa1,ass904,bird333,spearman,kg5698,percent,pebbles2,brands,blakeca,combos,1mother,fox1,chapper,lovesazz,quartet,hohner,natalee,bigbos,farrar,yllek,infra,nikol,1dddddd,franway,1hhhhhhh,guppy1,buttboy,carmen2,sensitiv,easley,ecnirp,amc20277,namrepus,adamss,garp,jimmi,assess,12345677654321,arron,jj9999,kekkut,pornboy,shkiper,kitty7,bacchus1,chester123,ron123,firstaid,canopus,chantelle,falkland,hayashi,incident,schnucki,green13,lovers1,km83wa00,danton,riverman,ilikeike,aaron2,fetisch,mc6288,perrys,paris75,amg921,carlos68,billyjo,blueprint,1531bs,zcgihlke,einstien,omysut,arden,gotten,trebor1,gismo1,serpent1,raritan,calibre,gus123,doorbell,efrai,poochi,monde,emmaus,jerr,button1,wildfir,alvarito,caesars,guerilla,gooner01,vitebsk,nordman,cubs1,utyyflmtdyf,alfetta,mite,absolut1,attilio,exciting,busstop,goodall,atonal,andrew00,lampshade,lesya,paulita,6y7u8i,korgm1,asta,andrew8,gameman,1badass,78ford,1casey,coke1,redlover,monchi,tamu,tatum,alex55,haha1234,hamal,luckyday,zxcvbnmmnbvcxz,code3,rocket01,1stephen,merde1,genlee,1viking,wsxcde,recneps,edisni,5seks7,1uuuuu,1hundred,1magneto,vipper,1cock,siva,monkey19,angel200,billy8,desig,falcon21,sorbet,fuckinti,abakus,jack55,climber1,lyons,undergroun,limeligh,aral,123321l,bowles,fink,skidder,baseball21,okk34125,sylviahans,meijer,castilla,suckmydic,spyros,ajones,addition,pass23,shadwell,21952q,bodensee,goffer,fubu05,amstrad,pvhpx6,greenber,kippax,marinas,lemont,choccy,callie1,altern,tankman,0187541,aladino,root138,m0ntlure,allpro,a1b2,debtfree,redflag,visiting,nzceg251,pibzk431,zmpimeje,boonedog,allende,accoun,wtsfjmi7,twinpeaks,forlorn,pimpdogg,austin97,zippie,herbi,msujoe,altamira,katie12,mong1ni,jokker,bad1,schoen,gfhjkmrf,lynch1,kyoto,alesi,whitlock,asil,caesa,andrew21,brijam,lucerne,lbvfhbr,sesso,greencat,berty,bigballer,bose,rdq5ww4x,donita,matthew10,bigboat,randys,zenden,mech6666,fernwood,omytvc15,astrolog,monkman,seltzer,bittner,bunner,cgzfrhuf,acotec,neggy,boracay,uxmdzi4o,ashley22,andrewb,angel66,lvd9341,bearboon,dekcah,civilization,rustyw,scrubber,daphne1,rebbecca,keiko,aryan,blackwell,hann,rmpop,bigsmurf,wwwxxx,johnno,cmigtvo7,tiger86,h72sfibbnl,mutt22pu,bjones,rathbone,arguments,andrewj,logo,brolly,cobble,music5,swain,onelife,afriend,dessie,tina1,charlied,sally2,housing,chicane,kincaid,paid,jerkit,leading,sgegukbm,slaine,roni,cartoon1,hendrix2,george10,gilbert2707,curioso,yama,spares,123poi,miker,seeall,imemine,wtpmjg,sandma,ydnarb,hobbe,monreal,tspeter1,srawrats,undne,chelly,karend,indobokep,espiritu,honda2000,nfgbpltwq,fuckersss,avantis,adders,12345love,carros,burgerki,63chevy,looner,seadoo96,roebuck,sarah200,akira123,mspaul,tigertiger,qwqw1212,thomas3,jrracing,freesurf,acinom,bryguy,kanus1,as2579,66mustan,kinshasa,shanker,brasov,98stang,exupery,champion1,eagle69,4girls,lolomg,oldgold,rancid1,abbeyroa,forfar,gavilan,slainte6,sloogy,subskin,updrop,simonova,nicole69,tescos,pizzaa,nicosia,gateway7,jizzman,nagging,ilovebri,wildcat7,matt25,w1408776w,greenwic,katman,4sure,trucks1,fuckyoua,joeyjojo,vgy78uhb,gatinha,babe12,dbrecmrf,taifun,cumsalot,avarice,jjames,schroeder,sexy23,boogs,david25,michaele,polka1,nekromant,mounds,plato2,textile,deepred,sandrita,mucus,ripe,ujhjljr,vortech,geranium,getback,norge,soslite,dan,longing,qwerty56,light2,turboz,solo44,poopdick,amilcar,bassi,geddon,nani,sandy3,bertil,ritz,98cobra,puregold,78vette,slappy1,4p9f8nja,sapiens,anna88,77sunset,aaurafmf,hasmik,goldz,studios,buddy111,1pamela,bujinkan,mustang66,bb1234,9874563210,rogets,aa1998,aaabbbccc,aaaddd,moon12,dundee1,kokoro,pharaon,misiaczek1,inbhkbw,adnan,meerkat,batman9,harbinger,333333a,scandisk,bigmoose,1blaster,natasha5,aaron8,conn,joeseph,pinocchio,oliver12,heckle,outkast1,boink,august28,maurer,bayarea,bravo20,noway123,shivam,iskandar,hfcnbirf,malmstee,getin1,alihan,switcher,ab123,bma2002,iverson1,winter07,cuco,janusz,kamera,mamata,abbasov,abbie1,murano,holl,abbot,coco1234,december2,abe5,prova,behold,bastich,thegreek,alex1980,maldonad,1peter,abidjan,rehana,booooo,123456789*,malay,grandkid,doingit,hughjass,as123,muhamma,erunda,123123qw,diana2002,fdsaf,alimov,gfnhjy,denisz,abubakr,jones123,alphabravo,certified,beamish,lucydog1,lurcher,ewanko,snapple1,s211278,alysia,avionics,eriepa,kristi1,michael13,lange9x,kerygma,crazyhor,poiqwe,marine12,copley,sukhoi,april30,progres,reset123,kottayam,danknugs,triathlon,joshua04,cruzeiro,darkroom,tgif,ranger82,andrea10,alize,blacklabel,alaine,myway,propel,fanta123,bobbles,anakin99,andrew33,2n3055,meribel,thug4life,fixed,glassic,paragon1,gibralta,bloodhou,tilleie,coldone,badhabit,louise01,evaluate,findaupair007,redros,mets1,emmit,sasha5,qq123321,annetta,anthony12,adil,whipple,kambing,teenies,fungible,serge1,alina2009,ozzyman,ktyj4rf,corsar,alani,adidas23,adidas99,youporn,strohs,bfltua,xnttcb,dragon06,allpass,america7,daddy21,mario6,onlylove,pp04a,stutt,wtiger,want,gjkjdbyrf,q7w8e9,blitzkri,rosana,hardkore,ffviii,jixian,maric,biologia,shaoli,eric69,saiyajin,movies1,between,heffner,syndrome,naughty2,lesta,cervantes,courty,palladio,prowler1,galapago,african1,ichiban1,catsup,chrisn,e214fre21,vindiesel,afnbvf,andres1,ultimatum,fifa2000,1turtle,mercedez,afterglo,agata1,astra12,ltybc123,navillus,caillou,hamtaro,marksman,santorini,glucas,carmen00,jedidiah,abhtqa,ironma,anna1979,motylek,vernie,hurts,themann,capsule,swine,sas123,alva,30seconds,thegr81,bevis,adg123,aika,akerke,babyko,smoki,kabanchik,aimhigh,vasilev,ulrtab,33333v,fruit1,predator1,airtime,mudddd,dirac,vfeukb,labuda,flashme,supermac,biturbo,sanmarco,dominoes,alex73,hillel,yessongs,jensen1,holle,blahbla,sung,catullus,vadim1995,lusaka,meltin,nodnol,autobody,q3dm17,akiko,star33,limonad,7777777f,cassy,kayode,malachy,football10,fkmnfbh,warhawks,anna1992,balabama,1qaz2wsx3,barchett,alacran,bosco2,canoes,lovesu,claddagh,alpha135792468,baroness,wren,allora,aubie,louisvil,boeing747,alania,parol12345,wetland,nata1977,italias1,nokia12,sandra69,voyager6,seabird,hv120dv,es206en,mitico,roseann,liberdade,lathrop,artur4ik,palladium,inshallah,dfktxrf,ghtdtlvtldtl,newyork0,batman00,olga1991,alena1992,aleister,edwardcullen,amoros,alejandro1,fktrcf,vfrcbvtyrj,vtnhj2033,s1a2s3h4a5,fkbyf123,azerok,123alex,alex87,alkogolik,zxc123qwe,njnjirf,w1w2w3w4w5,kfdfylf,klubnichka,20162016up,vjqfyutk,restart1,gordienko,lena22,kardelen,alex555,buggerme,outlet,alex1992,polanco,rodionov,1katie,fafyfcmtd,alex1993,gfhfktkjuhfv,qazwsx123456,alex66,55555s,april29,pyfrjvcndj,sexo69,moskow,anytka,millioner,soares,comida,gofsu338,amber12,princess2,147369a,right4,reading1,drusilla,sweetdreams,asdfvcxz,maia,tomasa,strasse,70780070780,umisushi,wingtsun,strom,cancun1,harley4,tomson,nicaragu,gerasimov,bapass,voldemor,trotter1,cosmin,budda1,nokia1600,alina2000,lena1234,annemarie,petruha,azerbaycan,alisaalisa,alisha1,1gemini,lutheran,stepka,azlk2141,alla123,artem2000,h0lygr41l,nation1,salon,xxx999,jiggly,freejack,parsnip,diya2003,ragweed,tawny20,anfiska,elmhurst,allis,carolynn,m0nkeyb0,alpha6,casillas,podstava,2-oct,06251106,elia,hanalei,lytdybrbdfvgbhf,gypsydog,raver1,wolf99,jagger1,rabit,alouette,element2,grace7,saxon1,1sally,yasemin,hathor,providia,santander,success7,peace2,denis1989,carols,anasha,tindoor,0406198,karrie,joao,amaranta,senhas,sandies,banjos,neckk,ziegler,hegemon,asd123asd123,parola12,room101,putana,figtree,jordan6,hulahoop,mibeb,02143006,astrodog,amulet,aeroflot,sahil,korvet,paredes,august21,z12345z,flurry,senthil,magius,mexico2,fashist,biller,lovegood,scooter8,tendulkar,amy1,october31,evette,mousemouse,milking,04098,techn,arte,domingue,7777777q,solly,shalom1,ivanko,julit,astri,azaliya,robert24,svensk,filofax,bettina1,schmid,santamaria,ferraro,passwordassword,andrea00,meloni,rono,qweasdzxc12,andrea69,nightfall,rest,ronaldinho10,grusha,fernando1,gostosao,belomor,hotice,babnik,zxcvqwer,amant,ctdthysq,andria,bmwpower,audirs4,anny,consult1,usa1776,abuelita,holdup,cosmetic,caledoni,a2345678,anushka,croc,funnies,angel2010,bombarde,girlygirl,drake2,carmona,goosie,angelface,ingress,k1f4c8,angelie,chippe,demon13,hernando,ladoga,fr33d0m,vfvfxrf,zakaria,anna11,anna1998,anna77,annabella,zoopark,pavel123,rosalita,supe,malib,meli,yjuufyj,canarias,not4me,attempt,rfvbgt,patricks,vincente,mironenko,salvia,kfrhbvjpf,lxdumb,germes,slackers,svensps820,pogosyan,shakeel,apart,equal,pifagor,buzzard1,scampy,distal,mclarenf,12andriy14,charade,123vvv123,onimusha,underwater,barriste,seaquest,miser,caliburn,labyrinth,#name?,bujhtdbx,cristobal,crepusculo,muckel,epidemia,chupakabra,mascara,fortyone,maryse,montreux,jorge123,arsene,000999888,edna,p@ssw0r,artem1998,theman2,chiemsee,belmondo,artur123,refused,yakudza,maksimuss,ipo54tj45uy856,s123456s,aznpride,uhoh,kerstin1,askari,3616615a,un4given,laudrup,phatazz,gaping,dogmatix,astras,avalo,budlight1,qazxsw22,badboy123,ishorny,becker1,financial,kaviar,puddin1,tulley,stern1,autobus,cfgfa03,1jake,vlad12,jedi99,slimey,snakepit,baby31,ktc110,solids,isthebest,b1t3m3,gfhjkl,therocks,brianf,june30,upyachka,badstuff,chinos,waterfalls,raffle,kurica,zippers,every1,stix,baggage,oceania,jimmmy,reality5,buggsy,privetik,branston,gohabs,fdjtsa,shitfire,boulevar,1maveric,chamorro,frick,calif,cookman,rossman,nightcra,maranath,pumpitup,baldwin1,groom,shadow20,farme,punt,keks,westside1,piero,seve,amoureux,kent1,cavaliers,bananen,famille,bret,burp,lick1,stalion,ballzz,mervyn,kazoo,jonah1,stone2,schnitze,1brother,brothe,horner,drdre,rtyu4567,banana69,splash1,ke12fe13,dentista,hayek,wannasee,vivace,blue18,bangcock,chris77,sofa,kronic,bangme,banky,imjakie123,cruising,fork,green75,snook1,chouette,blaster2,blather,moisture,bantu,zapp,nhatrang,april18,1billy,wolcott,nickster,gemini6,jackasss,college2,rubberduck,kaka123,macavity,hal2001,louiss,rikki,checkup,nikegolf,kotyara,robertson,tress,garbo,blaker,bowzer,platinum1,bdog,1purple,larryboy,legendar,warpig,h0ckey,incorrect,bisho,barr,villeneuve,rosalina,laughs,rasberry,heeler,cassey1,blueee,asianlov,kakka12,1white,timezone,newberry,patches2,santas,1driver,saskia1,bassmaster,moneysho,unnamed,bart01,sesame1,chefdom,booobs,fantasie,marlene1,jamessss,muadib,november1,1yankees,loxpidr,1sucker,killer21,cedar1,compete,bass1234,snappers,hummer99,mamour,bloop,bass11,hobbiton,sheehan,lbyfvbn,wrath,pitman,pharma,suckme69,batman22,mcmillan,gospurs,babygirl2,kamina,berrie,aramat,12q34w56e,returns,batman3,jedi1,triade,bator,winter13,bmx4life,stucker,wjc200,mirrors,stasha,tamper,exhaust,whitne,agnostic,gracchus,davison,bolo,momo123,recorder,sex4ever,american1,lattice,godzill,gateway5,rovers1,slammer1,bubba99,weed123,bball15,black47,elite2,castings,xz33333,lovecat,sabrosa,jeremy2,2short,boodles,watson0,buddy9,poptart1,brian5,russell7,sammysos,lanky,bobby5,lookat,charter1,1molly,habbo123,horned,go49ers,bigdawg1,godzils4s7,nuttin,ashburn,psycho72,brianl,falcon4,jimmy11,billyc,chem,testo12,fuzzbutt,ultracash,beerguy,megan7,email1,booby1,yankees23,maceo,wanda1,jhendrix,edwin1,quorum,despina,sun32,rocket2,beach2,cbreeze,wikinger,dorkboy,ruggiero,robert71,bleh,billll,earwax,meanie,skiing1,12345678l,casper13,dan3,wood1,girlfrie,mrfish,tame,bears2,taylormade,wedges,dick11,zerohour,silentbo,gasket,boston99,londres,nathali,sarahd,charles9,butterbe,kittycat1,decay,follett,winston3,ozone1,xtvjlfy,ecurb,codie,gwar,bunsen,blowjob6,flanker7,qaz123qaz,hops,shoehorn,radford,eroica,95jeep,sheffwed,georgie1,adler1,hunter5,benj,rachel7,jake00,towanda,moose7,tweezer,berik,fleck,armyofon,rustang,boudin,thorin,dstars,cocklover,bubba13,lyric,vf279sm,brooklin,svenja,kippers,1tennis,jazmi,angel100,carita,blue222,compose,kunt,metaphor,norwich1,rutledge,glastron,mangoo,ziggie,dunlap,biloute,muddy1,babylon1,copyright,leodog,killer45,benni,chris26,holyman,calle,tigger10,karupspc,illusions,bailey99,89semtsriuty,joshy,oliver123,bjc210,rhumba,holly12,juicebox,celt,wick,berl1952,gareth1,evelyne,amarant,beret,neely,asante,pana,bergeron,pitts,nosleep,david99,lucia1,geminis,1voyager,babe1987,viruss,duffydog,library1,zipzap,goodguys,kissm,ragers,mach,dunker,icenine,cody01,daywalke,gateway6,schatje,druhay17,talus,vika12345,foreveryoung,james777,fordfocu,sierra12,nosbig,broker1,jazzmine,hondac,shout,badboys2,harlie,souleater,punany,hoyas,jiggles,gonad,wend,bryan2,biznes,bigmac12,tris,discos,beasties,camano,vandy,flannery,purple7,ytrewq11,valer,baseball10,vasser,maggie123,fw190d,taarna,sandusky,waycool,thai,ching,super21,jackson4,soldout,march3,chodu,ziggydog,sauces,dakotas,pointbreak,maxxum,filly,sunoco,blackand,bianka,exxon,jive,23843dima,iluvatar,gherkin,bs2010,blue16,blue20,love6,carolin1,reel,rinker1,tatas,peter3,daisies,fishing4,nyisles,fuckher1,bigwilli,getsome1,breizh,concise,jennah,blizzard1,gizmodog,faithless,katrinka,packing,tryme,bigtimer,martin21,palle,scarred,tarquin,cumtome,bluegrass,thumper2,butkis,steve3,bigc,7elephant,scrump,chiquito,moxie7,longhaul,bullshit1,2times,gayle,sdicmt7seytn,playboy3,1bigtits,maxxie,theblack,54chevy,diverdow,titsass,irishboy,1bigman,bigdog2,casey12,ramcharg,shittt,justin99,buffalo7,iamsocool,savings,carpets,fevers,bigfish1,newbury,goodlord,gdog,pharmd,alltime,whoppers,tony99,fazer,footfuck,willian,thedude1,biggy1,phantom4,666xxx,zeeshan,sridhar,bratpack,mitino,bigjack,12inch,pixels,killeen,cbr600f2,moose23,bigkahun,kennedy12,happy21,optional,suprise,kathy69,texasboy,bigpimpn,grizzle,holla1,hardie,humber,deedee1,schlitz,clayman,synchro,1joseph,thelove,catskill,moran,thebean,jerker,cccc1,yellow8,itsmee,budz,tylerca310,hogwild,cyclist,cougar11,goliath1,threeday,52xmax,frodobag,ranger13,herbs,phigam,shaney,asdasda,djeter2,bill063,sex101,hellowor,arther,snafu1,paddler,bristolc,farrow,nudge1,scamper1,hoopty,asteria,chalice,cipolla,technician,dabear,sadiemae,ph0enix,goblet,stuck,opusxx,allybong,swearer,jannik,nixons,montie,jayme,bulldog6,harleyma,brad22,rebels1,babybird,laden,brassy,zheng2568,omglol,burgos,tacos1,potent,moretti,tractor1,boogey,emoney,giancarl,please12,westfiel,gmcjimmy,blondie2,truly,cary,bobman,killer22,olsson,podruga,chowmein,blacktie,leee,ranch1,dusted,petrie,kaitlyn1,tiger9,dylan123,dalton1,mover,table1,aolsux,weed1,nolose,black99,powder1,burritos,shakazul,paul04,death66,blacksonblon,trickste,cigarette,sasuke123,derelict,talbert,kumite,hellsbel,rallen,brandon5,manson1,1nstant,bravo123,floral,magic12,black69,shoeless,hyrule,saidin,cowboys3,entre,fritolay,bigbear1,tottenham1,thirteen13,italie,mensos,tabryant,greenguy,camman,budligh,72305z,sunglasses,groves,saufen,rosie123,saddles,couga,chimera1,420842084208555,zork,sexypass,drew123,frankzappa,rmanis,nsnabh76,ladies1,secret99,rfnz11,nightmare1,organs,lantern1,orochi,chrisi,slayer123,goodnigh,mrblue,aztlan,blossoms,11jack,kerplunk,cutout,blows,shipman,ed1234,blue333,ch3ch2oh,sprit,bluebox,tomcruis,royals1,wer234,grasss,mariamaria,elzorro,eldora,1special,buddy5,tenors,dogbones,cooder,gizmocat,rebecca9,casin,glenna,saspurs,tgacb,belushi,itsme1,macon,fishfry,tammi,boggy,poop11,paper123,ru4692,pheobe,research1,igmtva,gris,struck,xehrf2011,aussie1,sammyjo,captain7,bobbi1,thea,april11,daffyd,gateway0,newport2,philadel,secret00,howareyou,texas69,eldred,carmelit,bmfc2353,ponch,master32,ineedsex,chimney,666hell,astaire,stogie,jazziz,gallup,explosiv,michigan1,boner2,tadpole1,tungdom6,mcfarlan,bobbyv,mohinder,clk320,giovani,19thhole,spunker,mybaby1,cancer69,pucci,quepasa,manon1,forestman,worr3619,maffia,corporation,vinson,therams,rjvgjn,ellswort,ckfdrf,lion12,chad1,ortho,jamesj,mute,bonjov,taylor10,lousy,f67342,cammer,coby,dooby,down1,text,bookem,flatboat,gaggle,flatbed,cuminme,quit,crooner,concern,2w93jpa4,leveller,dude22,dee123,pelosa,looped,hpesoj,0px,jeri,paperman,takethat,corney,carlas,gusset,carmine1,globe1,hagar,liz8tysiu,artillery,wetzlar,stiller,bot_schokk,limonade,ireland3,samsa,dinkie,sapphir,lita,copies,coleen,martin19,boxerdog,knocks,bedas1,max528,kyle11,silvermo,fish12,lung,free99,00seven,2br02b,chimps,teague,muddog,arrogant,stup1d,shadoe,lisalove,wynter,texas5,hondaa,peaches3,gobucks1,goredsox,wind0ws,mudd,kukaracha,kiley,oneil,football7,idontknow1,wett,dakota11,ballin23,hidden1,bulldog3,hockey30,brazilia,donatella,mindspri,arriba,dddd1,taylor6,spionkop,pedr,mikesch,karola,aerospac,bldass,sweetiepie,katiew,gorky,brentwood,dogtown,jordy,emmons,edwardo,qualcomm,rastlin,rufino,twinkies,pingeye2,richard5,sewell,dekalb,cade,max666,maker1,tunisie,janos,chloedog,ghoti,jamie12,supple,skyhawk1,womba,manolis,obninsk,ravenna,cyrille,butler1,prune,routine,conroy,fdfsfaf,s11111,kalvin,chipchop,kittyhaw,mansoor,arbuckle,jazmine1,akinom,bastrop,onme,asdf456,benno007,dusti,dexter12,chelsy,texas22,roadrace,ratcat,pauley,penwindo,winston9,jasmine0,dryfly,bear98,redcoat,green88,alkanaft123,m0nster,liberty9,carrera1,andrew7,cavid,jktrcfylh,bubba111,tropics,notrub,wormy,play123,julia666,smoopy,moonbar,gatorfan,illiad,turntable,dienstag,starshin,candy69,dyexrf,funforme,loves1,3children,gunz,kevin9,think1,mays24,tatonka,chevy57,rocha2,decoy,cajuns,antonino,slaphead,bully1,lokator,coolin,star23,murmel,lxgiwyl,pantat,yves,char4u,gordy1,kinski,bushka,snort,camryn,redlabel,richardc,locdog,june16,sawblade,rubber1,asdfzxc,woodbine,dubbie,jake22,animas,havasu,crazyhorse,payless,madd,ktjynsq40147,1a2a3a4a5a6a,lolman,q123321q,jamieb,loafer,hfgbhf,bullnuts2003,stasis,burner1,heath1,dopey01,littlefo,poorman,nelson11,soltero,candle1,statue,popcorn2,totti10,ratbert,05058,duke13,shauna1,clinch,champy,catbird,one23456,slapnutz,lukester,wait,charles7,frank21,miquel,palito,zippo123,pass3s,catseye,cameron9,rassilon,hackney,freemont,bj200ex1,niblet,cappy1,cappy,simonn,sensible,feel,arnette,pokie,turnbull,krista1,kokopell,redtide,finals,emirates,buzzy1,cumbria,vidaloca,carlos10,miami123,gastone,delong,storm2,carnivor,toolman1,icky,jackruss,pegase,rafa,casado,mundo,ilovesam,cdog,cowsrule,boojum,wheels1,chasm,dundas,charles4,greyson,tennis22,longtail,mukkula,senior1,eddieboy,svtcobra,9231wcf,chicago23,njptya,blueskies,hogdog,sunflower1,nicebutt,cchaiyas,honors,master9,assorted,cderfv,goyanks,absalom,vent,cecil1,red555,jason23,leaders,mangus,tofu,gjyjvfhtdf,niceboy,cerf123,ranger66,qwertyui1,fleshy,lumber1,yankee23,ninety9,pooh1,swing1,spikers,hocuspocus,riceman,nagshead,chiper,chandu,rakkasan,kikowu,coolidge,creditca,diehard1,3times,charizard,bhatti,bbnyxyx,helpme96,ace2luv,garrick,fourtrax,chasman,chien,suman,elastic,connecto,annina,pino,cameron6,fernan,hjvfynbr,blue34,leihak,casta,chika,masala,simonsays,love4,chinadoll,jackdaw,lanier,ks1977,workers,suka11,taekwon,gefccga,buggin,1cobra,west12,uiorew,heimlich,janeen,martys,stooges3,puppy3,batfink,tankdog,passwort1,nice1,cometa,sleeper1,noonehackme,psycho78,rhh8319,azul,cielo,foxrun,lothlorien,1xavier,toptotty,backoff,billie1,ozarks,peter11,constanta,casbah,twinstar,theborg,67chevy,cody13,1psycho,values,poot,scaffold,aa111111,carmack,bother,pernilla,lexx,b0nehead,sergiu,am56789,1boston,value,mita,foutre,iceman01,jasonlee,johnmc,tomto,charlotte1,schedule,croydon,anniee,polo123,cjdtcnm,legend2,roper,ssword,montana2,lynyrd,dyno,whack,nonnie,laplace,rossini,fling,crease,phantom0,ginger01,gthang,1rules,1cracker,stickit,jamaican,sprite1,nohope,rach,blacksheep,shelle,preview,lantana,gems,lbc999,drift,cranberry,tl1000,julie2,tumbin,cuteako,cum69,hondo17,addidas,homage,fsid3n,madruga2,demon2,bellaire,bulldogs1,pauline1,moocher,lion123,t5r4e3w2q1,confed,linton,guam,bollen,pussy420,deeann,felix2,verne,starwars3,retreat,bebito,raven666,crocket,serafina,1jasmine,saturnin,plasticp,ss6z2sw6lu,roads,frugal,neurosis,fivekids,snoopy13,connex,against,wimbledon,ryebread,sevenout,cruzan,eagles5,twinks,phoenix6,emma123,cjkytxyfz,angies,sporto,quincey,foofer,nouvelle,2sexy4u,catolica,spy007,zman,frostbite,kelly5,cursor,stoney1,sitepass,pederast,tasha123,tangled,goggle,1raider,goherd,amstbb,cubans,george99,cuca,kneel,broadban,thecult,widew,cumstain,rjvfhjdf,hijack,lick69,super99,longest,hightide,1mountai,starzz,sweetboy,shirow,iddqd88,beisbol,1service,showme1,iforgoti,cherokee1,supermod,dawnie,harol,jessup,x1y2z3,drugfree,alex8899,maide,tupacs,pelon,oilers1,lesley1,shelbygt500,usnret,kaleigh,dmiller12as,1mookie,maelstro,poison1,erotica1,red1sox,gurumayi,rhett1,rockandroll,issexy,omen,evgenij,caesar12,goldstei,salas,again1,poul,salomon1,alpha9,dima77,face2face,050605rostik,01470258,demonik,happycat,ngentot,denise01,grandmas,footballs,mikell,richardo,19960610ilja,deshon,djljghjdjl,ranier,lfieyz,jake02,bundy1,1faith,bkqtza,hand2000,7410258963,freesex1,dailey,tazzy,dakotah,morena1,kar120c,earnhart,august30,harveys,jesusfreak,tompetty,kristofer,1texas,opaque,monro,devil66,damirka,darnit,loserkid,cthueyz,tiffanys,gooliner,unleashed,dinodog,oldboy,hotporn,dave11,ripken08,drac,lineage123,jeter02,danna,persist,madelin,hammer00,1dancer,ketchum,steps,marina15,sexy2,noeli,mj1234,andrews1,tryout,hecmax,tarantula,1jackie,hotboy1,pantera2,sandra11,sanderso,kursant,dfhrhfan,permanent,123123w,escorpi,siena,dari,july31,aline,dange,jeffwsb1,hippies,moggie,bonnies,qwe123321,revenue,123456zxcvbn,fabio1,dragon18,trueman,goodfella,fizban,dumars,ericcc,canino,liberia,suzan,darkie,pfchfyrf,kaioken,booyeah,thebat,blah12,lachen,shitt,leonida,gordita,trent1,selanne,tish,1carmen,nikonf5,berkshir,money13,vfkmxbr,dtynbkznjh,roman12,darya,123321d,ribalka,lamonte,superbik,jellyman,marche,kalpana,mydear,smokie1,poopster,smile101,sex4fun,thankful,yesplease,theseus,dreher,dave77,july12,neuroman,animal2,lizzy123,dave41,lucille1,catriona,audir8,david22,diebold,crip,summer09,coachk,pizza2,whoopie,deuce2,writing,gizmoe,superdave,horseshit,80361665abc,ginger99,morning1,morgue,daxada,powmia,maricopa,raiser,flash5,calloway,voodoo22,sasuke12,winner2,nacnud,thegoat,rogelio,8218yxfz,textbook,sawa212,faustino,adrenolin,mark2,0123698745,kamelot,evillive,lillys,joker2,vintage1,eric1132,samogon,drdeath,servic,wedding1,luckee,april2,martell,rocko1,frogface,marcs1997,2q3w4e,paramon,12345qa,sonnys,harryhoo,nalani,deepsix,dogmeat1,foolish1,deivis,irishlad,1angels,klavier,toad24,hongfund,dogbutt,canfield,lionhart,afternoon,zergling,deniska1,1dollar,arcadia1,deltatau,jktujdbx,demidov,demchenko,sillyman,kosmonavt,abcd123456,demiurg,relics,iceman22,forestry,102030a,garvin,ferenc,vjhjpjd,emerso,fournier,denis1983,den040791,oberst,copperfi,maggie99,mccloud,puppy123,roma2010,lonley,eghfdktybt,nokia5700,barnhart,fred66,monster123,9731553197,nadi,lufthans,fuckthroat,santafe1,sammie01,galactica,master66,rt3460014,torpedo1,pencils,schroder,fatpig,sportsca,omen666,mtdew,astronaut,thebrain,upinya,pabl,jennyy,bvncnbnvvbn,elates_y,gundamwing,special7,aurora1,arizon,1bandit,simens,hjvfir,truitt,letmeout,elenas,oren,marcuseckos,nicholas9,bergie,patton1,didenko,feets,dispute,florencia,kamel,gripe,hamann,digdog,beeldbuis,weare1,josh123,drills,dima13,dimka,avtomat,werty12345,dima1983,housemusic,duffie,mazda123,fucktard,dinho,plutoniu,hobgoblin,dustman,d36rkqdff,usual,srbija,djeter,mantha,9953rb,mixmaster,ak471996,george69,guapo,progressive,chris8,fantazy,porshe911,juni,snejana,rulezzzz,youssef,pass28,wolf22,iwillwin,kukuruku,ncc-1701,passwurd,zxcqwe,1hardcor,apollo17,pppooo,laural,rhbdtnrf,gtnheirf,tallica,goals,ljcnfkb,pmedic,doc_0815,gabbana,happy11,hothead,volga,draw,vegetabl,dustbin,tinsel,dreamonline,89057003343,edik123,poesje,poise,gosselin,electro1,wordpass1,tasker,plhfdcndeq,angelfir,gtynfujy,iddqd890,olliedog,winstonone,dozzer,dragon44,monkey42,coppe,jojoba,dorthe,pumice,fitzroy,dragon35,sewers,general2,shafty,drea,restrict,lalala123,dreamteam,soma,sureno,delta3,ferdie,superuse,jigaboo,edinorog,check6,sixstrin,lacsap,e6pz84qfcj,vladlen,lipps,mucsaj,grommet,squiggle,eminem11,z1x2c3v4b5n6,deshaun,kingring,e123456,smokey22,salida,872rlcfo,manly,eagle9,rewards,facelift,sole,h1d2b3,eddie3,retard1,jjj123,dahmer,marcel1,89181502334,gremlin1,telecom1,samuele,suvorov,entertainment,elena1975,oclock,sexs,ifkfdf,elayne,shrdlu,tube,fairytail,estell,fantasy8,runo,vocals,pimpit,abcabc55,platter,pingi3,ad12345678,sept,estrada,maiso,murcielag,singl,branco,lacuna,doulos,gothi,rjkmwj,mor_pass,121212z,janin,greengre,123as,fox12345,evets1,rdflhfn,uhfyfn,vesuvius,qsefthuko,minnie2,360moden,safronova,lakers2,lampar,john2,mand,boogers1,159357q,mathild,rabbit12,forget1,maxin,neron,fuckstick,eyesonly,yeoman,griggs,laetiti,telefon1,hennepin,0606198,berth,multipass,audia,bill22,fabius,cochabamb,rafal,playstatio,peluch,amali,lucie,now0new,kobebrya,89063032220m,johncen,acca3344,freewin,nassar,lifted,vadim1996,mariah1,phill,sulta,pickl,stalingr,vfhbz007,5858855abc,ivory1,polin,fallacy,osirus,resolve,renaldo,yfhrjvfy,only4u,acts238,winter98,hector1,nesterenko,fdnjhbpfwbz,farah,ragger,bantik,fcnfkfdbcnf,shabnam,jcyjdf,farmvill,silver21,lucky22,dauntivi,toofast,diablo123,harleys,zipper1,millen,randee,hasty,tzeentch,xuaujb,espinoza,lazio,megabass,fedotov,fomina,soccer8,917190qq,tummy,wes123,chicken4,fuck99,fish11,gustave,plaisir,retraite,felton,kevinl,ybrjkftdf,ferch,calypso1,puto,bobbie1,peter5,ferrari4,john25,mojojo,q12we34r,cntkkf,hush,badiman28200,a3930571,hjpjxrf,wwwww77,ujyxfhjdf,franklyn,goutdb,ludo,lammer,gitanes,blackwol,mazdamx3,arsenal14,zexts364325,filatov,filippov,vlad2010,123ewqasdcxz,fuckoff666,pollys,denture,fiorell,cvyx76h,sprunt,merzario,charlie111,bdfyjdyf,hawk12,kingkon,party01,plumb,beck69,westpoin,loginov,jess1ca,javert,tyler12,jenn1fer,golfer20,s1s2s3,nhbujyjvtnhbz,gay,mike10,schultz1,adv0927,weakness,miami99,1stella,telaviv,moons,michaelt,fquekm,haha12,maestr,pokus,siskin,1united,pies,tofuck,superdut,zzz777,twiste,allofit,grimreaper,devastator,ge0rge,ubnkthrfgen,vgfun,foxdie,mankato,clubbing,rossy,junta,freakdog,yavin4,saoirse,merdes,juliana1,pontia,fubar69,biggen,maiden666,rangersf,winter09,tee0s,frederico,freemind,squad1,globes,guarra,gopackgo,jimmy5,susubaby,lothian,frem77,manzey20,hein,shrine,natalja,moroz,brushy,kassel,polniypizdec1102,ufptkm,than,ninja2,gmoney1,marigol,vfvjxrf1,truc,mihael,yakima,redbank,star6767,killer6,monik,wetlips,suffering,venecia,pfunk,funnys,fenerbahc,trever,sasuk,furby,piaggio,mura,2004-11-,ne_e_pod_chehyl,molli,tryit,hotdo,hayle,bhbir,gunit,belgarat,1gabriel,wilkinso,mustikka,sapfir,dengad,sandhill,89132664230,walkers,7mmmag,kartina,mama1960,ybrjkfq1,retriver,kev123,1billion,naruto0,salamanc,redbul,colours,lotti,go4itnow,diario,toblerone,mohamme,.hjxrf,happy200,h12345,teacher2,sisko,irina1989,britne,schnell,getajob,mazatlan,truelies,rosi,thundercat,modular,oldblue,hasting,lupit,ignaci,tommyk,steve0,rocket12,salohcin,burden,1w2e3r4t,hella,gregster,genetics,squats,possum1,mdxpain,folders,mrcool,dragonforce,naruto99,trixter,runner12,vanina,80camaro,peppie,cobra99,risk,invite,vfvfnfyz,nthk12345,010203a,betty123,skillzz,000000q,gunner01,tbone69,gurami,tomomi,kabouter,clubmed,111000z,redpoint,greenlea,raser,sunshine69,sandi1172,rjpkjljq,hd764nw5d7e1vbv,royjones,moon1234,jos,sandlot,firewalk,riccard,shutout,ileana,yfltua,nobunaga,tothetop,stud1,o1l2e3g4,fyfcnfcbz1,golos1,golovin,mutate,alumni,gorbunova,ltybc,heidiho,saturn2,hispanic,number10,typhoon1,bmwk75s,king13,seabrook,hold,rockdog,tdavis,pussy24,retep1,power01,traci1,mable,huckster,zeynep,koston,verner,q26606,agahaja,mistik,hp189dn,haker,4ever4,pappy1,knucklehead,harringt,eagles22,is211tn,pm209mt,aezakmi123,hemant,leftee,randyman,voodoo3,prostotak,pinker,lastcall,cairn,marusy,fafyfcbq,molly13,applejuice,fucku1,love200,coverall,dbnfkbyf,thomsen,jett,pljhjdmt,89614774181,annada2,dickens1,maki,1reddog,toshib,grayson1,gfgf123,brown123,citabria,trashed,leopard1,pony76,buicks,schnuffe,brandonn,mayumi,football5,sana,terra1,dfhbfyn,faggot1,dragon17,silentium,rfkbajhybz,njkmznnb,twoods,jaycob,lollipop1,bioman,villegas,rita123,guyver1,bushra,086421,ametist,1qwerty7,popi,123123asd,cole12,cbcmrf,superstr,jason01,okocha,stanthem,x123456x,redass,teddybeer,trannies,jelway,shadow9,kolomna,jasonw,hotrods,hendri,olga1234,stephanie1,indeep,jktcmrf,system58,mortars,swimbike,gfhtym,kasatka,siren1,pepperon,userexecute,uniqueness,pauljr,irena,volvofh12,irusik,spesional,marusja,termit,12345ss,normal1,rc.irf,petrushka,brussel,motilda,antwerp1,ivan1996,ivanivanov,n1a2t3a4,madrox,rutger,izabela,papichulo,amber01,justin3,shelbygt,kris123,lifeguard,shmily,sloan,jeanett,jdavis,kissit,lucciano,fixitman,jazman,babalola,jamie2,mango123,sam12345,twelve12,phipps,wankher,sexy101,raiders0,potsdam,poli10,annelise,sigurd,lee,matthewj,sallyann,metree,knight7,kayleen,simon12,lesmis,kss2773,purdey,jaykay,voyeur1,jitendra,troubl,sadie123,treker,piddle,putty,marshall1,betsey,josephphone7,rocky11,towel,freyfvfnfnf,hottsexx,nicelegs,jjohnson,nascar08,kaisar,funnycar,maryan,rutabaga,0l8kchek,mel123,jiggas,nagoya,like123,minimo,vbkzdrf,whoareyo,max1992,vazgen,thetford,semperfi1,selling,arequipa,templer,joe999,sakura1,johnpass,ranger10,trekstar,carsca,clubcapt,jose123,69mustan,ramon1,gandako,yk2602,haider,looping,as12az23,belzagor,loonie,rona,macys,ufdhbr,vicious1,rushhour,ziomek,karasik,justmine,karter,nizmo400r,amanda96,katyakatya,divider,juttu123,kenichi,urracco,vespa123,lirika,kirillov,kiseleva,sladkaya,starchil,kite,valakas,kiuhnm1,ukfveh,valera123,a789456123,061096m,opossum,saucer,z11111,novosibirsk,vfhxtyrj,1success,diamand,penguin6,malutka,ravnos,kotik,80972694711,kondrat,konovalova,russian6,sahtm131,mdmolic,signed,certclas,mass234,nikotin,qewret,krasavchik,krishnan,bowen,m1m2m3,cdbymz,cvtnfyf,sss555,poohead,stockholm,taff,biglips,paul10,ihateyo,olga1979,12345qwert7,zapotec,luisfigo,rachel01,huckle,purple77,angel10,rundll32,summer7,7somba,quietman,rossiya,kirusha,potenza,underage,thurber,mexica,fishfinger,5345321aa,adm15575,dietpeps,melissas,enchante,cache,acdc123,riki,pol123,surgut,kordell,local1,locura,peanutbu,doublet,pietje,gthtrfnbgjkt,1122qqww,montydog,nils,sasitare,aa123456s,vtlbwbyf,santi,sahtm038,dunnowho89,moschino,mahmud,oleaut32,nosorog,maks1995,viggen37,neyland,vika12,stevens1,maslov,mt73sb,urlmon,mdmsii64,apppatch,htmlctl,packages,netnovel,configuratio,mdmnttd2,syssec,mdmgl004,ehidkbd,sahtm082,compiling,msoracle32re,pansy,patrick4,tuvieja,pilchard,britanni,component,mdmnis1u,vika1234,knows,sacoremsg,anitas,sasha1991,spiffy1,syste,morales1,mtgl5r,sharan,setupenu2,jaws1221,interrupt,pass2012,tory,pika,pitmans4,communic,msdasc,mtr1996,boy1cool23,melvin69,sizinici,gbfcnhs,oleg1985,navisite,ckjytyjr,gbpltw147,strelka,4solomon,sasha1998,rick69,5f68t9,vgbh12,minntwin,rednose,redball,vinogradov,podvinsev,shopmenu,kobold,3dwe45,saimon,rauf123,higashi,roma1996,shuhrat,serik,nadler,krebsen,mylake,ma1lc0,stratp,dedbol,bhrh0h2oof6xbqjeh,voxstrange,ka12rm12,193570356033,87654321vv,2012qw,dimazarya,xpcrew".split(",") }, i2 = { azerty: { 0: ["\xE79", null, null, ")\xB0", "pP", "oO"], 1: ["\xB2~", null, null, "\xE92", "aA", null], 2: ["&1", null, null, '"3', "zZ", "aA"], 3: ["\xE92", null, null, "'4", "eE", "zZ"], 4: ['"3', null, null, "(5", "rR", "eE"], 5: ["'4", null, null, "-6", "tT", "rR"], 6: ["(5", null, null, "\xE87", "yY", "tT"], 7: ["-6", null, null, "_8", "uU", "yY"], 8: ["\xE87", null, null, "\xE79", "iI", "uU"], 9: ["_8", null, null, "\xE00", "oO", "iI"], "\xB2": [null, null, null, "&1", null, null], "~": [null, null, null, "&1", null, null], "&": ["\xB2~", null, null, "\xE92", "aA", null], \u00E9: ["&1", null, null, '"3', "zZ", "aA"], '"': ["pP", ")\xB0", "+=", "$\xA3", "\xF9%", "mM"], "'": ['"3', null, null, "(5", "rR", "eE"], "(": ["'4", null, null, "-6", "tT", "rR"], "-": ["(5", null, null, "\xE87", "yY", "tT"], \u00E8: ["-6", null, null, "_8", "uU", "yY"], _: ["\xE87", null, null, "\xE79", "iI", "uU"], \u00E7: ["_8", null, null, "\xE00", "oO", "iI"], \u00E0: ["\xE79", null, null, ")\xB0", "pP", "oO"], ")": ["\xE00", null, null, "+=", '^"', "pP"], "\xB0": ["\xE00", null, null, "+=", '^"', "pP"], "+": [")\xB0", null, null, null, "$\xA3", '^"'], "=": [")\xB0", null, null, null, "$\xA3", '^"'], a: [null, "&1", "\xE92", "zZ", "qQ", null], A: [null, "&1", "\xE92", "zZ", "qQ", null], z: ["aA", "\xE92", '"3', "eE", "sS", "qQ"], Z: ["aA", "\xE92", '"3', "eE", "sS", "qQ"], e: ["zZ", '"3', "'4", "rR", "dD", "sS"], E: ["zZ", '"3', "'4", "rR", "dD", "sS"], r: ["eE", "'4", "(5", "tT", "fF", "dD"], R: ["eE", "'4", "(5", "tT", "fF", "dD"], t: ["rR", "(5", "-6", "yY", "gG", "fF"], T: ["rR", "(5", "-6", "yY", "gG", "fF"], y: ["tT", "-6", "\xE87", "uU", "hH", "gG"], Y: ["tT", "-6", "\xE87", "uU", "hH", "gG"], u: ["yY", "\xE87", "_8", "iI", "jJ", "hH"], U: ["yY", "\xE87", "_8", "iI", "jJ", "hH"], i: ["uU", "_8", "\xE79", "oO", "kK", "jJ"], I: ["uU", "_8", "\xE79", "oO", "kK", "jJ"], o: ["iI", "\xE79", "\xE00", "pP", "lL", "kK"], O: ["iI", "\xE79", "\xE00", "pP", "lL", "kK"], p: ["oO", "\xE00", ")\xB0", '^"', "mM", "lL"], P: ["oO", "\xE00", ")\xB0", '^"', "mM", "lL"], "^": ["pP", ")\xB0", "+=", "$\xA3", "\xF9%", "mM"], $: ['^"', "+=", null, null, "*\xB5", "\xF9%"], "\xA3": ['^"', "+=", null, null, "*\xB5", "\xF9%"], q: [null, "aA", "zZ", "sS", "wW", "<>"], Q: [null, "aA", "zZ", "sS", "wW", "<>"], s: ["qQ", "zZ", "eE", "dD", "xX", "wW"], S: ["qQ", "zZ", "eE", "dD", "xX", "wW"], d: ["sS", "eE", "rR", "fF", "cC", "xX"], D: ["sS", "eE", "rR", "fF", "cC", "xX"], f: ["dD", "rR", "tT", "gG", "vV", "cC"], F: ["dD", "rR", "tT", "gG", "vV", "cC"], g: ["fF", "tT", "yY", "hH", "bB", "vV"], G: ["fF", "tT", "yY", "hH", "bB", "vV"], h: ["gG", "yY", "uU", "jJ", "nN", "bB"], H: ["gG", "yY", "uU", "jJ", "nN", "bB"], j: ["hH", "uU", "iI", "kK", ",?", "nN"], J: ["hH", "uU", "iI", "kK", ",?", "nN"], k: ["jJ", "iI", "oO", "lL", ";.", ",?"], K: ["jJ", "iI", "oO", "lL", ";.", ",?"], l: ["kK", "oO", "pP", "mM", ":/", ";."], L: ["kK", "oO", "pP", "mM", ":/", ";."], m: ["lL", "pP", '^"', "\xF9%", "!\xA7", ":/"], M: ["lL", "pP", '^"', "\xF9%", "!\xA7", ":/"], \u00F9: ["mM", '^"', "$\xA3", "*\xB5", null, "!\xA7"], "%": ["mM", '^"', "$\xA3", "*\xB5", null, "!\xA7"], "*": ["\xF9%", "$\xA3", null, null, null, null], \u00B5: ["\xF9%", "$\xA3", null, null, null, null], "<": [null, null, "qQ", "wW", null, null], ">": [null, null, "qQ", "wW", null, null], w: ["<>", "qQ", "sS", "xX", null, null], W: ["<>", "qQ", "sS", "xX", null, null], x: ["wW", "sS", "dD", "cC", null, null], X: ["wW", "sS", "dD", "cC", null, null], c: ["xX", "dD", "fF", "vV", null, null], C: ["xX", "dD", "fF", "vV", null, null], v: ["cC", "fF", "gG", "bB", null, null], V: ["cC", "fF", "gG", "bB", null, null], b: ["vV", "gG", "hH", "nN", null, null], B: ["vV", "gG", "hH", "nN", null, null], n: ["bB", "hH", "jJ", ",?", null, null], N: ["bB", "hH", "jJ", ",?", null, null], ",": ["nN", "jJ", "kK", ";.", null, null], "?": ["nN", "jJ", "kK", ";.", null, null], ";": [",?", "kK", "lL", ":/", null, null], ".": [",?", "kK", "lL", ":/", null, null], ":": [";.", "lL", "mM", "!\xA7", null, null], "/": [";.", "lL", "mM", "!\xA7", null, null], "!": [":/", "mM", "\xF9%", null, null, null], "\xA7": [":/", "mM", "\xF9%", null, null, null] }, dvorak: { 0: ["9(", null, null, "[{", "lL", "rR"], 1: ["`~", null, null, "2@", `'"`, null], 2: ["1!", null, null, "3#", ",<", `'"`], 3: ["2@", null, null, "4$", ".>", ",<"], 4: ["3#", null, null, "5%", "pP", ".>"], 5: ["4$", null, null, "6^", "yY", "pP"], 6: ["5%", null, null, "7&", "fF", "yY"], 7: ["6^", null, null, "8*", "gG", "fF"], 8: ["7&", null, null, "9(", "cC", "gG"], 9: ["8*", null, null, "0)", "rR", "cC"], "`": [null, null, null, "1!", null, null], "~": [null, null, null, "1!", null, null], "!": ["`~", null, null, "2@", `'"`, null], "@": ["1!", null, null, "3#", ",<", `'"`], "#": ["2@", null, null, "4$", ".>", ",<"], $: ["3#", null, null, "5%", "pP", ".>"], "%": ["4$", null, null, "6^", "yY", "pP"], "^": ["5%", null, null, "7&", "fF", "yY"], "&": ["6^", null, null, "8*", "gG", "fF"], "*": ["7&", null, null, "9(", "cC", "gG"], "(": ["8*", null, null, "0)", "rR", "cC"], ")": ["9(", null, null, "[{", "lL", "rR"], "[": ["0)", null, null, "]}", "/?", "lL"], "{": ["0)", null, null, "]}", "/?", "lL"], "]": ["[{", null, null, null, "=+", "/?"], "}": ["[{", null, null, null, "=+", "/?"], "'": [null, "1!", "2@", ",<", "aA", null], '"': [null, "1!", "2@", ",<", "aA", null], ",": [`'"`, "2@", "3#", ".>", "oO", "aA"], "<": [`'"`, "2@", "3#", ".>", "oO", "aA"], ".": [",<", "3#", "4$", "pP", "eE", "oO"], ">": [",<", "3#", "4$", "pP", "eE", "oO"], p: [".>", "4$", "5%", "yY", "uU", "eE"], P: [".>", "4$", "5%", "yY", "uU", "eE"], y: ["pP", "5%", "6^", "fF", "iI", "uU"], Y: ["pP", "5%", "6^", "fF", "iI", "uU"], f: ["yY", "6^", "7&", "gG", "dD", "iI"], F: ["yY", "6^", "7&", "gG", "dD", "iI"], g: ["fF", "7&", "8*", "cC", "hH", "dD"], G: ["fF", "7&", "8*", "cC", "hH", "dD"], c: ["gG", "8*", "9(", "rR", "tT", "hH"], C: ["gG", "8*", "9(", "rR", "tT", "hH"], r: ["cC", "9(", "0)", "lL", "nN", "tT"], R: ["cC", "9(", "0)", "lL", "nN", "tT"], l: ["rR", "0)", "[{", "/?", "sS", "nN"], L: ["rR", "0)", "[{", "/?", "sS", "nN"], "/": ["lL", "[{", "]}", "=+", "-_", "sS"], "?": ["lL", "[{", "]}", "=+", "-_", "sS"], "=": ["/?", "]}", null, "\\|", null, "-_"], "+": ["/?", "]}", null, "\\|", null, "-_"], "\\": ["=+", null, null, null, null, null], "|": ["=+", null, null, null, null, null], a: [null, `'"`, ",<", "oO", ";:", null], A: [null, `'"`, ",<", "oO", ";:", null], o: ["aA", ",<", ".>", "eE", "qQ", ";:"], O: ["aA", ",<", ".>", "eE", "qQ", ";:"], e: ["oO", ".>", "pP", "uU", "jJ", "qQ"], E: ["oO", ".>", "pP", "uU", "jJ", "qQ"], u: ["eE", "pP", "yY", "iI", "kK", "jJ"], U: ["eE", "pP", "yY", "iI", "kK", "jJ"], i: ["uU", "yY", "fF", "dD", "xX", "kK"], I: ["uU", "yY", "fF", "dD", "xX", "kK"], d: ["iI", "fF", "gG", "hH", "bB", "xX"], D: ["iI", "fF", "gG", "hH", "bB", "xX"], h: ["dD", "gG", "cC", "tT", "mM", "bB"], H: ["dD", "gG", "cC", "tT", "mM", "bB"], t: ["hH", "cC", "rR", "nN", "wW", "mM"], T: ["hH", "cC", "rR", "nN", "wW", "mM"], n: ["tT", "rR", "lL", "sS", "vV", "wW"], N: ["tT", "rR", "lL", "sS", "vV", "wW"], s: ["nN", "lL", "/?", "-_", "zZ", "vV"], S: ["nN", "lL", "/?", "-_", "zZ", "vV"], "-": ["sS", "/?", "=+", null, null, "zZ"], _: ["sS", "/?", "=+", null, null, "zZ"], ";": [null, "aA", "oO", "qQ", null, null], ":": [null, "aA", "oO", "qQ", null, null], q: [";:", "oO", "eE", "jJ", null, null], Q: [";:", "oO", "eE", "jJ", null, null], j: ["qQ", "eE", "uU", "kK", null, null], J: ["qQ", "eE", "uU", "kK", null, null], k: ["jJ", "uU", "iI", "xX", null, null], K: ["jJ", "uU", "iI", "xX", null, null], x: ["kK", "iI", "dD", "bB", null, null], X: ["kK", "iI", "dD", "bB", null, null], b: ["xX", "dD", "hH", "mM", null, null], B: ["xX", "dD", "hH", "mM", null, null], m: ["bB", "hH", "tT", "wW", null, null], M: ["bB", "hH", "tT", "wW", null, null], w: ["mM", "tT", "nN", "vV", null, null], W: ["mM", "tT", "nN", "vV", null, null], v: ["wW", "nN", "sS", "zZ", null, null], V: ["wW", "nN", "sS", "zZ", null, null], z: ["vV", "sS", "-_", null, null, null], Z: ["vV", "sS", "-_", null, null, null] }, keypad: { 0: [null, "1", "2", "3", ".", null, null, null], 1: [null, null, "4", "5", "2", "0", null, null], 2: ["1", "4", "5", "6", "3", ".", "0", null], 3: ["2", "5", "6", null, null, null, ".", "0"], 4: [null, null, "7", "8", "5", "2", "1", null], 5: ["4", "7", "8", "9", "6", "3", "2", "1"], 6: ["5", "8", "9", "+", null, null, "3", "2"], 7: [null, null, null, "/", "8", "5", "4", null], 8: ["7", null, "/", "*", "9", "6", "5", "4"], 9: ["8", "/", "*", "-", "+", null, "6", "5"], "/": [null, null, null, null, "*", "9", "8", "7"], "*": ["/", null, null, null, "-", "+", "9", "8"], "-": ["*", null, null, null, null, null, "+", "9"], "+": ["9", "*", "-", null, null, null, null, "6"], ".": ["0", "2", "3", null, null, null, null, null] }, keypadMac: { 0: [null, "1", "2", "3", ".", null, null, null], 1: [null, null, "4", "5", "2", "0", null, null], 2: ["1", "4", "5", "6", "3", ".", "0", null], 3: ["2", "5", "6", "+", null, null, ".", "0"], 4: [null, null, "7", "8", "5", "2", "1", null], 5: ["4", "7", "8", "9", "6", "3", "2", "1"], 6: ["5", "8", "9", "-", "+", null, "3", "2"], 7: [null, null, null, "=", "8", "5", "4", null], 8: ["7", null, "=", "/", "9", "6", "5", "4"], 9: ["8", "=", "/", "*", "-", "+", "6", "5"], "=": [null, null, null, null, "/", "9", "8", "7"], "/": ["=", null, null, null, "*", "-", "9", "8"], "*": ["/", null, null, null, null, null, "-", "9"], "-": ["9", "/", "*", null, null, null, "+", "6"], "+": ["6", "9", "-", null, null, null, null, "3"], ".": ["0", "2", "3", null, null, null, null, null] }, qwerty: { 0: ["9(", null, null, "-_", "pP", "oO"], 1: ["`~", null, null, "2@", "qQ", null], 2: ["1!", null, null, "3#", "wW", "qQ"], 3: ["2@", null, null, "4$", "eE", "wW"], 4: ["3#", null, null, "5%", "rR", "eE"], 5: ["4$", null, null, "6^", "tT", "rR"], 6: ["5%", null, null, "7&", "yY", "tT"], 7: ["6^", null, null, "8*", "uU", "yY"], 8: ["7&", null, null, "9(", "iI", "uU"], 9: ["8*", null, null, "0)", "oO", "iI"], "`": [null, null, null, "1!", null, null], "~": [null, null, null, "1!", null, null], "!": ["`~", null, null, "2@", "qQ", null], "@": ["1!", null, null, "3#", "wW", "qQ"], "#": ["2@", null, null, "4$", "eE", "wW"], $: ["3#", null, null, "5%", "rR", "eE"], "%": ["4$", null, null, "6^", "tT", "rR"], "^": ["5%", null, null, "7&", "yY", "tT"], "&": ["6^", null, null, "8*", "uU", "yY"], "*": ["7&", null, null, "9(", "iI", "uU"], "(": ["8*", null, null, "0)", "oO", "iI"], ")": ["9(", null, null, "-_", "pP", "oO"], "-": ["0)", null, null, "=+", "[{", "pP"], _: ["0)", null, null, "=+", "[{", "pP"], "=": ["-_", null, null, null, "]}", "[{"], "+": ["-_", null, null, null, "]}", "[{"], q: [null, "1!", "2@", "wW", "aA", null], Q: [null, "1!", "2@", "wW", "aA", null], w: ["qQ", "2@", "3#", "eE", "sS", "aA"], W: ["qQ", "2@", "3#", "eE", "sS", "aA"], e: ["wW", "3#", "4$", "rR", "dD", "sS"], E: ["wW", "3#", "4$", "rR", "dD", "sS"], r: ["eE", "4$", "5%", "tT", "fF", "dD"], R: ["eE", "4$", "5%", "tT", "fF", "dD"], t: ["rR", "5%", "6^", "yY", "gG", "fF"], T: ["rR", "5%", "6^", "yY", "gG", "fF"], y: ["tT", "6^", "7&", "uU", "hH", "gG"], Y: ["tT", "6^", "7&", "uU", "hH", "gG"], u: ["yY", "7&", "8*", "iI", "jJ", "hH"], U: ["yY", "7&", "8*", "iI", "jJ", "hH"], i: ["uU", "8*", "9(", "oO", "kK", "jJ"], I: ["uU", "8*", "9(", "oO", "kK", "jJ"], o: ["iI", "9(", "0)", "pP", "lL", "kK"], O: ["iI", "9(", "0)", "pP", "lL", "kK"], p: ["oO", "0)", "-_", "[{", ";:", "lL"], P: ["oO", "0)", "-_", "[{", ";:", "lL"], "[": ["pP", "-_", "=+", "]}", `'"`, ";:"], "{": ["pP", "-_", "=+", "]}", `'"`, ";:"], "]": ["[{", "=+", null, "\\|", null, `'"`], "}": ["[{", "=+", null, "\\|", null, `'"`], "\\": ["]}", null, null, null, null, null], "|": ["]}", null, null, null, null, null], a: [null, "qQ", "wW", "sS", "zZ", null], A: [null, "qQ", "wW", "sS", "zZ", null], s: ["aA", "wW", "eE", "dD", "xX", "zZ"], S: ["aA", "wW", "eE", "dD", "xX", "zZ"], d: ["sS", "eE", "rR", "fF", "cC", "xX"], D: ["sS", "eE", "rR", "fF", "cC", "xX"], f: ["dD", "rR", "tT", "gG", "vV", "cC"], F: ["dD", "rR", "tT", "gG", "vV", "cC"], g: ["fF", "tT", "yY", "hH", "bB", "vV"], G: ["fF", "tT", "yY", "hH", "bB", "vV"], h: ["gG", "yY", "uU", "jJ", "nN", "bB"], H: ["gG", "yY", "uU", "jJ", "nN", "bB"], j: ["hH", "uU", "iI", "kK", "mM", "nN"], J: ["hH", "uU", "iI", "kK", "mM", "nN"], k: ["jJ", "iI", "oO", "lL", ",<", "mM"], K: ["jJ", "iI", "oO", "lL", ",<", "mM"], l: ["kK", "oO", "pP", ";:", ".>", ",<"], L: ["kK", "oO", "pP", ";:", ".>", ",<"], ";": ["lL", "pP", "[{", `'"`, "/?", ".>"], ":": ["lL", "pP", "[{", `'"`, "/?", ".>"], "'": [";:", "[{", "]}", null, null, "/?"], '"': [";:", "[{", "]}", null, null, "/?"], z: [null, "aA", "sS", "xX", null, null], Z: [null, "aA", "sS", "xX", null, null], x: ["zZ", "sS", "dD", "cC", null, null], X: ["zZ", "sS", "dD", "cC", null, null], c: ["xX", "dD", "fF", "vV", null, null], C: ["xX", "dD", "fF", "vV", null, null], v: ["cC", "fF", "gG", "bB", null, null], V: ["cC", "fF", "gG", "bB", null, null], b: ["vV", "gG", "hH", "nN", null, null], B: ["vV", "gG", "hH", "nN", null, null], n: ["bB", "hH", "jJ", "mM", null, null], N: ["bB", "hH", "jJ", "mM", null, null], m: ["nN", "jJ", "kK", ",<", null, null], M: ["nN", "jJ", "kK", ",<", null, null], ",": ["mM", "kK", "lL", ".>", null, null], "<": ["mM", "kK", "lL", ".>", null, null], ".": [",<", "lL", ";:", "/?", null, null], ">": [",<", "lL", ";:", "/?", null, null], "/": [".>", ";:", `'"`, null, null, null], "?": [".>", ";:", `'"`, null, null, null] }, qwertz: { 0: ["9)", null, null, "\xDF?", "pP", "oO"], 1: ["^\xB0", null, null, '2"', "qQ", null], 2: ["1!", null, null, "3\xA7", "wW", "qQ"], 3: ['2"', null, null, "4$", "eE", "wW"], 4: ["3\xA7", null, null, "5%", "rR", "eE"], 5: ["4$", null, null, "6&", "tT", "rR"], 6: ["5%", null, null, "7/", "zZ", "tT"], 7: ["6&", null, null, "8(", "uU", "zZ"], 8: ["7/", null, null, "9)", "iI", "uU"], 9: ["8(", null, null, "0=", "oO", "iI"], "^": [null, null, null, "1!", null, null], "\xB0": [null, null, null, "1!", null, null], "!": ["^\xB0", null, null, '2"', "qQ", null], '"': ["1!", null, null, "3\xA7", "wW", "qQ"], "\xA7": ['2"', null, null, "4$", "eE", "wW"], $: ["3\xA7", null, null, "5%", "rR", "eE"], "%": ["4$", null, null, "6&", "tT", "rR"], "&": ["5%", null, null, "7/", "zZ", "tT"], "/": ["6&", null, null, "8(", "uU", "zZ"], "(": ["7/", null, null, "9)", "iI", "uU"], ")": ["8(", null, null, "0=", "oO", "iI"], "=": ["9)", null, null, "\xDF?", "pP", "oO"], \u00DF: ["0=", null, null, "\xB4`", "\xFC\xDC", "pP"], "?": ["0=", null, null, "\xB4`", "\xFC\xDC", "pP"], "\xB4": ["\xDF?", null, null, null, "+*", "\xFC\xDC"], "`": ["\xDF?", null, null, null, "+*", "\xFC\xDC"], q: [null, "1!", '2"', "wW", "aA", null], Q: [null, "1!", '2"', "wW", "aA", null], w: ["qQ", '2"', "3\xA7", "eE", "sS", "aA"], W: ["qQ", '2"', "3\xA7", "eE", "sS", "aA"], e: ["wW", "3\xA7", "4$", "rR", "dD", "sS"], E: ["wW", "3\xA7", "4$", "rR", "dD", "sS"], r: ["eE", "4$", "5%", "tT", "fF", "dD"], R: ["eE", "4$", "5%", "tT", "fF", "dD"], t: ["rR", "5%", "6&", "zZ", "gG", "fF"], T: ["rR", "5%", "6&", "zZ", "gG", "fF"], z: ["tT", "6&", "7/", "uU", "hH", "gG"], Z: ["tT", "6&", "7/", "uU", "hH", "gG"], u: ["zZ", "7/", "8(", "iI", "jJ", "hH"], U: ["zZ", "7/", "8(", "iI", "jJ", "hH"], i: ["uU", "8(", "9)", "oO", "kK", "jJ"], I: ["uU", "8(", "9)", "oO", "kK", "jJ"], o: ["iI", "9)", "0=", "pP", "lL", "kK"], O: ["iI", "9)", "0=", "pP", "lL", "kK"], p: ["oO", "0=", "\xDF?", "\xFC\xDC", "\xF6\xD6", "lL"], P: ["oO", "0=", "\xDF?", "\xFC\xDC", "\xF6\xD6", "lL"], \u00FC: ["pP", "\xDF?", "\xB4`", "+*", "\xE4\xC4", "\xF6\xD6"], \u00DC: ["pP", "\xDF?", "\xB4`", "+*", "\xE4\xC4", "\xF6\xD6"], "+": ["\xFC\xDC", "\xB4`", null, null, "#'", "\xE4\xC4"], "*": ["\xFC\xDC", "\xB4`", null, null, "#'", "\xE4\xC4"], a: [null, "qQ", "wW", "sS", "yY", "<>"], A: [null, "qQ", "wW", "sS", "yY", "<>"], s: ["aA", "wW", "eE", "dD", "xX", "yY"], S: ["aA", "wW", "eE", "dD", "xX", "yY"], d: ["sS", "eE", "rR", "fF", "cC", "xX"], D: ["sS", "eE", "rR", "fF", "cC", "xX"], f: ["dD", "rR", "tT", "gG", "vV", "cC"], F: ["dD", "rR", "tT", "gG", "vV", "cC"], g: ["fF", "tT", "zZ", "hH", "bB", "vV"], G: ["fF", "tT", "zZ", "hH", "bB", "vV"], h: ["gG", "zZ", "uU", "jJ", "nN", "bB"], H: ["gG", "zZ", "uU", "jJ", "nN", "bB"], j: ["hH", "uU", "iI", "kK", "mM", "nN"], J: ["hH", "uU", "iI", "kK", "mM", "nN"], k: ["jJ", "iI", "oO", "lL", ",;", "mM"], K: ["jJ", "iI", "oO", "lL", ",;", "mM"], l: ["kK", "oO", "pP", "\xF6\xD6", ".:", ",;"], L: ["kK", "oO", "pP", "\xF6\xD6", ".:", ",;"], \u00F6: ["lL", "pP", "\xFC\xDC", "\xE4\xC4", "-_", ".:"], \u00D6: ["lL", "pP", "\xFC\xDC", "\xE4\xC4", "-_", ".:"], \u00E4: ["\xF6\xD6", "\xFC\xDC", "+*", "#'", null, "-_"], \u00C4: ["\xF6\xD6", "\xFC\xDC", "+*", "#'", null, "-_"], "#": ["\xE4\xC4", "+*", null, null, null, null], "'": ["\xE4\xC4", "+*", null, null, null, null], "<": [null, null, "aA", "yY", null, null], ">": [null, null, "aA", "yY", null, null], y: ["<>", "aA", "sS", "xX", null, null], Y: ["<>", "aA", "sS", "xX", null, null], x: ["yY", "sS", "dD", "cC", null, null], X: ["yY", "sS", "dD", "cC", null, null], c: ["xX", "dD", "fF", "vV", null, null], C: ["xX", "dD", "fF", "vV", null, null], v: ["cC", "fF", "gG", "bB", null, null], V: ["cC", "fF", "gG", "bB", null, null], b: ["vV", "gG", "hH", "nN", null, null], B: ["vV", "gG", "hH", "nN", null, null], n: ["bB", "hH", "jJ", "mM", null, null], N: ["bB", "hH", "jJ", "mM", null, null], m: ["nN", "jJ", "kK", ",;", null, null], M: ["nN", "jJ", "kK", ",;", null, null], ",": ["mM", "kK", "lL", ".:", null, null], ";": ["mM", "kK", "lL", ".:", null, null], ".": [",;", "lL", "\xF6\xD6", "-_", null, null], ":": [",;", "lL", "\xF6\xD6", "-_", null, null], "-": [".:", "\xF6\xD6", "\xE4\xC4", null, null, null], _: [".:", "\xF6\xD6", "\xE4\xC4", null, null, null] } };
      }, 388(e3, a2, t2) {
        var r2 = this && this.__awaiter || function(e4, a3, t3, r3) {
          return new (t3 || (t3 = Promise))(function(i3, n4) {
            function s3(e5) {
              try {
                l3(r3.next(e5));
              } catch (e6) {
                n4(e6);
              }
            }
            function o4(e5) {
              try {
                l3(r3.throw(e5));
              } catch (e6) {
                n4(e6);
              }
            }
            function l3(e5) {
              e5.done ? i3(e5.value) : new t3(function(a4) {
                a4(e5.value);
              }).then(s3, o4);
            }
            l3((r3 = r3.apply(e4, a3 || [])).next());
          });
        }, i2 = this && this.__generator || function(e4, a3) {
          var t3, r3, i3, n4, s3 = { label: 0, sent: function() {
            if (1 & i3[0]) throw i3[1];
            return i3[1];
          }, trys: [], ops: [] };
          return n4 = { next: o4(0), throw: o4(1), return: o4(2) }, "function" == typeof Symbol && (n4[Symbol.iterator] = function() {
            return this;
          }), n4;
          function o4(n5) {
            return function(o5) {
              var l3 = [n5, o5];
              if (t3) throw TypeError("Generator is already executing.");
              for (; s3; ) try {
                if (t3 = 1, r3 && (i3 = 2 & l3[0] ? r3.return : l3[0] ? r3.throw || ((i3 = r3.return) && i3.call(r3), 0) : r3.next) && !(i3 = i3.call(r3, l3[1])).done) return i3;
                switch (r3 = 0, i3 && (l3 = [2 & l3[0], i3.value]), l3[0]) {
                  case 0:
                  case 1:
                    i3 = l3;
                    break;
                  case 4:
                    return s3.label++, { value: l3[1], done: false };
                  case 5:
                    s3.label++, r3 = l3[1], l3 = [0];
                    continue;
                  case 7:
                    l3 = s3.ops.pop(), s3.trys.pop();
                    continue;
                  default:
                    if (!(i3 = (i3 = s3.trys).length > 0 && i3[i3.length - 1]) && (6 === l3[0] || 2 === l3[0])) {
                      s3 = 0;
                      continue;
                    }
                    if (3 === l3[0] && (!i3 || l3[1] > i3[0] && l3[1] < i3[3])) {
                      s3.label = l3[1];
                      break;
                    }
                    if (6 === l3[0] && s3.label < i3[1]) {
                      s3.label = i3[1], i3 = l3;
                      break;
                    }
                    if (i3 && s3.label < i3[2]) {
                      s3.label = i3[2], s3.ops.push(l3);
                      break;
                    }
                    i3[2] && s3.ops.pop(), s3.trys.pop();
                    continue;
                }
                l3 = a3.call(e4, s3);
              } catch (e5) {
                l3 = [6, e5], r3 = 0;
              } finally {
                t3 = i3 = 0;
              }
              if (5 & l3[0]) throw l3[1];
              return { value: l3[0] ? l3[1] : void 0, done: true };
            };
          }
        }, n3 = this;
        Object.defineProperty(a2, "__esModule", { value: true });
        var s2 = t2(58), o3 = "browser-tabs-lock-key", l2 = { key: function(e4) {
          return r2(n3, void 0, void 0, function() {
            return i2(this, function(e5) {
              throw Error("Unsupported");
            });
          });
        }, getItem: function(e4) {
          return r2(n3, void 0, void 0, function() {
            return i2(this, function(e5) {
              throw Error("Unsupported");
            });
          });
        }, clear: function() {
          return r2(n3, void 0, void 0, function() {
            return i2(this, function(e4) {
              return [2, window.localStorage.clear()];
            });
          });
        }, removeItem: function(e4) {
          return r2(n3, void 0, void 0, function() {
            return i2(this, function(e5) {
              throw Error("Unsupported");
            });
          });
        }, setItem: function(e4, a3) {
          return r2(n3, void 0, void 0, function() {
            return i2(this, function(e5) {
              throw Error("Unsupported");
            });
          });
        }, keySync: function(e4) {
          return window.localStorage.key(e4);
        }, getItemSync: function(e4) {
          return window.localStorage.getItem(e4);
        }, clearSync: function() {
          return window.localStorage.clear();
        }, removeItemSync: function(e4) {
          return window.localStorage.removeItem(e4);
        }, setItemSync: function(e4, a3) {
          return window.localStorage.setItem(e4, a3);
        } };
        function c2(e4) {
          return new Promise(function(a3) {
            return setTimeout(a3, e4);
          });
        }
        function d2(e4) {
          for (var a3 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz", t3 = "", r3 = 0; r3 < e4; r3++) {
            var i3 = Math.floor(Math.random() * a3.length);
            t3 += a3[i3];
          }
          return t3;
        }
        a2.default = (function() {
          function e4(a3) {
            this.acquiredIatSet = /* @__PURE__ */ new Set(), this.storageHandler = void 0, this.id = Date.now().toString() + d2(15), this.acquireLock = this.acquireLock.bind(this), this.releaseLock = this.releaseLock.bind(this), this.releaseLock__private__ = this.releaseLock__private__.bind(this), this.waitForSomethingToChange = this.waitForSomethingToChange.bind(this), this.refreshLockWhileAcquired = this.refreshLockWhileAcquired.bind(this), this.storageHandler = a3, void 0 === e4.waiters && (e4.waiters = []);
          }
          return e4.prototype.acquireLock = function(a3, t3) {
            return void 0 === t3 && (t3 = 5e3), r2(this, void 0, void 0, function() {
              var r3, n4, s3, u2, h2, m2, p2;
              return i2(this, function(i3) {
                switch (i3.label) {
                  case 0:
                    r3 = Date.now() + d2(4), n4 = Date.now() + t3, s3 = o3 + "-" + a3, u2 = void 0 === this.storageHandler ? l2 : this.storageHandler, i3.label = 1;
                  case 1:
                    if (!(Date.now() < n4)) return [3, 8];
                    return [4, c2(30)];
                  case 2:
                    if (i3.sent(), null !== u2.getItemSync(s3)) return [3, 5];
                    return h2 = this.id + "-" + a3 + "-" + r3, [4, c2(Math.floor(25 * Math.random()))];
                  case 3:
                    return i3.sent(), u2.setItemSync(s3, JSON.stringify({ id: this.id, iat: r3, timeoutKey: h2, timeAcquired: Date.now(), timeRefreshed: Date.now() })), [4, c2(30)];
                  case 4:
                    if (i3.sent(), null !== (m2 = u2.getItemSync(s3)) && (p2 = JSON.parse(m2)).id === this.id && p2.iat === r3) return this.acquiredIatSet.add(r3), this.refreshLockWhileAcquired(s3, r3), [2, true];
                    return [3, 7];
                  case 5:
                    return e4.lockCorrector(void 0 === this.storageHandler ? l2 : this.storageHandler), [4, this.waitForSomethingToChange(n4)];
                  case 6:
                    i3.sent(), i3.label = 7;
                  case 7:
                    return r3 = Date.now() + d2(4), [3, 1];
                  case 8:
                    return [2, false];
                }
              });
            });
          }, e4.prototype.refreshLockWhileAcquired = function(e5, a3) {
            return r2(this, void 0, void 0, function() {
              var t3 = this;
              return i2(this, function(n4) {
                return setTimeout(function() {
                  return r2(t3, void 0, void 0, function() {
                    var t4, r3, n5;
                    return i2(this, function(i3) {
                      switch (i3.label) {
                        case 0:
                          return [4, s2.default().lock(a3)];
                        case 1:
                          if (i3.sent(), !this.acquiredIatSet.has(a3) || null === (r3 = (t4 = void 0 === this.storageHandler ? l2 : this.storageHandler).getItemSync(e5))) return s2.default().unlock(a3), [2];
                          return (n5 = JSON.parse(r3)).timeRefreshed = Date.now(), t4.setItemSync(e5, JSON.stringify(n5)), s2.default().unlock(a3), this.refreshLockWhileAcquired(e5, a3), [2];
                      }
                    });
                  });
                }, 1e3), [2];
              });
            });
          }, e4.prototype.waitForSomethingToChange = function(a3) {
            return r2(this, void 0, void 0, function() {
              return i2(this, function(t3) {
                switch (t3.label) {
                  case 0:
                    return [4, new Promise(function(t4) {
                      var r3 = false, i3 = Date.now(), n4 = false;
                      function s3() {
                        if (n4 || (window.removeEventListener("storage", s3), e4.removeFromWaiting(s3), clearTimeout(o4), n4 = true), !r3) {
                          r3 = true;
                          var a4 = 50 - (Date.now() - i3);
                          a4 > 0 ? setTimeout(t4, a4) : t4(null);
                        }
                      }
                      window.addEventListener("storage", s3), e4.addToWaiting(s3);
                      var o4 = setTimeout(s3, Math.max(0, a3 - Date.now()));
                    })];
                  case 1:
                    return t3.sent(), [2];
                }
              });
            });
          }, e4.addToWaiting = function(a3) {
            this.removeFromWaiting(a3), void 0 !== e4.waiters && e4.waiters.push(a3);
          }, e4.removeFromWaiting = function(a3) {
            void 0 !== e4.waiters && (e4.waiters = e4.waiters.filter(function(e5) {
              return e5 !== a3;
            }));
          }, e4.notifyWaiters = function() {
            void 0 !== e4.waiters && e4.waiters.slice().forEach(function(e5) {
              return e5();
            });
          }, e4.prototype.releaseLock = function(e5) {
            return r2(this, void 0, void 0, function() {
              return i2(this, function(a3) {
                switch (a3.label) {
                  case 0:
                    return [4, this.releaseLock__private__(e5)];
                  case 1:
                    return [2, a3.sent()];
                }
              });
            });
          }, e4.prototype.releaseLock__private__ = function(a3) {
            return r2(this, void 0, void 0, function() {
              var t3, r3, n4, c3;
              return i2(this, function(i3) {
                switch (i3.label) {
                  case 0:
                    if (t3 = void 0 === this.storageHandler ? l2 : this.storageHandler, r3 = o3 + "-" + a3, null === (n4 = t3.getItemSync(r3))) return [2];
                    if ((c3 = JSON.parse(n4)).id !== this.id) return [3, 2];
                    return [4, s2.default().lock(c3.iat)];
                  case 1:
                    i3.sent(), this.acquiredIatSet.delete(c3.iat), t3.removeItemSync(r3), s2.default().unlock(c3.iat), e4.notifyWaiters(), i3.label = 2;
                  case 2:
                    return [2];
                }
              });
            });
          }, e4.lockCorrector = function(a3) {
            for (var t3 = Date.now() - 5e3, r3 = [], i3 = 0; ; ) {
              var n4 = a3.keySync(i3);
              if (null === n4) break;
              r3.push(n4), i3++;
            }
            for (var s3 = false, l3 = 0; l3 < r3.length; l3++) {
              var c3 = r3[l3];
              if (c3.includes(o3)) {
                var d3 = a3.getItemSync(c3);
                if (null !== d3) {
                  var u2 = JSON.parse(d3);
                  (void 0 === u2.timeRefreshed && u2.timeAcquired < t3 || void 0 !== u2.timeRefreshed && u2.timeRefreshed < t3) && (a3.removeItemSync(c3), s3 = true);
                }
              }
            }
            s3 && e4.notifyWaiters();
          }, e4.waiters = void 0, e4;
        })();
      }, 58(e3, a2) {
        Object.defineProperty(a2, "__esModule", { value: true });
        var t2 = (function() {
          function e4() {
            var e5 = this;
            this.locked = /* @__PURE__ */ new Map(), this.addToLocked = function(a3, t3) {
              var r2 = e5.locked.get(a3);
              void 0 === r2 ? void 0 === t3 ? e5.locked.set(a3, []) : e5.locked.set(a3, [t3]) : void 0 !== t3 && (r2.unshift(t3), e5.locked.set(a3, r2));
            }, this.isLocked = function(a3) {
              return e5.locked.has(a3);
            }, this.lock = function(a3) {
              return new Promise(function(t3, r2) {
                e5.isLocked(a3) ? e5.addToLocked(a3, t3) : (e5.addToLocked(a3), t3());
              });
            }, this.unlock = function(a3) {
              var t3 = e5.locked.get(a3);
              if (void 0 === t3 || 0 === t3.length) return void e5.locked.delete(a3);
              var r2 = t3.pop();
              e5.locked.set(a3, t3), void 0 !== r2 && setTimeout(r2, 0);
            };
          }
          return e4.getInstance = function() {
            return void 0 === e4.instance && (e4.instance = new e4()), e4.instance;
          }, e4;
        })();
        a2.default = function() {
          return t2.getInstance();
        };
      }, 513(e3, a2, t2) {
        var r2;
        e3.exports = r2 || (function(e4) {
          if ("u" > typeof window && window.crypto && (a3 = window.crypto), "u" > typeof self && self.crypto && (a3 = self.crypto), "u" > typeof globalThis && globalThis.crypto && (a3 = globalThis.crypto), !a3 && "u" > typeof window && window.msCrypto && (a3 = window.msCrypto), !a3 && void 0 !== t2.g && t2.g.crypto && (a3 = t2.g.crypto), !a3) try {
            a3 = t2(488);
          } catch (e5) {
          }
          var a3, r3 = function() {
            if (a3) {
              if ("function" == typeof a3.getRandomValues) try {
                return a3.getRandomValues(new Uint32Array(1))[0];
              } catch (e5) {
              }
              if ("function" == typeof a3.randomBytes) try {
                return a3.randomBytes(4).readInt32LE();
              } catch (e5) {
              }
            }
            throw Error("Native crypto module could not be used to get secure random number.");
          }, i2 = Object.create || /* @__PURE__ */ (function() {
            function e5() {
            }
            return function(a4) {
              var t3;
              return e5.prototype = a4, t3 = new e5(), e5.prototype = null, t3;
            };
          })(), n3 = {}, s2 = n3.lib = {}, o3 = s2.Base = { extend: function(e5) {
            var a4 = i2(this);
            return e5 && a4.mixIn(e5), a4.hasOwnProperty("init") && this.init !== a4.init || (a4.init = function() {
              a4.$super.init.apply(this, arguments);
            }), a4.init.prototype = a4, a4.$super = this, a4;
          }, create: function() {
            var e5 = this.extend();
            return e5.init.apply(e5, arguments), e5;
          }, init: function() {
          }, mixIn: function(e5) {
            for (var a4 in e5) e5.hasOwnProperty(a4) && (this[a4] = e5[a4]);
            e5.hasOwnProperty("toString") && (this.toString = e5.toString);
          }, clone: function() {
            return this.init.prototype.extend(this);
          } }, l2 = s2.WordArray = o3.extend({ init: function(e5, a4) {
            e5 = this.words = e5 || [], void 0 != a4 ? this.sigBytes = a4 : this.sigBytes = 4 * e5.length;
          }, toString: function(e5) {
            return (e5 || d2).stringify(this);
          }, concat: function(e5) {
            var a4 = this.words, t3 = e5.words, r4 = this.sigBytes, i3 = e5.sigBytes;
            if (this.clamp(), r4 % 4) for (var n4 = 0; n4 < i3; n4++) {
              var s3 = t3[n4 >>> 2] >>> 24 - n4 % 4 * 8 & 255;
              a4[r4 + n4 >>> 2] |= s3 << 24 - (r4 + n4) % 4 * 8;
            }
            else for (var o4 = 0; o4 < i3; o4 += 4) a4[r4 + o4 >>> 2] = t3[o4 >>> 2];
            return this.sigBytes += i3, this;
          }, clamp: function() {
            var a4 = this.words, t3 = this.sigBytes;
            a4[t3 >>> 2] &= 4294967295 << 32 - t3 % 4 * 8, a4.length = e4.ceil(t3 / 4);
          }, clone: function() {
            var e5 = o3.clone.call(this);
            return e5.words = this.words.slice(0), e5;
          }, random: function(e5) {
            for (var a4 = [], t3 = 0; t3 < e5; t3 += 4) a4.push(r3());
            return new l2.init(a4, e5);
          } }), c2 = n3.enc = {}, d2 = c2.Hex = { stringify: function(e5) {
            for (var a4 = e5.words, t3 = e5.sigBytes, r4 = [], i3 = 0; i3 < t3; i3++) {
              var n4 = a4[i3 >>> 2] >>> 24 - i3 % 4 * 8 & 255;
              r4.push((n4 >>> 4).toString(16)), r4.push((15 & n4).toString(16));
            }
            return r4.join("");
          }, parse: function(e5) {
            for (var a4 = e5.length, t3 = [], r4 = 0; r4 < a4; r4 += 2) t3[r4 >>> 3] |= parseInt(e5.substr(r4, 2), 16) << 24 - r4 % 8 * 4;
            return new l2.init(t3, a4 / 2);
          } }, u2 = c2.Latin1 = { stringify: function(e5) {
            for (var a4 = e5.words, t3 = e5.sigBytes, r4 = [], i3 = 0; i3 < t3; i3++) {
              var n4 = a4[i3 >>> 2] >>> 24 - i3 % 4 * 8 & 255;
              r4.push(String.fromCharCode(n4));
            }
            return r4.join("");
          }, parse: function(e5) {
            for (var a4 = e5.length, t3 = [], r4 = 0; r4 < a4; r4++) t3[r4 >>> 2] |= (255 & e5.charCodeAt(r4)) << 24 - r4 % 4 * 8;
            return new l2.init(t3, a4);
          } }, h2 = c2.Utf8 = { stringify: function(e5) {
            try {
              return decodeURIComponent(escape(u2.stringify(e5)));
            } catch (e6) {
              throw Error("Malformed UTF-8 data");
            }
          }, parse: function(e5) {
            return u2.parse(unescape(encodeURIComponent(e5)));
          } }, m2 = s2.BufferedBlockAlgorithm = o3.extend({ reset: function() {
            this._data = new l2.init(), this._nDataBytes = 0;
          }, _append: function(e5) {
            "string" == typeof e5 && (e5 = h2.parse(e5)), this._data.concat(e5), this._nDataBytes += e5.sigBytes;
          }, _process: function(a4) {
            var t3, r4 = this._data, i3 = r4.words, n4 = r4.sigBytes, s3 = this.blockSize, o4 = n4 / (4 * s3), c3 = (o4 = a4 ? e4.ceil(o4) : e4.max((0 | o4) - this._minBufferSize, 0)) * s3, d3 = e4.min(4 * c3, n4);
            if (c3) {
              for (var u3 = 0; u3 < c3; u3 += s3) this._doProcessBlock(i3, u3);
              t3 = i3.splice(0, c3), r4.sigBytes -= d3;
            }
            return new l2.init(t3, d3);
          }, clone: function() {
            var e5 = o3.clone.call(this);
            return e5._data = this._data.clone(), e5;
          }, _minBufferSize: 0 });
          s2.Hasher = m2.extend({ cfg: o3.extend(), init: function(e5) {
            this.cfg = this.cfg.extend(e5), this.reset();
          }, reset: function() {
            m2.reset.call(this), this._doReset();
          }, update: function(e5) {
            return this._append(e5), this._process(), this;
          }, finalize: function(e5) {
            return e5 && this._append(e5), this._doFinalize();
          }, blockSize: 16, _createHelper: function(e5) {
            return function(a4, t3) {
              return new e5.init(t3).finalize(a4);
            };
          }, _createHmacHelper: function(e5) {
            return function(a4, t3) {
              return new p2.HMAC.init(e5, t3).finalize(a4);
            };
          } });
          var p2 = n3.algo = {};
          return n3;
        })(Math);
      }, 662(e3, a2, t2) {
        var r2, i2;
        i2 = (r2 = t2(513)).lib.WordArray, r2.enc.Base64 = { stringify: function(e4) {
          var a3 = e4.words, t3 = e4.sigBytes, r3 = this._map;
          e4.clamp();
          for (var i3 = [], n3 = 0; n3 < t3; n3 += 3) for (var s2 = (a3[n3 >>> 2] >>> 24 - n3 % 4 * 8 & 255) << 16 | (a3[n3 + 1 >>> 2] >>> 24 - (n3 + 1) % 4 * 8 & 255) << 8 | a3[n3 + 2 >>> 2] >>> 24 - (n3 + 2) % 4 * 8 & 255, o3 = 0; o3 < 4 && n3 + 0.75 * o3 < t3; o3++) i3.push(r3.charAt(s2 >>> 6 * (3 - o3) & 63));
          var l2 = r3.charAt(64);
          if (l2) for (; i3.length % 4; ) i3.push(l2);
          return i3.join("");
        }, parse: function(e4) {
          var a3 = e4.length, t3 = this._map, r3 = this._reverseMap;
          if (!r3) {
            r3 = this._reverseMap = [];
            for (var n3 = 0; n3 < t3.length; n3++) r3[t3.charCodeAt(n3)] = n3;
          }
          var s2 = t3.charAt(64);
          if (s2) {
            var o3 = e4.indexOf(s2);
            -1 !== o3 && (a3 = o3);
          }
          for (var l2 = e4, c2 = a3, d2 = r3, u2 = [], h2 = 0, m2 = 0; m2 < c2; m2++) if (m2 % 4) {
            var p2 = d2[l2.charCodeAt(m2 - 1)] << m2 % 4 * 2 | d2[l2.charCodeAt(m2)] >>> 6 - m2 % 4 * 2;
            u2[h2 >>> 2] |= p2 << 24 - h2 % 4 * 8, h2++;
          }
          return i2.create(u2, h2);
        }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" }, e3.exports = r2.enc.Base64;
      }, 515(e3, a2, t2) {
        var r2, i2, n3, s2, o3, l2, c2;
        n3 = (i2 = (r2 = t2(513)).lib).WordArray, s2 = i2.Hasher, o3 = r2.algo, l2 = [], c2 = o3.SHA1 = s2.extend({ _doReset: function() {
          this._hash = new n3.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]);
        }, _doProcessBlock: function(e4, a3) {
          for (var t3 = this._hash.words, r3 = t3[0], i3 = t3[1], n4 = t3[2], s3 = t3[3], o4 = t3[4], c3 = 0; c3 < 80; c3++) {
            if (c3 < 16) l2[c3] = 0 | e4[a3 + c3];
            else {
              var d2 = l2[c3 - 3] ^ l2[c3 - 8] ^ l2[c3 - 14] ^ l2[c3 - 16];
              l2[c3] = d2 << 1 | d2 >>> 31;
            }
            var u2 = (r3 << 5 | r3 >>> 27) + o4 + l2[c3];
            c3 < 20 ? u2 += (i3 & n4 | ~i3 & s3) + 1518500249 : c3 < 40 ? u2 += (i3 ^ n4 ^ s3) + 1859775393 : c3 < 60 ? u2 += (i3 & n4 | i3 & s3 | n4 & s3) - 1894007588 : u2 += (i3 ^ n4 ^ s3) - 899497514, o4 = s3, s3 = n4, n4 = i3 << 30 | i3 >>> 2, i3 = r3, r3 = u2;
          }
          t3[0] = t3[0] + r3 | 0, t3[1] = t3[1] + i3 | 0, t3[2] = t3[2] + n4 | 0, t3[3] = t3[3] + s3 | 0, t3[4] = t3[4] + o4 | 0;
        }, _doFinalize: function() {
          var e4 = this._data, a3 = e4.words, t3 = 8 * this._nDataBytes, r3 = 8 * e4.sigBytes;
          return a3[r3 >>> 5] |= 128 << 24 - r3 % 32, a3[(r3 + 64 >>> 9 << 4) + 14] = Math.floor(t3 / 4294967296), a3[(r3 + 64 >>> 9 << 4) + 15] = t3, e4.sigBytes = 4 * a3.length, this._process(), this._hash;
        }, clone: function() {
          var e4 = s2.clone.call(this);
          return e4._hash = this._hash.clone(), e4;
        } }), r2.SHA1 = s2._createHelper(c2), r2.HmacSHA1 = s2._createHmacHelper(c2), e3.exports = r2.SHA1;
      }, 547(e3) {
        e3.exports = function(e4, a2) {
          if ("string" != typeof e4) throw TypeError("Expected a string");
          for (var t2, r2 = String(e4), i2 = "", n3 = !!a2 && !!a2.extended, s2 = !!a2 && !!a2.globstar, o3 = false, l2 = a2 && "string" == typeof a2.flags ? a2.flags : "", c2 = 0, d2 = r2.length; c2 < d2; c2++) switch (t2 = r2[c2]) {
            case "/":
            case "$":
            case "^":
            case "+":
            case ".":
            case "(":
            case ")":
            case "=":
            case "!":
            case "|":
              i2 += "\\" + t2;
              break;
            case "?":
              if (n3) {
                i2 += ".";
                break;
              }
            case "[":
            case "]":
              if (n3) {
                i2 += t2;
                break;
              }
            case "{":
              if (n3) {
                o3 = true, i2 += "(";
                break;
              }
            case "}":
              if (n3) {
                o3 = false, i2 += ")";
                break;
              }
            case ",":
              if (o3) {
                i2 += "|";
                break;
              }
              i2 += "\\" + t2;
              break;
            case "*":
              for (var u2 = r2[c2 - 1], h2 = 1; "*" === r2[c2 + 1]; ) h2++, c2++;
              var m2 = r2[c2 + 1];
              s2 ? h2 > 1 && ("/" === u2 || void 0 === u2) && ("/" === m2 || void 0 === m2) ? (i2 += "((?:[^/]*(?:/|$))*)", c2++) : i2 += "([^/]*)" : i2 += ".*";
              break;
            default:
              i2 += t2;
          }
          return l2 && ~l2.indexOf("g") || (i2 = "^" + i2 + "$"), new RegExp(i2, l2);
        };
      }, 488() {
      }, 410(e3, a2, t2) {
        let r2, i2;
        t2.d(a2, { getWallets: () => d2 });
        var n3, s2 = function(e4, a3, t3, r3) {
          if ("a" === t3 && !r3) throw TypeError("Private accessor was defined without a getter");
          if ("function" == typeof a3 ? e4 !== a3 || !r3 : !a3.has(e4)) throw TypeError("Cannot read private member from an object whose class did not declare it");
          return "m" === t3 ? r3 : "a" === t3 ? r3.call(e4) : r3 ? r3.value : a3.get(e4);
        }, o3 = function(e4, a3, t3, r3, i3) {
          if ("m" === r3) throw TypeError("Private method is not writable");
          if ("a" === r3 && !i3) throw TypeError("Private accessor was defined without a setter");
          if ("function" == typeof a3 ? e4 !== a3 || !i3 : !a3.has(e4)) throw TypeError("Cannot write private member to an object whose class did not declare it");
          return "a" === r3 ? i3.call(e4, t3) : i3 ? i3.value = t3 : a3.set(e4, t3), t3;
        };
        let l2 = /* @__PURE__ */ new Set(), c2 = {};
        function d2() {
          if (i2 || (i2 = Object.freeze({ register: u2, get: h2, on: m2 }), "u" < typeof window)) return i2;
          let e4 = Object.freeze({ register: u2 });
          try {
            window.addEventListener("wallet-standard:register-wallet", ({ detail: a3 }) => a3(e4));
          } catch (e5) {
            console.error("wallet-standard:register-wallet event listener could not be added\n", e5);
          }
          try {
            window.dispatchEvent(new g2(e4));
          } catch (e5) {
            console.error("wallet-standard:app-ready event could not be dispatched\n", e5);
          }
          return i2;
        }
        function u2(...e4) {
          return (e4 = e4.filter((e5) => !l2.has(e5))).length ? (e4.forEach((e5) => {
            r2 = void 0, l2.add(e5);
          }), c2.register?.forEach((a3) => p2(() => a3(...e4))), function() {
            e4.forEach((e5) => {
              r2 = void 0, l2.delete(e5);
            }), c2.unregister?.forEach((a3) => p2(() => a3(...e4)));
          }) : () => {
          };
        }
        function h2() {
          return r2 || (r2 = [...l2]), r2;
        }
        function m2(e4, a3) {
          return c2[e4]?.push(a3) || (c2[e4] = [a3]), function() {
            c2[e4] = c2[e4]?.filter((e5) => a3 !== e5);
          };
        }
        function p2(e4) {
          try {
            e4();
          } catch (e5) {
            console.error(e5);
          }
        }
        var g2 = class extends Event {
          get detail() {
            return s2(this, n3, "f");
          }
          get type() {
            return "wallet-standard:app-ready";
          }
          constructor(e4) {
            super("wallet-standard:app-ready", { bubbles: false, cancelable: false, composed: false }), n3.set(this, void 0), o3(this, n3, e4, "f");
          }
          preventDefault() {
            throw Error("preventDefault cannot be called");
          }
          stopImmediatePropagation() {
            throw Error("stopImmediatePropagation cannot be called");
          }
          stopPropagation() {
            throw Error("stopPropagation cannot be called");
          }
        };
        n3 = /* @__PURE__ */ new WeakMap();
      }, 118(e3, a2, t2) {
        t2.d(a2, { t: () => r2 });
        let r2 = (...e4) => {
        };
      }, 536(e3, a2, t2) {
        function r2(e4) {
          return Promise.all(Array.from(e4).map((e5) => e5.then((e6) => ({ status: "fulfilled", value: e6 }), (e6) => ({ status: "rejected", reason: e6 }))));
        }
        t2.d(a2, { a: () => r2 });
      }, 9(e3, a2, t2) {
        function r2(e4, a3, t3) {
          return "function" == typeof e4 ? e4(a3) : void 0 !== e4 ? e4 : void 0 !== t3 ? t3 : void 0;
        }
        t2.d(a2, { vd: () => n3.a, VK: () => r2, lQ: () => i2.t });
        var i2 = t2(118), n3 = t2(536);
      } };
      r = {};
      i.n = (e3) => {
        var a2 = e3 && e3.__esModule ? () => e3.default : () => e3;
        return i.d(a2, { a: a2 }), a2;
      }, a = Object.getPrototypeOf ? (e3) => Object.getPrototypeOf(e3) : (e3) => e3.__proto__, i.t = function(t2, r2) {
        if (1 & r2 && (t2 = this(t2)), 8 & r2 || "object" == typeof t2 && t2 && (4 & r2 && t2.__esModule || 16 & r2 && "function" == typeof t2.then)) return t2;
        var n3 = /* @__PURE__ */ Object.create(null);
        i.r(n3);
        var s2 = {};
        e = e || [null, a({}), a([]), a(a)];
        for (var o3 = 2 & r2 && t2; ("object" == typeof o3 || "function" == typeof o3) && !~e.indexOf(o3); o3 = a(o3)) Object.getOwnPropertyNames(o3).forEach((e3) => {
          s2[e3] = () => t2[e3];
        });
        return s2.default = () => t2, i.d(n3, s2), n3;
      }, i.d = (e3, a2) => {
        for (var t2 in a2) i.o(a2, t2) && !i.o(e3, t2) && Object.defineProperty(e3, t2, { enumerable: true, get: a2[t2] });
      }, i.g = (() => {
        if ("object" == typeof globalThis) return globalThis;
        try {
          return Function("return this")();
        } catch (e3) {
          if ("object" == typeof window) return window;
        }
      })(), i.o = (e3, a2) => Object.prototype.hasOwnProperty.call(e3, a2), i.r = (e3) => {
        "u" > typeof Symbol && Symbol.toStringTag && Object.defineProperty(e3, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e3, "__esModule", { value: true });
      };
      n = {};
      (() => {
        let e3, a2, t2, r2, s2;
        function o3() {
          return "u" > typeof window;
        }
        i.d(n, { Ys: () => P, hl: () => W, NZ: () => A, si: () => D, LR: () => x, ux: () => F, _d: () => N, $R: () => q, Cm: () => _3, kl: () => T, c2: () => iQ, cR: () => j });
        let l2 = RegExp("bot|spider|crawl|APIs-Google|AdsBot|Googlebot|mediapartners|Google Favicon|FeedFetcher|Google-Read-Aloud|DuplexWeb-Google|googleweblight|bing|yandex|baidu|duckduck|yahoo|ecosia|ia_archiver|facebook|instagram|pinterest|reddit|slack|twitter|whatsapp|youtube|semrush", "i");
        function c2() {
          var e10;
          let a10 = o3() ? window?.navigator : null;
          return !!a10 && !((e10 = a10?.userAgent) && l2.test(e10)) && !a10?.webdriver;
        }
        function d2() {
          let e10 = o3() ? window?.navigator : null;
          return !!e10 && ("boolean" != typeof e10.onLine || !!e10.onLine);
        }
        function u2() {
          return d2() && c2();
        }
        let h2 = (e10, a10, t10, r10, i2) => {
          let { notify: n3 } = i2 || {}, s3 = e10.get(t10);
          s3 || (s3 = [], e10.set(t10, s3)), s3.push(r10), n3 && a10.has(t10) && r10(a10.get(t10));
        }, m2 = (e10, a10, t10) => (e10.get(a10) || []).map((e11) => e11(t10)), p2 = (e10, a10, t10) => {
          let r10 = e10.get(a10);
          r10 && (t10 ? r10.splice(r10.indexOf(t10) >>> 0, 1) : e10.set(a10, []));
        }, g2 = () => {
          let e10 = /* @__PURE__ */ new Map(), a10 = /* @__PURE__ */ new Map(), t10 = /* @__PURE__ */ new Map();
          return { on: (...t11) => h2(e10, a10, ...t11), prioritizedOn: (...e11) => h2(t10, a10, ...e11), emit: (r10, i2) => {
            a10.set(r10, i2), m2(t10, r10, i2), m2(e10, r10, i2);
          }, off: (...a11) => p2(e10, ...a11), prioritizedOff: (...e11) => p2(t10, ...e11), internal: { retrieveListeners: (a11) => e10.get(a11) || [] } };
        }, b2 = "status";
        function f3(e10) {
          return function(a10) {
            let t10 = a10 ?? this;
            if (!t10) throw TypeError(`${e10.kind || e10.name} type guard requires an error object`);
            return !!e10.kind && "object" == typeof t10 && null !== t10 && "constructor" in t10 && t10.constructor?.kind === e10.kind || t10 instanceof e10;
          };
        }
        var y, k, w, v = class e10 extends Error {
          static kind = "ClerkError";
          clerkError = true;
          code;
          longMessage;
          docsUrl;
          cause;
          get name() {
            return this.constructor.name;
          }
          constructor(a10) {
            super(new.target.formatMessage(new.target.kind, a10.message, a10.code, a10.docsUrl), { cause: a10.cause }), Object.setPrototypeOf(this, e10.prototype), this.code = a10.code, this.docsUrl = a10.docsUrl, this.longMessage = a10.longMessage, this.cause = a10.cause;
          }
          toString() {
            return `[${this.name}]
Message:${this.message}`;
          }
          static formatMessage(e11, a10, t10, r10) {
            let i2 = "Clerk:", n3 = RegExp(i2.replace(" ", "\\s*"), "i");
            return a10 = a10.replace(n3, ""), a10 = `${i2} ${a10.trim()}

(code="${t10}")

`, r10 && (a10 += `

Docs: ${r10}`), a10;
          }
        }, j = class e10 extends v {
          static kind = "ClerkRuntimeError";
          clerkRuntimeError = true;
          constructor(a10, t10) {
            super({ ...t10, message: a10 }), Object.setPrototypeOf(this, e10.prototype);
          }
        };
        let _3 = f3(j);
        var z = class {
          static kind = "ClerkAPIError";
          code;
          message;
          longMessage;
          meta;
          constructor(e10) {
            let a10 = { code: e10.code, message: e10.message, longMessage: e10.long_message, meta: { paramName: e10.meta?.param_name, sessionId: e10.meta?.session_id, emailAddresses: e10.meta?.email_addresses, identifiers: e10.meta?.identifiers, zxcvbn: e10.meta?.zxcvbn, plan: e10.meta?.plan, isPlanUpgradePossible: e10.meta?.is_plan_upgrade_possible } };
            this.code = a10.code, this.message = a10.message, this.longMessage = a10.longMessage, this.meta = a10.meta;
          }
        };
        f3(z);
        var x = class e10 extends v {
          static kind = "ClerkAPIResponseError";
          status;
          clerkTraceId;
          retryAfter;
          errors;
          constructor(a10, t10) {
            let { data: r10, status: i2, clerkTraceId: n3, retryAfter: s3 } = t10;
            super({ ...t10, message: a10, code: "api_response_error" }), Object.setPrototypeOf(this, e10.prototype), this.status = i2, this.clerkTraceId = n3, this.retryAfter = s3, this.errors = (r10 || []).map((e11) => new z(e11));
          }
          toString() {
            let e11 = `[${this.name}]
Message:${this.message}
Status:${this.status}
Serialized errors: ${this.errors.map((e12) => JSON.stringify(e12))}`;
            return this.clerkTraceId && (e11 += `
Clerk Trace ID: ${this.clerkTraceId}`), e11;
          }
          static formatMessage(e11, a10, t10, r10) {
            return a10;
          }
        };
        let q = f3(x);
        var S2 = class e10 extends x {
          static kind = "MissingExpiredTokenError";
          static ERROR_CODE = "missing_expired_token";
          static STATUS = 422;
          static is(a10) {
            return q(a10) && a10.status === e10.STATUS && a10.errors.length > 0 && a10.errors[0].code === e10.ERROR_CODE;
          }
        }, I = class e10 extends j {
          static kind = "ClerkOfflineError";
          static ERROR_CODE = "clerk_offline";
          constructor(a10) {
            super(a10, { code: e10.ERROR_CODE }), Object.setPrototypeOf(this, e10.prototype);
          }
          static is(a10) {
            return null != a10 && (a10 instanceof e10 || _3(a10) && a10.code === e10.ERROR_CODE);
          }
        };
        let U2 = Object.freeze({ InvalidProxyUrlErrorMessage: "The proxyUrl passed to Clerk is invalid. The expected value for proxyUrl is an absolute URL or a relative path with a leading '/'. (key={{url}})", InvalidPublishableKeyErrorMessage: "The publishableKey passed to Clerk is invalid. You can get your Publishable key at https://dashboard.clerk.com/last-active?path=api-keys. (key={{key}})", MissingPublishableKeyErrorMessage: "Missing publishableKey. You can get your key at https://dashboard.clerk.com/last-active?path=api-keys.", MissingSecretKeyErrorMessage: "Missing secretKey. You can get your key at https://dashboard.clerk.com/last-active?path=api-keys.", MissingClerkProvider: "{{source}} can only be used within the <ClerkProvider /> component. Learn more: https://clerk.com/docs/components/clerk-provider" });
        function C({ packageName: e10, customMessages: a10 }) {
          let t10 = e10;
          function r10(e11, a11) {
            if (!a11) return `${t10}: ${e11}`;
            let r11 = e11;
            for (let t11 of e11.matchAll(/{{([a-zA-Z0-9-_]+)}}/g)) {
              let e12 = (a11[t11[1]] || "").toString();
              r11 = r11.replace(`{{${t11[1]}}}`, e12);
            }
            return `${t10}: ${r11}`;
          }
          let i2 = { ...U2, ...a10 };
          return { setPackageName({ packageName: e11 }) {
            return "string" == typeof e11 && (t10 = e11), this;
          }, setMessages({ customMessages: e11 }) {
            return Object.assign(i2, e11 || {}), this;
          }, throwInvalidPublishableKeyError(e11) {
            throw Error(r10(i2.InvalidPublishableKeyErrorMessage, e11));
          }, throwInvalidProxyUrl(e11) {
            throw Error(r10(i2.InvalidProxyUrlErrorMessage, e11));
          }, throwMissingPublishableKeyError() {
            throw Error(r10(i2.MissingPublishableKeyErrorMessage));
          }, throwMissingSecretKeyError() {
            throw Error(r10(i2.MissingSecretKeyErrorMessage));
          }, throwMissingClerkProviderError(e11) {
            throw Error(r10(i2.MissingClerkProvider, e11));
          }, throw(e11) {
            throw Error(r10(e11));
          } };
        }
        var A = class e10 extends Error {
          code;
          constructor(a10) {
            super(a10), this.code = a10, this.name = "EmailLinkError", Object.setPrototypeOf(this, e10.prototype);
          }
        };
        let P = { Expired: "expired", Failed: "failed", ClientMismatch: "client_mismatch" }, T = { Expired: "expired", Failed: "failed", ClientMismatch: "client_mismatch" };
        var O = class extends j {
          code;
          constructor(e10, a10) {
            super(e10, a10), this.code = a10.code;
          }
        };
        function E(e10) {
          return ["captcha_invalid", "captcha_not_enabled", "captcha_missing_token"].includes(e10.errors[0].code);
        }
        function R(e10) {
          let a10 = e10?.status;
          return !!a10 && a10 >= 400 && a10 < 500;
        }
        function M(e10) {
          let a10 = e10?.status;
          return 401 === a10 || 422 === a10;
        }
        function F(e10) {
          return q(e10) || D(e10) || _3(e10);
        }
        function D(e10) {
          return "code" in e10 && [4001, 32602, 32603].includes(e10.code) && "message" in e10;
        }
        function N(e10) {
          return q(e10) && e10.errors?.[0]?.code === "user_locked";
        }
        function W(e10) {
          return "EmailLinkError" === e10.name;
        }
        function L(e10) {
          for (let [a10, t10] of Object.entries({ isClerkAPIResponseError: q, isClerkRuntimeError: _3 })) Object.assign(e10, { [a10]: t10 });
          return e10;
        }
        let $2 = (e10, a10) => !!(e10.isSignedIn && a10?.authConfig.singleSessionMode), B = (e10, a10) => !a10?.commerceSettings.billing.user.enabled && !a10?.commerceSettings.billing.organization.enabled, K = (e10, a10) => !a10?.apiKeysSettings?.user_api_keys_enabled, J = (e10, a10) => !a10?.apiKeysSettings?.orgs_api_keys_enabled, V = "__clerk_synced", H = "false", G = "true", Q = "suffixed_cookies", Y2 = "__clerk_satellite_url";
        var Z = i(547);
        let X = /* @__PURE__ */ new Set(), ee = (e10) => {
          X.has(e10) || (X.add(e10), console.warn(e10));
        }, ea = (e10, a10) => {
          let t10 = {};
          for (let r10 in e10) t10[r10] = a10(e10[r10], r10);
          return t10;
        }, et = (e10, a10) => {
          let t10 = {};
          for (let r10 in e10) e10[r10] && a10(e10[r10]) && (t10[r10] = e10[r10]);
          return t10;
        };
        function er(e10) {
          return e10 ? e10.replace(/([-_][a-z])/g, (e11) => e11.toUpperCase().replace(/-|_/, "")) : "";
        }
        function ei(e10) {
          return e10 ? e10.replace(/[A-Z]/g, (e11) => `_${e11.toLowerCase()}`) : "";
        }
        let en = (e10) => {
          let a10 = (t10) => {
            if (!t10) return t10;
            if (Array.isArray(t10)) return t10.map((e11) => "object" == typeof e11 || Array.isArray(e11) ? a10(e11) : e11);
            let r10 = { ...t10 };
            for (let t11 of Object.keys(r10)) {
              let i2 = e10(t11.toString());
              i2 !== t11 && (r10[i2] = r10[t11], delete r10[t11]), "object" == typeof r10[i2] && (r10[i2] = a10(r10[i2]));
            }
            return r10;
          };
          return a10;
        }, es = en(ei), eo = en(er);
        function el2(e10) {
          if ("boolean" == typeof e10) return e10;
          if (null == e10) return false;
          if ("string" == typeof e10) {
            if ("true" === e10.toLowerCase()) return true;
            if ("false" === e10.toLowerCase()) return false;
          }
          let a10 = parseInt(e10, 10);
          return !isNaN(a10) && a10 > 0;
        }
        let ec = RegExp("/{1,}", "g"), ed = [".lcl.dev", ".lclstage.dev", ".lclclerk.com"], eu = [".accounts.dev", ".accountsstage.dev", ".accounts.lclclerk.com"], eh = [".lcl.dev", ".stg.dev", ".lclstage.dev", ".stgstage.dev", ".dev.lclclerk.com", ".stg.lclclerk.com", ".accounts.lclclerk.com", "accountsstage.dev", "accounts.dev"], em = (e10) => "u" > typeof atob && "function" == typeof atob ? atob(e10) : void 0 !== globalThis.Buffer ? globalThis.Buffer.from(e10, "base64").toString() : e10, ep = "pk_live_";
        function eg(e10) {
          if (!e10.endsWith("$")) return false;
          let a10 = e10.slice(0, -1);
          return !a10.includes("$") && a10.includes(".");
        }
        function eb(e10, a10 = {}) {
          let t10;
          if (!(e10 = e10 || "") || !ef(e10)) {
            if (a10.fatal && !e10) throw Error("Publishable key is missing. Ensure that your publishable key is correctly configured. Double-check your environment configuration for your keys, or access them here: https://dashboard.clerk.com/last-active?path=api-keys");
            if (a10.fatal && !ef(e10)) throw Error("Publishable key not valid.");
            return null;
          }
          let r10 = e10.startsWith(ep) ? "production" : "development";
          try {
            t10 = em(e10.split("_")[2]);
          } catch {
            if (a10.fatal) throw Error("Publishable key not valid: Failed to decode key.");
            return null;
          }
          if (!eg(t10)) {
            if (a10.fatal) throw Error("Publishable key not valid: Decoded key has invalid format.");
            return null;
          }
          let i2 = t10.slice(0, -1);
          return a10.proxyUrl ? i2 = a10.proxyUrl : "development" !== r10 && a10.domain && a10.isSatellite && (i2 = `clerk.${a10.domain}`), { instanceType: r10, frontendApi: i2 };
        }
        function ef(e10 = "") {
          try {
            if (!(e10.startsWith(ep) || e10.startsWith("pk_test_"))) return false;
            let a10 = e10.split("_");
            if (3 !== a10.length) return false;
            let t10 = a10[2];
            if (!t10) return false;
            return eg(em(t10));
          } catch {
            return false;
          }
        }
        async function ey(e10, a10 = globalThis.crypto.subtle) {
          var t10;
          let r10 = new TextEncoder().encode(e10);
          return (t10 = String.fromCharCode(...new Uint8Array(await a10.digest("sha-1", r10))), "u" > typeof btoa && "function" == typeof btoa ? btoa(t10) : void 0 !== globalThis.Buffer ? globalThis.Buffer.from(t10).toString("base64") : t10).replace(/\+/gi, "-").replace(/\//gi, "_").substring(0, 8);
        }
        let ek = (e10, a10) => `${e10}_${a10}`;
        function ew(e10 = "") {
          return (e10 || "").replace(/^.+:\/\//, "");
        }
        let ev = /^[a-zA-Z][a-zA-Z\d+\-.]*?:/, ej = (e10, a10 = {}) => {
          if (null == e10 || !e10 || "object" != typeof e10) return "";
          let t10 = new URLSearchParams();
          return Object.keys(e10).forEach((r10) => {
            let i2 = a10.keyEncoder ? a10.keyEncoder(r10) : r10, n3 = e10[r10];
            if (Array.isArray(n3)) n3.forEach((e11) => void 0 !== e11 && t10.append(i2, e11 || ""));
            else {
              if (void 0 === n3) return;
              "object" == typeof n3 && null !== n3 ? t10.append(i2, JSON.stringify(n3)) : t10.append(i2, String(n3 ?? ""));
            }
          }), t10.toString();
        }, e_ = "http://clerk-dummy", ez = ["javascript:"], { isDevOrStagingUrl: ex } = (r2 = /* @__PURE__ */ new Map(), { isDevOrStagingUrl: (e10) => {
          if (!e10) return false;
          let a10 = "string" == typeof e10 ? e10 : e10.hostname, t10 = r2.get(a10);
          return void 0 === t10 && (t10 = eh.some((e11) => a10.endsWith(e11)), r2.set(a10, t10)), t10;
        } }), eq = /* @__PURE__ */ new Map();
        function eS(e10) {
          return e10.replace("clerk.", "");
        }
        function eI(e10, a10 = {}) {
          let { base: t10, hashPath: r10, hashSearch: i2, searchParams: n3, hashSearchParams: s3, ...o4 } = e10, l3 = new URL(t10 || "", "u" > typeof window && window.location ? window.location.href : "http://react-native-fake-base-url");
          if (n3 instanceof URLSearchParams && n3.forEach((e11, a11) => {
            null != e11 && l3.searchParams.set(ei(a11), e11);
          }), Object.assign(l3, o4), r10 || i2 || s3) {
            var c3;
            let e11, a11 = new URL(e_ + l3.hash.substring(1));
            for (let [t12, n4] of (c3 = a11.pathname, a11.pathname = [c3, r10 || ""].filter((e12) => e12).join("/").replace(ec, "/"), Object.entries((e11 = {}, new URLSearchParams(i2 || "").forEach((a12, t13) => {
              if (t13 in e11) {
                let r11 = e11[t13];
                Array.isArray(r11) ? r11.push(a12) : e11[t13] = [r11, a12];
              } else e11[t13] = a12;
            }), e11)))) a11.searchParams.append(t12, n4);
            if (s3) for (let e12 of Array.isArray(s3) ? s3 : [s3]) (e12 instanceof URLSearchParams || "object" == typeof e12) && new URLSearchParams(e12).forEach((e13, t12) => {
              null != e13 && a11.searchParams.set(ei(t12), e13);
            });
            let t11 = a11.href.replace(e_, "");
            "/" !== t11 && (l3.hash = t11);
          }
          let { stringify: d3, skipOrigin: u3 } = a10;
          return d3 ? u3 ? l3.href.replace(l3.origin, "") : l3.href : l3;
        }
        function eU(e10) {
          return void 0 === window.location && "string" == typeof e10 ? e10 : (e10 = new URL(e10.toString(), window.location.origin)).href.replace(e10.origin, "");
        }
        let eC = (e10) => (e10 || "").replace(/\/+$/, "");
        function eA(e10, a10) {
          try {
            return new URL(e10);
          } catch {
            return new URL(e10, a10);
          }
        }
        let eP = [/\0/, /^\/\//, /[\x00-\x1F]/], eT = ["/oauth/authorize"], eO = ["/v1/verify", "/v1/tickets/accept", "/oauth/authorize-with-immediate-redirect", "/oauth/end_session"];
        var eE = class e10 {
          static keys = ["signInForceRedirectUrl", "signInFallbackRedirectUrl", "signUpForceRedirectUrl", "signUpFallbackRedirectUrl", "redirectUrl"];
          static preserved = ["redirectUrl"];
          options;
          fromOptions;
          fromProps;
          fromSearchParams;
          mode;
          constructor(e11, a10 = {}, t10 = {}, r10) {
            this.options = e11, this.fromOptions = this.#U(e11 || {}), this.fromProps = this.#U(a10 || {}), this.fromSearchParams = this.#C(t10 || {}), this.mode = r10;
          }
          getAfterSignInUrl() {
            return this.#A("signIn");
          }
          getAfterSignUpUrl() {
            return this.#A("signUp");
          }
          getPreservedSearchParams() {
            return this.#P(this.#T());
          }
          toSearchParams() {
            return this.#P(this.#O());
          }
          #P(e11) {
            return new URLSearchParams(Object.entries(Object.fromEntries(Object.entries(e11).map(([e12, a10]) => [ei(e12), a10]))).reduce((e12, [a10, t10]) => (null != t10 && (e12[a10] = t10), e12), {}));
          }
          #T() {
            return Object.fromEntries(Object.entries({ ...this.fromSearchParams }).filter(([a10]) => e10.preserved.includes(a10)));
          }
          #O() {
            let e11 = this.fromSearchParams.signUpForceRedirectUrl || this.fromProps.signUpForceRedirectUrl || this.fromOptions.signUpForceRedirectUrl, a10 = this.fromSearchParams.signUpFallbackRedirectUrl || this.fromProps.signUpFallbackRedirectUrl || this.fromOptions.signUpFallbackRedirectUrl, t10 = this.fromSearchParams.signInForceRedirectUrl || this.fromProps.signInForceRedirectUrl || this.fromOptions.signInForceRedirectUrl, r10 = { signUpForceRedirectUrl: e11, signUpFallbackRedirectUrl: a10, signInFallbackRedirectUrl: this.fromSearchParams.signInFallbackRedirectUrl || this.fromProps.signInFallbackRedirectUrl || this.fromOptions.signInFallbackRedirectUrl, signInForceRedirectUrl: t10, redirectUrl: this.fromSearchParams.redirectUrl || this.fromProps.redirectUrl };
            return e11 && delete r10.signUpFallbackRedirectUrl, t10 && delete r10.signInFallbackRedirectUrl, r10;
          }
          #A(e11) {
            let a10, t10 = `${e11}ForceRedirectUrl`, r10 = `${e11}FallbackRedirectUrl`;
            return (a10 = this.fromSearchParams[t10] || this.fromProps[t10] || this.fromOptions[t10], a10 ||= this.fromSearchParams.redirectUrl, (a10 ||= this.fromSearchParams[r10] || this.fromProps[r10] || this.fromOptions[r10]) || "modal" !== this.mode) ? a10 || "/" : window.location.href;
          }
          #U(a10) {
            let t10 = {};
            return e10.keys.forEach((e11) => {
              t10[e11] = a10[e11];
            }), ea(this.#E(this.#R(et(t10, Boolean))), (e11) => e11.toString());
          }
          #C(a10) {
            let t10 = {};
            return e10.keys.forEach((e11) => {
              a10 instanceof URLSearchParams ? t10[e11] = a10.get(ei(e11)) : t10[e11] = a10[ei(e11)];
            }), ea(this.#E(this.#R(et(t10, Boolean))), (e11) => e11.toString());
          }
          #R(e11) {
            return ea(e11, (e12) => eA(e12, window.location.origin));
          }
          #E = (e11) => {
            let a10, t10;
            return et(e11, (a10 = this.options?.allowedRedirectOrigins, t10 = window.location.origin, (e12) => {
              let r10 = e12;
              if ("string" == typeof r10 && (r10 = eA(r10, t10)), !a10) return true;
              let i2 = t10 === r10.origin, n3 = !(function(e13) {
                if ((function(e14) {
                  if (!(function(e15) {
                    if (!e15) return false;
                    try {
                      return new URL(e15), true;
                    } catch {
                      return false;
                    }
                  })(e14)) return false;
                  let a11 = new URL(e14).protocol;
                  return ez.some((e15) => e15 === a11);
                })(e13)) return true;
                for (let a11 of eP) if (a11.test(e13.pathname)) return true;
                return false;
              })(r10) && (i2 || a10.map((e13) => "string" == typeof e13 ? ((e14) => {
                try {
                  return Z(e14);
                } catch (a11) {
                  throw Error(`Invalid pattern: ${e14}.
Consult the documentation of glob-to-regexp here: https://www.npmjs.com/package/glob-to-regexp.
${a11.message}`);
                }
              })(eC(e13)) : e13).some((e13) => e13.test(eC(r10.origin))));
              return n3 || ee(`Clerk: Redirect URL ${r10} is not on one of the allowedRedirectOrigins, falling back to the default redirect URL.`), n3;
            }));
          };
        };
        let eR = "__clerk_netlify_cache_bust", eM = ["__clerk_status", "__clerk_created_session", "__clerk_invitation_token", "__clerk_ticket", "__clerk_modal_state", "__clerk_handshake", "__clerk_handshake_nonce", "__clerk_help", eR, V, Y2, Q];
        function eF(e10) {
          return new URL(window.location.href).searchParams.get(e10) || null;
        }
        function eD(e10) {
          let a10 = new URL(window.location.href);
          a10.searchParams.has(e10) && (a10.searchParams.delete(e10), window.history.replaceState(window.history.state, "", a10));
        }
        function eN(e10) {
          let a10 = new URLSearchParams(window.location.search), t10 = e10 || new URLSearchParams();
          for (let e11 of eM) {
            let r10 = a10.get(e11);
            r10 && t10.set(e11, r10);
          }
          return t10;
        }
        let eW = { "choose-organization": "choose-organization", "reset-password": "reset-password", "setup-mfa": "setup-mfa" }, eL = (e10) => `/tasks/${eW[e10.key]}`;
        function e$(e10, { navigate: a10, baseUrl: t10 }) {
          let r10 = e10.currentTask;
          if (r10) {
            var i2;
            let e11;
            return a10((i2 = { base: t10 }, e11 = eN(), eI({ base: i2.base, hashPath: eL(r10), searchParams: e11 }, { stringify: true })));
          }
        }
        let eB = (e10) => `\u{1F512} Clerk:
${e10.trim()}
(This notice only appears in development)`, eK = (e10) => eB(`${e10} as a function is not supported in this environment. The value will be ignored. Provide an absolute URL instead.`), eJ = { proxyUrlAsFunctionNotSupported: eK("proxyUrl"), domainAsFunctionNotSupported: eK("domain"), cannotRenderComponentWhenSessionExists: "The <SignUp/> and <SignIn/> components cannot render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the Home URL instead.", cannotRenderSignUpComponentWhenSessionExists: "The <SignUp/> component cannot render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the value set in `afterSignUp` URL instead.", cannotRenderSignUpComponentWhenTaskExists: "The <SignUp/> component cannot render when a user has a pending task, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the task instead.", cannotRenderComponentWhenTaskDoesNotExist: "<TaskChooseOrganization/> cannot render unless a session task is pending. Clerk is redirecting to the value set in `redirectUrlComplete` instead.", cannotRenderSignInComponentWhenSessionExists: "The <SignIn/> component cannot render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the `afterSignIn` URL instead.", cannotRenderSignInComponentWhenTaskExists: "The <SignIn/> component cannot render when a user has a pending task, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the task instead.", cannotRenderComponentWhenUserDoesNotExist: "<UserProfile/> cannot render unless a user is signed in. Since no user is signed in, this is no-op.", cannotRenderComponentWhenOrgDoesNotExist: "<OrganizationProfile/> cannot render unless an organization is active. Since no organization is currently active, this is no-op.", cannotRenderAnyOrganizationComponent: (e10) => eB(`The <${e10}/> cannot be rendered when the feature is turned off. Visit 'dashboard.clerk.com' to enable the feature. Since the feature is turned off, this is no-op.`), cannotRenderAnyBillingComponent: (e10) => eB(`The <${e10}/> component cannot be rendered when billing is disabled. Visit 'https://dashboard.clerk.com/last-active?path=billing/settings' to follow the necessary steps to enable billing. Since billing is disabled, this is no-op.`), cannotOpenUserProfile: "The UserProfile modal cannot render unless a user is signed in. Since no user is signed in, this is no-op.", cannotOpenCheckout: "The Checkout drawer cannot render unless a user is signed in. Since no user is signed in, this is no-op.", cannotOpenSignInOrSignUp: "The SignIn or SignUp modals do not render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, this is no-op.", cannotRenderAPIKeysComponent: "The <APIKeys/> component cannot be rendered when API keys is disabled. Since API keys is disabled, this is no-op.", cannotRenderAPIKeysComponentForOrgWhenUnauthorized: "The <APIKeys/> component cannot be rendered for an organization unless a user has the required permissions. Since the user does not have the necessary permissions, this is no-op.", cannotRenderAPIKeysComponentForUserWhenDisabled: "The <APIKeys/> component cannot be rendered when user API keys are disabled. Since user API keys are disabled, this is no-op.", cannotRenderAPIKeysComponentForOrgWhenDisabled: "The <APIKeys/> component cannot be rendered when organization API keys are disabled. Since organization API keys are disabled, this is no-op.", cannotRenderOAuthConsentComponentWhenUserDoesNotExist: "<OAuthConsent/> cannot render unless a user is signed in. Since no user is signed in, this is no-op." };
        for (let e10 of Object.keys(eJ)) {
          let a10 = eJ[e10];
          "function" != typeof a10 && (eJ[e10] = eB(a10));
        }
        let eV = "clerk:beforeunload", eH = ["http:", "https:", "wails:", "chrome-extension:"];
        function eG(e10) {
          let a10 = new URL(e10, window.location.href);
          window.dispatchEvent(new CustomEvent(eV)), window.location.href = a10.href;
        }
        function eQ(e10) {
          return /^http(s)?:\/\//.test(e10 || "");
        }
        function eY(e10) {
          return e10.startsWith("/");
        }
        let eZ = [".vercel.app"];
        var eX = class {
          #d;
          #M = 864e5;
          constructor(e10) {
            this.#d = e10;
          }
          isEventThrottled(e10) {
            let a10 = Date.now(), t10 = this.#F(e10), r10 = this.#d.getItem(t10);
            return !!r10 && !(a10 - r10 > this.#M) || (this.#d.setItem(t10, a10), false);
          }
          #F(e10) {
            let { sk: a10, pk: t10, payload: r10, ...i2 } = e10, n3 = { ...r10, ...i2 };
            return JSON.stringify(Object.keys({ ...r10, ...i2 }).sort().map((e11) => n3[e11]));
          }
        }, e1 = class {
          #D = "clerk_telemetry_throttler";
          getItem(e10) {
            return this.#N()[e10];
          }
          setItem(e10, a10) {
            try {
              let t10 = this.#N();
              t10[e10] = a10, localStorage.setItem(this.#D, JSON.stringify(t10));
            } catch (e11) {
              e11 instanceof DOMException && ("QuotaExceededError" === e11.name || "NS_ERROR_DOM_QUOTA_REACHED" === e11.name) && localStorage.length > 0 && localStorage.removeItem(this.#D);
            }
          }
          removeItem(e10) {
            try {
              let a10 = this.#N();
              delete a10[e10], localStorage.setItem(this.#D, JSON.stringify(a10));
            } catch {
            }
          }
          #N() {
            try {
              let e10 = localStorage.getItem(this.#D);
              if (!e10) return {};
              return JSON.parse(e10);
            } catch {
              return {};
            }
          }
          static isSupported() {
            return "u" > typeof window && !!window.localStorage;
          }
        }, e22 = class {
          #d = /* @__PURE__ */ new Map();
          #W = 1e4;
          getItem(e10) {
            return this.#d.size > this.#W ? void this.#d.clear() : this.#d.get(e10);
          }
          setItem(e10, a10) {
            this.#d.set(e10, a10);
          }
          removeItem(e10) {
            this.#d.delete(e10);
          }
        };
        let e0 = /* @__PURE__ */ new Set(["error", "warn", "info", "debug", "trace"]);
        var e9 = class {
          #L;
          #$;
          #B = {};
          #K = [];
          #J = null;
          constructor(e10) {
            this.#L = { maxBufferSize: e10.maxBufferSize ?? 5, samplingRate: e10.samplingRate ?? 1, perEventSampling: e10.perEventSampling ?? true, disabled: e10.disabled ?? false, debug: e10.debug ?? false, endpoint: "https://clerk-telemetry.com" }, !e10.clerkVersion && "u" < typeof window ? this.#B.clerkVersion = "" : this.#B.clerkVersion = e10.clerkVersion ?? "", this.#B.sdk = e10.sdk, this.#B.sdkVersion = e10.sdkVersion, this.#B.publishableKey = e10.publishableKey ?? "";
            let a10 = eb(e10.publishableKey);
            a10 && (this.#B.instanceType = a10.instanceType), e10.secretKey && (this.#B.secretKey = e10.secretKey.substring(0, 16)), this.#$ = new eX(e1.isSupported() ? new e1() : new e22());
          }
          get isEnabled() {
            return !("development" !== this.#B.instanceType || this.#L.disabled || "u" > typeof process && process.env && el2(process.env.CLERK_TELEMETRY_DISABLED) || "u" > typeof window && window?.navigator?.webdriver);
          }
          get isDebug() {
            return this.#L.debug || "u" > typeof process && process.env && el2(process.env.CLERK_TELEMETRY_DEBUG);
          }
          record(e10) {
            try {
              let a10 = this.#V(e10.event, e10.payload);
              if (this.#H(a10.event, a10), !this.#G(a10, e10.eventSamplingRate)) return;
              this.#K.push({ kind: "event", value: a10 }), this.#Q();
            } catch (e11) {
              console.error("[clerk/telemetry] Error recording telemetry event", e11);
            }
          }
          recordLog(e10) {
            try {
              if (!this.#Y(e10)) return;
              let a10 = "string" == typeof e10?.level && e0.has(e10.level), t10 = "string" == typeof e10?.message && e10.message.trim().length > 0, r10 = null, i2 = e10?.timestamp;
              if ("number" == typeof i2 || "string" == typeof i2) {
                let e11 = new Date(i2);
                Number.isNaN(e11.getTime()) || (r10 = e11);
              }
              if (!a10 || !t10 || null === r10) {
                this.isDebug && "u" > typeof console && console.warn("[clerk/telemetry] Dropping invalid telemetry log entry", { levelIsValid: a10, messageIsValid: t10, timestampIsValid: null !== r10 });
                return;
              }
              let n3 = this.#Z(), s3 = { sdk: n3.name, sdkv: n3.version, cv: this.#B.clerkVersion ?? "", lvl: e10.level, msg: e10.message, ts: r10.toISOString(), pk: this.#B.publishableKey || null, payload: this.#X(e10.context) };
              this.#K.push({ kind: "log", value: s3 }), this.#Q();
            } catch (e11) {
              console.error("[clerk/telemetry] Error recording telemetry log entry", e11);
            }
          }
          #G(e10, a10) {
            return this.isEnabled && !this.isDebug && this.#ee(e10, a10);
          }
          #Y(e10) {
            return true;
          }
          #ee(e10, a10) {
            let t10 = Math.random();
            return !!(t10 <= this.#L.samplingRate && (false === this.#L.perEventSampling || void 0 === a10 || t10 <= a10)) && !this.#$.isEventThrottled(e10);
          }
          #Q() {
            if ("u" < typeof window) return void this.#ea();
            if (this.#K.length >= this.#L.maxBufferSize) {
              this.#J && ("u" > typeof cancelIdleCallback ? cancelIdleCallback(Number(this.#J)) : clearTimeout(Number(this.#J))), this.#ea();
              return;
            }
            this.#J || ("requestIdleCallback" in window ? this.#J = requestIdleCallback(() => {
              this.#ea(), this.#J = null;
            }) : this.#J = setTimeout(() => {
              this.#ea(), this.#J = null;
            }, 0));
          }
          #ea() {
            let e10 = [...this.#K];
            if (this.#K = [], this.#J = null, 0 === e10.length) return;
            let a10 = e10.filter((e11) => "event" === e11.kind).map((e11) => e11.value), t10 = e10.filter((e11) => "log" === e11.kind).map((e11) => e11.value);
            a10.length > 0 && fetch(new URL("/v1/event", this.#L.endpoint), { headers: { "Content-Type": "application/json" }, keepalive: true, method: "POST", body: JSON.stringify({ events: a10 }) }).catch(() => void 0), t10.length > 0 && fetch(new URL("/v1/logs", this.#L.endpoint), { headers: { "Content-Type": "application/json" }, keepalive: true, method: "POST", body: JSON.stringify({ logs: t10 }) }).catch(() => void 0);
          }
          #H(e10, a10) {
            this.isDebug && (void 0 !== console.groupCollapsed ? (console.groupCollapsed("[clerk/telemetry]", e10), console.log(a10), console.groupEnd()) : console.log("[clerk/telemetry]", e10, a10));
          }
          #Z() {
            let e10 = { name: this.#B.sdk, version: this.#B.sdkVersion };
            if ("u" > typeof window) {
              let a10 = window;
              if (a10.Clerk) {
                let t10 = a10.Clerk;
                if ("object" == typeof t10 && null !== t10 && "constructor" in t10 && "function" == typeof t10.constructor && t10.constructor.sdkMetadata) {
                  let { name: a11, version: r10 } = t10.constructor.sdkMetadata;
                  void 0 !== a11 && (e10.name = a11), void 0 !== r10 && (e10.version = r10);
                }
              }
            }
            return e10;
          }
          #V(e10, a10) {
            let t10 = this.#Z();
            return { event: e10, cv: this.#B.clerkVersion ?? "", it: this.#B.instanceType ?? "", sdk: t10.name, sdkv: t10.version, ...this.#B.publishableKey ? { pk: this.#B.publishableKey } : {}, ...this.#B.secretKey ? { sk: this.#B.secretKey } : {}, payload: a10 };
          }
          #X(e10) {
            if (null == e10 || "object" != typeof e10) return null;
            try {
              let a10 = JSON.parse(JSON.stringify(e10));
              if (a10 && "object" == typeof a10 && !Array.isArray(a10)) return a10;
              return null;
            } catch {
              return null;
            }
          }
        };
        let e32 = "COMPONENT_MOUNTED", e8 = /* @__PURE__ */ new Set(["SignIn", "SignUp"]);
        function e5(e10) {
          return function(a10, t10, r10) {
            return { event: e10, eventSamplingRate: e10 === e32 ? e8.has(a10) ? 1 : 0.1 : 0.1, payload: { component: a10, appearanceProp: !!t10?.appearance, theme: !!t10?.appearance?.theme, elements: !!t10?.appearance?.elements, variables: !!t10?.appearance?.variables, ...r10 } };
          };
        }
        function e4(e10, a10, t10) {
          return e5(e32)(e10, a10, t10);
        }
        function e6(e10, a10, t10) {
          return e5("COMPONENT_OPENED")(e10, a10, t10);
        }
        function e7(e10) {
          return "string" == typeof e10 ? e10 : "object" == typeof e10 && null !== e10 && "name" in e10 && "string" == typeof e10.name ? e10.name : void 0;
        }
        var ae = i(9);
        let aa = false, at = null, ar = false, ai = [];
        function an(e10, a10, t10, r10) {
          aa && (ai.push({ level: e10, message: a10, context: t10, source: r10, ts: Date.now() }), ai.length > 200 && ai.shift());
        }
        async function as(e10) {
          try {
            if (!aa || at) return;
            let { getDebugLogger: a10 } = await Promise.resolve().then(i.bind(i, 521)), t10 = await a10({ logLevel: e10?.logLevel, telemetryCollector: e10?.telemetryCollector });
            if (t10 && (at = t10) && 0 !== ai.length) {
              for (let e11 of ai) {
                let a11 = { ...e11.context || {}, __preInit: true, __preInitTs: e11.ts };
                switch (e11.level) {
                  case "error":
                    at.error(e11.message, a11, e11.source);
                    break;
                  case "warn":
                    at.warn(e11.message, a11, e11.source);
                    break;
                  case "info":
                    at.info(e11.message, a11, e11.source);
                    break;
                  case "debug":
                    at.debug(e11.message, a11, e11.source);
                }
              }
              ai.length = 0;
            }
          } catch (e11) {
            try {
              console.debug?.("Debug logger initialization failed", e11);
            } catch {
            }
            return;
          }
        }
        let ao = { debug(e10, a10, t10) {
          at ? at.debug(e10, a10, t10) : an("debug", e10, a10, t10);
        }, error(e10, a10, t10) {
          at ? at.error(e10, a10, t10) : an("error", e10, a10, t10);
        }, info(e10, a10, t10) {
          at ? at.info(e10, a10, t10) : an("info", e10, a10, t10);
        }, warn(e10, a10, t10) {
          at ? at.warn(e10, a10, t10) : an("warn", e10, a10, t10);
        } }, al = { initialDelay: 125, maxDelayBetweenRetries: 0, factor: 2, shouldRetry: (e10, a10) => a10 < 5, retryImmediately: false, jitter: true }, ac = async (e10) => new Promise((a10) => setTimeout(a10, e10)), ad = (e10, a10) => a10 ? e10 * (1 + Math.random()) : e10, au = async (e10, a10 = {}) => {
          var t10;
          let r10, i2 = 0, { shouldRetry: n3, initialDelay: s3, maxDelayBetweenRetries: o4, factor: l3, retryImmediately: c3, jitter: d3, onBeforeRetry: u3 } = { ...al, ...a10 }, h3 = (t10 = { initialDelay: s3, maxDelayBetweenRetries: o4, factor: l3, jitter: d3 }, r10 = 0, async () => {
            let e11;
            await ac((e11 = ad(e11 = t10.initialDelay * Math.pow(t10.factor, r10), t10.jitter), Math.min(t10.maxDelayBetweenRetries || e11, e11))), r10++;
          });
          for (; ; ) try {
            return await e10();
          } catch (e11) {
            if (!n3(e11, ++i2)) throw e11;
            u3 && await u3(i2), c3 && 1 === i2 ? await ac(ad(100, d3)) : await h3();
          }
        }, ah = async (e10) => au(e10, { initialDelay: 100, shouldRetry: (e11, a10) => a10 <= 3, retryImmediately: true, factor: 2 });
        class am {
          #et = { "@zxcvbn-ts/core": () => ah(() => Promise.resolve().then(i.bind(i, 835))), "@zxcvbn-ts/language-common": () => ah(() => Promise.resolve().then(i.bind(i, 618))), "@base-org/account": () => ah(() => Promise.resolve().then(function() {
            var e10 = Error("Cannot find module '@base-org/account'");
            throw e10.code = "MODULE_NOT_FOUND", e10;
          })), "@coinbase/wallet-sdk": () => ah(() => Promise.resolve().then(function() {
            var e10 = Error("Cannot find module '@coinbase/wallet-sdk'");
            throw e10.code = "MODULE_NOT_FOUND", e10;
          })), "@stripe/stripe-js": () => ah(() => Promise.resolve().then(function() {
            var e10 = Error("Cannot find module '@stripe/stripe-js'");
            throw e10.code = "MODULE_NOT_FOUND", e10;
          })) };
          import(e10) {
            return this.#et[e10] ? this.#et[e10]() : Promise.resolve(void 0);
          }
        }
        let ap = (e10 = false) => {
          let a10, t10;
          if (!e10) return { track: async (e11) => {
            await e11();
          }, isUnloading: () => false };
          let r10 = (a10 = false, t10 = () => a10 = true, { startListening: () => {
            window.addEventListener("beforeunload", t10), window.addEventListener(eV, t10);
          }, stopListening: () => {
            window.removeEventListener("beforeunload", t10), window.removeEventListener(eV, t10);
          }, isUnloading: () => a10 });
          return { track: async (e11) => {
            r10.startListening(), await e11(), r10.stopListening();
          }, isUnloading: r10.isUnloading };
        }, ag = (e10) => ({ amount: e10.amount, amountFormatted: e10.amount_formatted, currency: e10.currency, currencySymbol: e10.currency_symbol }), ab = (e10) => ({ proration: e10.proration ? { amount: ag(e10.proration.amount), cycleDaysRemaining: e10.proration.cycle_days_remaining, cycleDaysTotal: e10.proration.cycle_days_total, cycleRemainingPercent: e10.proration.cycle_remaining_percent } : null, payer: e10.payer ? { remainingBalance: ag(e10.payer.remaining_balance), appliedAmount: ag(e10.payer.applied_amount) } : null, total: ag(e10.total) }), af = (e10) => {
          let a10 = { grandTotal: ag(e10.grand_total), subtotal: ag(e10.subtotal), taxTotal: ag(e10.tax_total) };
          return "past_due" in e10 && (a10.pastDue = e10.past_due ? ag(e10.past_due) : null), "credit" in e10 && (a10.credit = e10.credit ? ag(e10.credit) : null), "per_unit_totals" in e10 && (a10.perUnitTotals = e10.per_unit_totals ? e10.per_unit_totals.map((e11) => ({ name: e11.name, blockSize: e11.block_size, tiers: e11.tiers.map((e12) => ({ quantity: e12.quantity, feePerBlock: ag(e12.fee_per_block), total: ag(e12.total) })) })) : void 0), "credits" in e10 && (a10.credits = e10.credits ? ab(e10.credits) : null), "total_due_now" in e10 && (a10.totalDueNow = ag(e10.total_due_now)), "total_due_after_free_trial" in e10 && (a10.totalDueAfterFreeTrial = e10.total_due_after_free_trial ? ag(e10.total_due_after_free_trial) : null), a10;
        };
        function ay(e10, a10 = "") {
          return e10.errors && !!e10.errors.find((e11) => e11.code === a10);
        }
        let ak = C({ packageName: "@clerk/clerk-js" });
        function aw(e10) {
          return decodeURIComponent(globalThis.atob(e10.replace(/_/g, "/").replace(/-/g, "+")).split("").map((e11) => "%" + ("00" + e11.charCodeAt(0).toString(16)).slice(-2)).join(""));
        }
        function av(e10) {
          let a10 = (e10 || "").split("."), [t10, r10, i2] = a10;
          if (3 !== a10.length || !t10 || !r10 || !i2) throw Error("JWT could not be decoded");
          let n3 = JSON.parse(aw(r10)), s3 = { __raw: e10 };
          return Object.keys(n3).forEach((e11) => {
            s3[e11] = n3[e11];
          }), { encoded: { header: t10, payload: r10, signature: i2 }, header: JSON.parse(aw(t10)), claims: s3 };
        }
        function aj() {
          if (!o3()) return null;
          try {
            let e10 = navigator?.language;
            if (!e10 || "string" != typeof e10 || "" === e10.trim()) return null;
            return e10;
          } catch {
            return null;
          }
        }
        function a_() {
          return void 0 !== globalThis.document;
        }
        function az() {
          if (!(function() {
            if (!a_()) return false;
            try {
              return window.self !== window.top;
            } catch {
              return true;
            }
          })()) return false;
          try {
            return window.top?.location.href, false;
          } catch {
            return true;
          }
        }
        var ax = class e10 {
          #er = [];
          #ei = { metamask: "MetaMask", okx_wallet: "OKX Wallet" };
          static #en = null;
          constructor() {
            if ("u" < typeof window) return;
            window.addEventListener("eip6963:announceProvider", this.#es), window.dispatchEvent(new Event("eip6963:requestProvider"));
          }
          static getInstance() {
            return e10.#en || (e10.#en = new e10()), e10.#en;
          }
          get = (e11) => {
            let a10 = this.#er.find((a11) => a11.info.name === this.#ei[e11])?.provider;
            return void 0 !== a10 ? a10 : window.ethereum;
          };
          #es = (e11) => {
            this.#er.some((a10) => a10.info.uuid === e11.detail.info.uuid) || this.#er.push(e11.detail);
          };
        }, aq = class e10 {
          #eo = void 0;
          #el = false;
          static #en = null;
          async #ec() {
            if (this.#el) return;
            this.#el = true;
            let e11 = await Promise.resolve().then(i.bind(i, 410)).then((e12) => e12.getWallets());
            this.#eo = e11.get(), e11.on("register", () => {
              this.#eo = e11.get();
            }), e11.on("unregister", () => {
              this.#eo = e11.get();
            });
          }
          #ed(e11) {
            return e11.chains?.some((e12) => e12.startsWith("solana:")) ?? false;
          }
          #eu(e11) {
            return "solana:signMessage" in e11.features;
          }
          static getInstance() {
            return e10.#en || (e10.#en = new e10()), e10.#en;
          }
          get = async (e11) => {
            await this.#ec();
            let a10 = (this.#eo || []).find((a11) => a11.name === e11 && this.#ed(a11) && this.#eu(a11));
            if (a10 && this.#ed(a10)) return a10;
            if ("u" < typeof window) return;
            let t10 = window.solana;
            if (t10 && "function" == typeof t10.connect && "function" == typeof t10.signMessage) return t10;
          };
        };
        let aS = () => (function(e10) {
          let a10 = C({ packageName: "@clerk/shared" });
          async function t10(e11) {
            let { provider: a11, walletName: t11 } = e11, r11 = await p3(a11, t11);
            if (!r11) return "";
            if ("solana" === a11) {
              let e12 = await r11.features["standard:connect"].connect();
              return e12 && e12.accounts[0].address || "";
            }
            let i3 = await r11.request({ method: "eth_requestAccounts" });
            return i3 && i3[0] || "";
          }
          let r10 = async (e11) => {
            let { identifier: a11, nonce: t11, provider: r11, walletName: i3 = "" } = e11, n4 = await p3(r11, i3);
            if (!n4) return "";
            if ("solana" === r11) try {
              let e12 = n4.accounts.find((e13) => e13.address === a11);
              if (!e12) return console.warn(`Wallet account with address ${a11} not found`), "";
              let r12 = await n4.features["solana:signMessage"]?.signMessage({ account: e12, message: new TextEncoder().encode(t11) });
              return r12?.[0]?.signature ? btoa(String.fromCharCode(...r12[0].signature)) : "";
            } catch (e12) {
              if (e12 instanceof Error && e12.message.includes("User rejected the request.")) throw new j("Web3 signature request was rejected by the user.", { code: "web3_signature_request_rejected" });
              throw new j("An error occurred while generating the Solana signature.", { code: "web3_solana_signature_generation_failed", cause: e12 instanceof Error ? e12 : void 0 });
            }
            return await n4.request({ method: "personal_sign", params: [`0x${t11.split("").map((e12) => e12.charCodeAt(0).toString(16).padStart(2, "0")).join("")}`, a11] });
          };
          async function i2() {
            return await t10({ provider: "metamask" });
          }
          async function n3() {
            return await t10({ provider: "coinbase_wallet" });
          }
          async function s3() {
            return await t10({ provider: "okx_wallet" });
          }
          async function o4() {
            return await t10({ provider: "base" });
          }
          async function l3(e11) {
            return await t10({ provider: "solana", walletName: e11 });
          }
          async function c3(e11) {
            return await r10({ ...e11, provider: "metamask" });
          }
          async function d3(e11) {
            return await r10({ ...e11, provider: "coinbase_wallet" });
          }
          async function u3(e11) {
            return await r10({ ...e11, provider: "okx_wallet" });
          }
          async function h3(e11) {
            return await r10({ ...e11, provider: "base" });
          }
          async function m3(e11) {
            return await r10({ ...e11, provider: "solana" });
          }
          async function p3(t11, r11) {
            if ("coinbase_wallet" === t11) {
              let a11 = await e10.import("@coinbase/wallet-sdk");
              return a11 ? a11.createCoinbaseWalletSDK({ appName: "u" > typeof window && window.Clerk?.__internal_environment?.displayConfig?.applicationName || "u" > typeof document && document.title || "Web3 Application", preference: { options: "all" } }).getProvider() : null;
            }
            if ("base" === t11) try {
              let a11 = await e10.import("@base-org/account");
              if (!a11) return null;
              return a11.createBaseAccountSDK({ appName: "u" > typeof window && window.Clerk?.__internal_environment?.displayConfig?.applicationName || "u" > typeof document && document.title || "Web3 Application" }).getProvider();
            } catch {
              return null;
            }
            return "solana" === t11 ? r11 && 0 !== r11.length ? await aq.getInstance().get(r11) : void a10.throw("Wallet name must be provided to get Solana wallet provider") : ax.getInstance().get(t11);
          }
          return { getWeb3Identifier: t10, generateWeb3Signature: r10, getMetamaskIdentifier: i2, getCoinbaseWalletIdentifier: n3, getOKXWalletIdentifier: s3, getBaseIdentifier: o4, getSolanaIdentifier: l3, generateSignatureWithMetamask: c3, generateSignatureWithCoinbaseWallet: d3, generateSignatureWithOKXWallet: u3, generateSignatureWithBase: h3, generateSignatureWithSolana: m3 };
        })(new am()), aI = "environment", aU = JSON.stringify, aC = JSON.parse;
        class aA {
          static _key(e10) {
            return `__clerk_${e10}`;
          }
          static isExpired(e10) {
            return !!e10.exp && Date.now() > e10.exp;
          }
          static setItem(e10, a10, t10) {
            try {
              let r10 = { value: a10, ...t10 && { exp: Date.now() + t10 } };
              window.localStorage.setItem(this._key(e10), aU(r10));
            } catch {
            }
          }
          static getItem(e10, a10) {
            try {
              let t10 = window.localStorage.getItem(this._key(e10));
              if (!t10) return a10;
              let r10 = aC(t10);
              if (!r10) return a10;
              if (this.isExpired(r10)) return this.removeItem(e10), a10;
              return r10?.value ?? a10;
            } catch {
              return a10;
            }
          }
          static removeItem(e10) {
            try {
              window.localStorage.removeItem(this._key(e10));
            } catch {
            }
          }
        }
        let aP = "ClerkJS:";
        function aT(e10) {
          console.warn(`${aP} ${e10} is not supported in this environment.`);
        }
        function aO(e10 = "") {
          throw Error(`${aP} Something went wrong initializing Clerk in development mode.${e10 && ` ${e10}`}`);
        }
        function aE(e10) {
          throw Error(`${aP} Something went wrong initializing Clerk during the ${e10} flow. Please contact support.`);
        }
        function aR(e10) {
          throw Error(`${aP} You need to start a ${e10} flow by calling ${e10}.create() first.`);
        }
        function aM(e10, a10) {
          throw Error(`${aP} Strategy "${a10}" is not a valid strategy for ${e10}.`);
        }
        function aF(e10) {
          throw Error(`${aP} You need to start a ${e10} flow by calling ${e10}.create({ identifier: 'your web3 wallet address' }) first`);
        }
        function aD(e10 = "") {
          throw Error(`${aP} Missing '${e10}' option`);
        }
        function aN(e10, a10) {
          throw Error(`${aP} Response: ${e10 || 0} not supported yet.
For more information contact us at ${a10}`);
        }
        function aW(e10) {
          throw Error(`${aP} Calling ${e10}.reload is not currently supported. Please contact support.`);
        }
        function aL(e10) {
          throw Error(`${aP} Missing publicKey. When calling 'navigator.credentials.${e10}()' it is required to pass a publicKey object.`);
        }
        let a$ = (e10) => Promise.reject(Error("Captcha not supported in this environment")), aB = (e10) => {
          let a10 = e10.__internal_environment, t10 = a10 ? a10.displayConfig.captchaProvider : "turnstile", r10 = e10.__internal_getOption?.("nonce");
          return { captchaSiteKey: a10 ? a10.displayConfig.captchaPublicKey : null, captchaWidgetType: a10 ? a10.displayConfig.captchaWidgetType : null, captchaProvider: t10, captchaPublicKeyInvisible: a10 ? a10.displayConfig.captchaPublicKeyInvisible : null, canUseCaptcha: a10 ? a10.userSettings.signUp.captcha_enabled && e10.isStandardBrowser : null, nonce: r10 || void 0 };
        };
        class aK {
          clerk;
          constructor(e10) {
            this.clerk = e10;
          }
          async invisible(e10) {
            let { captchaSiteKey: a10, canUseCaptcha: t10, captchaPublicKeyInvisible: r10, nonce: i2 } = aB(this.clerk);
            return t10 && a10 && r10 ? { ...await a$({ action: e10?.action, captchaProvider: "turnstile", invisibleSiteKey: r10, nonce: e10?.nonce || i2 || void 0, siteKey: r10, widgetType: "invisible" }).catch((e11) => e11.captchaError ? { captchaError: e11.captchaError } : { captchaError: e11?.message || e11 || "unexpected_captcha_error" }), captchaAction: e10?.action } : { captchaError: "captcha_unavailable", captchaAction: e10?.action };
          }
          async managedOrInvisible(e10) {
            let { captchaSiteKey: a10, canUseCaptcha: t10, captchaWidgetType: r10, captchaProvider: i2, captchaPublicKeyInvisible: n3, nonce: s3 } = aB(this.clerk);
            if (t10 && a10 && n3) {
              let t11 = await a$({ captchaProvider: i2, invisibleSiteKey: n3, nonce: s3 || void 0, siteKey: a10, widgetType: r10, ...e10 }).catch((a11) => a11.captchaError ? { captchaError: a11.captchaError } : e10?.action === "verify" ? { captchaError: a11?.message || a11 || "unexpected_captcha_error" } : void 0);
              return e10?.action === "verify" ? { ...t11, captchaAction: "verify" } : t11;
            }
            return e10?.action === "verify" ? { captchaError: "captcha_unavailable", captchaAction: e10?.action } : {};
          }
          async managedInModal(e10) {
            if ("u" < typeof document) throw new j("Captcha is not supported in non-browser environments", { code: "captcha_unavailable" });
            return this.managedOrInvisible({ modalWrapperQuerySelector: "#cl-modal-captcha-wrapper", modalContainerQuerySelector: "#cl-modal-captcha-container", openModal: () => this.clerk.__internal_openBlankCaptchaModal(), closeModal: () => this.clerk.__internal_closeBlankCaptchaModal(), action: e10?.action });
          }
        }
        class aJ {
          client;
          CaptchaChallengeImpl;
          static instance;
          inflightException = null;
          captchaRetryCount = 0;
          MAX_RETRY_ATTEMPTS = 3;
          static getInstance() {
            return aJ.instance || (aJ.instance = new aJ(t9, aK)), aJ.instance;
          }
          constructor(e10, a10) {
            this.client = e10, this.CaptchaChallengeImpl = a10;
          }
          async execute(e10, a10) {
            if (this.captchaAttemptsExceeded()) throw new j("Security verification failed. Please try again by refreshing the page, clearing your browser cookies, or using a different web browser.", { code: "captcha_client_attempts_exceeded" });
            try {
              return this.inflightException && await this.inflightException, await a10();
            } catch (r10) {
              let t10;
              if (!q(r10) || _3(r10) && "network_error" === r10.code || r10.errors[0]?.code !== "requires_captcha") throw r10;
              if (this.inflightException) return await this.inflightException, await a10();
              this.inflightException = new Promise((e11) => t10 = e11);
              try {
                let a11 = await this.managedChallenge(e10);
                a11?.captchaError !== "modal_component_not_ready" && (await this.client.getOrCreateInstance().__internal_sendCaptchaToken(a11), this.captchaRetryCount = 0);
              } catch (e11) {
                throw this.captchaRetryCount++, e11;
              } finally {
                t10(), this.inflightException = null;
              }
              return await a10();
            }
          }
          managedChallenge(e10) {
            return new this.CaptchaChallengeImpl(e10).managedInModal({ action: "verify" });
          }
          captchaAttemptsExceeded = () => this.captchaRetryCount >= this.MAX_RETRY_ATTEMPTS;
        }
        class aV {
          static clerk;
          id;
          pathRoot = "";
          static get fapiClient() {
            return aV.clerk.getFapiClient();
          }
          async reload(e10) {
            let { rotatingTokenNonce: a10 } = e10 || {};
            return this._baseGet({ forceUpdateClient: true, rotatingTokenNonce: a10 });
          }
          isNew() {
            return !this.id;
          }
          static async _fetch(e10, a10 = {}) {
            return aJ.getInstance().execute(this.clerk, () => this._baseFetch(e10, a10));
          }
          static async _baseFetch(e10, a10 = {}) {
            let t10;
            aV.fapiClient || (function() {
              throw Error(`${aP} Missing FAPI client in resources.`);
            })();
            let { fetchMaxTries: r10 } = a10;
            try {
              t10 = await aV.fapiClient.request(e10, { fetchMaxTries: r10 });
            } catch (a11) {
              if (this.shouldRethrowOfflineNetworkErrors()) throw new j(a11?.message || a11, { code: "network_error" });
              if (!u2()) return ao.warn("Network request failed while offline, returning null", { method: e10.method, path: e10.path }, "baseResource"), null;
              throw a11;
            }
            let { payload: i2, status: n3, statusText: s3, headers: o4 } = t10;
            if (o4) {
              let e11 = o4.get("x-country");
              this.clerk.__internal_setCountry(e11 ? e11.toLowerCase() : null);
            }
            if (("GET" !== e10.method || a10.forceUpdateClient) && !a10.skipUpdateClient && this._updateClient(i2), n3 >= 200 && n3 <= 299) return i2;
            if (n3 >= 400) {
              let e11 = i2?.errors, a11 = e11?.[0]?.long_message, t11 = e11?.[0]?.code;
              401 === n3 && "dev_browser_unauthenticated" === t11 ? await aV.clerk.__internal_handleUnauthenticatedDevBrowser() : 401 === n3 && "requires_captcha" !== t11 && await aV.clerk.handleUnauthenticated(), (function(e12, a12) {
                var t12;
                if (!a12 || !a12[0]) return;
                let r12 = a12[0], i3 = r12.long_message;
                if ("origin_invalid" === r12.code && ((t12 = aV.clerk.publishableKey).startsWith("live_") || t12.startsWith("pk_live_"))) {
                  let t13 = aV.clerk.frontendApi.replace("clerk.", "");
                  throw new x(`Clerk: Production Keys are only allowed for domain "${t13}". 
API Error: ${i3}`, { data: a12, status: e12 });
                }
              })(n3, e11);
              let r11 = { data: e11, status: n3 };
              if (429 === n3 && o4) {
                let e12 = o4.get("retry-after");
                if (e12) {
                  let a12 = parseInt(e12, 10);
                  isNaN(a12) || (r11.retryAfter = a12);
                }
              }
              throw new x(a11 || s3, r11);
            }
            return null;
          }
          static _updateClient(e10) {
            let a10 = t0(e10);
            a10 && aV.clerk && aV.clerk.updateClient(a10);
          }
          path(e10) {
            let a10 = this.pathRoot;
            if (this.isNew()) return a10;
            let t10 = a10.replace(/[^/]$/, "$&/") + encodeURIComponent(this.id);
            return e10 ? t10.replace(/[^/]$/, "$&/") + encodeURIComponent(e10) : t10;
          }
          withDefault(e10, a10) {
            return e10 ?? a10;
          }
          async _baseGet(e10 = {}) {
            let a10 = await aV._fetch({ method: "GET", path: this.path(), rotatingTokenNonce: e10.rotatingTokenNonce }, e10);
            return this.fromJSON(a10?.response || a10);
          }
          async _baseMutate(e10) {
            let { action: a10, body: t10, method: r10, path: i2 } = e10, n3 = await aV._fetch({ method: r10, path: i2 || this.path(a10), body: t10 });
            return this.fromJSON(n3?.response || n3);
          }
          async _baseMutateBypass(e10) {
            let { action: a10, body: t10, method: r10, path: i2 } = e10, n3 = await aV._baseFetch({ method: r10, path: i2 || this.path(a10), body: t10 });
            return this.fromJSON(n3?.response || n3);
          }
          async _basePost(e10 = {}) {
            return this._baseMutate({ ...e10, method: "POST" });
          }
          async _basePostBypass(e10 = {}) {
            return this._baseMutateBypass({ ...e10, method: "POST" });
          }
          async _basePut(e10 = {}) {
            return this._baseMutate({ ...e10, method: "PUT" });
          }
          async _basePatch(e10 = {}) {
            return this._baseMutate({ ...e10, method: "PATCH" });
          }
          async _baseDelete(e10 = {}) {
            await this._baseMutate({ ...e10, method: "DELETE" });
          }
          static shouldRethrowOfflineNetworkErrors() {
            let e10 = aV.clerk?.__internal_getOption?.("experimental");
            return e10?.rethrowOfflineNetworkErrors || false;
          }
        }
        function aH(e10) {
          let a10 = new Date(e10 || /* @__PURE__ */ new Date());
          return a10 instanceof Date && !isNaN(a10.getTime()) ? a10 : /* @__PURE__ */ new Date();
        }
        class aG extends aV {
          pathRoot = "/api_keys";
          id;
          type;
          name;
          subject;
          scopes;
          claims;
          revoked;
          revocationReason;
          expired;
          expiration;
          createdBy;
          description;
          secret;
          lastUsedAt;
          createdAt;
          updatedAt;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.type = e10.type, this.name = e10.name, this.subject = e10.subject, this.scopes = e10.scopes, this.claims = e10.claims, this.revoked = e10.revoked, this.revocationReason = e10.revocation_reason, this.expired = e10.expired, this.expiration = e10.expiration ? aH(e10.expiration) : null, this.createdBy = e10.created_by, this.description = e10.description, this.secret = e10.secret, this.lastUsedAt = e10.last_used_at ? aH(e10.last_used_at) : null, this.updatedAt = aH(e10.updated_at), this.createdAt = aH(e10.created_at)), this;
          }
          __internal_toSnapshot() {
            return { object: "api_key", id: this.id, type: this.type, name: this.name, subject: this.subject, scopes: this.scopes, claims: this.claims, revoked: this.revoked, revocation_reason: this.revocationReason, expired: this.expired, expiration: this.expiration ? this.expiration.getTime() : null, created_by: this.createdBy, description: this.description, last_used_at: this.lastUsedAt ? this.lastUsedAt.getTime() : null, created_at: this.createdAt.getTime(), updated_at: this.updatedAt.getTime() };
          }
        }
        class aQ extends aV {
          claimedAt = null;
          reverification = false;
          singleSessionMode = false;
          preferredChannels = null;
          sessionMinter = false;
          constructor(e10 = null) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.claimedAt = this.withDefault(e10.claimed_at ? aH(e10.claimed_at) : null, this.claimedAt), this.reverification = this.withDefault(e10.reverification, this.reverification), this.singleSessionMode = this.withDefault(e10.single_session_mode, this.singleSessionMode), this.preferredChannels = this.withDefault(e10.preferred_channels, this.preferredChannels), this.sessionMinter = this.withDefault(e10.session_minter, this.sessionMinter)), this;
          }
          __internal_toSnapshot() {
            return { claimed_at: this.claimedAt ? this.claimedAt.getTime() : null, id: this.id ?? "", object: "auth_config", reverification: this.reverification, single_session_mode: this.singleSessionMode, session_minter: this.sessionMinter };
          }
        }
        (y = w || (w = {}))[y.None = 0] = "None", y[y.Mutable = 1] = "Mutable", y[y.Watching = 2] = "Watching", y[y.RecursedCheck = 4] = "RecursedCheck", y[y.Recursed = 8] = "Recursed", y[y.Dirty = 16] = "Dirty", y[y.Pending = 32] = "Pending";
        let aY = [], { link: aZ, unlink: aX, propagate: a1, checkDirty: a22, endTracking: a0, startTracking: a9, shallowPropagate: a3 } = (function({ update: e10, notify: a10, unwatched: t10 }) {
          let r10 = 0;
          return { link: function(e11, a11) {
            let t11, i3 = a11.depsTail;
            if (void 0 !== i3 && i3.dep === e11) return;
            if (4 & a11.flags && void 0 !== (t11 = void 0 !== i3 ? i3.nextDep : a11.deps) && t11.dep === e11) {
              t11.version = r10, a11.depsTail = t11;
              return;
            }
            let n4 = e11.subsTail;
            if (void 0 !== n4 && n4.version === r10 && n4.sub === a11) return;
            let s3 = a11.depsTail = e11.subsTail = { version: r10, dep: e11, sub: a11, prevDep: i3, nextDep: t11, prevSub: n4, nextSub: void 0 };
            void 0 !== t11 && (t11.prevDep = s3), void 0 !== i3 ? i3.nextDep = s3 : a11.deps = s3, void 0 !== n4 ? n4.nextSub = s3 : e11.subs = s3;
          }, unlink: i2, propagate: function(e11) {
            let t11, r11 = e11.nextSub;
            e: for (; ; ) {
              let i3 = e11.sub, n4 = i3.flags;
              if (3 & n4 && (60 & n4 ? 12 & n4 ? 4 & n4 ? !(48 & n4) && (function(e12, a11) {
                let t12 = a11.depsTail;
                if (void 0 !== t12) {
                  let r12 = a11.deps;
                  do {
                    if (r12 === e12) return true;
                    if (r12 === t12) break;
                    r12 = r12.nextDep;
                  } while (void 0 !== r12);
                }
                return false;
              })(e11, i3) ? (i3.flags = 40 | n4, n4 &= 1) : n4 = 0 : i3.flags = -9 & n4 | 32 : n4 = 0 : i3.flags = 32 | n4, 2 & n4 && a10(i3), 1 & n4)) {
                let a11 = i3.subs;
                if (void 0 !== a11) {
                  e11 = a11, void 0 !== a11.nextSub && (t11 = { value: r11, prev: t11 }, r11 = e11.nextSub);
                  continue;
                }
              }
              if (void 0 !== (e11 = r11)) {
                r11 = e11.nextSub;
                continue;
              }
              for (; void 0 !== t11; ) if (e11 = t11.value, t11 = t11.prev, void 0 !== e11) {
                r11 = e11.nextSub;
                continue e;
              }
              break;
            }
          }, checkDirty: function(a11, t11) {
            let r11, i3 = 0;
            e: for (; ; ) {
              let s3 = a11.dep, o4 = s3.flags, l3 = false;
              if (16 & t11.flags) l3 = true;
              else if ((17 & o4) == 17) {
                if (e10(s3)) {
                  let e11 = s3.subs;
                  void 0 !== e11.nextSub && n3(e11), l3 = true;
                }
              } else if ((33 & o4) == 33) {
                (void 0 !== a11.nextSub || void 0 !== a11.prevSub) && (r11 = { value: a11, prev: r11 }), a11 = s3.deps, t11 = s3, ++i3;
                continue;
              }
              if (!l3 && void 0 !== a11.nextDep) {
                a11 = a11.nextDep;
                continue;
              }
              for (; i3; ) {
                --i3;
                let s4 = t11.subs, o5 = void 0 !== s4.nextSub;
                if (o5 ? (a11 = r11.value, r11 = r11.prev) : a11 = s4, l3) {
                  if (e10(t11)) {
                    o5 && n3(s4), t11 = a11.sub;
                    continue;
                  }
                } else t11.flags &= -33;
                if (t11 = a11.sub, void 0 !== a11.nextDep) {
                  a11 = a11.nextDep;
                  continue e;
                }
                l3 = false;
              }
              return l3;
            }
          }, endTracking: function(e11) {
            let a11 = e11.depsTail, t11 = void 0 !== a11 ? a11.nextDep : e11.deps;
            for (; void 0 !== t11; ) t11 = i2(t11, e11);
            e11.flags &= -5;
          }, startTracking: function(e11) {
            ++r10, e11.depsTail = void 0, e11.flags = -57 & e11.flags | 4;
          }, shallowPropagate: n3 };
          function i2(e11, a11 = e11.sub) {
            let r11 = e11.dep, n4 = e11.prevDep, s3 = e11.nextDep, o4 = e11.nextSub, l3 = e11.prevSub;
            return void 0 !== s3 ? s3.prevDep = n4 : a11.depsTail = n4, void 0 !== n4 ? n4.nextDep = s3 : a11.deps = s3, void 0 !== o4 ? o4.prevSub = l3 : r11.subsTail = l3, void 0 !== l3 ? l3.nextSub = o4 : void 0 === (r11.subs = o4) && t10(r11), s3;
          }
          function n3(e11) {
            do {
              let t11 = e11.sub, r11 = e11.nextSub, i3 = t11.flags;
              (48 & i3) == 32 && (t11.flags = 16 | i3, 2 & i3 && a10(t11)), e11 = r11;
            } while (void 0 !== e11);
          }
        })({ update: (e10) => "getter" in e10 ? tt(e10) : tr(e10, e10.value), notify: function e10(a10) {
          let t10 = a10.flags;
          if (!(64 & t10)) {
            a10.flags = 64 | t10;
            let r10 = a10.subs;
            void 0 !== r10 ? e10(r10.sub) : aY[a4++] = a10;
          }
        }, unwatched(e10) {
          if ("getter" in e10) {
            let a10 = e10.deps;
            if (void 0 !== a10) {
              e10.flags = 17;
              do
                a10 = aX(a10, e10);
              while (void 0 !== a10);
            }
          } else "previousValue" in e10 || to.call(e10);
        } }), a8 = 0, a5 = 0, a4 = 0;
        function a6(a10) {
          let t10 = e3;
          return e3 = a10, t10;
        }
        function a7(e10) {
          return ts.bind({ previousValue: e10, value: e10, subs: void 0, subsTail: void 0, flags: 1 });
        }
        function te(e10) {
          return tn.bind({ value: void 0, subs: void 0, subsTail: void 0, deps: void 0, depsTail: void 0, flags: 17, getter: e10 });
        }
        function ta(t10) {
          let r10 = { fn: t10, subs: void 0, subsTail: void 0, deps: void 0, depsTail: void 0, flags: 2 };
          void 0 !== e3 ? aZ(r10, e3) : void 0 !== a2 && aZ(r10, a2);
          let i2 = a6(r10);
          try {
            r10.fn();
          } finally {
            a6(i2);
          }
          return to.bind(r10);
        }
        function tt(e10) {
          let a10 = a6(e10);
          a9(e10);
          try {
            let a11 = e10.value;
            return a11 !== (e10.value = e10.getter(a11));
          } finally {
            a6(a10), a0(e10);
          }
        }
        function tr(e10, a10) {
          return e10.flags = 1, e10.previousValue !== (e10.previousValue = a10);
        }
        function ti() {
          for (; a5 < a4; ) {
            let e10 = aY[a5];
            aY[a5++] = void 0, (function e11(a10, t10) {
              if (16 & t10 || 32 & t10 && a22(a10.deps, a10)) {
                let e12 = a6(a10);
                a9(a10);
                try {
                  a10.fn();
                } finally {
                  a6(e12), a0(a10);
                }
                return;
              }
              32 & t10 && (a10.flags = -33 & t10);
              let r10 = a10.deps;
              for (; void 0 !== r10; ) {
                let a11 = r10.dep, t11 = a11.flags;
                64 & t11 && e11(a11, a11.flags = -65 & t11), r10 = r10.nextDep;
              }
            })(e10, e10.flags &= -65);
          }
          a5 = 0, a4 = 0;
        }
        function tn() {
          let t10 = this.flags;
          if (16 & t10 || 32 & t10 && a22(this.deps, this)) {
            if (tt(this)) {
              let e10 = this.subs;
              void 0 !== e10 && a3(e10);
            }
          } else 32 & t10 && (this.flags = -33 & t10);
          return void 0 !== e3 ? aZ(this, e3) : void 0 !== a2 && aZ(this, a2), this.value;
        }
        function ts(...a10) {
          if (a10.length) {
            let e10 = a10[0];
            if (this.value !== (this.value = e10)) {
              this.flags = 17;
              let e11 = this.subs;
              void 0 !== e11 && (a1(e11), a8 || ti());
            }
          } else {
            let a11 = this.value;
            if (16 & this.flags && tr(this, a11)) {
              let e10 = this.subs;
              void 0 !== e10 && a3(e10);
            }
            return void 0 !== e3 && aZ(this, e3), a11;
          }
        }
        function to() {
          let e10 = this.deps;
          for (; void 0 !== e10; ) e10 = aX(e10, this);
          let a10 = this.subs;
          void 0 !== a10 && aX(a10), this.flags = 0;
        }
        function tl(e10) {
          let { pageSize: a10, initialPage: t10, ...r10 } = e10 || {}, i2 = a10 ?? 10;
          return new URLSearchParams({ ...Object.entries(r10).reduce((e11, [a11, t11]) => (void 0 !== t11 && (e11[a11] = t11), e11), {}), limit: i2 + "", offset: ((t10 ?? 1) - 1) * i2 + "" });
        }
        class tc {
          static #eh = "/billing";
          static path(e10, a10) {
            let { orgId: t10 } = a10 || {}, r10 = t10 ? `/organizations/${t10}` : "/me";
            return `${r10}${tc.#eh}${e10}`;
          }
          getPlans = async (e10) => {
            let { for: a10, ...t10 } = e10 || {}, r10 = { ...t10, payer_type: "organization" === a10 ? "org" : "user" };
            return await aV._fetch({ path: `${tc.#eh}/plans`, method: "GET", search: tl(r10) }).then((e11) => {
              let { data: a11, total_count: t11 } = e11;
              return { total_count: t11, data: a11.map((e12) => new tT(e12)) };
            });
          };
          getPlan = async (e10) => new tT(await aV._fetch({ path: `${tc.#eh}/plans/${e10.id}`, method: "GET" }));
          getSubscription = async (e10) => await aV._fetch({ path: tc.path("/subscription", { orgId: e10.orgId }), method: "GET" }).then((e11) => new tR(e11?.response));
          getStatements = async (e10) => {
            let { orgId: a10, ...t10 } = e10;
            return await aV._fetch({ path: tc.path("/statements", { orgId: a10 }), method: "GET", search: tl(t10) }).then((e11) => {
              let { data: a11, total_count: t11 } = e11?.response;
              return { total_count: t11, data: a11.map((e12) => new tO(e12)) };
            });
          };
          getStatement = async (e10) => new tO((await aV._fetch({ path: tc.path(`/statements/${e10.id}`, { orgId: e10.orgId }), method: "GET" }))?.response);
          getPaymentAttempts = async (e10) => {
            let { orgId: a10, ...t10 } = e10;
            return await aV._fetch({ path: tc.path("/payment_attempts", { orgId: a10 }), method: "GET", search: tl(t10) }).then((e11) => {
              let { data: a11, total_count: t11 } = e11;
              return { total_count: t11, data: a11.map((e12) => new tq(e12)) };
            });
          };
          getPaymentAttempt = async (e10) => new tq(await aV._fetch({ path: tc.path(`/payment_attempts/${e10.id}`, { orgId: e10.orgId }), method: "GET" }));
          startCheckout = async (e10) => {
            let { orgId: a10, ...t10 } = e10;
            return new tz((await aV._fetch({ path: tc.path("/checkouts", { orgId: a10 }), method: "POST", body: t10 }))?.response);
          };
        }
        let td = a7({ resource: null }), tu = a7({ error: null }), th = a7({ status: "idle" }), tm = te(() => {
          let e10 = td().resource, a10 = tu().error, t10 = th().status;
          return { errors: tj(a10, { identifier: null, password: null, code: null }), fetchStatus: t10, signIn: e10 ? e10.__internal_future : null };
        }), tp = a7({ resource: null }), tg = a7({ error: null }), tb = a7({ status: "idle" }), tf = te(() => {
          let e10 = tp().resource, a10 = tg().error, t10 = tb().status;
          return { errors: tj(a10, { firstName: null, lastName: null, emailAddress: null, phoneNumber: null, password: null, username: null, code: null, captcha: null, legalAccepted: null }), fetchStatus: t10, signUp: e10 ? e10.__internal_future : null };
        }), ty = a7({ resource: null }), tk = a7({ error: null }), tw = a7({ status: "idle" }), tv = te(() => {
          let e10 = ty().resource, a10 = tk().error, t10 = tw().status;
          return { errors: tj(a10, { emailAddress: null }), fetchStatus: t10, waitlist: e10 };
        });
        function tj(e10, a10) {
          let t10 = { fields: { ...a10 }, raw: null, global: null };
          if (!e10) return t10;
          if (!q(e10)) return t10.raw = [e10], t10.global = [L(e10)], t10;
          function r10(e11) {
            return "meta" in e11 && e11.meta && "paramName" in e11.meta && void 0 !== e11.meta.paramName;
          }
          return e10.errors.some(r10) ? e10.errors.forEach((e11) => {
            if (t10.raw ? t10.raw.push(e11) : t10.raw = [e11], r10(e11)) {
              let a11 = er(e11.meta.paramName);
              a11 in t10.fields && (t10.fields[a11] = e11);
            }
          }) : (t10.raw = [e10], t10.global = [L(e10)]), t10;
        }
        class t_ extends aV {
          id;
          createdAt;
          updatedAt;
          imageUrl;
          userId = null;
          email;
          firstName;
          lastName;
          organizationId = null;
          organizationName;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, e10.created_at && (this.createdAt = aH(e10.created_at)), e10.updated_at && (this.updatedAt = aH(e10.updated_at)), this.imageUrl = e10.image_url, this.userId = e10.user_id, this.email = e10.email, this.firstName = e10.first_name, this.lastName = e10.last_name, this.organizationId = e10.organization_id, this.organizationName = e10.organization_name), this;
          }
        }
        class tz extends aV {
          id;
          externalClientSecret;
          externalGatewayId;
          paymentMethod;
          plan;
          planPeriod;
          planPeriodStart;
          status;
          totals;
          isImmediatePlanChange;
          freeTrialEndsAt;
          payer;
          needsPaymentMethod;
          constructor(e10 = null) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.externalClientSecret = e10.external_client_secret, this.externalGatewayId = e10.external_gateway_id, this.paymentMethod = e10.payment_method ? new tA(e10.payment_method) : void 0, this.plan = new tT(e10.plan), this.planPeriod = e10.plan_period, this.planPeriodStart = e10.plan_period_start, this.status = e10.status, this.totals = af(e10.totals), this.isImmediatePlanChange = e10.is_immediate_plan_change, e10.free_trial_ends_at && (this.freeTrialEndsAt = aH(e10.free_trial_ends_at)), this.payer = new t_(e10.payer), this.needsPaymentMethod = e10.needs_payment_method), this;
          }
          confirm = (e10) => au(() => this._basePatch({ path: tc.path(`/checkouts/${this.id}/confirm`, { orgId: this.payer.organizationId }), body: e10 }), { factor: 1.1, maxDelayBetweenRetries: 2e3, initialDelay: 2e3, jitter: false, shouldRetry(e11, a10) {
            if (!q(e11) || a10 >= 4) return false;
            let t10 = e11?.status, r10 = 409 === t10 && e11.errors?.[0]?.code === "checkout_already_in_progress";
            return t10 >= 500 || r10;
          } });
        }
        class tx {
          resource = new tz(null);
          config;
          signals;
          pendingOperations = /* @__PURE__ */ new Map();
          constructor(e10, a10) {
            this.config = a10, this.signals = e10, this.signals.resourceSignal({ resource: this });
          }
          get status() {
            return this.resource.status ?? "needs_initialization";
          }
          get externalClientSecret() {
            return this.resource.externalClientSecret;
          }
          get externalGatewayId() {
            return this.resource.externalGatewayId;
          }
          get plan() {
            return this.resource.plan;
          }
          get planPeriod() {
            return this.resource.planPeriod;
          }
          get totals() {
            return this.resource.totals;
          }
          get isImmediatePlanChange() {
            return this.resource.isImmediatePlanChange;
          }
          get freeTrialEndsAt() {
            return this.resource.freeTrialEndsAt;
          }
          get payer() {
            return this.resource.payer;
          }
          get paymentMethod() {
            return this.resource.paymentMethod ?? null;
          }
          get planPeriodStart() {
            return this.resource.planPeriodStart;
          }
          get needsPaymentMethod() {
            return this.resource.needsPaymentMethod;
          }
          async start() {
            return this.runAsyncCheckoutTask("start", async () => {
              let e10 = await tz.clerk.billing?.startCheckout(this.config);
              this.resource = e10;
            }, () => {
              this.resource = new tz(null), this.signals.resourceSignal({ resource: this });
            });
          }
          async confirm(e10) {
            if (!this.resource.id) throw Error("Clerk: `start()` must be called before `confirm()`");
            return this.runAsyncCheckoutTask("confirm", async () => {
              await this.resource.confirm(e10);
            });
          }
          async finalize(e10) {
            let { navigate: a10 } = e10 || {};
            return this.runAsyncCheckoutTask("finalize", async () => {
              if ("completed" !== this.resource.status) throw Error("Clerk: `confirm()` must be called before `finalize()`");
              await tz.clerk.setActive({ session: tz.clerk.session?.id, navigate: a10 });
            });
          }
          runAsyncCheckoutTask(e10, a10, t10) {
            var r10, i2, n3;
            return void 0 === tz.clerk.user ? (console.warn("Clerk: Checkout operations cannot be performed during transitive state"), { error: null }) : (r10 = this, i2 = this.signals, n3 = this.pendingOperations, async (e11, a11, t11) => {
              if (n3.get(e11)) return n3.get(e11);
              let s3 = (async () => {
                ++a8, i2.errorSignal({ error: null }), i2.fetchSignal({ status: "fetching" }), t11?.(), --a8 || ti(), ++a8;
                try {
                  return await a11(), i2.resourceSignal({ resource: r10 }), { error: null };
                } catch (e12) {
                  return i2.errorSignal({ error: e12 }), { error: e12 };
                } finally {
                  n3.delete(e11), i2.fetchSignal({ status: "idle" }), --a8 || ti();
                }
              })();
              return n3.set(e11, s3), s3;
            })(e10, a10, t10);
          }
        }
        class tq extends aV {
          id;
          amount;
          failedAt = null;
          paidAt = null;
          updatedAt;
          paymentMethod = null;
          subscriptionItem;
          chargeType;
          status;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.amount = ag(e10.amount), this.paidAt = e10.paid_at ? aH(e10.paid_at) : null, this.failedAt = e10.failed_at ? aH(e10.failed_at) : null, this.updatedAt = aH(e10.updated_at), this.paymentMethod = e10.payment_method ? new tA(e10.payment_method) : null, this.subscriptionItem = new tM(e10.subscription_item), this.chargeType = e10.charge_type, this.status = e10.status), this;
          }
        }
        let tS = "/payment_methods", tI = async (e10) => {
          let { orgId: a10, ...t10 } = e10;
          return new tP((await aV._fetch({ path: tc.path(`${tS}/initialize`, { orgId: a10 }), method: "POST", body: t10 }))?.response);
        }, tU = async (e10) => {
          let { orgId: a10, ...t10 } = e10;
          return new tA((await aV._fetch({ path: tc.path(tS, { orgId: a10 }), method: "POST", body: t10 }))?.response);
        }, tC = async (e10) => {
          let { orgId: a10, ...t10 } = e10 ?? {};
          return await aV._fetch({ path: tc.path(tS, { orgId: a10 }), method: "GET", search: tl(t10) }).then((e11) => {
            let { data: a11, total_count: t11 } = e11?.response;
            return { total_count: t11, data: a11.map((e12) => new tA(e12)) };
          });
        };
        class tA extends aV {
          id;
          last4 = null;
          paymentType;
          cardType = null;
          isDefault;
          isRemovable;
          status;
          walletType;
          expiryYear;
          expiryMonth;
          createdAt;
          updatedAt;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.last4 = e10.last4, this.paymentType = e10.payment_type, this.cardType = e10.card_type, this.isDefault = e10.is_default, this.isRemovable = e10.is_removable, this.status = e10.status, this.walletType = e10.wallet_type, this.expiryYear = e10.expiry_year, this.expiryMonth = e10.expiry_month, this.createdAt = null == e10.created_at ? e10.created_at : aH(e10.created_at), this.updatedAt = null == e10.updated_at ? e10.updated_at : aH(e10.updated_at)), this;
          }
          async remove(e10) {
            let { orgId: a10 } = e10 ?? {};
            return new t8((await aV._fetch({ path: tc.path(`/payment_methods/${this.id}`, { orgId: a10 }), method: "DELETE" }))?.response);
          }
          async makeDefault(e10) {
            let { orgId: a10 } = e10 ?? {};
            return await aV._fetch({ path: tc.path("/payers/default_payment_method", { orgId: a10 }), method: "PUT", body: { payment_method_id: this.id } }), null;
          }
        }
        class tP extends aV {
          externalClientSecret;
          externalGatewayId;
          paymentMethodOrder;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.externalClientSecret = e10.external_client_secret, this.externalGatewayId = e10.external_gateway_id, this.paymentMethodOrder = e10.payment_method_order ?? ["card"]), this;
          }
        }
        class tT extends aV {
          id;
          name;
          fee = null;
          annualFee = null;
          annualMonthlyFee = null;
          description = null;
          isDefault;
          isRecurring;
          hasBaseFee;
          forPayerType;
          publiclyVisible;
          slug;
          avatarUrl = null;
          features;
          unitPrices;
          freeTrialDays;
          freeTrialEnabled;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.name = e10.name, this.fee = e10.fee ? ag(e10.fee) : null, this.annualFee = e10.annual_fee ? ag(e10.annual_fee) : null, this.annualMonthlyFee = e10.annual_monthly_fee ? ag(e10.annual_monthly_fee) : null, this.description = e10.description, this.isDefault = e10.is_default, this.isRecurring = e10.is_recurring, this.hasBaseFee = e10.has_base_fee, this.forPayerType = e10.for_payer_type, this.publiclyVisible = e10.publicly_visible, this.slug = e10.slug, this.avatarUrl = e10.avatar_url, this.freeTrialDays = this.withDefault(e10.free_trial_days, null), this.freeTrialEnabled = this.withDefault(e10.free_trial_enabled, false), this.features = (e10.features || []).map((e11) => new rv(e11)), this.unitPrices = e10.unit_prices?.map((e11) => ({ name: e11.name, blockSize: e11.block_size, tiers: e11.tiers.map((e12) => ({ id: e12.id, startsAtBlock: e12.starts_at_block, endsAfterBlock: e12.ends_after_block, feePerBlock: ag(e12.fee_per_block) })) }))), this;
          }
        }
        class tO extends aV {
          id;
          status;
          timestamp;
          totals;
          groups;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.status = e10.status, this.timestamp = aH(e10.timestamp), this.totals = af(e10.totals), this.groups = e10.groups.map((e11) => new tE(e11))), this;
          }
        }
        class tE {
          id;
          timestamp;
          items;
          constructor(e10) {
            this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.timestamp = aH(e10.timestamp), this.items = e10.items.map((e11) => new tq(e11))), this;
          }
        }
        class tR extends aV {
          id;
          status;
          activeAt;
          createdAt;
          pastDueAt;
          updatedAt;
          nextPayment;
          subscriptionItems;
          eligibleForFreeTrial;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.status = e10.status, this.createdAt = aH(e10.created_at), this.updatedAt = e10.updated_at ? aH(e10.updated_at) : null, this.activeAt = aH(e10.active_at), this.pastDueAt = e10.past_due_at ? aH(e10.past_due_at) : null, e10.next_payment && (this.nextPayment = { amount: ag(e10.next_payment.amount), date: aH(e10.next_payment.date) }), this.subscriptionItems = (e10.subscription_items || []).map((e11) => new tM(e11)), this.eligibleForFreeTrial = this.withDefault(e10.eligible_for_free_trial, false)), this;
          }
        }
        class tM extends aV {
          id;
          plan;
          planPeriod;
          status;
          createdAt;
          periodStart;
          periodEnd;
          canceledAt;
          pastDueAt;
          amount;
          credit;
          seats;
          credits;
          isFreeTrial;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.plan = new tT(e10.plan), this.planPeriod = e10.plan_period, this.status = e10.status, this.createdAt = aH(e10.created_at), this.pastDueAt = e10.past_due_at ? aH(e10.past_due_at) : null, this.periodStart = aH(e10.period_start), this.periodEnd = e10.period_end ? aH(e10.period_end) : null, this.canceledAt = e10.canceled_at ? aH(e10.canceled_at) : null, this.amount = e10.amount ? ag(e10.amount) : void 0, this.credit = e10.credit && e10.credit.amount ? { amount: ag(e10.credit.amount) } : void 0, this.seats = e10.seats ? { quantity: e10.seats.quantity } : void 0, this.credits = e10.credits ? ab(e10.credits) : void 0, this.isFreeTrial = this.withDefault(e10.is_free_trial, false)), this;
          }
          async cancel(e10) {
            let { orgId: a10 } = e10;
            return new t8((await aV._fetch({ path: tc.path(`/subscription_items/${this.id}`, { orgId: a10 }), method: "DELETE" }))?.response);
          }
        }
        let tF = "token:update", tD = "user:signOut", tN = "environment:update", tW = "session:tokenResolved", tL = g2(), t$ = { build: (e10, a10, t10) => [e10, a10, t10].filter(Boolean).join("-"), parse: (e10, a10, t10) => {
          let r10 = t$.extractTemplate(e10, a10, t10);
          return { organizationId: t10, sessionId: a10, template: r10 };
        }, extractTemplate: (e10, a10, t10) => {
          if (e10 === a10 || t10 && e10 === `${a10}-${t10}`) return;
          let r10 = e10.slice(a10.length + 1);
          return t10 && r10.endsWith(`-${t10}`) && (r10 = r10.slice(0, -(t10.length + 1))), r10 || void 0;
        } };
        var tB = i(118), tK = 'const respond=r=>{self.postMessage(r)},workerToTabIds={};self.addEventListener("message",r=>{const e=r.data;switch(e.type){case"setTimeout":workerToTabIds[e.id]=setTimeout(()=>{respond({id:e.id}),delete workerToTabIds[e.id]},e.ms);break;case"clearTimeout":workerToTabIds[e.id]&&(clearTimeout(workerToTabIds[e.id]),delete workerToTabIds[e.id]);break;case"setInterval":workerToTabIds[e.id]=setInterval(()=>{respond({id:e.id})},e.ms);break;case"clearInterval":workerToTabIds[e.id]&&(clearInterval(workerToTabIds[e.id]),delete workerToTabIds[e.id]);break}});\n';
        let tJ = (e10, a10 = {}) => {
          if ("u" < typeof Worker) return null;
          try {
            let t10 = new Blob([e10], { type: "application/javascript; charset=utf-8" }), r10 = globalThis.URL.createObjectURL(t10);
            return new Worker(r10, a10);
          } catch {
            return console.warn("Clerk: Cannot create worker from blob. Consider adding worker-src blob:; to your CSP"), null;
          }
        }, tV = () => {
          let e10 = 0, a10 = () => e10++, t10 = /* @__PURE__ */ new Map(), r10 = (e11, a11) => e11?.postMessage(a11), i2 = (e11) => {
            t10.get(e11.data.id)?.();
          }, n3 = tJ(tK, { name: "clerk-timers" });
          if (n3?.addEventListener("message", i2), !n3) return { setTimeout: globalThis.setTimeout.bind(globalThis), setInterval: globalThis.setInterval.bind(globalThis), clearTimeout: globalThis.clearTimeout.bind(globalThis), clearInterval: globalThis.clearInterval.bind(globalThis), cleanup: tB.t };
          let s3 = () => {
            n3 || (n3 = tJ(tK, { name: "clerk-timers" }), n3?.addEventListener("message", i2));
          };
          return { setTimeout: (e11, i3) => {
            s3();
            let o4 = a10();
            return t10.set(o4, () => {
              e11(), t10.delete(o4);
            }), r10(n3, { type: "setTimeout", id: o4, ms: i3 }), o4;
          }, setInterval: (e11, i3) => {
            s3();
            let o4 = a10();
            return t10.set(o4, e11), r10(n3, { type: "setInterval", id: o4, ms: i3 }), o4;
          }, clearTimeout: (e11) => {
            s3(), t10.delete(e11), r10(n3, { type: "clearTimeout", id: e11 });
          }, clearInterval: (e11) => {
            s3(), t10.delete(e11), r10(n3, { type: "clearInterval", id: e11 });
          }, cleanup: () => {
            n3 && (n3.terminate(), n3 = null, t10.clear());
          } };
        };
        var tH = i(388), tG = i.n(tH);
        class tQ {
          lock = (k = "clerk.lock.refreshSessionToken", s2 = new (tG())(), { acquireLockAndRun: async (e10) => {
            if ("locks" in navigator && isSecureContext) {
              let a10 = new AbortController(), t10 = setTimeout(() => a10.abort(), 4999);
              return await navigator.locks.request(k, { signal: a10.signal }, async () => (clearTimeout(t10), await e10())).catch(() => false);
            }
            if (await s2.acquireLock(k, 5e3)) try {
              return await e10();
            } finally {
              await s2.releaseLock(k);
            }
          } });
          workerTimers = tV();
          timerId = null;
          initiated = false;
          startPollingForSessionToken(e10) {
            if (this.timerId || this.initiated) return;
            let a10 = async () => {
              this.initiated = true, await this.lock.acquireLockAndRun(e10), this.timerId = this.workerTimers.setTimeout(a10, 5e3);
            };
            a10();
          }
          stopPollingForSessionToken() {
            null != this.timerId && (this.workerTimers.clearTimeout(this.timerId), this.timerId = null), this.initiated = false;
          }
        }
        let tY = "clerk", tZ = { broadcast: true }, tX = { broadcast: false };
        class t1 {
          prefix;
          data;
          static fromKey(e10) {
            let [a10, t10, r10 = ""] = e10.split("::");
            return new t1(a10, { audience: r10, tokenId: t10 });
          }
          constructor(e10, a10) {
            this.prefix = e10, this.data = a10, this.prefix = e10, this.data = a10;
          }
          toKey() {
            let { tokenId: e10, audience: a10 } = this.data;
            return [this.prefix, e10, a10 || ""].join("::");
          }
        }
        let t22 = ((e10 = tY) => {
          let a10 = /* @__PURE__ */ new Map(), t10 = Math.random().toString(36).slice(2), r10 = null, i2 = () => r10 || ("u" < typeof BroadcastChannel ? null : ((r10 = new BroadcastChannel("clerk:session_token")).addEventListener("message", (e11) => {
            s3(e11);
          }), r10));
          i2();
          let n3 = (t11) => {
            i2();
            let r11 = new t1(e10, t11), n4 = a10.get(r11.toKey());
            if (!n4) return;
            let s4 = Math.floor(Date.now() / 1e3) - n4.createdAt;
            if ((n4.expiresIn ?? 1 / 0) - s4 <= 5) {
              void 0 !== n4.timeoutId && clearTimeout(n4.timeoutId), void 0 !== n4.refreshTimeoutId && clearTimeout(n4.refreshTimeoutId), a10.delete(r11.toKey());
              return;
            }
            return { entry: n4.entry };
          }, s3 = async ({ data: e11 }) => {
            let a11, r11 = t$.build(e11.sessionId, e11.template, e11.organizationId);
            if (e11.tokenId !== r11) return void ao.warn("Ignoring token broadcast with mismatched tokenId", { expectedTokenId: r11, organizationId: e11.organizationId, receivedTokenId: e11.tokenId, tabId: t10, template: e11.template, traceId: e11.traceId }, "tokenCache");
            try {
              a11 = new it({ id: e11.tokenId, jwt: e11.tokenRaw, object: "token" });
            } catch (a12) {
              ao.warn("Failed to parse token from broadcast, skipping cache update", { error: a12, tabId: t10, tokenId: e11.tokenId, traceId: e11.traceId }, "tokenCache");
              return;
            }
            let i3 = a11.jwt?.claims?.iat, s4 = a11.jwt?.claims?.exp;
            if (!i3 || !s4) return void ao.warn("Token missing iat/exp claim, skipping cache update", { tabId: t10, tokenId: e11.tokenId, traceId: e11.traceId }, "tokenCache");
            try {
              let a12 = n3({ tokenId: e11.tokenId });
              if (a12) {
                let r12 = await a12.entry.tokenResolver, n4 = r12.jwt?.claims?.iat;
                if (n4 && n4 >= i3) return void ao.debug("Ignoring older token broadcast", { existingIat: n4, incomingIat: i3, tabId: t10, tokenId: e11.tokenId, traceId: e11.traceId }, "tokenCache");
              }
            } catch (a12) {
              ao.warn("Existing entry compare failed; proceeding with broadcast update", { error: a12, tabId: t10, tokenId: e11.tokenId, traceId: e11.traceId }, "tokenCache");
            }
            ao.info("Updating token cache from broadcast", { iat: i3, organizationId: e11.organizationId, tabId: t10, template: e11.template, tokenId: e11.tokenId, traceId: e11.traceId }, "tokenCache"), o4({ createdAt: i3, tokenId: e11.tokenId, tokenResolver: Promise.resolve(a11) }, tX);
          }, o4 = (i3, n4 = tZ) => {
            let s4 = new t1(e10, { audience: i3.audience, tokenId: i3.tokenId }).toKey(), o5 = a10.get(s4);
            clearTimeout(o5?.timeoutId), clearTimeout(o5?.refreshTimeoutId);
            let l3 = Math.floor(Date.now() / 1e3), c3 = { createdAt: i3.createdAt ?? l3, entry: i3, expiresIn: void 0 }, d3 = () => {
              let e11 = a10.get(s4);
              e11 === c3 && (void 0 !== e11.timeoutId && clearTimeout(e11.timeoutId), void 0 !== e11.refreshTimeoutId && clearTimeout(e11.refreshTimeoutId), a10.delete(s4));
            };
            a10.set(s4, c3), i3.tokenResolver.then((e11) => {
              if (a10.get(s4) !== c3) return;
              i3.resolvedToken = e11;
              let o6 = e11.jwt?.claims;
              if (!o6 || "number" != typeof o6.exp || "number" != typeof o6.iat) return d3();
              let l4 = o6.exp, u3 = o6.iat, h3 = l4 - u3;
              c3.createdAt = u3, c3.expiresIn = h3;
              let m3 = setTimeout(d3, 1e3 * h3);
              c3.timeoutId = m3, "function" == typeof m3.unref && m3.unref();
              let p3 = h3 - 15 - 2;
              if (p3 > 0 && i3.onRefresh) {
                let e12 = setTimeout(() => {
                  i3.onRefresh?.();
                }, 1e3 * p3);
                c3.refreshTimeoutId = e12, "function" == typeof e12.unref && e12.unref();
              }
              let g3 = r10;
              if (g3 && n4.broadcast) {
                let a11 = e11.getRawString();
                if (a11 && o6.sid) {
                  let e12 = o6.sid, r11 = o6.org_id || o6.o?.id, n5 = t$.extractTemplate(i3.tokenId, e12, r11), s5 = t$.build(e12, n5, r11);
                  if (i3.tokenId === s5) {
                    let s6 = `bc_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;
                    ao.info("Broadcasting token update to other tabs", { organizationId: r11, sessionId: e12, tabId: t10, template: n5, tokenId: i3.tokenId, traceId: s6 }, "tokenCache");
                    let o7 = { organizationId: r11, sessionId: e12, template: n5, tokenId: i3.tokenId, tokenRaw: a11, traceId: s6 };
                    g3.postMessage(o7);
                  }
                }
              }
            }).catch(() => {
              d3();
            });
          };
          return { clear: () => {
            a10.forEach((e11) => {
              void 0 !== e11.timeoutId && clearTimeout(e11.timeoutId), void 0 !== e11.refreshTimeoutId && clearTimeout(e11.refreshTimeoutId);
            }), a10.clear();
          }, close: () => {
            r10 && (r10.close(), r10 = null);
          }, get: n3, set: (e11) => {
            i2(), o4(e11, tZ);
          }, size: () => a10.size };
        })();
        function t0(e10) {
          if (!e10) return;
          let a10 = e10.client || e10.meta?.client;
          return a10 ? t9.getOrCreateInstance().fromJSON(a10) : void 0;
        }
        class t9 extends aV {
          static instance;
          pathRoot = "/client";
          sessions = [];
          signUp = new r5();
          signIn = new r9();
          lastActiveSessionId = null;
          captchaBypass = false;
          cookieExpiresAt = null;
          lastAuthenticationStrategy = null;
          createdAt = null;
          updatedAt = null;
          static getOrCreateInstance(e10 = null) {
            return t9.instance || (t9.instance = new t9(e10)), t9.instance;
          }
          static clearInstance() {
            t9.instance = null;
          }
          static isClientResource(e10) {
            return !!e10 && e10 instanceof t9;
          }
          constructor(e10 = null) {
            super(), this.fromJSON(e10);
          }
          get signUpAttempt() {
            return this.signUp;
          }
          get signInAttempt() {
            return this.signIn;
          }
          get signedInSessions() {
            return this.sessions.filter((e10) => "active" === e10.status || "pending" === e10.status);
          }
          create() {
            return this._basePut();
          }
          fetch({ fetchMaxTries: e10 } = {}) {
            return this._baseGet({ fetchMaxTries: e10 });
          }
          async destroy() {
            return this._baseDelete({ path: "/client" }).then(() => {
              t22.clear(), this.id = "", this.sessions = [], this.signUp = new r5(null), this.signIn = new r9(null), this.lastActiveSessionId = null, this.lastAuthenticationStrategy = null, this.cookieExpiresAt = null, this.createdAt = null, this.updatedAt = null;
            });
          }
          removeSessions() {
            return this._baseDelete({ path: this.path() + "/sessions" }).then((e10) => (t22.clear(), e10));
          }
          resetSignIn() {
            this.signIn = new r9(null), tL.emit("resource:error", { resource: this.signIn, error: null });
          }
          resetSignUp() {
            this.signUp = new r5(null), tL.emit("resource:error", { resource: this.signUp, error: null });
          }
          clearCache() {
            return this.sessions.forEach((e10) => e10.clearCache());
          }
          isEligibleForTouch() {
            return !!this.cookieExpiresAt && this.cookieExpiresAt.getTime() - Date.now() <= 6912e5;
          }
          buildTouchUrl({ redirectUrl: e10 }) {
            return aV.fapiClient.buildUrl({ method: "GET", path: "/client/touch", pathPrefix: "v1", search: { redirect_url: e10.toString() } }).toString();
          }
          __internal_sendCaptchaToken(e10) {
            return this._basePostBypass({ body: e10, path: this.path() + "/verify" });
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.sessions = (e10.sessions || []).map((e11) => new rH(e11)), e10.sign_up && this.signUp instanceof r5 && this.signUp.id === e10.sign_up.id ? this.signUp.__internal_updateFromJSON(e10.sign_up) : this.signUp = new r5(e10.sign_up), e10.sign_in && this.signIn instanceof r9 && this.signIn.id === e10.sign_in.id ? this.signIn.__internal_updateFromJSON(e10.sign_in) : this.signIn = new r9(e10.sign_in), this.lastActiveSessionId = e10.last_active_session_id, this.captchaBypass = e10.captcha_bypass || false, this.cookieExpiresAt = e10.cookie_expires_at ? aH(e10.cookie_expires_at) : null, this.lastAuthenticationStrategy = e10.last_authentication_strategy || null, this.createdAt = aH(e10.created_at || void 0), this.updatedAt = aH(e10.updated_at || void 0)), this;
          }
          __internal_toSnapshot() {
            return { object: "client", id: this.id || "", sessions: this.sessions.map((e10) => e10.__internal_toSnapshot()), sign_up: this.signUp.__internal_toSnapshot(), sign_in: this.signIn.__internal_toSnapshot(), last_active_session_id: this.lastActiveSessionId, captcha_bypass: this.captchaBypass, cookie_expires_at: this.cookieExpiresAt ? this.cookieExpiresAt.getTime() : null, last_authentication_strategy: this.lastAuthenticationStrategy ?? null, created_at: this.createdAt?.getTime() ?? null, updated_at: this.updatedAt?.getTime() ?? null };
          }
          path() {
            return this.pathRoot;
          }
        }
        class t3 extends aV {
          billing = { stripePublishableKey: null, organization: { enabled: false, hasPaidPlans: false }, user: { enabled: false, hasPaidPlans: false } };
          constructor(e10 = null) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.billing.stripePublishableKey = e10.billing.stripe_publishable_key, this.billing.organization.enabled = e10.billing.organization.enabled, this.billing.organization.hasPaidPlans = e10.billing.organization.has_paid_plans, this.billing.user.enabled = e10.billing.user.enabled, this.billing.user.hasPaidPlans = e10.billing.user.has_paid_plans), this;
          }
          __internal_toSnapshot() {
            return { billing: { stripe_publishable_key: this.billing.stripePublishableKey, organization: { enabled: this.billing.organization.enabled, has_paid_plans: this.billing.organization.hasPaidPlans }, user: { enabled: this.billing.user.enabled, has_paid_plans: this.billing.user.hasPaidPlans } } };
          }
        }
        class t8 {
          object = "";
          id;
          slug;
          deleted = false;
          constructor(e10) {
            this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.object = e10.object, this.id = e10.id, this.slug = e10.slug, this.deleted = e10.deleted), this;
          }
        }
        class t5 extends aV {
          afterCreateOrganizationUrl = "";
          afterJoinWaitlistUrl = "";
          afterLeaveOrganizationUrl = "";
          afterSignInUrl = "";
          afterSignOutAllUrl = "";
          afterSignOutOneUrl = "";
          afterSignOutUrl = "";
          afterSignUpUrl = "";
          afterSwitchSessionUrl = "";
          applicationName = "";
          backendHost = "";
          branded = false;
          captchaHeartbeat = false;
          captchaHeartbeatIntervalMs;
          captchaOauthBypass = ["oauth_google", "oauth_microsoft", "oauth_apple"];
          captchaProvider = "turnstile";
          captchaPublicKey = null;
          captchaPublicKeyInvisible = null;
          captchaWidgetType = null;
          clerkJSVersion;
          createOrganizationUrl = "";
          faviconImageUrl = "";
          googleOneTapClientId;
          homeUrl = "";
          id = "";
          instanceEnvironmentType = "";
          logoImageUrl = "";
          organizationProfileUrl = "";
          preferredSignInStrategy = "password";
          privacyPolicyUrl = "";
          showDevModeWarning = false;
          signInUrl = "";
          signUpUrl = "";
          supportEmail = "";
          termsUrl = "";
          theme = {};
          userProfileUrl = "";
          waitlistUrl = "";
          constructor(e10 = null) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.afterCreateOrganizationUrl = this.withDefault(e10.after_create_organization_url, this.afterCreateOrganizationUrl), this.afterJoinWaitlistUrl = this.withDefault(e10.after_join_waitlist_url, this.afterJoinWaitlistUrl), this.afterLeaveOrganizationUrl = this.withDefault(e10.after_leave_organization_url, this.afterLeaveOrganizationUrl), this.afterSignInUrl = this.withDefault(e10.after_sign_in_url, this.afterSignInUrl), this.afterSignOutAllUrl = this.withDefault(e10.after_sign_out_all_url, this.afterSignOutAllUrl), this.afterSignOutOneUrl = this.withDefault(e10.after_sign_out_one_url, this.afterSignOutOneUrl), this.afterSignUpUrl = this.withDefault(e10.after_sign_up_url, this.afterSignUpUrl), this.afterSwitchSessionUrl = this.withDefault(e10.after_switch_session_url, this.afterSwitchSessionUrl), this.applicationName = this.withDefault(e10.application_name, this.applicationName), this.branded = this.withDefault(e10.branded, this.branded), this.captchaHeartbeat = this.withDefault(e10.captcha_heartbeat, this.captchaHeartbeat), this.captchaHeartbeatIntervalMs = this.withDefault(e10.captcha_heartbeat_interval_ms, this.captchaHeartbeatIntervalMs), this.captchaOauthBypass = this.withDefault(e10.captcha_oauth_bypass, this.captchaOauthBypass), this.captchaProvider = this.withDefault(e10.captcha_provider, this.captchaProvider), this.captchaPublicKey = this.withDefault(e10.captcha_public_key, this.captchaPublicKey), this.captchaPublicKeyInvisible = this.withDefault(e10.captcha_public_key_invisible, this.captchaPublicKeyInvisible), this.captchaWidgetType = this.withDefault(e10.captcha_widget_type, this.captchaWidgetType), this.clerkJSVersion = this.withDefault(e10.clerk_js_version, this.clerkJSVersion), this.createOrganizationUrl = this.withDefault(e10.create_organization_url, this.createOrganizationUrl), this.faviconImageUrl = this.withDefault(e10.favicon_image_url, this.faviconImageUrl), this.googleOneTapClientId = this.withDefault(e10.google_one_tap_client_id, this.googleOneTapClientId), this.homeUrl = this.withDefault(e10.home_url, this.homeUrl), this.id = this.withDefault(e10.id, this.id), this.instanceEnvironmentType = this.withDefault(e10.instance_environment_type, this.instanceEnvironmentType), this.logoImageUrl = this.withDefault(e10.logo_image_url, this.logoImageUrl), this.organizationProfileUrl = this.withDefault(e10.organization_profile_url, this.organizationProfileUrl), this.preferredSignInStrategy = this.withDefault(e10.preferred_sign_in_strategy, this.preferredSignInStrategy), this.privacyPolicyUrl = this.withDefault(e10.privacy_policy_url, this.privacyPolicyUrl), this.showDevModeWarning = this.withDefault(e10.show_devmode_warning, this.showDevModeWarning), this.signInUrl = this.withDefault(e10.sign_in_url, this.signInUrl), this.signUpUrl = this.withDefault(e10.sign_up_url, this.signUpUrl), this.supportEmail = this.withDefault(e10.support_email, this.supportEmail), this.termsUrl = this.withDefault(e10.terms_url, this.termsUrl), this.theme = this.withDefault(e10.theme, this.theme), this.userProfileUrl = this.withDefault(e10.user_profile_url, this.userProfileUrl), this.waitlistUrl = this.withDefault(e10.waitlist_url, this.waitlistUrl)), this;
          }
          __internal_toSnapshot() {
            return { object: "display_config", after_create_organization_url: this.afterCreateOrganizationUrl, after_join_waitlist_url: this.afterJoinWaitlistUrl, after_leave_organization_url: this.afterLeaveOrganizationUrl, after_sign_in_url: this.afterSignInUrl, after_sign_out_all_url: this.afterSignOutAllUrl, after_sign_out_one_url: this.afterSignOutOneUrl, after_sign_up_url: this.afterSignUpUrl, after_switch_session_url: this.afterSwitchSessionUrl, application_name: this.applicationName, branded: this.branded, captcha_heartbeat_interval_ms: this.captchaHeartbeatIntervalMs, captcha_heartbeat: this.captchaHeartbeat, captcha_oauth_bypass: this.captchaOauthBypass, captcha_provider: this.captchaProvider, captcha_public_key_invisible: this.captchaPublicKeyInvisible, captcha_public_key: this.captchaPublicKey, captcha_widget_type: this.captchaWidgetType, clerk_js_version: this.clerkJSVersion, create_organization_url: this.createOrganizationUrl, favicon_image_url: this.faviconImageUrl, google_one_tap_client_id: this.googleOneTapClientId, home_url: this.homeUrl, id: this.id, instance_environment_type: this.instanceEnvironmentType, logo_image_url: this.logoImageUrl, organization_profile_url: this.organizationProfileUrl, preferred_sign_in_strategy: this.preferredSignInStrategy, privacy_policy_url: this.privacyPolicyUrl, show_devmode_warning: this.showDevModeWarning, sign_in_url: this.signInUrl, sign_up_url: this.signUpUrl, support_email: this.supportEmail, terms_url: this.termsUrl, theme: this.theme, user_profile_url: this.userProfileUrl, waitlist_url: this.waitlistUrl };
          }
        }
        function t4({ delayInMs: e10 } = { delayInMs: 1e3 }) {
          let a10, t10 = tV(), r10 = false, i2 = () => {
            a10 && (t10.clearTimeout(a10), t10.cleanup()), r10 = true;
          }, n3 = async (s3) => {
            r10 = false, await s3(i2), r10 || (a10 = t10.setTimeout(() => {
              n3(s3);
            }, e10));
          };
          return { run: n3, stop: i2 };
        }
        class t6 extends aV {
          id;
          emailAddress = "";
          matchesSsoConnection = false;
          linkedTo = [];
          verification;
          constructor(e10, a10) {
            super(), this.pathRoot = a10, this.fromJSON(e10);
          }
          create() {
            return this._basePost({ body: { email_address: this.emailAddress } });
          }
          prepareVerification = (e10) => this._basePost({ action: "prepare_verification", body: { ...e10 } });
          attemptVerification = (e10) => {
            let { code: a10 } = e10 || {};
            return this._basePost({ action: "attempt_verification", body: { code: a10 } });
          };
          createEmailLinkFlow = () => {
            let { run: e10, stop: a10 } = t4();
            return { startEmailLinkFlow: async ({ redirectUrl: t10 }) => (await this.prepareVerification({ strategy: "email_link", redirectUrl: t10 }), new Promise((t11, r10) => {
              e10(() => this.reload().then((e11) => {
                "verified" === e11.verification.status && (a10(), t11(e11));
              }).catch((e11) => {
                a10(), r10(e11);
              }));
            })), cancelEmailLinkFlow: a10 };
          };
          createEnterpriseSSOLinkFlow = () => {
            let { run: e10, stop: a10 } = t4();
            return { startEnterpriseSSOLinkFlow: async ({ redirectUrl: t10 }) => {
              if (!(await this.prepareVerification({ strategy: "enterprise_sso", redirectUrl: t10 })).verification.externalVerificationRedirectURL) throw Error("Unexpected: External verification redirect URL is missing");
              return new Promise((t11, r10) => {
                e10(() => this.reload().then((e11) => {
                  "verified" === e11.verification.status && (a10(), t11(e11));
                }).catch((e11) => {
                  a10(), r10(e11);
                }));
              });
            }, cancelEnterpriseSSOLinkFlow: a10 };
          };
          destroy = () => this._baseDelete();
          toString = () => this.emailAddress;
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.emailAddress = e10.email_address, this.verification = new rc(e10.verification), this.matchesSsoConnection = e10.matches_sso_connection, this.linkedTo = (e10.linked_to || []).map((e11) => new rj(e11))), this;
          }
          __internal_toSnapshot() {
            return { object: "email_address", id: this.id, email_address: this.emailAddress, verification: this.verification.__internal_toSnapshot(), linked_to: this.linkedTo.map((e10) => e10.__internal_toSnapshot()), matches_sso_connection: this.matchesSsoConnection };
          }
        }
        var t7 = class {
          static encode(e10) {
            return btoa(String.fromCharCode(...new Uint8Array(e10))).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
          }
          static decode(e10) {
            let a10 = atob(e10.replace(/-/g, "+").replace(/_/g, "/")), t10 = a10.length, r10 = new Uint8Array(t10);
            for (let e11 = 0; e11 < t10; e11++) r10[e11] = a10.charCodeAt(e11);
            return r10.buffer;
          }
        };
        async function re(e10) {
          try {
            let a11 = await navigator.credentials.create({ publicKey: e10 });
            if (!a11) return { error: new O("Browser failed to create credential", { code: "passkey_registration_failed" }), publicKeyCredential: null };
            return { publicKeyCredential: a11, error: null };
          } catch (e11) {
            var a10;
            return { error: "InvalidStateError" === (a10 = e11).name ? new O(a10.message, { code: "passkey_already_exists" }) : "NotAllowedError" === a10.name ? new O(a10.message, { code: "passkey_registration_cancelled" }) : rr(a10), publicKeyCredential: null };
          }
        }
        let ra = new class {
          controller;
          __abort() {
            if (!this.controller) return;
            let e10 = Error();
            e10.name = "AbortError", this.controller.abort(e10);
          }
          createAbortSignal() {
            this.__abort();
            let e10 = new AbortController();
            return this.controller = e10, e10.signal;
          }
          abort() {
            this.__abort(), this.controller = void 0;
          }
        }();
        async function rt({ publicKeyOptions: e10, conditionalUI: a10 }) {
          try {
            let t11 = await navigator.credentials.get({ publicKey: e10, mediation: a10 ? "conditional" : "optional", signal: ra.createAbortSignal() });
            if (!t11) return { error: new O("Browser failed to get credential", { code: "passkey_retrieval_failed" }), publicKeyCredential: null };
            return { publicKeyCredential: t11, error: null };
          } catch (e11) {
            var t10;
            return { error: "NotAllowedError" === (t10 = e11).name ? new O(t10.message, { code: "passkey_retrieval_cancelled" }) : rr(t10), publicKeyCredential: null };
          }
        }
        function rr(e10) {
          return "AbortError" === e10.name ? new O(e10.message, { code: "passkey_operation_aborted" }) : "SecurityError" === e10.name ? new O(e10.message, { code: "passkey_invalid_rpID_or_domain", docsUrl: "https://clerk.com/docs/deployments/overview#authentication-across-subdomains" }) : e10;
        }
        function ri(e10) {
          let a10 = rl(e10.challenge), t10 = (e10.allowCredentials || []).map((e11) => ({ ...e11, id: rl(e11.id) }));
          return { ...e10, allowCredentials: t10, challenge: a10 };
        }
        function rn(e10) {
          return { type: e10.type, id: e10.id, rawId: ro(e10.rawId), authenticatorAttachment: e10.authenticatorAttachment };
        }
        function rs(e10) {
          let a10 = e10.response;
          return { ...rn(e10), response: { clientDataJSON: ro(a10.clientDataJSON), authenticatorData: ro(a10.authenticatorData), signature: ro(a10.signature), userHandle: a10.userHandle ? ro(a10.userHandle) : null } };
        }
        let ro = t7.encode.bind(t7), rl = t7.decode.bind(t7);
        class rc extends aV {
          pathRoot = "";
          status = null;
          strategy = null;
          nonce = null;
          message = null;
          externalVerificationRedirectURL = null;
          attempts = null;
          expireAt = null;
          error = null;
          verifiedAtClient = null;
          channel;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          verifiedFromTheSameClient = () => this.verifiedAtClient === aV.clerk?.client?.id;
          fromJSON(e10) {
            return e10 && (this.status = e10.status, this.verifiedAtClient = e10.verified_at_client, this.strategy = e10.strategy, this.nonce = e10.nonce || null, this.message = e10.message || null, e10.external_verification_redirect_url ? this.externalVerificationRedirectURL = new URL(e10.external_verification_redirect_url) : this.externalVerificationRedirectURL = null, this.attempts = e10.attempts, this.expireAt = aH(e10.expire_at || void 0), this.error = e10.error ? new z(e10.error) : null, this.channel = e10.channel || void 0), this;
          }
          __internal_toSnapshot() {
            var e10;
            return { object: "verification", id: this.id || "", status: this.status, strategy: this.strategy, nonce: this.nonce, message: this.message, external_verification_redirect_url: this.externalVerificationRedirectURL?.toString() || null, attempts: this.attempts, expire_at: this.expireAt?.getTime() || null, error: (e10 = this.error, { code: e10?.code || "", message: e10?.message || "", long_message: e10?.longMessage, meta: { param_name: e10?.meta?.paramName, session_id: e10?.meta?.sessionId, email_addresses: e10?.meta?.emailAddresses, identifiers: e10?.meta?.identifiers, zxcvbn: e10?.meta?.zxcvbn, plan: e10?.meta?.plan, is_plan_upgrade_possible: e10?.meta?.isPlanUpgradePossible } }), verified_at_client: this.verifiedAtClient };
          }
        }
        class rd extends rc {
          publicKey = null;
          constructor(e10) {
            super(e10), this.fromJSON(e10);
          }
          fromJSON(e10) {
            var a10;
            let t10, r10, i2;
            return super.fromJSON(e10), e10?.nonce && (this.publicKey = (t10 = rl((a10 = JSON.parse(e10.nonce)).user.id), r10 = rl(a10.challenge), i2 = (a10.excludeCredentials || []).map((e11) => ({ ...e11, id: rl(e11.id) })), { ...a10, excludeCredentials: i2, challenge: r10, user: { ...a10.user, id: t10 } })), this;
          }
        }
        class ru {
          emailAddress;
          phoneNumber;
          web3Wallet;
          externalAccount;
          constructor(e10) {
            e10 ? (this.emailAddress = new rh(e10.email_address), this.phoneNumber = new rh(e10.phone_number), this.web3Wallet = new rh(e10.web3_wallet), this.externalAccount = new rc(e10.external_account)) : (this.emailAddress = new rh(null), this.phoneNumber = new rh(null), this.web3Wallet = new rh(null), this.externalAccount = new rc(null));
          }
          __internal_toSnapshot() {
            return { email_address: this.emailAddress.__internal_toSnapshot(), phone_number: this.phoneNumber.__internal_toSnapshot(), web3_wallet: this.web3Wallet.__internal_toSnapshot(), external_account: this.externalAccount.__internal_toSnapshot() };
          }
        }
        class rh extends rc {
          nextAction;
          supportedStrategies;
          constructor(e10) {
            super(e10), e10 ? (this.nextAction = e10.next_action, this.supportedStrategies = e10.supported_strategies) : (this.nextAction = "", this.supportedStrategies = []);
          }
          __internal_toSnapshot() {
            return { ...super.__internal_toSnapshot(), next_action: this.nextAction, supported_strategies: this.supportedStrategies };
          }
        }
        class rm extends aV {
          id;
          protocol;
          provider;
          providerUserId = null;
          active;
          emailAddress = "";
          firstName = "";
          lastName = "";
          publicMetadata = {};
          verification = null;
          enterpriseConnection = null;
          lastAuthenticatedAt = null;
          enterpriseConnectionId = null;
          constructor(e10, a10) {
            super(), this.pathRoot = a10, this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.provider = e10.provider, this.protocol = e10.protocol, this.providerUserId = e10.provider_user_id, this.active = e10.active, this.emailAddress = e10.email_address, this.firstName = e10.first_name, this.lastName = e10.last_name, this.publicMetadata = e10.public_metadata, this.lastAuthenticatedAt = e10.last_authenticated_at ? aH(e10.last_authenticated_at) : null, this.enterpriseConnectionId = e10.enterprise_connection_id, e10.verification && (this.verification = new rc(e10.verification)), e10.enterprise_connection && (this.enterpriseConnection = new rp(e10.enterprise_connection))), this;
          }
          destroy = () => this._baseDelete();
          __internal_toSnapshot() {
            return { object: "enterprise_account", id: this.id, provider: this.provider, protocol: this.protocol, provider_user_id: this.providerUserId, active: this.active, email_address: this.emailAddress, first_name: this.firstName, last_name: this.lastName, public_metadata: this.publicMetadata, verification: this.verification?.__internal_toSnapshot() || null, enterprise_connection: this.enterpriseConnection?.__internal_toSnapshot() || null, last_authenticated_at: this.lastAuthenticatedAt ? this.lastAuthenticatedAt.getTime() : null, enterprise_connection_id: this.enterpriseConnectionId };
          }
        }
        class rp extends aV {
          id;
          active;
          allowIdpInitiated;
          allowSubdomains;
          disableAdditionalIdentifications;
          domain;
          logoPublicUrl = "";
          name;
          protocol;
          provider;
          syncUserAttributes;
          allowOrganizationAccountLinking;
          createdAt;
          updatedAt;
          enterpriseConnectionId = "";
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.name = e10.name, this.domain = e10.domain, this.active = e10.active, this.provider = e10.provider, this.logoPublicUrl = e10.logo_public_url, this.syncUserAttributes = e10.sync_user_attributes, this.allowSubdomains = e10.allow_subdomains, this.allowIdpInitiated = e10.allow_idp_initiated, this.disableAdditionalIdentifications = e10.disable_additional_identifications, this.allowOrganizationAccountLinking = e10.allow_organization_account_linking, this.createdAt = aH(e10.created_at), this.updatedAt = aH(e10.updated_at), this.enterpriseConnectionId = e10.enterprise_connection_id), this;
          }
          __internal_toSnapshot() {
            return { object: "enterprise_account_connection", id: this.id, name: this.name, domain: this.domain, active: this.active, protocol: this.protocol, provider: this.provider, logo_public_url: this.logoPublicUrl, sync_user_attributes: this.syncUserAttributes, allow_subdomains: this.allowSubdomains, allow_idp_initiated: this.allowIdpInitiated, disable_additional_identifications: this.disableAdditionalIdentifications, allow_organization_account_linking: this.allowOrganizationAccountLinking, enterprise_connection_id: this.enterpriseConnectionId, created_at: this.createdAt.getTime(), updated_at: this.updatedAt.getTime() };
          }
        }
        class rg extends aV {
          id;
          name;
          active;
          provider;
          logoPublicUrl = null;
          domains = [];
          organizationId = null;
          syncUserAttributes;
          disableAdditionalIdentifications;
          allowOrganizationAccountLinking;
          customAttributes = [];
          oauthConfig = null;
          samlConnection = null;
          createdAt = null;
          updatedAt = null;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            var a10, t10;
            return e10 ? (this.id = e10.id, this.name = e10.name, this.active = e10.active, this.provider = e10.provider, this.logoPublicUrl = e10.logo_public_url ?? null, this.domains = e10.domains ?? [], this.organizationId = e10.organization_id ?? null, this.syncUserAttributes = e10.sync_user_attributes, this.disableAdditionalIdentifications = e10.disable_additional_identifications, this.allowOrganizationAccountLinking = e10.allow_organization_account_linking ?? false, this.customAttributes = e10.custom_attributes ?? [], this.createdAt = aH(e10.created_at), this.updatedAt = aH(e10.updated_at), this.samlConnection = e10.saml_connection ? { id: (a10 = e10.saml_connection).id, name: a10.name, active: a10.active, idpEntityId: a10.idp_entity_id, idpSsoUrl: a10.idp_sso_url, idpCertificate: a10.idp_certificate, idpMetadataUrl: a10.idp_metadata_url, idpMetadata: a10.idp_metadata, acsUrl: a10.acs_url, spEntityId: a10.sp_entity_id, spMetadataUrl: a10.sp_metadata_url, allowSubdomains: a10.allow_subdomains, allowIdpInitiated: a10.allow_idp_initiated, forceAuthn: a10.force_authn } : null, this.oauthConfig = e10.oauth_config ? { id: (t10 = e10.oauth_config).id, name: t10.name, clientId: t10.client_id, providerKey: t10.provider_key, discoveryUrl: t10.discovery_url, logoPublicUrl: t10.logo_public_url, requiresPkce: t10.requires_pkce, createdAt: aH(t10.created_at), updatedAt: aH(t10.updated_at) } : null, this) : this;
          }
          __internal_toSnapshot() {
            var e10, a10;
            return { object: "enterprise_connection", id: this.id, name: this.name, active: this.active, provider: this.provider, logo_public_url: this.logoPublicUrl, domains: this.domains, organization_id: this.organizationId, sync_user_attributes: this.syncUserAttributes, disable_additional_identifications: this.disableAdditionalIdentifications, allow_organization_account_linking: this.allowOrganizationAccountLinking, custom_attributes: this.customAttributes, saml_connection: this.samlConnection ? { id: (e10 = this.samlConnection).id, name: e10.name, active: e10.active, idp_entity_id: e10.idpEntityId, idp_sso_url: e10.idpSsoUrl, idp_certificate: e10.idpCertificate, idp_metadata_url: e10.idpMetadataUrl, idp_metadata: e10.idpMetadata, acs_url: e10.acsUrl, sp_entity_id: e10.spEntityId, sp_metadata_url: e10.spMetadataUrl, allow_subdomains: e10.allowSubdomains, allow_idp_initiated: e10.allowIdpInitiated, force_authn: e10.forceAuthn } : void 0, oauth_config: this.oauthConfig ? { id: (a10 = this.oauthConfig).id, name: a10.name, client_id: a10.clientId, provider_key: a10.providerKey, discovery_url: a10.discoveryUrl, logo_public_url: a10.logoPublicUrl, requires_pkce: a10.requiresPkce, created_at: a10.createdAt?.getTime() ?? 0, updated_at: a10.updatedAt?.getTime() ?? 0 } : void 0, created_at: this.createdAt?.getTime() ?? 0, updated_at: this.updatedAt?.getTime() ?? 0 };
          }
        }
        class rb {
          pathRoot = "/me";
          id;
          status;
          connectionType;
          parsedUserInfo = null;
          logs = [];
          saml = null;
          oauth = null;
          createdAt = null;
          constructor(e10) {
            this.fromJSON(e10);
          }
          reload(e10) {
            aW("EnterpriseConnectionTestRun");
          }
          fromJSON(e10) {
            var a10, t10, r10;
            return e10 && (this.id = e10.id, this.status = e10.status, this.connectionType = e10.connection_type, this.parsedUserInfo = (a10 = e10.parsed_user_info ?? null) ? { emailAddress: a10.email_address, firstName: a10.first_name, lastName: a10.last_name, userId: a10.user_id } : null, this.saml = (t10 = e10.saml ?? null) ? { samlRequest: t10.saml_request, samlResponse: t10.saml_response, relayState: t10.relay_state } : null, this.oauth = (r10 = e10.oauth ?? null) ? { idToken: r10.id_token, accessToken: r10.access_token, userInfo: r10.user_info } : null, this.createdAt = aH(e10.created_at), this.logs = (e10.logs ?? []).map((e11) => ({ level: e11.level, code: e11.code, shortMessage: e11.short_message, message: e11.message }))), this;
          }
          __internal_toSnapshot() {
            var e10, a10, t10;
            return { object: "enterprise_connection_test_run", id: this.id, status: this.status, connection_type: this.connectionType, parsed_user_info: (e10 = this.parsedUserInfo) ? { email_address: e10.emailAddress, first_name: e10.firstName, last_name: e10.lastName, user_id: e10.userId } : null, saml: (a10 = this.saml) ? { saml_request: a10.samlRequest, saml_response: a10.samlResponse, relay_state: a10.relayState } : null, oauth: (t10 = this.oauth) ? { id_token: t10.idToken, access_token: t10.accessToken, user_info: t10.userInfo } : null, logs: this.logs.map((e11) => ({ level: e11.level, code: e11.code, short_message: e11.shortMessage, message: e11.message })), created_at: this.createdAt?.getTime() ?? 0 };
          }
        }
        class rf extends aV {
          user_api_keys_enabled = false;
          orgs_api_keys_enabled = false;
          constructor(e10 = null) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.user_api_keys_enabled = e10.user_api_keys_enabled, this.orgs_api_keys_enabled = e10.orgs_api_keys_enabled), this;
          }
          __internal_toSnapshot() {
            return { user_api_keys_enabled: this.user_api_keys_enabled, orgs_api_keys_enabled: this.orgs_api_keys_enabled };
          }
        }
        class ry extends aV {
          actions = { adminDelete: false };
          domains = { enabled: false, enrollmentModes: [], defaultRole: null };
          slug = { disabled: false };
          organizationCreationDefaults = { enabled: false };
          enabled = false;
          maxAllowedMemberships = 1;
          forceOrganizationSelection;
          constructor(e10 = null) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (e10.actions && (this.actions.adminDelete = this.withDefault(e10.actions.admin_delete, this.actions.adminDelete)), e10.domains && (this.domains.enabled = this.withDefault(e10.domains.enabled, this.domains.enabled), this.domains.enrollmentModes = this.withDefault(e10.domains.enrollment_modes, this.domains.enrollmentModes), this.domains.defaultRole = this.withDefault(e10.domains.default_role, this.domains.defaultRole)), e10.slug && (this.slug.disabled = this.withDefault(e10.slug.disabled, this.slug.disabled)), e10.organization_creation_defaults && (this.organizationCreationDefaults.enabled = this.withDefault(e10.organization_creation_defaults.enabled, this.organizationCreationDefaults.enabled)), this.enabled = this.withDefault(e10.enabled, this.enabled), this.maxAllowedMemberships = this.withDefault(e10.max_allowed_memberships, this.maxAllowedMemberships), this.forceOrganizationSelection = this.withDefault(e10.force_organization_selection, this.forceOrganizationSelection)), this;
          }
          __internal_toSnapshot() {
            return { actions: { admin_delete: this.actions.adminDelete }, domains: { enabled: this.domains.enabled, enrollment_modes: this.domains.enrollmentModes, default_role: this.domains.defaultRole }, enabled: this.enabled, max_allowed_memberships: this.maxAllowedMemberships };
          }
        }
        class rk extends aV {
          static instance;
          authConfig = new aQ();
          displayConfig = new t5();
          maintenanceMode = false;
          clientDebugMode = false;
          partitionedCookies = false;
          pathRoot = "/environment";
          userSettings = new ih();
          organizationSettings = new ry();
          commerceSettings = new t3();
          apiKeysSettings = new rf();
          protectConfig = new rM();
          static getInstance() {
            return rk.instance || (rk.instance = new rk()), rk.instance;
          }
          constructor(e10 = null) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.authConfig = new aQ(e10.auth_config), this.displayConfig = new t5(e10.display_config), this.maintenanceMode = this.withDefault(e10.maintenance_mode, this.maintenanceMode), this.clientDebugMode = this.withDefault(e10.client_debug_mode, this.clientDebugMode), this.partitionedCookies = this.withDefault(e10.partitioned_cookies, this.partitionedCookies), this.organizationSettings = new ry(e10.organization_settings), this.userSettings = new ih(e10.user_settings), this.commerceSettings = new t3(e10.commerce_settings), this.apiKeysSettings = new rf(e10.api_keys_settings), this.protectConfig = new rM(e10.protect_config)), this;
          }
          fetch({ touch: e10, fetchMaxTries: a10 } = { touch: false }) {
            return (e10 ? this._basePatch({}) : this._baseGet({ fetchMaxTries: a10 })).then((e11) => (tL.emit(tN, null), e11));
          }
          isDevelopmentOrStaging = () => !this.isProduction();
          isProduction = () => "production" === this.displayConfig.instanceEnvironmentType;
          isSingleSession = () => this.authConfig.singleSessionMode;
          onWindowLocationHost = () => this.displayConfig.backendHost === window.location.host;
          __internal_toSnapshot() {
            return { object: "environment", auth_config: this.authConfig.__internal_toSnapshot(), display_config: this.displayConfig.__internal_toSnapshot(), id: this.id ?? "", maintenance_mode: this.maintenanceMode, client_debug_mode: this.clientDebugMode, partitioned_cookies: this.partitionedCookies, organization_settings: this.organizationSettings.__internal_toSnapshot(), user_settings: this.userSettings.__internal_toSnapshot(), commerce_settings: this.commerceSettings.__internal_toSnapshot(), api_keys_settings: this.apiKeysSettings.__internal_toSnapshot(), protect_config: this.protectConfig.__internal_toSnapshot() };
          }
          async __internal_enableEnvironmentSetting(e10) {
            await this._basePatch({ path: "/dev_tools/enable_environment_setting", body: e10 });
          }
        }
        class rw extends aV {
          id;
          identificationId;
          provider;
          providerUserId = "";
          emailAddress = "";
          approvedScopes = "";
          firstName = "";
          lastName = "";
          imageUrl = "";
          username = "";
          phoneNumber = "";
          publicMetadata = {};
          label = "";
          verification = null;
          constructor(e10, a10) {
            super(), this.pathRoot = a10, this.fromJSON(e10);
          }
          reauthorize = (e10) => {
            let { additionalScopes: a10, redirectUrl: t10 } = e10 || {};
            return this._basePatch({ action: "reauthorize", body: { additional_scope: a10, redirect_url: t10 } });
          };
          destroy = () => this._baseDelete();
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.identificationId = e10.identification_id, this.providerUserId = e10.provider_user_id, this.approvedScopes = e10.approved_scopes, this.imageUrl = e10.image_url, this.emailAddress = e10.email_address, this.firstName = e10.first_name, this.lastName = e10.last_name, this.provider = (e10.provider || "").replace("oauth_", ""), this.username = e10.username, this.phoneNumber = e10.phone_number, this.publicMetadata = e10.public_metadata, this.label = e10.label, e10.verification && (this.verification = new rc(e10.verification))), this;
          }
          __internal_toSnapshot() {
            return { object: "external_account", id: this.id, identification_id: this.identificationId, provider: this.provider, provider_user_id: this.providerUserId, email_address: this.emailAddress, approved_scopes: this.approvedScopes, first_name: this.firstName, last_name: this.lastName, image_url: this.imageUrl, username: this.username, phone_number: this.phoneNumber, public_metadata: this.publicMetadata, label: this.label, verification: this.verification?.__internal_toSnapshot() || null };
          }
          providerSlug() {
            return this.provider;
          }
          providerTitle() {
            let e10;
            return [(e10 = this.providerSlug() || "").charAt(0).toUpperCase() + e10.slice(1), "Account"].join(" ");
          }
          accountIdentifier() {
            return this.username || this.emailAddress || this.label;
          }
        }
        class rv extends aV {
          id;
          name;
          description = null;
          slug;
          avatarUrl = null;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.name = e10.name, this.description = e10.description, this.slug = e10.slug, this.avatarUrl = e10.avatar_url), this;
          }
        }
        class rj extends aV {
          id;
          type;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.type = e10.type), this;
          }
          __internal_toSnapshot() {
            return { object: "identification_link", id: this.id, type: this.type };
          }
        }
        class r_ extends aV {
          id;
          name = null;
          publicUrl = null;
          static async create(e10, a10 = {}) {
            let t10, r10 = a10;
            return "string" == typeof a10.file ? (r10 = a10.file, t10 = new Headers({ "Content-Type": "application/octet-stream" })) : a10.file && (r10 = new FormData()).append("file", a10.file), new r_((await aV._fetch({ path: e10, method: "POST", body: r10, headers: t10 }))?.response);
          }
          static async delete(e10) {
            return new r_((await aV._fetch({ path: e10, method: "DELETE" }))?.response);
          }
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.name = e10.name, this.publicUrl = e10.public_url), this;
          }
        }
        class rz extends aV {
          id;
          name;
          organizationId;
          enrollmentMode;
          verification;
          affiliationEmailAddress;
          createdAt;
          updatedAt;
          totalPendingInvitations;
          totalPendingSuggestions;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          static async create(e10, { name: a10 }) {
            return new rz((await aV._fetch({ path: `/organizations/${e10}/domains`, method: "POST", body: { name: a10 } }))?.response);
          }
          prepareAffiliationVerification = async (e10) => this._basePost({ path: `/organizations/${this.organizationId}/domains/${this.id}/prepare_affiliation_verification`, method: "POST", body: e10 });
          attemptAffiliationVerification = async (e10) => this._basePost({ path: `/organizations/${this.organizationId}/domains/${this.id}/attempt_affiliation_verification`, method: "POST", body: e10 });
          updateEnrollmentMode = (e10) => this._basePost({ path: `/organizations/${this.organizationId}/domains/${this.id}/update_enrollment_mode`, body: e10 });
          delete = () => this._baseDelete({ path: `/organizations/${this.organizationId}/domains/${this.id}` });
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.name = e10.name, this.organizationId = e10.organization_id, this.enrollmentMode = e10.enrollment_mode, this.affiliationEmailAddress = e10.affiliation_email_address, this.totalPendingSuggestions = e10.total_pending_suggestions, this.totalPendingInvitations = e10.total_pending_invitations, e10.verification ? this.verification = { status: e10.verification.status, strategy: e10.verification.strategy, attempts: e10.verification.attempts, expiresAt: aH(e10.verification.expires_at) } : this.verification = null), this;
          }
        }
        class rx extends aV {
          id;
          organizationId;
          status;
          publicUserData;
          createdAt;
          updatedAt;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          accept = async () => await this._basePost({ path: `/organizations/${this.organizationId}/membership_requests/${this.id}/accept` });
          reject = async () => await this._basePost({ path: `/organizations/${this.organizationId}/membership_requests/${this.id}/reject` });
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.organizationId = e10.organization_id, this.status = e10.status, this.createdAt = aH(e10.created_at), this.updatedAt = aH(e10.updated_at), e10.public_user_data && (this.publicUserData = new rF(e10.public_user_data))), this;
          }
        }
        class rq extends aV {
          id;
          key;
          name;
          description;
          type;
          createdAt;
          updatedAt;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.key = e10.key, this.name = e10.name, this.description = e10.description, this.type = e10.type, this.createdAt = aH(e10.created_at), this.updatedAt = aH(e10.updated_at)), this;
          }
        }
        class rS extends aV {
          id;
          key;
          name;
          description;
          permissions = [];
          createdAt;
          updatedAt;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.key = e10.key, this.name = e10.name, this.description = e10.description, this.permissions = e10.permissions.map((e11) => new rq(e11)), this.createdAt = aH(e10.created_at), this.updatedAt = aH(e10.updated_at)), this;
          }
        }
        class rI extends aV {
          pathRoot = "/organizations";
          id;
          name;
          slug;
          imageUrl;
          hasImage;
          publicMetadata = {};
          adminDeleteEnabled;
          createdAt;
          updatedAt;
          membersCount = 0;
          pendingInvitationsCount = 0;
          maxAllowedMemberships;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          static async create(e10) {
            return new rI((await aV._fetch({ path: "/organizations", method: "POST", body: e10 }))?.response);
          }
          static async get(e10) {
            return new rI((await aV._fetch({ path: `/organizations/${e10}`, method: "GET" }))?.response);
          }
          update = async (e10) => this._basePatch({ body: e10 });
          getRoles = async (e10) => await aV._fetch({ path: `/organizations/${this.id}/roles`, method: "GET", search: tl(e10) }, { forceUpdateClient: true }).then((e11) => {
            let { data: a10, total_count: t10, has_role_set_migration: r10 } = e11?.response;
            return { data: a10.map((e12) => new rS(e12)), total_count: t10, has_role_set_migration: r10 };
          });
          getDomains = async (e10) => await aV._fetch({ path: `/organizations/${this.id}/domains`, method: "GET", search: tl(e10) }, { forceUpdateClient: true }).then((e11) => {
            let { data: a10, total_count: t10 } = e11?.response;
            return { total_count: t10, data: a10.map((e12) => new rz(e12)) };
          });
          getDomain = async ({ domainId: e10 }) => new rz((await aV._fetch({ path: `/organizations/${this.id}/domains/${e10}`, method: "GET" }))?.response);
          getMembershipRequests = async (e10) => await aV._fetch({ path: `/organizations/${this.id}/membership_requests`, method: "GET", search: tl(e10) }).then((e11) => {
            let { data: a10, total_count: t10 } = e11?.response;
            return { total_count: t10, data: a10.map((e12) => new rx(e12)) };
          });
          createDomain = async (e10) => rz.create(this.id, { name: e10 });
          getMemberships = async (e10) => await aV._fetch({ path: `/organizations/${this.id}/memberships`, method: "GET", search: tl({ ...e10, paginated: true }) }).then((e11) => {
            let { data: a10, total_count: t10 } = e11?.response;
            return { total_count: t10, data: a10.map((e12) => new rC(e12)) };
          });
          getInvitations = async (e10) => await aV._fetch({ path: `/organizations/${this.id}/invitations`, method: "GET", search: tl(e10) }, { forceUpdateClient: true }).then((e11) => {
            let { data: a10, total_count: t10 } = e11?.response;
            return { total_count: t10, data: a10.map((e12) => new rU(e12)) };
          });
          addMember = async ({ userId: e10, role: a10 }) => await aV._fetch({ method: "POST", path: `/organizations/${this.id}/memberships`, body: { userId: e10, role: a10 } }).then((e11) => new rC(e11?.response));
          inviteMember = async (e10) => rU.create(this.id, e10);
          inviteMembers = async (e10) => rU.createBulk(this.id, e10);
          updateMember = async ({ userId: e10, role: a10 }) => await aV._fetch({ method: "PATCH", path: `/organizations/${this.id}/memberships/${e10}`, body: { role: a10 } }).then((e11) => new rC(e11?.response));
          removeMember = async (e10) => await aV._fetch({ method: "DELETE", path: `/organizations/${this.id}/memberships/${e10}` }).then((e11) => new rC(e11?.response));
          destroy = async () => this._baseDelete();
          setLogo = async ({ file: e10 }) => {
            let a10, t10;
            return null === e10 ? await aV._fetch({ path: `/organizations/${this.id}/logo`, method: "DELETE" }).then((e11) => new rI(e11?.response)) : ("string" == typeof e10 ? (a10 = e10, t10 = new Headers({ "Content-Type": "application/octet-stream" })) : (a10 = new FormData()).append("file", e10), await aV._fetch({ path: `/organizations/${this.id}/logo`, method: "PUT", body: a10, headers: t10 }).then((e11) => new rI(e11?.response)));
          };
          initializePaymentMethod = (e10) => tI({ ...e10, orgId: this.id });
          addPaymentMethod = (e10) => tU({ ...e10, orgId: this.id });
          getPaymentMethods = (e10) => tC({ ...e10, orgId: this.id });
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.name = e10.name, this.slug = e10.slug, this.imageUrl = e10.image_url || "", this.hasImage = e10.has_image || false, this.publicMetadata = e10.public_metadata || {}, this.membersCount = e10.members_count || 0, this.pendingInvitationsCount = e10.pending_invitations_count || 0, this.maxAllowedMemberships = e10.max_allowed_memberships || 0, this.adminDeleteEnabled = e10.admin_delete_enabled || false, this.createdAt = aH(e10.created_at), this.updatedAt = aH(e10.updated_at)), this;
          }
          __internal_toSnapshot() {
            return { object: "organization", id: this.id, name: this.name, slug: this.slug, image_url: this.imageUrl, has_image: this.hasImage, public_metadata: this.publicMetadata, members_count: this.membersCount, pending_invitations_count: this.pendingInvitationsCount, max_allowed_memberships: this.maxAllowedMemberships, admin_delete_enabled: this.adminDeleteEnabled, created_at: this.createdAt.getTime(), updated_at: this.updatedAt.getTime() };
          }
          async reload(e10) {
            let { rotatingTokenNonce: a10 } = e10 || {}, t10 = (await aV._fetch({ path: `/organizations/${this.id}`, method: "GET", rotatingTokenNonce: a10 }, { forceUpdateClient: true }))?.response;
            return this.fromJSON(t10);
          }
        }
        class rU extends aV {
          id;
          emailAddress;
          organizationId;
          publicMetadata = {};
          status;
          role;
          roleName;
          createdAt;
          updatedAt;
          static async create(e10, { emailAddress: a10, role: t10 }) {
            return new rU((await aV._fetch({ path: `/organizations/${e10}/invitations`, method: "POST", body: { email_address: a10, role: t10 } }))?.response);
          }
          static async createBulk(e10, a10) {
            let { emailAddresses: t10, role: r10 } = a10;
            return ((await aV._fetch({ path: `/organizations/${e10}/invitations/bulk`, method: "POST", body: { email_address: t10, role: r10 } }))?.response).map((e11) => new rU(e11));
          }
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          revoke = async () => await this._basePost({ path: `/organizations/${this.organizationId}/invitations/${this.id}/revoke` });
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.emailAddress = e10.email_address, this.organizationId = e10.organization_id, this.publicMetadata = e10.public_metadata, this.role = e10.role, this.roleName = e10.role_name, this.status = e10.status, this.createdAt = aH(e10.created_at), this.updatedAt = aH(e10.updated_at)), this;
          }
        }
        class rC extends aV {
          id;
          publicMetadata = {};
          publicUserData;
          organization;
          permissions = [];
          role;
          roleName;
          createdAt;
          updatedAt;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          static retrieve = async (e10) => await aV._fetch({ path: "/me/organization_memberships", method: "GET", search: tl({ ...e10, paginated: true }) }).then((e11) => {
            let { data: a10, total_count: t10 } = e11?.response;
            return { total_count: t10, data: a10.map((e12) => new rC(e12)) };
          });
          destroy = async () => await this._baseDelete({ path: `/organizations/${this.organization.id}/memberships/${this.publicUserData?.userId}` });
          update = async ({ role: e10 }) => await this._basePatch({ path: `/organizations/${this.organization.id}/memberships/${this.publicUserData?.userId}`, body: { role: e10 } });
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.organization = new rI(e10.organization), this.publicMetadata = e10.public_metadata || {}, e10.public_user_data && (this.publicUserData = new rF(e10.public_user_data)), this.permissions = Array.isArray(e10.permissions) ? [...e10.permissions] : [], this.role = e10.role, this.roleName = e10.role_name, this.createdAt = aH(e10.created_at), this.updatedAt = aH(e10.updated_at)), this;
          }
          __internal_toSnapshot() {
            return { object: "organization_membership", id: this.id, organization: this.organization.__internal_toSnapshot(), public_metadata: this.publicMetadata, public_user_data: this.publicUserData?.__internal_toSnapshot(), permissions: this.permissions, role: this.role, role_name: this.roleName, created_at: this.createdAt.getTime(), updated_at: this.updatedAt.getTime() };
          }
          reload(e10) {
            aW("OrganizationMembership");
          }
        }
        class rA extends aV {
          id;
          publicOrganizationData;
          status;
          createdAt;
          updatedAt;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          static async retrieve(e10) {
            return await aV._fetch({ path: "/me/organization_suggestions", method: "GET", search: tl(e10) }).then((e11) => {
              let { data: a10, total_count: t10 } = e11?.response;
              return { total_count: t10, data: a10.map((e12) => new rA(e12)) };
            });
          }
          accept = async () => await this._basePost({ path: `/me/organization_suggestions/${this.id}/accept` });
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.status = e10.status, this.publicOrganizationData = { hasImage: e10.public_organization_data.has_image, imageUrl: e10.public_organization_data.image_url, name: e10.public_organization_data.name, id: e10.public_organization_data.id, slug: e10.public_organization_data.slug }, this.createdAt = aH(e10.created_at), this.updatedAt = aH(e10.updated_at)), this;
          }
        }
        function rP() {
          return c2() && "function" == typeof window.PublicKeyCredential;
        }
        async function rT() {
          try {
            return rP() && await window.PublicKeyCredential.isConditionalMediationAvailable();
          } catch {
            return false;
          }
        }
        async function rO() {
          try {
            return "u" > typeof window && await window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable();
          } catch {
            return false;
          }
        }
        class rE extends aV {
          id;
          pathRoot = "/me/passkeys";
          verification = null;
          name = null;
          lastUsedAt = null;
          createdAt;
          updatedAt;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          static async create() {
            return aV._fetch({ path: "/me/passkeys", method: "POST" }).then((e10) => new rE(e10?.response));
          }
          static async attemptVerification(e10, a10) {
            let t10, r10 = (t10 = a10.response, { ...rn(a10), response: { clientDataJSON: ro(t10.clientDataJSON), attestationObject: ro(t10.attestationObject), transports: t10.getTransports() } });
            return aV._fetch({ path: `/me/passkeys/${e10}/attempt_verification`, method: "POST", body: { strategy: "passkey", publicKeyCredential: JSON.stringify(r10) } }).then((e11) => new rE(e11?.response));
          }
          static async registerPasskey() {
            let e10 = rE.clerk.__internal_isWebAuthnSupported || rP, a10 = rE.clerk.__internal_createPublicCredentials || re, t10 = rE.clerk.__internal_isWebAuthnPlatformAuthenticatorSupported || rO;
            if (!e10()) throw new O("Passkeys are not supported on this device.", { code: "passkey_not_supported" });
            let r10 = await this.create(), { verification: i2 } = r10, n3 = i2?.publicKey;
            if (n3 || aL("create"), n3.authenticatorSelection?.authenticatorAttachment === "platform" && !await t10()) throw new O("Registration requires a platform authenticator but the device does not support it.", { code: "passkey_pa_not_supported" });
            let { publicKeyCredential: s3, error: o4 } = await a10(n3);
            if (!s3) throw o4;
            return this.attemptVerification(r10.id, s3);
          }
          update = (e10) => this._basePatch({ body: e10 });
          delete = async () => new t8((await aV._fetch({ path: this.path(), method: "DELETE" }))?.response);
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.name = e10.name, this.lastUsedAt = e10.last_used_at ? aH(e10.last_used_at) : null, this.createdAt = aH(e10.created_at), this.updatedAt = aH(e10.updated_at), e10.verification && (this.verification = new rd(e10.verification))), this;
          }
          __internal_toSnapshot() {
            return { object: "passkey", id: this.id, name: this.name, verification: this.verification?.__internal_toSnapshot() || null, last_used_at: this.lastUsedAt?.getTime() || null, created_at: this.createdAt.getTime(), updated_at: this.updatedAt.getTime() };
          }
        }
        class rR extends aV {
          id;
          phoneNumber = "";
          reservedForSecondFactor = false;
          defaultSecondFactor = false;
          linkedTo = [];
          verification;
          backupCodes;
          constructor(e10, a10) {
            super(), this.pathRoot = a10, this.fromJSON(e10);
          }
          create = () => this._basePost({ body: { phone_number: this.phoneNumber } });
          prepareVerification = () => this._basePost({ action: "prepare_verification", body: { strategy: "phone_code" } });
          attemptVerification = (e10) => {
            let { code: a10 } = e10 || {};
            return this._basePost({ action: "attempt_verification", body: { code: a10 } });
          };
          setReservedForSecondFactor = (e10) => {
            let { reserved: a10 } = e10 || {};
            return this._basePatch({ body: { reserved_for_second_factor: a10 } });
          };
          makeDefaultSecondFactor = () => this._basePatch({ body: { default_second_factor: true } });
          destroy = () => this._baseDelete();
          toString = () => {
            let e10 = this.phoneNumber.match(/^(\d{3})(\d{3})(\d{4})$/);
            return e10 ? "(" + e10[1] + ") " + e10[2] + "-" + e10[3] : this.phoneNumber;
          };
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.phoneNumber = e10.phone_number, this.reservedForSecondFactor = e10.reserved_for_second_factor, this.defaultSecondFactor = e10.default_second_factor, this.verification = new rc(e10.verification), this.linkedTo = (e10.linked_to || []).map((e11) => new rj(e11)), this.backupCodes = e10.backup_codes), this;
          }
          __internal_toSnapshot() {
            return { object: "phone_number", id: this.id || "", phone_number: this.phoneNumber, reserved_for_second_factor: this.reservedForSecondFactor, default_second_factor: this.defaultSecondFactor, verification: this.verification.__internal_toSnapshot(), linked_to: this.linkedTo.map((e10) => e10.__internal_toSnapshot()), backup_codes: this.backupCodes };
          }
        }
        class rM extends aV {
          id = "";
          loaders;
          rollout;
          constructor(e10 = null) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = this.withDefault(e10.id, this.id), this.loaders = this.withDefault(e10.loaders, this.loaders)), this;
          }
          __internal_toSnapshot() {
            return { object: "protect_config", id: this.id, loaders: this.loaders };
          }
        }
        class rF {
          firstName;
          lastName;
          imageUrl;
          hasImage;
          identifier;
          userId;
          username;
          banned;
          constructor(e10) {
            this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.firstName = e10.first_name || null, this.lastName = e10.last_name || null, this.imageUrl = e10.image_url || "", this.hasImage = e10.has_image || false, this.identifier = e10.identifier || "", this.userId = e10.user_id, this.username = e10.username, this.banned = e10.banned ?? void 0), this;
          }
          __internal_toSnapshot() {
            return { first_name: this.firstName, last_name: this.lastName, image_url: this.imageUrl, has_image: this.hasImage, identifier: this.identifier, user_id: this.userId, username: this.username, banned: this.banned };
          }
        }
        let rD = { strict_mfa: { afterMinutes: 10, level: "multi_factor" }, strict: { afterMinutes: 10, level: "second_factor" }, moderate: { afterMinutes: 60, level: "second_factor" }, lax: { afterMinutes: 1440, level: "second_factor" } }, rN = /* @__PURE__ */ new Set(["first_factor", "second_factor", "multi_factor"]), rW = /* @__PURE__ */ new Set(["strict_mfa", "strict", "moderate", "lax"]), rL = /* @__PURE__ */ new Set(["o", "org", "organization"]), r$ = /* @__PURE__ */ new Set(["u", "user"]), rB = (e10) => "number" == typeof e10 && Number.isFinite(e10) && (-1 === e10 || e10 >= 0), rK = (e10, a10) => {
          let { org: t10, user: r10 } = rJ(e10), [i2, n3] = a10.split(":"), s3 = void 0 !== n3, o4 = n3 || i2;
          if (s3 && !rL.has(i2) && !r$.has(i2)) throw Error(`Invalid scope: ${i2}`);
          if (s3) {
            if (rL.has(i2)) return t10.includes(o4);
            if (r$.has(i2)) return r10.includes(o4);
          }
          return [...t10, ...r10].includes(o4);
        }, rJ = (e10) => {
          let a10 = [], t10 = [];
          if (!e10) return { org: a10, user: t10 };
          let r10 = e10.split(",");
          for (let e11 = 0; e11 < r10.length; e11++) {
            let i2 = r10[e11].trim(), n3 = i2.indexOf(":");
            if (-1 === n3) throw Error(`Invalid claim element (missing colon): ${i2}`);
            let s3 = i2.slice(0, n3), o4 = i2.slice(n3 + 1);
            "o" === s3 ? a10.push(o4) : "u" === s3 ? t10.push(o4) : ("ou" === s3 || "uo" === s3) && (a10.push(o4), t10.push(o4));
          }
          return { org: a10, user: t10 };
        };
        class rV extends aV {
          status;
          level;
          session;
          supportedFirstFactors = [];
          supportedSecondFactors = [];
          firstFactorVerification = new rc(null);
          secondFactorVerification = new rc(null);
          constructor(e10 = null) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.status = e10.status, this.session = new rH(e10.session), this.level = e10.level, this.supportedFirstFactors = eo(e10.supported_first_factors), this.supportedSecondFactors = eo(e10.supported_second_factors), this.firstFactorVerification = new rc(e10.first_factor_verification), this.secondFactorVerification = new rc(e10.second_factor_verification)), this;
          }
        }
        class rH extends aV {
          pathRoot = "/client/sessions";
          static #em = /* @__PURE__ */ new Set();
          id;
          status;
          lastActiveAt;
          lastActiveToken;
          lastActiveOrganizationId;
          actor;
          agent;
          user;
          publicUserData;
          factorVerificationAge = null;
          tasks = null;
          expireAt;
          abandonAt;
          createdAt;
          updatedAt;
          static isSessionResource(e10) {
            return !!e10 && e10 instanceof rH;
          }
          constructor(e10) {
            super(), this.fromJSON(e10), this.#ep(this.lastActiveToken);
          }
          end = () => (t22.clear(), this._basePost({ action: "end" }));
          remove = () => (t22.clear(), this._basePost({ action: "remove" }));
          _touchPost = async ({ intent: e10, skipUpdateClient: a10 } = { skipUpdateClient: false }) => {
            let t10 = await aV._fetch({ method: "POST", path: this.path("touch"), body: { active_organization_id: this.lastActiveOrganizationId, intent: e10 } }, { skipUpdateClient: a10 });
            return this.fromJSON(t10?.response || t10), t10;
          };
          touch = async ({ intent: e10 } = {}) => (await this._touchPost({ intent: e10, skipUpdateClient: false }), this.lastActiveToken && tL.emit(tF, { token: this.lastActiveToken }), this);
          __internal_touch = async ({ intent: e10 } = {}) => t0(await this._touchPost({ intent: e10, skipUpdateClient: true }));
          clearCache = () => t22.clear();
          getToken = async (e10) => {
            try {
              let a10 = await au(() => this._getToken(e10), { factor: 1.55, initialDelay: 3e3, maxDelayBetweenRetries: 5e4, jitter: false, shouldRetry: (e11, a11) => (!R(e11) || e11?.status === 429) && (u2() ? a11 <= 8 : a11 <= 3) });
              if (!a10 && !u2()) throw new I("Network request failed while offline. The browser appears to be disconnected.");
              return a10;
            } catch (e11) {
              if (!u2()) throw new I("Network request failed while offline. The browser appears to be disconnected.");
              throw e11;
            }
          };
          checkAuthorization = (e10) => {
            let a10, t10 = (this.user?.organizationMemberships || []).find((e11) => e11.organization.id === this.lastActiveOrganizationId);
            return (a10 = { userId: this.user?.id, factorVerificationAge: this.factorVerificationAge, orgId: t10?.organization?.id, orgRole: t10?.role, orgPermissions: t10?.permissions, features: this.lastActiveToken?.jwt?.claims.fea || "", plans: this.lastActiveToken?.jwt?.claims.pla || "" }, (e11) => {
              let t11;
              return !!a10.userId && (t11 = [((e12, a11) => {
                let { orgId: t12, orgRole: r10, orgPermissions: i2 } = a11, n3 = void 0 !== e12.role, s3 = void 0 !== e12.permission;
                return n3 || s3 ? n3 && "string" != typeof e12.role || s3 && "string" != typeof e12.permission || !t12 || n3 && ("string" != typeof r10 || !r10 || r10.replace(/^(org:)*/, "org:") !== e12.role.replace(/^(org:)*/, "org:")) || s3 && (!Array.isArray(i2) || !i2.includes(e12.permission.replace(/^(org:)*/, "org:"))) ? "fail" : "pass" : "skip";
              })(e11, a10), ((e12, a11) => {
                let { features: t12, plans: r10 } = a11, i2 = void 0 !== e12.feature, n3 = void 0 !== e12.plan;
                if (!i2 && !n3) return "skip";
                if (i2 && "string" != typeof e12.feature || n3 && "string" != typeof e12.plan) return "fail";
                if (i2) {
                  if ("string" != typeof t12 || !t12) return "fail";
                  try {
                    if (!rK(t12, e12.feature)) return "fail";
                  } catch {
                    return "fail";
                  }
                }
                if (n3) {
                  if ("string" != typeof r10 || !r10) return "fail";
                  try {
                    if (!rK(r10, e12.plan)) return "fail";
                  } catch {
                    return "fail";
                  }
                }
                return "pass";
              })(e11, a10), ((e12, { factorVerificationAge: a11 }) => {
                if (void 0 === e12.reverification) return "skip";
                if (!a11 || !Array.isArray(a11) || 2 !== a11.length || !rB(a11[0]) || !rB(a11[1])) return "fail";
                let t12 = ((e13) => {
                  let a12, t13;
                  if (!e13) return false;
                  let r11 = "string" == typeof e13 && rW.has(e13), i3 = "object" == typeof e13 && (a12 = e13.level, rN.has(a12)) && "number" == typeof (t13 = e13.afterMinutes) && t13 > 0;
                  return (!!r11 || !!i3) && ((e14) => "string" == typeof e14 ? rD[e14] : e14).bind(null, e13);
                })(e12.reverification);
                if (!t12) return "fail";
                let { level: r10, afterMinutes: i2 } = t12(), [n3, s3] = a11;
                if (-1 === n3 && -1 === s3) return "fail";
                let o4 = -1 !== n3 && i2 > n3, l3 = -1 !== s3 && i2 > s3;
                switch (r10) {
                  case "first_factor":
                    return o4 ? "pass" : "fail";
                  case "second_factor":
                    if (-1 === s3) return o4 ? "pass" : "fail";
                    return l3 ? "pass" : "fail";
                  case "multi_factor":
                    if (-1 === s3) return o4 ? "pass" : "fail";
                    if (-1 === n3) return "fail";
                    return o4 && l3 ? "pass" : "fail";
                }
              })(e11, a10)]).some((e12) => "pass" === e12) && t11.every((e12) => "pass" === e12 || "skip" === e12);
            })(e10);
          };
          #ep = (e10) => {
            if (e10) {
              let a10 = this.#eg();
              t22.set({ tokenId: a10, tokenResolver: Promise.resolve(e10), onRefresh: () => this.#eb(void 0, this.lastActiveOrganizationId, a10, true) });
            }
          };
          #eg(e10, a10) {
            let t10 = void 0 === a10 ? this.lastActiveOrganizationId : a10;
            return t$.build(this.id, e10, t10);
          }
          startVerification = async ({ level: e10 }) => new rV((await aV._fetch({ method: "POST", path: `/client/sessions/${this.id}/verify`, body: { level: e10 } }))?.response);
          prepareFirstFactorVerification = async (e10) => {
            let a10;
            switch (e10.strategy) {
              case "email_code":
                a10 = { emailAddressId: e10.emailAddressId };
                break;
              case "phone_code":
                a10 = { phoneNumberId: e10.phoneNumberId, default: e10.default };
                break;
              case "passkey":
                a10 = {};
                break;
              case "enterprise_sso":
                a10 = { emailAddressId: e10.emailAddressId, enterpriseConnectionId: e10.enterpriseConnectionId, redirectUrl: e10.redirectUrl };
                break;
              default:
                aM("Session.prepareFirstFactorVerification", e10.strategy);
            }
            return new rV((await aV._fetch({ method: "POST", path: `/client/sessions/${this.id}/verify/prepare_first_factor`, body: { ...a10, strategy: e10.strategy } }))?.response);
          };
          attemptFirstFactorVerification = async (e10) => {
            let a10;
            return a10 = "passkey" === e10.strategy ? { publicKeyCredential: JSON.stringify(rs(e10.publicKeyCredential)) } : { ...e10 }, new rV((await aV._fetch({ method: "POST", path: `/client/sessions/${this.id}/verify/attempt_first_factor`, body: { ...a10, strategy: e10.strategy } }))?.response);
          };
          verifyWithPasskey = async () => {
            let { nonce: e10 = null } = (await this.prepareFirstFactorVerification({ strategy: "passkey" })).firstFactorVerification, a10 = rH.clerk.__internal_isWebAuthnSupported || rP, t10 = rH.clerk.__internal_getPublicCredentials || rt;
            if (!a10()) throw new O("Passkeys are not supported", { code: "passkey_not_supported" });
            let r10 = e10 ? ri(JSON.parse(e10)) : null;
            r10 || aL("get");
            let { publicKeyCredential: i2, error: n3 } = await t10({ publicKeyOptions: r10, conditionalUI: false });
            if (!i2) throw n3;
            return this.attemptFirstFactorVerification({ strategy: "passkey", publicKeyCredential: i2 });
          };
          prepareSecondFactorVerification = async (e10) => new rV((await aV._fetch({ method: "POST", path: `/client/sessions/${this.id}/verify/prepare_second_factor`, body: e10 }))?.response);
          attemptSecondFactorVerification = async (e10) => new rV((await aV._fetch({ method: "POST", path: `/client/sessions/${this.id}/verify/attempt_second_factor`, body: e10 }))?.response);
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.status = e10.status, this.expireAt = aH(e10.expire_at), this.abandonAt = aH(e10.abandon_at), this.factorVerificationAge = e10.factor_verification_age, this.lastActiveAt = aH(e10.last_active_at || void 0), this.lastActiveOrganizationId = e10.last_active_organization_id, this.actor = e10.actor || null, this.agent = e10.actor?.type === "agent" ? e10.actor : null, this.createdAt = aH(e10.created_at), this.updatedAt = aH(e10.updated_at), this.user = new io(e10.user), this.tasks = e10.tasks || null, e10.public_user_data && (this.publicUserData = new rF(e10.public_user_data)), this.lastActiveToken = e10.last_active_token ? new it(e10.last_active_token) : null), this;
          }
          __internal_toSnapshot() {
            return { object: "session", id: this.id, status: this.status, expire_at: this.expireAt.getTime(), abandon_at: this.abandonAt.getTime(), factor_verification_age: this.factorVerificationAge, last_active_at: this.lastActiveAt.getTime(), last_active_organization_id: this.lastActiveOrganizationId, actor: this.actor, tasks: this.tasks, user: this.user?.__internal_toSnapshot() || null, public_user_data: this.publicUserData.__internal_toSnapshot(), last_active_token: this.lastActiveToken?.__internal_toSnapshot() || null, created_at: this.createdAt.getTime(), updated_at: this.updatedAt.getTime() };
          }
          async _getToken(e10) {
            let a10;
            if (!this.user) return null;
            let { skipCache: t10 = false, template: r10 } = e10 || {}, i2 = void 0 === e10?.organizationId ? this.lastActiveOrganizationId : e10?.organizationId, n3 = this.#eg(r10, i2), s3 = t10 ? void 0 : t22.get({ tokenId: n3 }), o4 = !r10 && i2 === this.lastActiveOrganizationId;
            if (s3) {
              let e11 = s3.entry.resolvedToken ?? await s3.entry.tokenResolver;
              o4 && e11.getRawString() && tL.emit(tF, { token: e11 }), a10 = e11.getRawString() || null;
            } else if (d2()) a10 = await this.#ef(r10, i2, n3, o4, t10);
            else throw new j("Browser is offline, skipping token fetch", { code: "network_error" });
            if (null === a10 && !u2()) throw new j("Network request failed while offline", { code: "network_error" });
            return a10;
          }
          #ey(e10, a10, t10) {
            let r10 = e10 ? `${this.path()}/tokens/${e10}` : `${this.path()}/tokens`, i2 = rH.clerk?.__internal_environment?.authConfig?.sessionMinter, n3 = e10 ? {} : { organizationId: a10 ?? null, ...i2 && this.lastActiveToken ? { token: this.lastActiveToken.getRawString() } : {}, ...i2 && t10 ? { forceOrigin: "true" } : {} };
            if (i2) return it.create(r10, n3, t10 ? { debug: "skip_cache" } : void 0);
            let s3 = this.lastActiveToken?.getRawString();
            return it.create(r10, n3, t10 ? { debug: "skip_cache" } : void 0).catch((e11) => {
              if (S2.is(e11) && s3) return it.create(r10, { ...n3 }, { expired_token: s3 });
              throw e11;
            });
          }
          #ek(e10, a10) {
            !a10 || e10.getRawString() && (tL.emit(tF, { token: e10 }), e10.jwt && (this.lastActiveToken = e10, tL.emit(tW, null)));
          }
          #ef(e10, a10, t10, r10, i2) {
            ao.info("Fetching new token from API", { organizationId: a10, template: e10, tokenId: t10 }, "session");
            let n3 = this.#ey(e10, a10, i2);
            return t22.set({ tokenId: t10, tokenResolver: n3, onRefresh: () => this.#eb(e10, a10, t10, r10) }), n3.then((e11) => {
              let a11 = e11.getRawString();
              if (!a11) throw new j("Token fetch returned empty response", { code: "network_error" });
              return this.#ek(e11, r10), a11;
            });
          }
          #eb(e10, a10, t10, r10) {
            if (rH.#em.has(t10)) return;
            rH.#em.add(t10);
            let i2 = rH.clerk?.__internal_getOption?.("experimental"), n3 = i2?.runtimeEnvironment === "headless", s3 = this.lastActiveToken?.jwt?.claims?.exp;
            n3 && s3 && Date.now() / 1e3 > s3 ? rH.#em.delete(t10) : this.#ey(e10, a10, false).then((i3) => {
              i3.getRawString() && (t22.set({ tokenId: t10, tokenResolver: Promise.resolve(i3), onRefresh: () => this.#eb(e10, a10, t10, r10) }), this.#ek(i3, r10));
            }).catch((e11) => {
              ao.warn("Background token refresh failed", { error: e11, tokenId: t10 }, "session");
            }).finally(() => {
              rH.#em.delete(t10);
            });
          }
          get currentTask() {
            let [e10] = this.tasks ?? [];
            return e10;
          }
        }
        class rG extends aV {
          pathRoot = "";
          id;
          status;
          abandonAt;
          expireAt;
          lastActiveAt;
          latestActivity;
          actor;
          constructor(e10, a10) {
            super(), this.pathRoot = a10, this.fromJSON(e10);
          }
          static retrieve() {
            let e10 = aV.clerk.session?.id;
            return this.clerk.getFapiClient().request({ method: "GET", path: "/me/sessions/active", sessionId: e10 }).then((e11) => e11.payload.map((e12) => new rG(e12, "/me/sessions"))).catch(() => []);
          }
          revoke() {
            return this._basePost({ action: "revoke", body: {} });
          }
          fromJSON(e10) {
            let a10;
            return e10 ? (this.id = e10.id, this.status = e10.status, this.expireAt = aH(e10.expire_at), this.abandonAt = aH(e10.abandon_at), this.lastActiveAt = aH(e10.last_active_at || void 0), this.latestActivity = { id: (a10 = e10.latest_activity ?? {}).id, deviceType: a10.device_type, browserName: a10.browser_name, browserVersion: a10.browser_version, country: a10.country, city: a10.city, isMobile: a10.is_mobile, ipAddress: a10.ip_address }, this.actor = e10.actor, this) : this;
          }
        }
        i(536);
        let rQ = (e10, a10, t10) => {
          let { onValidation: r10 = tB.t, onValidationComplexity: i2 = tB.t } = t10 || {}, { show_zxcvbn: n3, validatePassword: s3 } = a10, o4 = (e11) => ((e12, a11) => {
            let { max_length: t11, min_length: r11, require_special_char: i3, require_lowercase: n4, require_numbers: s4, require_uppercase: o5 } = a11, l4 = ((e13) => {
              let a12;
              if (e13.allowed_special_characters) {
                let t12 = e13.allowed_special_characters.replace("[", "\\[");
                t12 = t12.replace("]", "\\]"), a12 = RegExp(`[${t12}]`);
              } else a12 = /[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]/;
              return (e14, { minLength: t12, maxLength: r12 }) => ({ max_length: e14.length < r12, min_length: e14.length >= t12, require_numbers: /\d/.test(e14), require_lowercase: /[a-z]/.test(e14), require_uppercase: /[A-Z]/.test(e14), require_special_char: a12.test(e14) });
            })(a11)(e12, { maxLength: a11.max_length, minLength: a11.min_length }), c4 = { max_length: t11, min_length: r11, require_special_char: i3, require_lowercase: n4, require_numbers: s4, require_uppercase: o5 }, d3 = /* @__PURE__ */ new Map();
            for (let e13 in c4) c4[e13] && !l4[e13] && d3.set(e13, true);
            return Object.freeze(Object.fromEntries(d3));
          })(e11, a10), l3 = (({ min_zxcvbn_strength: e11, onResult: a11 }) => (t11) => (r11) => {
            let i3 = t11(r11);
            return (a11?.(i3), i3.score >= e11 && i3.score < 3) ? { state: "pass", keys: ["unstable__errors.zxcvbn.couldBeStronger"], result: i3 } : i3.score >= e11 ? { state: "excellent", result: i3 } : { state: "fail", keys: ["unstable__errors.zxcvbn.notEnough", ...i3.feedback.suggestions.map((e12) => `unstable__errors.zxcvbn.suggestions.${e12}`)], result: i3 };
          })(a10), c3 = {};
          return (a11, t11) => {
            let { onValidation: d3 = r10, onValidationComplexity: u3 = i2 } = t11 || {};
            if (!s3) return;
            let h3 = o4(a11);
            u3(0 === Object.keys(h3).length), c3 = { ...c3, complexity: h3 }, n3 && e10().then((e11) => {
              let t12 = l3(e11)(a11);
              d3({ ...c3 = { ...c3, strength: t12 }, strength: t12 });
            }), c3.complexity && 0 === Object.keys(c3.complexity).length && n3 || d3(c3);
          };
        };
        function rY(e10) {
          return e10 ? `https://${e10.replace(/clerk\.accountsstage\./, "accountsstage.").replace(/clerk\.accounts\.|clerk\./, "accounts.")}` : "";
        }
        async function rZ(e10, a10, t10, r10, i2) {
          if (!e10.client || !r10.popup) return;
          let n3 = rY(e10.frontendApi), { redirectUrl: s3 } = r10, o4 = new URL(s3);
          o4.searchParams.set("sign_in_force_redirect_url", r10.redirectUrlComplete), o4.searchParams.set("sign_up_force_redirect_url", r10.redirectUrlComplete), o4.searchParams.set("intent", a10);
          let l3 = e10.buildUrlWithAuth(o4.toString()), c3 = e10.buildUrlWithAuth(`${n3}/popup-callback`), d3 = e10.buildUrlWithAuth(`${n3}/popup-callback?return_url=${encodeURIComponent(l3)}`), u3 = async (a11) => {
            if (a11.origin !== n3) return;
            let t11 = false;
            if (a11.data.session) {
              if (!e10.client?.sessions.find((e11) => e11.id === a11.data.session)) try {
                await e10.client?.reload();
              } catch (e11) {
                console.error(e11);
              }
              await e10.setActive({ session: a11.data.session, redirectUrl: r10.redirectUrlComplete }), t11 = true;
            } else a11.data.return_url && (e10.navigate(a11.data.return_url), t11 = true);
            t11 && window.removeEventListener("message", u3);
          };
          window.addEventListener("message", u3), await t10({ ...r10, redirectUrlComplete: c3, redirectUrl: d3 }, i2);
        }
        function rX(e10, { redirectCallbackUrl: a10, redirectUrl: t10 }) {
          let r10 = rY(e10.frontendApi), i2 = new URL(a10);
          i2.searchParams.set("sign_in_force_redirect_url", t10), i2.searchParams.set("sign_up_force_redirect_url", t10);
          let n3 = e10.buildUrlWithAuth(i2.toString()), s3 = e10.buildUrlWithAuth(`${r10}/popup-callback`);
          return { redirectCallbackUrl: e10.buildUrlWithAuth(`${r10}/popup-callback?return_url=${encodeURIComponent(n3)}`), redirectUrl: s3 };
        }
        function r1(e10, a10) {
          return new Promise((t10, r10) => {
            if (!e10.client || !a10.popup) return void r10();
            let i2 = async (a11) => {
              a11.origin === rY(e10.frontendApi) && (a11.data.session || a11.data.return_url ? (window.removeEventListener("message", i2), t10()) : r10());
            };
            window.addEventListener("message", i2), a10.popup.location.href = a10.externalVerificationRedirectURL.toString();
          });
        }
        async function r22(e10, a10) {
          tL.emit("resource:error", { resource: e10, error: null }), tL.emit("resource:fetch", { resource: e10, status: "fetching" });
          try {
            return { result: await a10(), error: null };
          } catch (a11) {
            return tL.emit("resource:error", { resource: e10, error: a11 }), { error: a11 };
          } finally {
            tL.emit("resource:fetch", { resource: e10, status: "idle" });
          }
        }
        let r0 = () => {
          var e10;
          return (e10 = new am(), { loadZxcvbn: () => Promise.all([e10.import("@zxcvbn-ts/core"), e10.import("@zxcvbn-ts/language-common")]).then(([e11, a10]) => {
            if (!e11 || !a10) throw Error("Failed to load zxcvbn modules");
            let { zxcvbnOptions: t10, zxcvbn: r10 } = e11, { dictionary: i2, adjacencyGraphs: n3 } = a10;
            return t10.setOptions({ dictionary: { ...i2 }, graphs: n3 }), r10;
          }) }).loadZxcvbn;
        };
        class r9 extends aV {
          pathRoot = "/client/sign_ins";
          id;
          _status = null;
          supportedIdentifiers = [];
          supportedFirstFactors = [];
          supportedSecondFactors = null;
          firstFactorVerification = new rc(null);
          secondFactorVerification = new rc(null);
          identifier = null;
          createdSessionId = null;
          userData = new ic(null);
          clientTrustState;
          get status() {
            return this._status;
          }
          set status(e10) {
            let a10 = this._status;
            this._status = e10, e10 && a10 !== e10 && ao.debug("SignIn.status", { id: this.id, from: a10, to: e10 });
          }
          __internal_future = new r3(this);
          __internal_basePost = this._basePost.bind(this);
          __internal_baseGet = this._baseGet.bind(this);
          constructor(e10 = null) {
            super(), this.fromJSON(e10);
          }
          create = async (e10) => {
            ao.debug("SignIn.create", { id: this.id, strategy: "strategy" in e10 ? e10.strategy : void 0 });
            let a10 = { ...e10 }, t10 = aj();
            return t10 && (a10.locale = t10), this.shouldRequireCaptcha(e10), this._basePost({ path: this.pathRoot, body: a10 });
          };
          resetPassword = (e10) => this._basePost({ body: e10, action: "reset_password" });
          prepareFirstFactor = (e10) => {
            let a10;
            switch (ao.debug("SignIn.prepareFirstFactor", { id: this.id, strategy: e10.strategy }), e10.strategy) {
              case "passkey":
                a10 = {};
                break;
              case "email_link":
                a10 = { emailAddressId: e10.emailAddressId, redirectUrl: e10.redirectUrl };
                break;
              case "email_code":
              case "reset_password_email_code":
                a10 = { emailAddressId: e10.emailAddressId };
                break;
              case "phone_code":
                a10 = { phoneNumberId: e10.phoneNumberId, default: e10.default, channel: e10.channel };
                break;
              case "web3_metamask_signature":
              case "web3_base_signature":
              case "web3_coinbase_wallet_signature":
              case "web3_okx_wallet_signature":
              case "web3_solana_signature":
                a10 = { web3WalletId: e10.web3WalletId };
                break;
              case "reset_password_phone_code":
                a10 = { phoneNumberId: e10.phoneNumberId };
                break;
              case "enterprise_sso":
                a10 = { redirectUrl: e10.redirectUrl, actionCompleteRedirectUrl: e10.actionCompleteRedirectUrl, oidcPrompt: e10.oidcPrompt, enterpriseConnectionId: e10.enterpriseConnectionId };
                break;
              default:
                aM("SignIn.prepareFirstFactor", e10.strategy);
            }
            return this._basePost({ body: { ...a10, strategy: e10.strategy }, action: "prepare_first_factor" });
          };
          attemptFirstFactor = (e10) => {
            let a10;
            return ao.debug("SignIn.attemptFirstFactor", { id: this.id, strategy: e10.strategy }), a10 = "passkey" === e10.strategy ? { publicKeyCredential: JSON.stringify(rs(e10.publicKeyCredential)) } : { ...e10 }, this._basePost({ body: { ...a10, strategy: e10.strategy }, action: "attempt_first_factor" });
          };
          createEmailLinkFlow = () => {
            let { run: e10, stop: a10 } = t4();
            return { startEmailLinkFlow: async ({ emailAddressId: t10, redirectUrl: r10 }) => {
              this.id || aR("SignIn");
              let i2 = { strategy: "email_link", emailAddressId: t10, redirectUrl: r10 }, n3 = "needs_second_factor" === this.status || "needs_client_trust" === this.status, s3 = n3 ? "secondFactorVerification" : "firstFactorVerification";
              return n3 ? await this.prepareSecondFactor(i2) : await this.prepareFirstFactor(i2), new Promise((t11, r11) => {
                e10(() => this.reload().then((e11) => {
                  let r12 = e11[s3].status;
                  ("verified" === r12 || "expired" === r12) && (a10(), t11(e11));
                }).catch((e11) => {
                  a10(), r11(e11);
                }));
              });
            }, cancelEmailLinkFlow: a10 };
          };
          prepareSecondFactor = (e10) => (ao.debug("SignIn.prepareSecondFactor", { id: this.id, strategy: e10.strategy }), this._basePost({ body: e10, action: "prepare_second_factor" }));
          attemptSecondFactor = (e10) => (ao.debug("SignIn.attemptSecondFactor", { id: this.id, strategy: e10.strategy }), this._basePost({ body: e10, action: "attempt_second_factor" }));
          authenticateWithRedirectOrPopup = async (e10, a10) => {
            let { strategy: t10, redirectUrlComplete: r10, identifier: i2, oidcPrompt: n3, continueSignIn: s3, enterpriseConnectionId: o4 } = e10 || {}, l3 = r9.clerk.buildUrlWithAuth(e10.redirectUrl);
            this.id && s3 || await this.create({ strategy: t10, identifier: i2, redirectUrl: l3, actionCompleteRedirectUrl: r10 }), "enterprise_sso" === t10 && await this.prepareFirstFactor({ strategy: t10, redirectUrl: l3, actionCompleteRedirectUrl: r10, oidcPrompt: n3, enterpriseConnectionId: o4 });
            let { status: c3, externalVerificationRedirectURL: d3 } = this.firstFactorVerification;
            "unverified" === c3 && d3 ? a10(d3) : aN(c3, r9.fapiClient.buildEmailAddress("support"));
          };
          authenticateWithRedirect = async (e10) => this.authenticateWithRedirectOrPopup(e10, eG);
          authenticateWithPopup = async (e10) => {
            let { popup: a10 } = e10 || {};
            return a10 || aD("popup"), rZ(r9.clerk, "signIn", this.authenticateWithRedirectOrPopup, e10, (e11) => {
              a10.location.href = e11.toString();
            });
          };
          authenticateWithWeb3 = async (e10) => {
            let a10, { identifier: t10, generateSignature: r10, strategy: i2 = "web3_metamask_signature", walletName: n3 } = e10 || {}, s3 = i2.replace("web3_", "").replace("_signature", "");
            "function" != typeof r10 && aD("generateSignature"), "solana" !== s3 || n3 || aD("walletName"), await this.create({ identifier: t10 });
            let o4 = this.supportedFirstFactors?.find((e11) => e11.strategy === i2);
            o4 || aF("SignIn"), await this.prepareFirstFactor(o4);
            let { message: l3 } = this.firstFactorVerification;
            l3 || aF("SignIn");
            try {
              a10 = await r10({ identifier: t10, nonce: l3, walletName: n3, provider: s3 });
            } catch (e11) {
              if ("coinbase_wallet" === s3 && 4001 === e11.code) a10 = await r10({ identifier: t10, nonce: l3, provider: s3, walletName: n3 });
              else throw e11;
            }
            return this.attemptFirstFactor({ signature: a10, strategy: i2 });
          };
          authenticateWithMetamask = async () => {
            let e10 = await aS().getMetamaskIdentifier();
            return this.authenticateWithWeb3({ identifier: e10, generateSignature: aS().generateSignatureWithMetamask, strategy: "web3_metamask_signature" });
          };
          authenticateWithCoinbaseWallet = async () => {
            let e10 = await aS().getCoinbaseWalletIdentifier();
            return this.authenticateWithWeb3({ identifier: e10, generateSignature: aS().generateSignatureWithCoinbaseWallet, strategy: "web3_coinbase_wallet_signature" });
          };
          authenticateWithBase = async () => {
            let e10 = await aS().getBaseIdentifier();
            return this.authenticateWithWeb3({ identifier: e10, generateSignature: aS().generateSignatureWithBase, strategy: "web3_base_signature" });
          };
          authenticateWithOKXWallet = async () => {
            let e10 = await aS().getOKXWalletIdentifier();
            return this.authenticateWithWeb3({ identifier: e10, generateSignature: aS().generateSignatureWithOKXWallet, strategy: "web3_okx_wallet_signature" });
          };
          authenticateWithSolana = async ({ walletName: e10 }) => {
            let a10 = await aS().getSolanaIdentifier(e10);
            return this.authenticateWithWeb3({ identifier: a10, generateSignature: (a11) => aS().generateSignatureWithSolana({ ...a11, walletName: e10 }), strategy: "web3_solana_signature", walletName: e10 });
          };
          authenticateWithPasskey = async (e10) => {
            let { flow: a10 } = e10 || {}, t10 = r9.clerk.__internal_isWebAuthnSupported || rP, r10 = r9.clerk.__internal_getPublicCredentials || rt, i2 = r9.clerk.__internal_isWebAuthnAutofillSupported || rT;
            if (!t10()) throw new O("Passkeys are not supported", { code: "passkey_not_supported" });
            if ("autofill" === a10 || "discoverable" === a10) await this.create({ strategy: "passkey" });
            else {
              let e11 = this.supportedFirstFactors.find((e12) => "passkey" === e12.strategy);
              e11 || (function() {
                throw Error(`${aP} You need to start a SignIn flow by calling SignIn.create({ strategy: 'passkey' }) first`);
              })(), await this.prepareFirstFactor(e11);
            }
            let { nonce: n3 } = this.firstFactorVerification, s3 = n3 ? ri(JSON.parse(n3)) : null;
            s3 || aL("get");
            let o4 = false;
            "autofill" === a10 && (o4 = await i2());
            let { publicKeyCredential: l3, error: c3 } = await r10({ publicKeyOptions: s3, conditionalUI: o4 });
            if (!l3) throw c3;
            return this.attemptFirstFactor({ publicKeyCredential: l3, strategy: "passkey" });
          };
          validatePassword = (e10, a10) => {
            if (r9.clerk.__internal_environment?.userSettings.passwordSettings) return rQ(r0(), { ...r9.clerk.__internal_environment?.userSettings.passwordSettings, validatePassword: true })(e10, a10);
          };
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.status = e10.status, this.supportedIdentifiers = e10.supported_identifiers, this.identifier = e10.identifier, this.supportedFirstFactors = eo(e10.supported_first_factors), this.supportedSecondFactors = eo(e10.supported_second_factors), this.firstFactorVerification = new rc(e10.first_factor_verification), this.secondFactorVerification = new rc(e10.second_factor_verification), this.createdSessionId = e10.created_session_id, this.userData = new ic(e10.user_data), this.clientTrustState = e10.client_trust_state ?? void 0), tL.emit("resource:update", { resource: this }), this;
          }
          clientBypass() {
            return r9.clerk.client?.captchaBypass;
          }
          shouldRequireCaptcha(e10) {
            return "signUpIfMissing" in e10 && !!e10.signUpIfMissing;
          }
          shouldBypassCaptchaForAttempt(e10) {
            let a10 = r9.clerk.__internal_environment.displayConfig.captchaOauthBypass;
            if (e10.transfer && r9.clerk.client?.signUp?.verifications?.externalAccount?.status === "transferable") {
              let e11 = r9.clerk.client.signUp.verifications.externalAccount.strategy;
              return !!e11 && a10.some((a11) => a11 === e11);
            }
            return "strategy" in e10 && !!e10.strategy && a10.some((a11) => a11 === e10.strategy);
          }
          __internal_updateFromJSON(e10) {
            return this.fromJSON(e10);
          }
          __internal_toSnapshot() {
            return { object: "sign_in", id: this.id || "", status: this.status || null, supported_identifiers: this.supportedIdentifiers, supported_first_factors: es(this.supportedFirstFactors), supported_second_factors: es(this.supportedSecondFactors), first_factor_verification: this.firstFactorVerification.__internal_toSnapshot(), second_factor_verification: this.secondFactorVerification.__internal_toSnapshot(), identifier: this.identifier, created_session_id: this.createdSessionId, user_data: this.userData.__internal_toSnapshot() };
          }
        }
        class r3 {
          emailCode = { sendCode: this.sendEmailCode.bind(this), verifyCode: this.verifyEmailCode.bind(this) };
          emailLink = { sendLink: this.sendEmailLink.bind(this), waitForVerification: this.waitForEmailLinkVerification.bind(this), get verification() {
            if (!o3()) return null;
            let e10 = eF("__clerk_status"), a10 = eF("__clerk_created_session");
            if (!e10 || !a10) return null;
            let t10 = "verified" === e10 && void 0 !== r9.clerk.client && r9.clerk.client.sessions.some((e11) => e11.id === a10);
            return { status: e10, createdSessionId: a10, verifiedFromTheSameClient: t10 };
          } };
          resetPasswordEmailCode = { sendCode: this.sendResetPasswordEmailCode.bind(this), verifyCode: this.verifyResetPasswordEmailCode.bind(this), submitPassword: this.submitResetPassword.bind(this) };
          resetPasswordPhoneCode = { sendCode: this.sendResetPasswordPhoneCode.bind(this), verifyCode: this.verifyResetPasswordPhoneCode.bind(this), submitPassword: this.submitResetPassword.bind(this) };
          phoneCode = { sendCode: this.sendPhoneCode.bind(this), verifyCode: this.verifyPhoneCode.bind(this) };
          mfa = { sendPhoneCode: this.sendMFAPhoneCode.bind(this), verifyPhoneCode: this.verifyMFAPhoneCode.bind(this), sendEmailCode: this.sendMFAEmailCode.bind(this), verifyEmailCode: this.verifyMFAEmailCode.bind(this), verifyTOTP: this.verifyTOTP.bind(this), verifyBackupCode: this.verifyBackupCode.bind(this) };
          #ew = false;
          #ev;
          constructor(e10) {
            this.#ev = e10;
          }
          get id() {
            return this.#ev.id;
          }
          get identifier() {
            return this.#ev.identifier;
          }
          get createdSessionId() {
            return this.#ev.createdSessionId;
          }
          get userData() {
            return this.#ev.userData;
          }
          get status() {
            return this.#ev.status || "needs_identifier";
          }
          get supportedFirstFactors() {
            return this.#ev.supportedFirstFactors ?? [];
          }
          get supportedSecondFactors() {
            return this.#ev.supportedSecondFactors ?? [];
          }
          get isTransferable() {
            return "transferable" === this.#ev.firstFactorVerification.status;
          }
          get existingSession() {
            if ("failed" === this.#ev.firstFactorVerification.status && this.#ev.firstFactorVerification.error?.code === "identifier_already_signed_in" && this.#ev.firstFactorVerification.error?.meta?.sessionId) return { sessionId: this.#ev.firstFactorVerification.error?.meta?.sessionId };
          }
          get firstFactorVerification() {
            return this.#ev.firstFactorVerification;
          }
          get secondFactorVerification() {
            return this.#ev.secondFactorVerification;
          }
          get canBeDiscarded() {
            return this.#ew;
          }
          async sendResetPasswordEmailCode() {
            if (!this.#ev.id) throw Error("Cannot reset password without a sign in.");
            return r22(this.#ev, async () => {
              let e10 = this.#ev.supportedFirstFactors?.find((e11) => "reset_password_email_code" === e11.strategy);
              if (!e10) throw new j("Reset password email code factor not found", { code: "factor_not_found" });
              let { emailAddressId: a10 } = e10;
              await this.#ev.__internal_basePost({ body: { emailAddressId: a10, strategy: "reset_password_email_code" }, action: "prepare_first_factor" });
            });
          }
          async verifyResetPasswordEmailCode(e10) {
            let { code: a10 } = e10;
            return r22(this.#ev, async () => {
              await this.#ev.__internal_basePost({ body: { code: a10, strategy: "reset_password_email_code" }, action: "attempt_first_factor" });
            });
          }
          async sendResetPasswordPhoneCode(e10 = {}) {
            let { phoneNumber: a10 } = e10;
            if (!this.#ev.id && !a10) throw Error("signIn.resetPasswordPhoneCode.sendCode() cannot be called without a phoneNumber if an existing signIn does not exist.");
            return r22(this.#ev, async () => {
              a10 && await this._create({ identifier: a10 });
              let e11 = this.#ev.supportedFirstFactors?.find((e12) => "reset_password_phone_code" === e12.strategy);
              if (!e11) throw new j("Reset password phone code factor not found", { code: "factor_not_found" });
              let { phoneNumberId: t10 } = e11;
              await this.#ev.__internal_basePost({ body: { phoneNumberId: t10, strategy: "reset_password_phone_code" }, action: "prepare_first_factor" });
            });
          }
          async verifyResetPasswordPhoneCode(e10) {
            let { code: a10 } = e10;
            return r22(this.#ev, async () => {
              await this.#ev.__internal_basePost({ body: { code: a10, strategy: "reset_password_phone_code" }, action: "attempt_first_factor" });
            });
          }
          async submitResetPassword(e10) {
            let { password: a10, signOutOfOtherSessions: t10 = true } = e10;
            return r22(this.#ev, async () => {
              await this.#ev.__internal_basePost({ body: { password: a10, signOutOfOtherSessions: t10 }, action: "reset_password" });
            });
          }
          shouldRequireCaptcha(e10) {
            return !!e10.signUpIfMissing;
          }
          shouldBypassCaptchaForAttempt(e10) {
            let a10 = r9.clerk.__internal_environment.displayConfig.captchaOauthBypass;
            if (e10.transfer && r9.clerk.client?.signUp?.verifications?.externalAccount?.status === "transferable") {
              let e11 = r9.clerk.client.signUp.verifications.externalAccount.strategy;
              return !!e11 && a10.some((a11) => a11 === e11);
            }
            return !!e10.strategy && a10.some((a11) => a11 === e10.strategy);
          }
          async getCaptchaToken(e10 = {}) {
            return this.shouldRequireCaptcha(e10), { captchaToken: void 0, captchaWidgetType: void 0, captchaError: void 0 };
          }
          async _create(e10) {
            let { captchaToken: a10, captchaWidgetType: t10, captchaError: r10 } = await this.getCaptchaToken(e10), i2 = { ...e10, captchaToken: a10, captchaWidgetType: t10, captchaError: r10, locale: aj() || void 0 };
            await this.#ev.__internal_basePost({ path: this.#ev.pathRoot, body: i2 });
          }
          async create(e10) {
            return r22(this.#ev, async () => {
              await this._create(e10);
            });
          }
          async password(e10) {
            if ([e10.identifier, e10.emailAddress, e10.phoneNumber].filter(Boolean).length > 1) throw Error("Only one of identifier, emailAddress, or phoneNumber can be provided");
            return r22(this.#ev, async () => {
              let a10 = e10.identifier || e10.emailAddress || e10.phoneNumber, t10 = this.#ev.identifier, r10 = aj();
              await this.#ev.__internal_basePost({ path: this.#ev.pathRoot, body: { identifier: a10 || t10, password: e10.password, ...r10 ? { locale: r10 } : {} } });
            });
          }
          async sendEmailCode(e10 = {}) {
            let { emailAddress: a10, emailAddressId: t10 } = e10;
            if (!this.#ev.id && t10) throw Error("signIn.emailCode.sendCode() cannot be called with an emailAddressId if an existing signIn does not exist.");
            if (!this.#ev.id && !a10) throw Error("signIn.emailCode.sendCode() cannot be called without an emailAddress if an existing signIn does not exist.");
            return r22(this.#ev, async () => {
              a10 && await this._create({ identifier: a10 });
              let e11 = this.selectFirstFactor({ strategy: "email_code", emailAddressId: t10 });
              if (!e11) throw new j("Email code factor not found", { code: "factor_not_found" });
              await this.#ev.__internal_basePost({ body: { emailAddressId: e11.emailAddressId, strategy: "email_code" }, action: "prepare_first_factor" });
            });
          }
          async verifyEmailCode(e10) {
            let { code: a10 } = e10;
            return r22(this.#ev, async () => {
              await this.#ev.__internal_basePost({ body: { code: a10, strategy: "email_code" }, action: "attempt_first_factor" });
            });
          }
          async sendEmailLink(e10) {
            let { emailAddress: a10, verificationUrl: t10, emailAddressId: r10 } = e10;
            if (!this.#ev.id && r10) throw Error("signIn.emailLink.sendLink() cannot be called with an emailAddressId if an existing signIn does not exist.");
            if (!this.#ev.id && !a10) throw Error("signIn.emailLink.sendLink() cannot be called without an emailAddress if an existing signIn does not exist.");
            return r22(this.#ev, async () => {
              a10 && await this._create({ identifier: a10 });
              let e11 = this.selectFirstFactor({ strategy: "email_link", emailAddressId: r10 });
              if (!e11) throw new j("Email link factor not found", { code: "factor_not_found" });
              let i2 = t10;
              try {
                new URL(t10);
              } catch {
                i2 = window.location.origin + t10;
              }
              await this.#ev.__internal_basePost({ body: { emailAddressId: e11.emailAddressId, redirectUrl: i2, strategy: "email_link" }, action: "prepare_first_factor" });
            });
          }
          async waitForEmailLinkVerification() {
            return r22(this.#ev, async () => {
              let { run: e10, stop: a10 } = t4();
              await new Promise((t10, r10) => {
                e10(async () => {
                  try {
                    let e11 = await this.#ev.__internal_baseGet(), r11 = e11.firstFactorVerification.status;
                    ("verified" === r11 || "expired" === r11) && (a10(), t10(e11));
                  } catch (e11) {
                    a10(), r10(e11);
                  }
                });
              });
            });
          }
          async sendPhoneCode(e10 = {}) {
            let { phoneNumber: a10, phoneNumberId: t10, channel: r10 = "sms" } = e10;
            if (!this.#ev.id && t10) throw Error("signIn.phoneCode.sendCode() cannot be called with an phoneNumberId if an existing signIn does not exist.");
            if (!this.#ev.id && !a10) throw Error("signIn.phoneCode.sendCode() cannot be called without an phoneNumber if an existing signIn does not exist.");
            return r22(this.#ev, async () => {
              a10 && await this._create({ identifier: a10 });
              let e11 = this.selectFirstFactor({ strategy: "phone_code", phoneNumberId: t10 });
              if (!e11) throw new j("Phone code factor not found", { code: "factor_not_found" });
              await this.#ev.__internal_basePost({ body: { phoneNumberId: e11.phoneNumberId, strategy: "phone_code", channel: r10 }, action: "prepare_first_factor" });
            });
          }
          async verifyPhoneCode(e10) {
            let { code: a10 } = e10;
            return r22(this.#ev, async () => {
              await this.#ev.__internal_basePost({ body: { code: a10, strategy: "phone_code" }, action: "attempt_first_factor" });
            });
          }
          async sso(e10) {
            let { strategy: a10, redirectUrl: t10, redirectCallbackUrl: r10, popup: i2, oidcPrompt: n3, enterpriseConnectionId: s3, identifier: o4 } = e10;
            return r22(this.#ev, async () => {
              let e11 = t10;
              try {
                new URL(t10);
              } catch {
                e11 = window.location.origin + t10;
              }
              let l3 = { redirectUrl: r9.clerk.buildUrlWithAuth(r10), actionCompleteRedirectUrl: e11 };
              if (i2) {
                let a11 = rX(r9.clerk, { redirectCallbackUrl: l3.redirectUrl, redirectUrl: e11 });
                l3.redirectUrl = a11.redirectCallbackUrl, l3.actionCompleteRedirectUrl = a11.redirectUrl;
              }
              this.#ev.id || await this._create({ strategy: a10, ...l3, identifier: o4 }), "enterprise_sso" === a10 && await this.#ev.__internal_basePost({ body: { ...l3, oidcPrompt: n3, enterpriseConnectionId: s3, strategy: "enterprise_sso" }, action: "prepare_first_factor" });
              let { status: c3, externalVerificationRedirectURL: d3 } = this.#ev.firstFactorVerification;
              "unverified" === c3 && d3 && (i2 ? (await r1(r9.clerk, { popup: i2, externalVerificationRedirectURL: d3 }), await this.#ev.reload()) : eG(d3));
            });
          }
          async web3(e10) {
            let { strategy: a10 } = e10, t10 = a10.replace("web3_", "").replace("_signature", "");
            return r22(this.#ev, async () => {
              let r10, i2, n3;
              switch (t10) {
                case "metamask":
                  r10 = await aS().getMetamaskIdentifier(), i2 = aS().generateSignatureWithMetamask;
                  break;
                case "coinbase_wallet":
                  r10 = await aS().getCoinbaseWalletIdentifier(), i2 = aS().generateSignatureWithCoinbaseWallet;
                  break;
                case "base":
                  r10 = await aS().getBaseIdentifier(), i2 = aS().generateSignatureWithBase;
                  break;
                case "okx_wallet":
                  r10 = await aS().getOKXWalletIdentifier(), i2 = aS().generateSignatureWithOKXWallet;
                  break;
                case "solana":
                  if (!e10.walletName) throw new j("Wallet name is required for Solana authentication.", { code: "web3_solana_wallet_name_required" });
                  r10 = await aS().getSolanaIdentifier(e10.walletName), i2 = (a11) => aS().generateSignatureWithSolana({ ...a11, walletName: e10.walletName });
                  break;
                default:
                  throw Error(`Unsupported Web3 provider: ${t10}`);
              }
              await this._create({ identifier: r10 });
              let s3 = this.#ev.supportedFirstFactors?.find((e11) => e11.strategy === a10);
              if (!s3) throw new j("Web3 first factor not found", { code: "factor_not_found" });
              await this.#ev.__internal_basePost({ body: { web3WalletId: s3.web3WalletId, strategy: a10 }, action: "prepare_first_factor" });
              let { message: o4 } = this.firstFactorVerification;
              if (!o4) throw new j("Web3 nonce not found", { code: "web3_nonce_not_found" });
              try {
                n3 = await i2({ identifier: r10, nonce: o4, walletName: e10?.walletName, provider: t10 });
              } catch (e11) {
                if ("coinbase_wallet" === t10 && 4001 === e11.code) n3 = await i2({ identifier: r10, nonce: o4, provider: t10 });
                else throw e11;
              }
              await this.#ev.__internal_basePost({ body: { signature: n3, strategy: a10 }, action: "attempt_first_factor" });
            });
          }
          async passkey(e10) {
            let { flow: a10 } = e10 || {}, t10 = r9.clerk.__internal_isWebAuthnSupported || rP, r10 = r9.clerk.__internal_getPublicCredentials || rt, i2 = r9.clerk.__internal_isWebAuthnAutofillSupported || rT;
            if (!t10()) throw new O("Passkeys are not supported", { code: "passkey_not_supported" });
            return r22(this.#ev, async () => {
              if ("autofill" === a10 || "discoverable" === a10) await this._create({ strategy: "passkey" });
              else {
                if (!this.supportedFirstFactors.find((e12) => "passkey" === e12.strategy)) throw new j("Passkey factor not found", { code: "factor_not_found" });
                await this.#ev.__internal_basePost({ body: { strategy: "passkey" }, action: "prepare_first_factor" });
              }
              let { nonce: e11 } = this.firstFactorVerification, t11 = e11 ? ri(JSON.parse(e11)) : null;
              if (!t11) throw new j("Missing public key options", { code: "missing_public_key_options" });
              let n3 = false;
              "autofill" === a10 && (n3 = await i2());
              let { publicKeyCredential: s3, error: o4 } = await r10({ publicKeyOptions: t11, conditionalUI: n3 });
              if (!s3) throw new O(o4.message, { code: "passkey_retrieval_failed" });
              await this.#ev.__internal_basePost({ body: { publicKeyCredential: JSON.stringify(rs(s3)), strategy: "passkey" }, action: "attempt_first_factor" });
            });
          }
          async sendMFAPhoneCode() {
            return r22(this.#ev, async () => {
              let e10 = this.#ev.supportedSecondFactors?.find((e11) => "phone_code" === e11.strategy);
              if (!e10) throw new j("Phone code factor not found", { code: "factor_not_found" });
              let { phoneNumberId: a10 } = e10;
              await this.#ev.__internal_basePost({ body: { phoneNumberId: a10, strategy: "phone_code" }, action: "prepare_second_factor" });
            });
          }
          async verifyMFAPhoneCode(e10) {
            let { code: a10 } = e10;
            return r22(this.#ev, async () => {
              await this.#ev.__internal_basePost({ body: { code: a10, strategy: "phone_code" }, action: "attempt_second_factor" });
            });
          }
          async sendMFAEmailCode() {
            return r22(this.#ev, async () => {
              let e10 = this.#ev.supportedSecondFactors?.find((e11) => "email_code" === e11.strategy);
              if (!e10) throw new j("Email code factor not found", { code: "factor_not_found" });
              let { emailAddressId: a10 } = e10;
              await this.#ev.__internal_basePost({ body: { emailAddressId: a10, strategy: "email_code" }, action: "prepare_second_factor" });
            });
          }
          async verifyMFAEmailCode(e10) {
            let { code: a10 } = e10;
            return r22(this.#ev, async () => {
              await this.#ev.__internal_basePost({ body: { code: a10, strategy: "email_code" }, action: "attempt_second_factor" });
            });
          }
          async verifyTOTP(e10) {
            let { code: a10 } = e10;
            return r22(this.#ev, async () => {
              await this.#ev.__internal_basePost({ body: { code: a10, strategy: "totp" }, action: "attempt_second_factor" });
            });
          }
          async verifyBackupCode(e10) {
            let { code: a10 } = e10;
            return r22(this.#ev, async () => {
              await this.#ev.__internal_basePost({ body: { code: a10, strategy: "backup_code" }, action: "attempt_second_factor" });
            });
          }
          async ticket(e10) {
            let a10 = e10?.ticket ?? eF("__clerk_ticket");
            return this.create({ ticket: a10 ?? void 0 });
          }
          async finalize(e10) {
            let { navigate: a10 } = e10 || {};
            if (!this.#ev.createdSessionId) throw Error("Cannot finalize sign-in without a created session.");
            return r22(this.#ev, async () => {
              r9.clerk.client && !r9.clerk.client.sessions.some((e11) => e11.id === this.#ev.createdSessionId) && await r9.clerk.client.reload(), this.#ew = true, await r9.clerk.setActive({ session: this.#ev.createdSessionId, navigate: a10 });
            });
          }
          reset() {
            if (!r9.clerk.client) throw Error("Cannot reset sign-in without a client.");
            return this.#ew = true, r9.clerk.client.resetSignIn(), Promise.resolve({ error: null });
          }
          selectFirstFactor({ strategy: e10, emailAddressId: a10, phoneNumberId: t10 }) {
            if (!this.#ev.supportedFirstFactors) return null;
            if (a10) {
              let t11 = this.#ev.supportedFirstFactors.find((t12) => t12.strategy === e10 && t12.emailAddressId === a10);
              if (t11) return t11;
            }
            if (t10) {
              let a11 = this.#ev.supportedFirstFactors.find((a12) => a12.strategy === e10 && a12.phoneNumberId === t10);
              if (a11) return a11;
            }
            let r10 = this.#ev.supportedFirstFactors.find((a11) => a11.strategy === e10 && a11.safeIdentifier === this.#ev.identifier);
            if (r10) return r10;
            let i2 = this.#ev.supportedFirstFactors.find((a11) => a11.strategy === e10);
            return i2 || null;
          }
        }
        function r8(e10) {
          let { unsafeMetadata: a10 } = { ...e10 }, t10 = a10 ? "object" == typeof a10 ? JSON.stringify(a10) : a10 : "";
          return { ...e10, ...a10 ? { unsafeMetadata: t10 } : {} };
        }
        class r5 extends aV {
          pathRoot = "/client/sign_ups";
          id;
          _status = null;
          requiredFields = [];
          missingFields = [];
          optionalFields = [];
          unverifiedFields = [];
          verifications = new ru(null);
          username = null;
          firstName = null;
          lastName = null;
          emailAddress = null;
          phoneNumber = null;
          web3wallet = null;
          externalAccount;
          hasPassword = false;
          unsafeMetadata = {};
          createdSessionId = null;
          createdUserId = null;
          abandonAt = null;
          legalAcceptedAt = null;
          locale = null;
          get status() {
            return this._status;
          }
          set status(e10) {
            let a10 = this._status;
            this._status = e10, e10 && a10 !== e10 && ao.debug("SignUp.status", { id: this.id, from: a10, to: e10 });
          }
          __internal_future = new ie(this);
          __internal_basePost = this._basePost.bind(this);
          __internal_basePatch = this._basePatch.bind(this);
          constructor(e10 = null) {
            super(), this.fromJSON(e10);
          }
          create = async (e10) => {
            ao.debug("SignUp.create", { id: this.id, strategy: e10.strategy });
            let a10 = { ...e10 };
            if (!a10.locale) {
              let e11 = aj();
              e11 && (a10.locale = e11);
            }
            return this._basePost({ path: this.pathRoot, body: r8(a10) });
          };
          prepareVerification = (e10) => (ao.debug("SignUp.prepareVerification", { id: this.id, strategy: e10.strategy }), this._basePost({ body: e10, action: "prepare_verification" }));
          attemptVerification = (e10) => (ao.debug("SignUp.attemptVerification", { id: this.id, strategy: e10.strategy }), this._basePost({ body: e10, action: "attempt_verification" }));
          prepareEmailAddressVerification = (e10) => this.prepareVerification(e10 || { strategy: "email_code" });
          attemptEmailAddressVerification = (e10) => this.attemptVerification({ ...e10, strategy: "email_code" });
          createEmailLinkFlow = () => {
            let { run: e10, stop: a10 } = t4();
            return { startEmailLinkFlow: async ({ redirectUrl: t10 }) => (this.id || aR("SignUp"), await this.prepareEmailAddressVerification({ strategy: "email_link", redirectUrl: t10 }), new Promise((t11, r10) => {
              e10(() => this.reload().then((e11) => {
                let r11 = e11.verifications.emailAddress.status;
                ("verified" === r11 || "expired" === r11) && (a10(), t11(e11));
              }).catch((e11) => {
                a10(), r10(e11);
              }));
            })), cancelEmailLinkFlow: a10 };
          };
          preparePhoneNumberVerification = (e10) => this.prepareVerification(e10 || { strategy: "phone_code" });
          attemptPhoneNumberVerification = (e10) => this.attemptVerification({ ...e10, strategy: "phone_code" });
          prepareWeb3WalletVerification = (e10) => this.prepareVerification({ strategy: "web3_metamask_signature", ...e10 });
          attemptWeb3WalletVerification = async (e10) => {
            let { signature: a10, strategy: t10 = "web3_metamask_signature" } = e10;
            return this.attemptVerification({ signature: a10, strategy: t10 });
          };
          authenticateWithWeb3 = async (e10) => {
            let a10, { generateSignature: t10, identifier: r10, unsafeMetadata: i2, strategy: n3 = "web3_metamask_signature", legalAccepted: s3, walletName: o4 } = e10 || {}, l3 = n3.replace("web3_", "").replace("_signature", "");
            "function" != typeof t10 && aD("generateSignature");
            let c3 = r10 || this.web3wallet;
            await this.create({ web3Wallet: c3, unsafeMetadata: i2, legalAccepted: s3 }), await this.prepareWeb3WalletVerification({ strategy: n3 });
            let { message: d3 } = this.verifications.web3Wallet;
            d3 || aF("SignUp");
            try {
              a10 = await t10({ identifier: r10, nonce: d3, provider: l3, walletName: o4 });
            } catch (e11) {
              if ("coinbase_wallet" === l3 && 4001 === e11.code) a10 = await t10({ identifier: r10, nonce: d3, provider: l3 });
              else throw e11;
            }
            return this.attemptWeb3WalletVerification({ signature: a10, strategy: n3 });
          };
          authenticateWithMetamask = async (e10) => {
            let a10 = await aS().getMetamaskIdentifier();
            return this.authenticateWithWeb3({ identifier: a10, generateSignature: aS().generateSignatureWithMetamask, unsafeMetadata: e10?.unsafeMetadata, strategy: "web3_metamask_signature", legalAccepted: e10?.legalAccepted });
          };
          authenticateWithCoinbaseWallet = async (e10) => {
            let a10 = await aS().getCoinbaseWalletIdentifier();
            return this.authenticateWithWeb3({ identifier: a10, generateSignature: aS().generateSignatureWithCoinbaseWallet, unsafeMetadata: e10?.unsafeMetadata, strategy: "web3_coinbase_wallet_signature", legalAccepted: e10?.legalAccepted });
          };
          authenticateWithBase = async (e10) => {
            let a10 = await aS().getBaseIdentifier();
            return this.authenticateWithWeb3({ identifier: a10, generateSignature: aS().generateSignatureWithBase, unsafeMetadata: e10?.unsafeMetadata, strategy: "web3_base_signature", legalAccepted: e10?.legalAccepted });
          };
          authenticateWithOKXWallet = async (e10) => {
            let a10 = await aS().getOKXWalletIdentifier();
            return this.authenticateWithWeb3({ identifier: a10, generateSignature: aS().generateSignatureWithOKXWallet, unsafeMetadata: e10?.unsafeMetadata, strategy: "web3_okx_wallet_signature", legalAccepted: e10?.legalAccepted });
          };
          authenticateWithSolana = async ({ walletName: e10, unsafeMetadata: a10, legalAccepted: t10 }) => {
            let r10 = await aS().getSolanaIdentifier(e10);
            return this.authenticateWithWeb3({ identifier: r10, generateSignature: (a11) => aS().generateSignatureWithSolana({ ...a11, walletName: e10 }), unsafeMetadata: a10, strategy: "web3_solana_signature", legalAccepted: t10, walletName: e10 });
          };
          authenticateWithRedirectOrPopup = async (e10, a10) => {
            let { redirectUrl: t10, redirectUrlComplete: r10, strategy: i2, continueSignUp: n3 = false, unsafeMetadata: s3, emailAddress: o4, legalAccepted: l3, oidcPrompt: c3, enterpriseConnectionId: d3 } = e10, u3 = r5.clerk.buildUrlWithAuth(t10), h3 = () => {
              let e11 = { strategy: i2, redirectUrl: u3, actionCompleteRedirectUrl: r10, unsafeMetadata: s3, emailAddress: o4, legalAccepted: l3, oidcPrompt: c3, enterpriseConnectionId: d3 };
              return n3 && this.id ? this.update(e11) : this.create(e11);
            }, { verifications: m3 } = await h3().catch(async (e11) => {
              if (q(e11) && E(e11)) return await r5.clerk.__internal_environment.reload(), h3();
              throw e11;
            }), { externalAccount: p3 } = m3, { status: g3, externalVerificationRedirectURL: b3 } = p3;
            "unverified" === g3 && b3 ? a10(b3) : aN(g3, r5.fapiClient.buildEmailAddress("support"));
          };
          authenticateWithRedirect = async (e10) => this.authenticateWithRedirectOrPopup(e10, eG);
          authenticateWithPopup = async (e10) => {
            let { popup: a10 } = e10 || {};
            return a10 || aD("popup"), rZ(r5.clerk, "signUp", this.authenticateWithRedirectOrPopup, e10, (e11) => {
              a10.location.href = e11 instanceof URL ? e11.toString() : e11;
            });
          };
          update = (e10) => this._basePatch({ body: r8(e10) });
          upsert = (e10) => this.id ? this.update(e10) : this.create(e10);
          validatePassword = (e10, a10) => {
            if (r5.clerk.__internal_environment?.userSettings.passwordSettings) return rQ(r0(), { ...r5.clerk.__internal_environment?.userSettings.passwordSettings, validatePassword: true })(e10, a10);
          };
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.status = e10.status, this.requiredFields = e10.required_fields, this.optionalFields = e10.optional_fields, this.missingFields = e10.missing_fields, this.unverifiedFields = e10.unverified_fields, this.verifications = new ru(e10.verifications), this.username = e10.username, this.firstName = e10.first_name, this.lastName = e10.last_name, this.emailAddress = e10.email_address, this.phoneNumber = e10.phone_number, this.hasPassword = e10.has_password, this.unsafeMetadata = e10.unsafe_metadata, this.createdSessionId = e10.created_session_id, this.createdUserId = e10.created_user_id, this.abandonAt = e10.abandon_at, this.web3wallet = e10.web3_wallet, this.legalAcceptedAt = e10.legal_accepted_at, this.locale = e10.locale), tL.emit("resource:update", { resource: this }), this;
          }
          __internal_updateFromJSON(e10) {
            return this.fromJSON(e10);
          }
          __internal_toSnapshot() {
            return { object: "sign_up", id: this.id || "", status: this.status || null, required_fields: this.requiredFields, optional_fields: this.optionalFields, missing_fields: this.missingFields, unverified_fields: this.unverifiedFields, verifications: this.verifications.__internal_toSnapshot(), username: this.username, first_name: this.firstName, last_name: this.lastName, email_address: this.emailAddress, phone_number: this.phoneNumber, has_password: this.hasPassword, unsafe_metadata: this.unsafeMetadata, created_session_id: this.createdSessionId, created_user_id: this.createdUserId, abandon_at: this.abandonAt, web3_wallet: this.web3wallet, legal_accepted_at: this.legalAcceptedAt, locale: this.locale, external_account: this.externalAccount, external_account_strategy: this.externalAccount?.strategy };
          }
          clientBypass() {
            return r5.clerk.client?.captchaBypass;
          }
          shouldBypassCaptchaForAttempt(e10) {
            let a10 = r5.clerk.__internal_environment.displayConfig.captchaOauthBypass;
            if (e10.transfer) {
              let e11 = r5.clerk.client.signIn.firstFactorVerification.strategy;
              if (a10.some((a11) => a11 === e11) || r6(e11)) return true;
            }
            return !!(e10.strategy && a10.some((a11) => a11 === e10.strategy));
          }
          __experimental_getEnterpriseConnections = () => aV._fetch({ path: `/client/sign_ups/${this.id}/enterprise_connections`, method: "GET" }).then((e10) => (e10?.response).map((e11) => new ia(e11)));
        }
        let r4 = /* @__PURE__ */ new Set(["email_link", "email_code", "phone_code"]);
        function r6(e10) {
          return !!e10 && (r4.has(e10) || e10.startsWith("web3_"));
        }
        class r7 {
          #ev;
          sendEmailCode;
          verifyEmailCode;
          sendEmailLink;
          waitForEmailLinkVerification;
          sendPhoneCode;
          verifyPhoneCode;
          constructor(e10, a10) {
            this.#ev = e10, this.sendEmailCode = a10.sendEmailCode, this.verifyEmailCode = a10.verifyEmailCode, this.sendEmailLink = a10.sendEmailLink, this.waitForEmailLinkVerification = a10.waitForEmailLinkVerification, this.sendPhoneCode = a10.sendPhoneCode, this.verifyPhoneCode = a10.verifyPhoneCode;
          }
          get emailAddress() {
            return this.#ev.verifications.emailAddress;
          }
          get phoneNumber() {
            return this.#ev.verifications.phoneNumber;
          }
          get web3Wallet() {
            return this.#ev.verifications.web3Wallet;
          }
          get externalAccount() {
            return this.#ev.verifications.externalAccount;
          }
          get emailLinkVerification() {
            if (!o3()) return null;
            let e10 = eF("__clerk_status"), a10 = eF("__clerk_created_session");
            if (!e10 || !a10) return null;
            let t10 = "verified" === e10 && void 0 !== r5.clerk.client && r5.clerk.client.sessions.some((e11) => e11.id === a10);
            return { status: e10, createdSessionId: a10, verifiedFromTheSameClient: t10 };
          }
        }
        class ie {
          verifications;
          #ew = false;
          #ev;
          constructor(e10) {
            this.#ev = e10, this.verifications = new r7(this.#ev, { sendEmailCode: this.sendEmailCode.bind(this), verifyEmailCode: this.verifyEmailCode.bind(this), sendEmailLink: this.sendEmailLink.bind(this), waitForEmailLinkVerification: this.waitForEmailLinkVerification.bind(this), sendPhoneCode: this.sendPhoneCode.bind(this), verifyPhoneCode: this.verifyPhoneCode.bind(this) });
          }
          get id() {
            return this.#ev.id;
          }
          get requiredFields() {
            return this.#ev.requiredFields;
          }
          get optionalFields() {
            return this.#ev.optionalFields;
          }
          get missingFields() {
            return this.#ev.missingFields;
          }
          get status() {
            return this.#ev.status || "missing_requirements";
          }
          get username() {
            return this.#ev.username;
          }
          get firstName() {
            return this.#ev.firstName;
          }
          get lastName() {
            return this.#ev.lastName;
          }
          get emailAddress() {
            return this.#ev.emailAddress;
          }
          get phoneNumber() {
            return this.#ev.phoneNumber;
          }
          get web3Wallet() {
            return this.#ev.web3wallet;
          }
          get hasPassword() {
            return this.#ev.hasPassword;
          }
          get unsafeMetadata() {
            return this.#ev.unsafeMetadata;
          }
          get createdSessionId() {
            return this.#ev.createdSessionId;
          }
          get createdUserId() {
            return this.#ev.createdUserId;
          }
          get abandonAt() {
            return this.#ev.abandonAt;
          }
          get legalAcceptedAt() {
            return this.#ev.legalAcceptedAt;
          }
          get locale() {
            return this.#ev.locale;
          }
          get unverifiedFields() {
            return this.#ev.unverifiedFields;
          }
          get isTransferable() {
            return "transferable" === this.#ev.verifications.externalAccount.status && this.#ev.verifications.externalAccount.error?.code === "external_account_exists";
          }
          get existingSession() {
            if (("failed" === this.#ev.verifications.externalAccount.status || "unverified" === this.#ev.verifications.externalAccount.status) && this.#ev.verifications.externalAccount.error?.code === "identifier_already_signed_in" && this.#ev.verifications.externalAccount.error?.meta?.sessionId) return { sessionId: this.#ev.verifications.externalAccount.error?.meta?.sessionId };
          }
          get canBeDiscarded() {
            return this.#ew;
          }
          shouldBypassCaptchaForAttempt(e10) {
            let a10 = r5.clerk.__internal_environment.displayConfig.captchaOauthBypass;
            if (e10.transfer) {
              let e11 = r5.clerk.client.signIn.firstFactorVerification.strategy;
              if (a10.some((a11) => a11 === e11) || r6(e11)) return true;
            }
            return !!(e10.strategy && a10.some((a11) => a11 === e10.strategy));
          }
          async getCaptchaToken(e10 = {}) {
            return { captchaToken: void 0, captchaWidgetType: void 0, captchaError: void 0 };
          }
          async _create(e10) {
            let { captchaToken: a10, captchaWidgetType: t10, captchaError: r10 } = await this.getCaptchaToken(e10), i2 = { transfer: e10.transfer, captchaToken: a10, captchaWidgetType: t10, captchaError: r10, ...e10, unsafeMetadata: e10.unsafeMetadata ? r8(e10.unsafeMetadata) : void 0, locale: e10.locale ?? aj() };
            await this.#ev.__internal_basePost({ path: this.#ev.pathRoot, body: i2 });
          }
          async create(e10) {
            return r22(this.#ev, async () => {
              await this._create(e10);
            });
          }
          async update(e10) {
            return r22(this.#ev, async () => {
              let a10 = { ...e10, unsafeMetadata: e10.unsafeMetadata ? r8(e10.unsafeMetadata) : void 0 };
              await this.#ev.__internal_basePatch({ path: this.#ev.pathRoot, body: a10 });
            });
          }
          async password(e10) {
            return r22(this.#ev, async () => {
              let { captchaToken: a10, captchaWidgetType: t10, captchaError: r10 } = await this.getCaptchaToken(), i2 = { strategy: "password", captchaToken: a10, captchaWidgetType: t10, captchaError: r10, ...e10, unsafeMetadata: e10.unsafeMetadata ? r8(e10.unsafeMetadata) : void 0 };
              this.#ev.id ? await this.#ev.__internal_basePatch({ body: i2 }) : await this.#ev.__internal_basePost({ path: this.#ev.pathRoot, body: i2 });
            });
          }
          async sendEmailCode() {
            return r22(this.#ev, async () => {
              await this.#ev.__internal_basePost({ body: { strategy: "email_code" }, action: "prepare_verification" });
            });
          }
          async verifyEmailCode(e10) {
            let { code: a10 } = e10;
            return r22(this.#ev, async () => {
              await this.#ev.__internal_basePost({ body: { strategy: "email_code", code: a10 }, action: "attempt_verification" });
            });
          }
          async sendPhoneCode(e10) {
            let { channel: a10 = "sms" } = e10 || {};
            return r22(this.#ev, async () => {
              await this.#ev.__internal_basePost({ body: { strategy: "phone_code", channel: a10 }, action: "prepare_verification" });
            });
          }
          async verifyPhoneCode(e10) {
            let { code: a10 } = e10;
            return r22(this.#ev, async () => {
              await this.#ev.__internal_basePost({ body: { strategy: "phone_code", code: a10 }, action: "attempt_verification" });
            });
          }
          async sendEmailLink(e10) {
            let { verificationUrl: a10 } = e10;
            return r22(this.#ev, async () => {
              let e11 = a10;
              try {
                new URL(a10);
              } catch {
                e11 = window.location.origin + a10;
              }
              await this.#ev.__internal_basePost({ body: { strategy: "email_link", redirectUrl: e11 }, action: "prepare_verification" });
            });
          }
          async waitForEmailLinkVerification() {
            return r22(this.#ev, async () => {
              let { run: e10, stop: a10 } = t4();
              await new Promise((t10, r10) => {
                e10(() => this.#ev.reload().then((e11) => {
                  let r11 = e11.verifications.emailAddress.status;
                  ("verified" === r11 || "expired" === r11) && (a10(), t10(e11));
                }).catch((e11) => {
                  a10(), r10(e11);
                }));
              });
            });
          }
          async sso(e10) {
            let { strategy: a10, redirectUrl: t10, redirectCallbackUrl: r10, unsafeMetadata: i2, legalAccepted: n3, oidcPrompt: s3, enterpriseConnectionId: o4, emailAddress: l3, popup: c3 } = e10;
            return r22(this.#ev, async () => {
              let { captchaToken: e11, captchaWidgetType: d3, captchaError: u3 } = await this.getCaptchaToken({ strategy: a10 }), h3 = t10;
              try {
                new URL(t10);
              } catch {
                h3 = window.location.origin + t10;
              }
              let m3 = { redirectUrl: r5.clerk.buildUrlWithAuth(r10), actionCompleteRedirectUrl: h3 };
              if (c3) {
                let e12 = rX(r5.clerk, { redirectCallbackUrl: m3.redirectUrl, redirectUrl: h3 });
                m3.redirectUrl = e12.redirectCallbackUrl, m3.actionCompleteRedirectUrl = e12.redirectUrl;
              }
              let p3 = () => {
                let t11 = { strategy: a10, ...m3, unsafeMetadata: i2, legalAccepted: n3, oidcPrompt: s3, enterpriseConnectionId: o4, emailAddress: l3, captchaToken: e11, captchaWidgetType: d3, captchaError: u3 };
                return this.#ev.id ? this.#ev.__internal_basePatch({ path: this.#ev.pathRoot, body: t11 }) : this.#ev.__internal_basePost({ path: this.#ev.pathRoot, body: t11 });
              };
              await p3().catch(async (e12) => {
                if (q(e12) && E(e12)) return await r5.clerk.__internal_environment.reload(), p3();
                throw e12;
              });
              let { status: g3, externalVerificationRedirectURL: b3 } = this.#ev.verifications.externalAccount;
              "unverified" === g3 && b3 && (c3 ? (await r1(r5.clerk, { popup: c3, externalVerificationRedirectURL: b3 }), await this.#ev.reload()) : eG(b3));
            });
          }
          async web3(e10) {
            let { strategy: a10, unsafeMetadata: t10, legalAccepted: r10 } = e10, i2 = a10.replace("web3_", "").replace("_signature", "");
            return r22(this.#ev, async () => {
              let e11, n3, s3;
              switch (i2) {
                case "metamask":
                  e11 = await aS().getMetamaskIdentifier(), n3 = aS().generateSignatureWithMetamask;
                  break;
                case "coinbase_wallet":
                  e11 = await aS().getCoinbaseWalletIdentifier(), n3 = aS().generateSignatureWithCoinbaseWallet;
                  break;
                case "base":
                  e11 = await aS().getBaseIdentifier(), n3 = aS().generateSignatureWithBase;
                  break;
                case "okx_wallet":
                  e11 = await aS().getOKXWalletIdentifier(), n3 = aS().generateSignatureWithOKXWallet;
                  break;
                default:
                  throw Error(`Unsupported Web3 provider: ${i2}`);
              }
              let o4 = e11 || this.#ev.web3wallet;
              await this._create({ web3Wallet: o4, unsafeMetadata: t10, legalAccepted: r10 }), await this.#ev.__internal_basePost({ body: { strategy: a10 }, action: "prepare_verification" });
              let { message: l3 } = this.#ev.verifications.web3Wallet;
              l3 || aF("SignUp");
              try {
                s3 = await n3({ identifier: e11, nonce: l3 });
              } catch (a11) {
                if ("coinbase_wallet" === i2 && 4001 === a11.code) s3 = await n3({ identifier: e11, nonce: l3 });
                else throw a11;
              }
              await this.#ev.__internal_basePost({ body: { signature: s3, strategy: a10 }, action: "attempt_verification" });
            });
          }
          async ticket(e10) {
            let a10 = e10?.ticket ?? eF("__clerk_ticket");
            return this.create({ ...e10, ticket: a10 ?? void 0 });
          }
          async finalize(e10) {
            let { navigate: a10 } = e10 || {};
            return r22(this.#ev, async () => {
              if (!this.#ev.createdSessionId) throw Error("Cannot finalize sign-up without a created session.");
              this.#ew = true, await r5.clerk.setActive({ session: this.#ev.createdSessionId, navigate: a10 });
            });
          }
          reset() {
            if (!r5.clerk.client) throw Error("Cannot reset sign-up without a client.");
            return this.#ew = true, r5.clerk.client.resetSignUp(), Promise.resolve({ error: null });
          }
        }
        class ia extends aV {
          id;
          name;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.name = e10.name), this;
          }
        }
        class it extends aV {
          pathRoot = "tokens";
          jwt;
          static async create(e10, a10 = {}, t10 = {}) {
            return new it(await aV._fetch({ method: "POST", path: e10, body: a10, search: t10 }), e10);
          }
          constructor(e10, a10) {
            super(), a10 && (this.pathRoot = a10), e10?.jwt && (this.jwt = av(e10.jwt));
          }
          getRawString = () => this.jwt?.claims.__raw || "";
          fromJSON(e10) {
            return e10 && (this.jwt = av(e10.jwt)), this;
          }
          __internal_toSnapshot() {
            return { object: "token", id: this.id || "", jwt: this.getRawString() };
          }
        }
        class ir extends aV {
          pathRoot = "/me";
          id = "";
          secret;
          uri;
          verified = false;
          backupCodes;
          updatedAt = null;
          createdAt = null;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.secret = e10.secret, this.uri = e10.uri, this.verified = e10.verified, this.backupCodes = e10.backup_codes, this.updatedAt = aH(e10.updated_at), this.createdAt = aH(e10.created_at)), this;
          }
        }
        class ii extends aV {
          pathRoot = "/me";
          id;
          codes = [];
          updatedAt = null;
          createdAt = null;
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.codes = e10.codes, this.updatedAt = aH(e10.updated_at), this.createdAt = aH(e10.created_at)), this;
          }
        }
        class is2 extends aV {
          advisory = null;
          form = { name: "", slug: "", logo: null, blurHash: null };
          constructor(e10 = null) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (e10.advisory && (this.advisory = this.withDefault(e10.advisory, this.advisory ?? null)), e10.form && (this.form.name = this.withDefault(e10.form.name, this.form.name), this.form.slug = this.withDefault(e10.form.slug, this.form.slug), this.form.logo = this.withDefault(e10.form.logo, this.form.logo), this.form.blurHash = this.withDefault(e10.form.blur_hash, this.form.blurHash))), this;
          }
          static async retrieve() {
            return await aV._fetch({ path: "/me/organization_creation_defaults", method: "GET" }).then((e10) => new is2(e10?.response));
          }
          __internal_toSnapshot() {
            return { advisory: this.advisory ? { code: this.advisory.code, meta: this.advisory.meta, severity: this.advisory.severity } : null, form: { name: this.form.name, slug: this.form.slug, logo: this.form.logo, blur_hash: this.form.blurHash } };
          }
        }
        class io extends aV {
          pathRoot = "/me";
          id = "";
          externalId = null;
          username = null;
          emailAddresses = [];
          phoneNumbers = [];
          web3Wallets = [];
          externalAccounts = [];
          enterpriseAccounts = [];
          passkeys = [];
          organizationMemberships = [];
          passwordEnabled = false;
          firstName = null;
          lastName = null;
          fullName = null;
          primaryEmailAddressId = null;
          primaryEmailAddress = null;
          primaryPhoneNumberId = null;
          primaryPhoneNumber = null;
          primaryWeb3WalletId = null;
          primaryWeb3Wallet = null;
          imageUrl = "";
          hasImage = false;
          twoFactorEnabled = false;
          totpEnabled = false;
          backupCodeEnabled = false;
          publicMetadata = {};
          unsafeMetadata = {};
          createOrganizationEnabled = false;
          createOrganizationsLimit = null;
          deleteSelfEnabled = false;
          lastSignInAt = null;
          legalAcceptedAt = null;
          updatedAt = null;
          createdAt = null;
          cachedSessionsWithActivities = null;
          static isUserResource(e10) {
            return !!e10 && e10 instanceof io;
          }
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          path() {
            return this.pathRoot;
          }
          isPrimaryIdentification = (e10) => {
            switch (e10.constructor) {
              case t6:
                return this.primaryEmailAddressId === e10.id;
              case rR:
                return this.primaryPhoneNumberId === e10.id;
              case im:
                return this.primaryWeb3WalletId === e10.id;
              default:
                return false;
            }
          };
          createEmailAddress = (e10) => {
            let { email: a10 } = e10 || {};
            return new t6({ email_address: a10 }, this.path() + "/email_addresses/").create();
          };
          createPasskey = () => rE.registerPasskey();
          createPhoneNumber = (e10) => {
            let { phoneNumber: a10 } = e10 || {};
            return new rR({ phone_number: a10 }, this.path() + "/phone_numbers/").create();
          };
          createWeb3Wallet = (e10) => {
            let { web3Wallet: a10 } = e10 || {};
            return new im({ web3_wallet: a10 }, this.path() + "/web3_wallets/").create();
          };
          createExternalAccount = async (e10) => {
            let { strategy: a10, redirectUrl: t10, additionalScopes: r10, enterpriseConnectionId: i2 } = e10 || {};
            return new rw((await aV._fetch({ path: "/me/external_accounts", method: "POST", body: { strategy: a10, redirect_url: t10, additional_scope: r10, enterprise_connection_id: i2 } }))?.response, this.path() + "/external_accounts");
          };
          createTOTP = async () => new ir((await aV._fetch({ path: "/me/totp", method: "POST" }))?.response);
          verifyTOTP = async ({ code: e10 }) => new ir((await aV._fetch({ path: "/me/totp/attempt_verification", method: "POST", body: { code: e10 } }))?.response);
          disableTOTP = async () => new t8((await aV._fetch({ path: "/me/totp", method: "DELETE" }))?.response);
          createBackupCode = async () => new ii((await aV._fetch({ path: this.path() + "/backup_codes/", method: "POST" }))?.response);
          update = (e10) => this._basePatch({ body: r8(e10) });
          updatePassword = (e10) => this._basePost({ body: e10, path: `${this.path()}/change_password` });
          removePassword = (e10) => this._basePost({ body: e10, path: `${this.path()}/remove_password` });
          delete = () => this._baseDelete({ path: "/me" }).then((e10) => (tL.emit(tD, null), e10));
          getSessions = async () => {
            if (this.cachedSessionsWithActivities) return this.cachedSessionsWithActivities;
            let e10 = await rG.retrieve();
            return this.cachedSessionsWithActivities = e10, e10;
          };
          setProfileImage = (e10) => {
            let { file: a10 } = e10 || {};
            return null === a10 ? r_.delete(`${this.path()}/profile_image`) : r_.create(`${this.path()}/profile_image`, { file: a10 });
          };
          getOrganizationInvitations = (e10) => id.retrieve(e10);
          getOrganizationSuggestions = (e10) => rA.retrieve(e10);
          getOrganizationMemberships = (e10) => rC.retrieve(e10);
          getOrganizationCreationDefaults = () => is2.retrieve();
          leaveOrganization = async (e10) => new t8((await aV._fetch({ path: `${this.path()}/organization_memberships/${e10}`, method: "DELETE" }))?.response);
          getEnterpriseConnections = async (e10) => {
            let { withOrganizationAccountLinking: a10 } = e10 || {};
            return ((await aV._fetch({ path: "/me/enterprise_connections", method: "GET", ...void 0 !== a10 ? { search: { with_organization_account_linking: String(a10) } } : {} }))?.response || []).map((e11) => new rg(e11));
          };
          createEnterpriseConnection = async (e10) => new rg((await aV._fetch({ path: `${this.path()}/enterprise_connections`, method: "POST", body: il(e10) }))?.response);
          updateEnterpriseConnection = async (e10, a10) => new rg((await aV._fetch({ path: `${this.path()}/enterprise_connections/${e10}`, method: "PATCH", body: il(a10) }))?.response);
          deleteEnterpriseConnection = async (e10) => new t8((await aV._fetch({ path: `${this.path()}/enterprise_connections/${e10}`, method: "DELETE" }))?.response);
          createEnterpriseConnectionTestRun = async (e10) => ({ url: ((await aV._fetch({ path: `${this.path()}/enterprise_connections/${e10}/test_runs`, method: "POST" }))?.response).url });
          getEnterpriseConnectionTestRuns = async (e10, a10) => {
            let { status: t10, ...r10 } = a10 || {}, i2 = tl(r10);
            if (t10?.length) for (let e11 of t10) i2.append("status", e11);
            let n3 = await aV._fetch({ path: `${this.path()}/enterprise_connections/${e10}/test_runs`, method: "GET", search: i2 }), s3 = n3?.response;
            return { total_count: s3?.total_count ?? 0, data: (s3?.data ?? []).map((e11) => new rb(e11)) };
          };
          initializePaymentMethod = (e10) => tI(e10);
          addPaymentMethod = (e10) => tU(e10);
          getPaymentMethods = (e10) => tC(e10);
          get verifiedExternalAccounts() {
            return this.externalAccounts.filter((e10) => e10.verification?.status == "verified");
          }
          get unverifiedExternalAccounts() {
            return this.externalAccounts.filter((e10) => e10.verification?.status != "verified");
          }
          get verifiedWeb3Wallets() {
            return this.web3Wallets.filter((e10) => e10.verification?.status == "verified");
          }
          get hasVerifiedEmailAddress() {
            return this.emailAddresses.filter((e10) => "verified" === e10.verification.status).length > 0;
          }
          get hasVerifiedPhoneNumber() {
            return this.phoneNumbers.filter((e10) => "verified" === e10.verification.status).length > 0;
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.externalId = e10.external_id || null, this.firstName = e10.first_name || null, this.lastName = e10.last_name || null, (this.firstName || this.lastName) && (this.fullName = (({ firstName: e11, lastName: a10, name: t10 }) => t10 || [e11, a10].join(" ").trim() || "")({ firstName: this.firstName, lastName: this.lastName })), this.imageUrl = e10.image_url || "", this.hasImage = e10.has_image || false, this.username = e10.username || null, this.passwordEnabled = e10.password_enabled || false, this.emailAddresses = (e10.email_addresses || []).map((e11) => new t6(e11, this.path() + "/email_addresses")), this.primaryEmailAddressId = e10.primary_email_address_id || null, this.primaryEmailAddress = this.emailAddresses.find(({ id: e11 }) => e11 === this.primaryEmailAddressId) || null, this.phoneNumbers = (e10.phone_numbers || []).map((e11) => new rR(e11, this.path() + "/phone_numbers")), this.primaryPhoneNumberId = e10.primary_phone_number_id || null, this.primaryPhoneNumber = this.phoneNumbers.find(({ id: e11 }) => e11 === this.primaryPhoneNumberId) || null, this.web3Wallets = (e10.web3_wallets || []).map((e11) => new im(e11, this.path() + "/web3_wallets")), this.primaryWeb3WalletId = e10.primary_web3_wallet_id || null, this.primaryWeb3Wallet = this.web3Wallets.find(({ id: e11 }) => e11 === this.primaryWeb3WalletId) || null, this.externalAccounts = (e10.external_accounts || []).map((e11) => new rw(e11, this.path() + "/external_accounts")), this.passkeys = (e10.passkeys || []).map((e11) => new rE(e11)), this.organizationMemberships = (e10.organization_memberships || []).map((e11) => new rC(e11)), this.enterpriseAccounts = (e10.enterprise_accounts || []).map((e11) => new rm(e11, this.path() + "/enterprise_accounts")), this.publicMetadata = e10.public_metadata || {}, this.unsafeMetadata = e10.unsafe_metadata || {}, this.totpEnabled = e10.totp_enabled || false, this.backupCodeEnabled = e10.backup_code_enabled || false, this.twoFactorEnabled = e10.two_factor_enabled || false, this.createOrganizationEnabled = e10.create_organization_enabled || false, this.createOrganizationsLimit = e10.create_organizations_limit || null, this.deleteSelfEnabled = e10.delete_self_enabled || false, e10.last_sign_in_at && (this.lastSignInAt = aH(e10.last_sign_in_at)), e10.legal_accepted_at && (this.legalAcceptedAt = aH(e10.legal_accepted_at)), this.updatedAt = aH(e10.updated_at || void 0), this.createdAt = aH(e10.created_at || void 0)), this;
          }
          __internal_toSnapshot() {
            return { object: "user", id: this.id, external_id: this.externalId, first_name: this.firstName, last_name: this.lastName, username: this.username, public_metadata: this.publicMetadata, unsafe_metadata: this.unsafeMetadata, image_url: this.imageUrl, has_image: this.hasImage, email_addresses: this.emailAddresses.map((e10) => e10.__internal_toSnapshot()), phone_numbers: this.phoneNumbers.map((e10) => e10.__internal_toSnapshot()), web3_wallets: this.web3Wallets.map((e10) => e10.__internal_toSnapshot()), external_accounts: this.externalAccounts.map((e10) => e10.__internal_toSnapshot()), passkeys: this.passkeys.map((e10) => e10.__internal_toSnapshot()), organization_memberships: this.organizationMemberships.map((e10) => e10.__internal_toSnapshot()), enterprise_accounts: this.enterpriseAccounts.map((e10) => e10.__internal_toSnapshot()), totp_enabled: this.totpEnabled, backup_code_enabled: this.backupCodeEnabled, two_factor_enabled: this.twoFactorEnabled, create_organization_enabled: this.createOrganizationEnabled, create_organizations_limit: this.createOrganizationsLimit, delete_self_enabled: this.deleteSelfEnabled, primary_email_address_id: this.primaryEmailAddressId, primary_phone_number_id: this.primaryPhoneNumberId, primary_web3_wallet_id: this.primaryWeb3WalletId, password_enabled: this.passwordEnabled, profile_image_id: this.imageUrl, last_sign_in_at: this.lastSignInAt?.getTime() || null, legal_accepted_at: this.legalAcceptedAt?.getTime() || null, updated_at: this.updatedAt?.getTime() || null, created_at: this.createdAt?.getTime() || null };
          }
        }
        function il(e10) {
          let a10 = e10.saml && "object" == typeof e10.saml ? e10.saml.attributeMapping : void 0, t10 = "customAttributes" in e10 ? e10.customAttributes : void 0, r10 = es(e10);
          return void 0 !== a10 && r10.saml && "object" == typeof r10.saml && (r10.saml.attribute_mapping = a10), void 0 !== t10 && (r10.custom_attributes = t10), r10;
        }
        class ic {
          firstName;
          lastName;
          imageUrl;
          hasImage;
          constructor(e10) {
            this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.firstName = e10.first_name, this.lastName = e10.last_name, this.imageUrl = e10.image_url ?? void 0, this.hasImage = e10.has_image ?? void 0), this;
          }
          __internal_toSnapshot() {
            return { first_name: this.firstName, last_name: this.lastName, image_url: this.imageUrl || null, has_image: this.hasImage || null };
          }
        }
        class id extends aV {
          id;
          emailAddress;
          publicOrganizationData;
          publicMetadata = {};
          status;
          role;
          createdAt;
          updatedAt;
          static async retrieve(e10) {
            return await aV._fetch({ path: "/me/organization_invitations", method: "GET", search: tl(e10) }).then((e11) => {
              let { data: a10, total_count: t10 } = e11?.response;
              return { total_count: t10, data: a10.map((e12) => new id(e12)) };
            });
          }
          constructor(e10) {
            super(), this.fromJSON(e10);
          }
          accept = async () => await this._basePost({ path: `/me/organization_invitations/${this.id}/accept` });
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.emailAddress = e10.email_address, this.publicOrganizationData = { hasImage: e10.public_organization_data.has_image, imageUrl: e10.public_organization_data.image_url, name: e10.public_organization_data.name, id: e10.public_organization_data.id, slug: e10.public_organization_data.slug }, this.publicMetadata = e10.public_metadata, this.role = e10.role, this.status = e10.status, this.createdAt = aH(e10.created_at), this.updatedAt = aH(e10.updated_at)), this;
          }
        }
        let iu = { enabled: false, first_factors: [], name: "phone_number", required: false, second_factors: [], used_for_first_factor: false, used_for_second_factor: false, verifications: [], verify_at_sign_up: false };
        class ih extends aV {
          id = void 0;
          actions = { create_organization: false, delete_self: false };
          attributes = { email_address: { enabled: true, first_factors: ["email_code"], name: "email_address", required: true, second_factors: [], used_for_first_factor: true, used_for_second_factor: false, verifications: ["email_code"], verify_at_sign_up: true }, phone_number: { ...iu, name: "phone_number" }, username: { ...iu, name: "username" }, web3_wallet: { ...iu, name: "web3_wallet" }, first_name: { ...iu, name: "first_name" }, last_name: { ...iu, name: "last_name" }, password: { enabled: true, first_factors: [], name: "password", required: true, second_factors: [], used_for_first_factor: false, used_for_second_factor: false, verifications: [], verify_at_sign_up: false }, authenticator_app: { ...iu, name: "authenticator_app" }, backup_code: { ...iu, name: "backup_code" }, passkey: { ...iu, name: "passkey" } };
          enterpriseSSO = { enabled: false };
          passkeySettings = { allow_autofill: false, show_sign_in_button: false };
          passwordSettings = {};
          signIn = { second_factor: { required: false, enabled: false } };
          signUp = { allowlist_only: false, captcha_enabled: false, legal_consent_enabled: false, mode: "public", progressive: true, mfa: { required: false } };
          social = {};
          usernameSettings = {};
          get authenticatableSocialStrategies() {
            return this.social ? Object.entries(this.social).filter(([, e10]) => e10.enabled && e10.authenticatable).map(([, e10]) => e10.strategy).sort() : [];
          }
          get enabledFirstFactorIdentifiers() {
            return this.attributes ? Object.entries(this.attributes).filter(([e10, a10]) => a10.used_for_first_factor && !e10.startsWith("web3")).map(([e10]) => e10) : [];
          }
          get socialProviderStrategies() {
            return this.social ? Object.entries(this.social).filter(([, e10]) => e10.enabled).map(([, e10]) => e10.strategy).sort() : [];
          }
          get web3FirstFactors() {
            return this.attributes ? Object.entries(this.attributes).filter(([e10, a10]) => a10.used_for_first_factor && e10.startsWith("web3")).map(([, e10]) => e10.first_factors).flat() : [];
          }
          get alternativePhoneCodeChannels() {
            return this.attributes ? Object.entries(this.attributes).filter(([e10, a10]) => a10.used_for_first_factor && "phone_number" === e10).map(([, e10]) => e10?.channels?.filter((e11) => "sms" !== e11) || []).flat() : [];
          }
          constructor(e10 = null) {
            super(), this.fromJSON(e10);
          }
          get instanceIsPasswordBased() {
            return !!this.attributes?.password?.enabled;
          }
          get hasValidAuthFactor() {
            return !!(this.attributes?.email_address?.enabled || this.attributes?.phone_number?.enabled || this.attributes.password?.required && this.attributes.username?.required);
          }
          fromJSON(e10) {
            return e10 && (this.attributes = this.withDefault(e10.attributes ? Object.fromEntries(Object.entries(e10.attributes).map((e11) => [e11[0], { ...e11[1], name: e11[0] }])) : null, this.attributes), this.actions = this.withDefault(e10.actions, this.actions), this.enterpriseSSO = this.withDefault(e10.enterprise_sso, this.enterpriseSSO), this.passkeySettings = this.withDefault(e10.passkey_settings, this.passkeySettings), this.passwordSettings = e10.password_settings ? { ...e10.password_settings, min_length: Math.max(e10.password_settings?.min_length ?? 8, 8), max_length: e10.password_settings?.max_length === 0 ? 72 : Math.min(e10.password_settings?.max_length ?? 72, 72) } : this.passwordSettings, this.signIn = this.withDefault(e10.sign_in, this.signIn), this.signUp = this.withDefault(e10.sign_up, this.signUp), this.social = this.withDefault(e10.social, this.social), this.usernameSettings = e10.username_settings ? { ...e10.username_settings, min_length: Math.max(e10.username_settings?.min_length ?? 4, 4), max_length: Math.min(e10.username_settings?.max_length ?? 64, 64) } : this.usernameSettings), this;
          }
          __internal_toSnapshot() {
            return { actions: this.actions, attributes: this.attributes, passkey_settings: this.passkeySettings, password_settings: this.passwordSettings, sign_in: this.signIn, sign_up: this.signUp, social: this.social };
          }
        }
        class im extends aV {
          id;
          web3Wallet = "";
          verification;
          constructor(e10, a10) {
            super(), this.pathRoot = a10, this.fromJSON(e10);
          }
          create() {
            return this._basePost({ body: { web3_wallet: this.web3Wallet } });
          }
          prepareVerification = (e10) => this._basePost({ action: "prepare_verification", body: { ...e10 } });
          attemptVerification = (e10) => {
            let { signature: a10 } = e10;
            return this._basePost({ action: "attempt_verification", body: { signature: a10 } });
          };
          destroy() {
            return this._baseDelete();
          }
          toString() {
            return this.web3Wallet;
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.web3Wallet = e10.web3_wallet, this.verification = new rc(e10.verification)), this;
          }
          __internal_toSnapshot() {
            return { object: "web3_wallet", id: this.id, web3_wallet: this.web3Wallet, verification: this.verification.__internal_toSnapshot() };
          }
        }
        class ip extends aV {
          pathRoot = "/waitlist";
          id = "";
          updatedAt = null;
          createdAt = null;
          constructor(e10 = null) {
            super(), this.fromJSON(e10);
          }
          fromJSON(e10) {
            return e10 && (this.id = e10.id, this.updatedAt = aH(e10.updated_at), this.createdAt = aH(e10.created_at), tL.emit("resource:update", { resource: this })), this;
          }
          async join(e10) {
            return r22(this, async () => {
              await ip.join(e10);
            });
          }
          static async join(e10) {
            return new ip(await aV._fetch({ path: "/waitlist", method: "POST", body: e10 }));
          }
        }
        function ig(e10, a10) {
          var t10, r10;
          return e10.id !== a10.id || e10.updatedAt.getTime() < a10.updatedAt.getTime() || (t10 = a10, r10 = e10, t10.organizationMemberships.length !== r10.organizationMemberships.length || t10.organizationMemberships[0]?.updatedAt !== r10.organizationMemberships[0]?.updatedAt);
        }
        function ib(e10, a10) {
          return !(function(e11, a11) {
            if (!e11 && a11 || e11 && !a11) return true;
            if (!e11 && e11 === a11) return false;
            if (!e11 || !a11) return true;
            try {
              if (t9.isClientResource(e11)) return e11.id !== a11.id || e11.updatedAt.getTime() < a11.updatedAt.getTime() || e11.sessions.length !== a11.sessions.length;
              if (rH.isSessionResource(e11)) {
                var t10, r10;
                return e11.id !== a11.id || e11.updatedAt.getTime() < a11.updatedAt.getTime() || e11.lastActiveToken?.jwt?.claims?.__raw !== a11.lastActiveToken?.jwt?.claims?.__raw || (function(e12, a12) {
                  if (e12.lastActiveOrganizationId !== a12.lastActiveOrganizationId) return true;
                  let t11 = e12.user?.organizationMemberships?.find((a13) => a13.organization.id === e12.lastActiveOrganizationId), r11 = a12.user?.organizationMemberships?.find((a13) => a13.organization.id === e12.lastActiveOrganizationId);
                  return t11?.permissions?.length !== r11?.permissions?.length;
                })(e11, a11) || (t10 = e11, r10 = a11, !!t10.user != !!r10.user || !!t10.user && !!r10.user && ig(t10.user, r10.user));
              }
              if (io.isUserResource(e11)) return ig(e11, a11);
            } catch {
            }
            return true;
          })(e10, a10) ? e10 : a10;
        }
        let iy = "__clerk_db_jwt";
        function ik(e10, a10) {
          let t10 = new URL(e10), r10 = t10.searchParams.get(iy);
          t10.searchParams.delete(iy);
          let i2 = r10 || a10;
          return i2 && t10.searchParams.set(iy, i2), t10;
        }
        let iw = (e10) => {
          let a10 = new URL(e10);
          return a10.searchParams.delete(iy), a10;
        }, iv = (e10) => {
          let a10 = new URL(e10);
          return a10.searchParams.delete("__dev_session"), a10.hash = decodeURI(a10.hash).replace(/__clerk_db_jwt\[(.*)\]/, ""), a10.href.endsWith("#") && (a10.hash = ""), a10;
        };
        function ij(e10) {
          for (var a10 = 1; a10 < arguments.length; a10++) {
            var t10 = arguments[a10];
            for (var r10 in t10) e10[r10] = t10[r10];
          }
          return e10;
        }
        var i_ = (function e10(a10, t10) {
          function r10(e11, r11, i2) {
            if ("u" > typeof document) {
              "number" == typeof (i2 = ij({}, t10, i2)).expires && (i2.expires = new Date(Date.now() + 864e5 * i2.expires)), i2.expires && (i2.expires = i2.expires.toUTCString()), e11 = encodeURIComponent(e11).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent).replace(/[()]/g, escape);
              var n3 = "";
              for (var s3 in i2) i2[s3] && (n3 += "; " + s3, true !== i2[s3] && (n3 += "=" + i2[s3].split(";")[0]));
              return document.cookie = e11 + "=" + a10.write(r11, e11) + n3;
            }
          }
          return Object.create({ set: r10, get: function(e11) {
            if ("u" > typeof document && (!arguments.length || e11)) {
              for (var t11 = document.cookie ? document.cookie.split("; ") : [], r11 = {}, i2 = 0; i2 < t11.length; i2++) {
                var n3 = t11[i2].split("="), s3 = n3.slice(1).join("=");
                try {
                  var o4 = decodeURIComponent(n3[0]);
                  if (r11[o4] = a10.read(s3, o4), e11 === o4) break;
                } catch (e12) {
                }
              }
              return e11 ? r11[e11] : r11;
            }
          }, remove: function(e11, a11) {
            r10(e11, "", ij({}, a11, { expires: -1 }));
          }, withAttributes: function(a11) {
            return e10(this.converter, ij({}, this.attributes, a11));
          }, withConverter: function(a11) {
            return e10(ij({}, this.converter, a11), this.attributes);
          } }, { attributes: { value: Object.freeze(t10) }, converter: { value: Object.freeze(a10) } });
        })({ read: function(e10) {
          return '"' === e10[0] && (e10 = e10.slice(1, -1)), e10.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent);
        }, write: function(e10) {
          return encodeURIComponent(e10).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, decodeURIComponent);
        } }, { path: "/" });
        function iz(e10) {
          return { get: () => i_.get(e10), set(a10, t10 = {}) {
            i_.set(e10, a10, t10);
          }, remove(a10) {
            i_.remove(e10, a10);
          } };
        }
        let ix = (e10) => "https:" === window.location.protocol || "None" === e10 && void 0 === window.safari && (void 0 !== window.isSecureContext ? window.isSecureContext : "localhost" === window.location.hostname);
        function iq(e10, a10) {
          let t10 = (function(e11) {
            try {
              return new Date(e11 || /* @__PURE__ */ new Date());
            } catch {
              return /* @__PURE__ */ new Date();
            }
          })(e10);
          return t10.setFullYear(t10.getFullYear() + a10), t10;
        }
        let iS = iz("__clerk_test_etld"), iI = [".lovable.app", ".lovableproject.com", ".webcontainer-api.io", ".vusercontent.net", ".v0.dev", ".v0.app", ".lp.dev", ".replit.dev"];
        function iU() {
          try {
            return iI.some((e10) => window.location.hostname.endsWith(e10));
          } catch {
            return false;
          }
        }
        let iC = "__client_uat", iA = "__session", iP = (e10) => {
          let a10 = e10.usePartitionedCookies(), t10 = a10 || az() || iU() ? "None" : "Lax", r10 = ix(t10);
          return { sameSite: t10, secure: r10, partitioned: a10 && r10 };
        };
        async function iT(e10) {
          let a10;
          try {
            a10 = await ey(e10);
          } catch (o4) {
            var t10;
            t10 = `Suffixed cookie failed due to ${o4.message} (secure-context: ${window.isSecureContext}, url: ${window.location.href})`, X.has(t10) || (console.log(t10), X.add(t10));
            let { default: r10 } = await Promise.resolve().then(i.t.bind(i, 515, 23)), { default: n3 } = await Promise.resolve().then(i.t.bind(i, 662, 23)), s3 = r10(e10);
            a10 = n3.stringify(s3).replace(/\+/gi, "-").replace(/\//gi, "_").substring(0, 8);
          }
          return a10;
        }
        let iO = (e10) => {
          let a10 = e10.usePartitionedCookies(), t10 = a10 || az() || iU() ? "None" : "Lax", r10 = ix(t10);
          return { sameSite: t10, secure: r10, partitioned: a10 && r10 };
        };
        class iE {
          clerk;
          instanceType;
          clerkEventBus;
          poller = null;
          clientUat;
          sessionCookie;
          activeCookie;
          devBrowser;
          static async create(e10, a10, t10, r10) {
            let i2 = await iT(e10.publishableKey), n3 = new iE(e10, a10, i2, t10, r10);
            return await n3.setup(), n3;
          }
          constructor(e10, a10, r10, i2, n3) {
            let s3, o4, l3, c3, d3, u3;
            this.clerk = e10, this.instanceType = i2, this.clerkEventBus = n3, tL.on(tF, ({ token: e11 }) => {
              this.updateSessionCookie(e11 && e11.getRawString()), this.setClientUatCookieForDevelopmentInstances();
            }), tL.on(tD, () => this.handleSignOut()), tL.on(tN, () => {
              this.devBrowser.refreshCookies();
            }), this.refreshTokenOnFocus(), this.startPollingForToken();
            let h3 = { usePartitionedCookies: () => rk.getInstance().partitionedCookies };
            this.clientUat = (s3 = iz(iC), o4 = iz(ek(iC, r10)), { set: (e11) => {
              let a11 = iq(Date.now(), 1), r11 = h3.usePartitionedCookies(), i3 = r11 || az() || iU() ? "None" : "Strict", n4 = ix(i3), l4 = r11 && n4, c4 = (function(e12 = window.location.hostname, a12 = iS, r12) {
                if (t2) return t2;
                if (["localhost", "127.0.0.1", "0.0.0.0"].includes(e12)) return e12;
                let i4 = e12.split(".");
                if (1 === i4.length) return e12;
                for (let e13 = i4.length - 2; e13 >= 0; e13--) {
                  let n5 = i4.slice(e13).join(".");
                  if (a12.set("1", { ...r12, domain: n5 }), "1" === a12.get()) return a12.remove({ ...r12, domain: n5 }), t2 = n5, n5;
                  a12.remove({ ...r12, domain: n5 });
                }
                return t2 = e12, e12;
              })(void 0, void 0, { sameSite: i3, secure: n4 }), d4 = "0";
              e11 && e11.updatedAt && e11.signedInSessions.length > 0 && (d4 = Math.floor(e11.updatedAt.getTime() / 1e3).toString()), o4.remove(), s3.remove(), o4.set(d4, { domain: c4, expires: a11, partitioned: l4, sameSite: i3, secure: n4 }), s3.set(d4, { domain: c4, expires: a11, partitioned: l4, sameSite: i3, secure: n4 });
            }, get: () => parseInt(o4.get() || s3.get() || "0", 10) }), this.sessionCookie = (l3 = iz(iA), c3 = iz(ek(iA, r10)), { set: (e11) => {
              let a11 = iq(Date.now(), 1), { sameSite: t10, secure: r11, partitioned: i3 } = iP(h3);
              i3 && (l3.remove(), c3.remove()), l3.set(e11, { expires: a11, sameSite: t10, secure: r11, partitioned: i3 }), c3.set(e11, { expires: a11, sameSite: t10, secure: r11, partitioned: i3 });
            }, remove: () => {
              let e11 = iP(h3);
              l3.remove(e11), c3.remove(e11), e11.partitioned && (l3.remove(), c3.remove());
            }, get: () => c3.get() || l3.get() }), this.activeCookie = (d3 = iz("clerk_active_context"), u3 = { secure: ix("None") }, { set: (e11) => {
              d3.set(e11, u3);
            }, get: () => d3.get(), remove: () => d3.remove(u3) }), this.devBrowser = (function({ cookieSuffix: e11, frontendApi: a11, fapiClient: t10, cookieOptions: r11 }) {
              let i3, n4, s4, o5 = (n4 = iz(iy), s4 = iz(ek(iy, e11)), { get: () => s4.get() || n4.get(), set: (e12) => {
                let a12 = iq(Date.now(), 1), { sameSite: t11, secure: i4, partitioned: o6 } = iO(r11);
                o6 && (s4.remove(), n4.remove()), s4.set(e12, { expires: a12, sameSite: t11, secure: i4, partitioned: o6 }), n4.set(e12, { expires: a12, sameSite: t11, secure: i4, partitioned: o6 });
              }, remove: () => {
                let e12 = iO(r11);
                s4.remove(e12), n4.remove(e12), e12.partitioned && (s4.remove(), n4.remove());
              } });
              function l4() {
                return i3 || o5.get();
              }
              function c4(e12) {
                i3 = e12, o5.set(e12);
              }
              function d4() {
                i3 = void 0, o5.remove();
              }
              return { clear: function() {
                d4();
              }, setup: async function e12() {
                var e13;
                let r12, n5;
                if (!ex(a11)) return;
                t10.onBeforeRequest((e14) => {
                  let a12 = l4();
                  a12 && e14?.url && (e14.url = ik(e14.url, a12));
                }), t10.onAfterResponse((e14, a12) => {
                  let t11 = a12?.headers?.get("Clerk-Db-Jwt");
                  t11 && c4(t11);
                });
                let s5 = (r12 = (e13 = new URL(window.location.href)).searchParams.get(iy) || "", (n5 = iw(iv(e13))).href !== e13.href && void 0 !== globalThis.history && globalThis.history.replaceState(null, "", n5), r12);
                if (s5) return void c4(s5);
                let d5 = o5.get();
                if (d5) {
                  i3 = d5;
                  return;
                }
                let u4 = t10.buildUrl({ path: "/dev_browser" }), h4 = await fetch(u4.toString(), { method: "POST" });
                if (!h4.ok) {
                  let e14 = (function(e15 = []) {
                    return e15.length > 0 ? e15.map((e16) => new z(e16)) : [];
                  })((await h4.json()).errors);
                  e14[0] ? aO(e14[0].longMessage) : aO();
                }
                let m3 = await h4.json();
                c4(m3?.id);
              }, getDevBrowser: l4, setDevBrowser: c4, removeDevBrowser: d4, refreshCookies: function() {
                let e12 = l4();
                e12 && c4(e12);
              } };
            })({ frontendApi: e10.frontendApi, fapiClient: a10, cookieSuffix: r10, cookieOptions: h3 });
          }
          async setup() {
            return "production" === this.instanceType ? this.setupProduction() : this.setupDevelopment();
          }
          isSignedOut() {
            return this.clerk.loaded ? !this.clerk.user : 0 >= this.clientUat.get();
          }
          async handleUnauthenticatedDevBrowser() {
            this.devBrowser.clear(), await this.devBrowser.setup();
          }
          decorateUrlWithDevBrowserToken(e10) {
            let a10 = this.devBrowser.getDevBrowser();
            if (!a10) throw Error(`${aP} Missing dev browser. Please contact support.`);
            return ik(e10, a10);
          }
          async setupDevelopment() {
            await this.devBrowser.setup();
          }
          setupProduction() {
            this.devBrowser.clear();
          }
          startPollingForToken() {
            this.poller || (this.poller = new tQ(), this.poller.startPollingForSessionToken(() => this.refreshSessionToken()));
          }
          stopPollingForToken() {
            this.poller && (this.poller.stopPollingForSessionToken(), this.poller = null);
          }
          refreshTokenOnFocus() {
            window.addEventListener("focus", () => {
              "visible" === document.visibilityState && this.refreshSessionToken({ updateCookieImmediately: true });
            });
          }
          async refreshSessionToken({ updateCookieImmediately: e10 = false } = {}) {
            if (this.clerk.session) try {
              let a10 = await this.clerk.session.getToken();
              e10 && this.updateSessionCookie(a10);
            } catch (e11) {
              return this.handleGetTokenError(e11);
            }
          }
          updateSessionCookie(e10) {
            if (document.hasFocus() || this.isCurrentContextActive()) return e10 || u2() || ao.warn("Removing session cookie (offline)", { sessionId: this.clerk.session?.id }, "authCookieService"), this.setActiveContextInStorage(), e10 ? this.sessionCookie.set(e10) : this.sessionCookie.remove();
          }
          setClientUatCookieForDevelopmentInstances() {
            "production" !== this.instanceType && this.inCustomDevelopmentDomain() && this.clientUat.set(this.clerk.client);
          }
          inCustomDevelopmentDomain() {
            let e10 = this.clerk.frontendApi.replace("clerk.", "");
            return !window.location.host.endsWith(e10);
          }
          handleGetTokenError(e10) {
            if (q(e10) || _3(e10) || (`${e10.message}${e10.name}` || "").toLowerCase().replace(/\s+/g, "").includes("networkerror")) {
              if (M(e10)) return void this.clerk.handleUnauthenticated().catch(ae.lQ);
              this.clerkEventBus.emit(b2, "degraded");
            }
          }
          handleSignOut() {
            this.activeCookie.remove(), this.sessionCookie.remove(), this.setClientUatCookieForDevelopmentInstances();
          }
          setActiveContextInStorage() {
            let e10 = this.clerk.session?.id || "", a10 = this.clerk.organization?.id || "", t10 = `${e10}:${a10}`;
            ":" !== t10 ? this.activeCookie.set(t10) : this.activeCookie.remove();
          }
          isCurrentContextActive() {
            let e10 = this.activeCookie.get();
            if (!e10) return true;
            let [a10, t10] = e10.split(":"), r10 = this.clerk.session?.id || "", i2 = this.clerk.organization?.id || "";
            return a10 === r10 && t10 === i2;
          }
          getSessionCookie() {
            return this.sessionCookie.get();
          }
        }
        class iR {
          clerk;
          captchaChallenge;
          timers;
          constructor(e10, a10 = new aK(e10), t10 = tV()) {
            this.clerk = e10, this.captchaChallenge = a10, this.timers = t10;
          }
          async start() {
            this.isEnabled() && (await this.challengeAndSend(), this.timers.setInterval(() => {
              this.challengeAndSend();
            }, this.intervalInMs()));
          }
          async challengeAndSend() {
            if (!(!this.clerk.client || this.clientBypass())) try {
              let e10 = await this.captchaChallenge.invisible({ action: "heartbeat" });
              await this.clerk.client.__internal_sendCaptchaToken(e10);
            } catch {
            }
          }
          isEnabled() {
            return !!this.clerk.__internal_environment?.displayConfig?.captchaHeartbeat;
          }
          clientBypass() {
            return this.clerk.client?.captchaBypass;
          }
          intervalInMs() {
            return this.clerk.__internal_environment?.displayConfig?.captchaHeartbeatIntervalMs ?? 6e5;
          }
        }
        let iM = ["/client", "/waitlist"];
        class iF {
          static #eh = "/api_keys";
          async #ej() {
            let e10 = await aV.clerk.session?.getToken();
            if (!e10) throw new j("No valid session token available", { code: "no_session_token" });
            return { pathPrefix: "", headers: { Authorization: `Bearer ${e10}`, "Content-Type": "application/json" }, credentials: "same-origin" };
          }
          async getAll(e10) {
            return aV._fetch({ ...await this.#ej(), method: "GET", path: iF.#eh, search: tl({ ...e10, subject: e10?.subject ?? aV.clerk.organization?.id ?? aV.clerk.user?.id ?? "", query: e10?.query ?? "" }) }).then((e11) => {
              let { data: a10, total_count: t10 } = e11;
              return { total_count: t10, data: a10.map((e12) => new aG(e12)) };
            });
          }
          async create(e10) {
            return new aG(await aV._fetch({ ...await this.#ej(), path: iF.#eh, method: "POST", body: JSON.stringify({ type: "api_key", name: e10.name, subject: e10.subject ?? aV.clerk.organization?.id ?? aV.clerk.user?.id ?? "", description: e10.description, seconds_until_expiration: e10.secondsUntilExpiration }) }));
          }
          async revoke(e10) {
            return new aG(await aV._fetch({ ...await this.#ej(), method: "POST", path: `${iF.#eh}/${e10.apiKeyID}/revoke`, body: JSON.stringify({ revocation_reason: e10.revocationReason }) }));
          }
        }
        let iD = /* @__PURE__ */ new Map();
        class iN {
          async getConsentInfo(e10) {
            let { oauthClientId: a10, scope: t10 } = e10, r10 = await aV._fetch({ method: "GET", path: `/me/oauth/consent/${encodeURIComponent(a10)}`, search: void 0 !== t10 ? { scope: t10 } : void 0 }, { skipUpdateClient: true });
            if (!r10) throw new j("Network request failed while offline", { code: "network_error" });
            let i2 = r10.response ?? r10;
            return { oauthApplicationName: i2.oauth_application_name, oauthApplicationLogoUrl: i2.oauth_application_logo_url, oauthApplicationUrl: i2.oauth_application_url, clientId: i2.client_id, state: i2.state, scopes: i2.scopes?.map((e11) => ({ scope: e11.scope, description: e11.description, requiresConsent: e11.requires_consent })) ?? [] };
          }
          buildConsentActionUrl({ clientId: e10 }) {
            let a10 = aV.fapiClient.buildUrl({ path: `/me/oauth/consent/${encodeURIComponent(e10)}`, sessionId: aV.clerk.session?.id });
            return aV.clerk.buildUrlWithAuth(a10.toString());
          }
        }
        class iW {
          #el = false;
          load(e10) {
            let a10 = e10?.protectConfig;
            if (a10?.loaders && Array.isArray(a10.loaders) && 0 !== a10.loaders.length && !this.#el) {
              if (o3()) for (let e11 of (this.#el = true, a10.loaders)) try {
                this.applyLoader(e11);
              } catch (e12) {
                ee(`[protect] failed to apply loader: ${e12}`);
              }
            }
          }
          applyLoader(e10) {
            if (void 0 !== e10.rollout) {
              let a11 = e10.rollout;
              if ("number" != typeof a11 || a11 < 0) return void ee(`[protect] loader rollout value is invalid: ${a11}`);
              if (0 === a11 || Math.random() > a11) return;
            }
            let a10 = e10.type || "script", t10 = e10.target || "body", r10 = document.createElement(a10);
            if (e10.attributes) for (let [a11, t11] of Object.entries(e10.attributes)) switch (typeof t11) {
              case "string":
              case "number":
              case "boolean":
                r10.setAttribute(a11, String(t11));
                break;
              default:
                ee(`[protect] loader attribute is invalid type: ${a11}=${t11}`);
            }
            switch (e10.textContent && "string" == typeof e10.textContent && (r10.textContent = e10.textContent), t10) {
              case "head":
                document.head.appendChild(r10);
                break;
              case "body":
                document.body.appendChild(r10);
                break;
              default:
                if (t10?.startsWith("#")) {
                  let e11 = document.getElementById(t10.substring(1));
                  if (!e11) return void ee(`[protect] loader target element not found: ${t10}`);
                  e11.appendChild(r10);
                  return;
                }
                ee(`[protect] loader target is invalid: ${t10}`);
            }
          }
        }
        class iL {
          signInResourceSignal = td;
          signInErrorSignal = tu;
          signInFetchSignal = th;
          signInSignal = tm;
          signUpResourceSignal = tp;
          signUpErrorSignal = tg;
          signUpFetchSignal = tb;
          signUpSignal = tf;
          waitlistResourceSignal = ty;
          waitlistErrorSignal = tk;
          waitlistFetchSignal = tw;
          waitlistSignal = tv;
          _waitlistInstance;
          __internal_effect = ta;
          __internal_computed = te;
          constructor() {
            tL.on("resource:update", this.onResourceUpdated), tL.on("resource:error", this.onResourceError), tL.on("resource:fetch", this.onResourceFetch), this._waitlistInstance = new ip(null), this.waitlistResourceSignal({ resource: this._waitlistInstance });
          }
          get __internal_waitlist() {
            return this._waitlistInstance;
          }
          onResourceError = (e10) => {
            e10.resource instanceof r9 && this.signInErrorSignal({ error: e10.error }), e10.resource instanceof r5 && this.signUpErrorSignal({ error: e10.error }), e10.resource instanceof ip && this.waitlistErrorSignal({ error: e10.error });
          };
          onResourceUpdated = (e10) => {
            if (e10.resource instanceof r9) {
              if (i$(this.signInResourceSignal().resource, e10.resource)) return;
              this.signInResourceSignal({ resource: e10.resource });
            }
            if (e10.resource instanceof r5) {
              if (i$(this.signUpResourceSignal().resource, e10.resource)) return;
              this.signUpResourceSignal({ resource: e10.resource });
            }
            e10.resource instanceof ip && (this._waitlistInstance = e10.resource, this.waitlistResourceSignal({ resource: e10.resource }));
          };
          onResourceFetch = (e10) => {
            e10.resource instanceof r9 && this.signInFetchSignal({ status: e10.status }), e10.resource instanceof r5 && this.signUpFetchSignal({ status: e10.status }), e10.resource instanceof ip && this.waitlistFetchSignal({ status: e10.status });
          };
        }
        function i$(e10, a10) {
          return !a10?.id && e10 && e10.__internal_future?.canBeDiscarded === false;
        }
        let iB = "cannot_render_billing_disabled", iK = "cannot_render_user_missing", iJ = "cannot_render_organizations_disabled", iV = "cannot_render_organization_missing", iH = "cannot_render_single_session_enabled", iG = { polling: true, standardBrowser: true, touchSession: true, isSatellite: false, signInUrl: void 0, signUpUrl: void 0, afterSignOutUrl: void 0, signInFallbackRedirectUrl: void 0, signUpFallbackRedirectUrl: void 0, signInForceRedirectUrl: void 0, signUpForceRedirectUrl: void 0, newSubscriptionRedirectUrl: void 0 };
        class iQ {
          static version = "6.8.0";
          static sdkMetadata = { name: "@clerk/clerk-js", version: "6.8.0" };
          static _billing;
          static _apiKeys;
          static _oauthApplication;
          _checkout;
          client;
          session;
          organization;
          user;
          __internal_country;
          telemetry;
          __internal_state = new iL();
          internal_last_error = null;
          environment;
          #e_;
          #ez = "";
          #ex;
          #eq;
          #eS;
          #eI;
          #eU;
          #eC = null;
          #eA;
          #eP;
          #eT;
          #eO = "loading";
          #eE = [];
          #eR = [];
          #eM = {};
          #eF = null;
          #eD = 0;
          #eN = g2();
          get __internal_queryClient() {
            return this.#e_ || Promise.resolve().then(i.bind(i, 644)).then((e10) => e10.QueryClient).then((e10) => {
              this.#e_ || (this.#e_ = new e10(), this.#eN.emit("queryClientStatus", "ready"));
            }), this.#e_ ? { __tag: "clerk-rq-client", client: this.#e_ } : void 0;
          }
          __internal_getCachedResources;
          __internal_createPublicCredentials;
          __internal_getPublicCredentials;
          __internal_isWebAuthnSupported;
          __internal_isWebAuthnAutofillSupported;
          __internal_isWebAuthnPlatformAuthenticatorSupported;
          __internal_setActiveInProgress = false;
          get publishableKey() {
            return this.#ez;
          }
          get version() {
            return iQ.version;
          }
          set sdkMetadata(e10) {
            iQ.sdkMetadata = e10;
          }
          get sdkMetadata() {
            return iQ.sdkMetadata;
          }
          get loaded() {
            return "degraded" === this.status || "ready" === this.status;
          }
          get status() {
            return this.#eO;
          }
          get isSatellite() {
            return !!a_() && (0, ae.VK)(this.#eM.isSatellite, new URL(window.location.href), false);
          }
          get domain() {
            if (a_()) {
              let e10 = ew((0, ae.VK)(this.#ex, new URL(window.location.href)));
              if ("production" === this.#eT) {
                let a10;
                if (!e10) return "";
                if (e10.match(/^(clerk\.)+\w*$/)) a10 = /(clerk\.)*(?=clerk\.)/;
                else {
                  if (e10.match(/\.clerk.accounts/)) return e10;
                  a10 = /^(clerk\.)*/gi;
                }
                return `clerk.${e10.replace(a10, "")}`;
              }
              return e10;
            }
            return "function" == typeof this.#ex ? (ee(eJ.domainAsFunctionNotSupported), "") : ew(this.#ex || "");
          }
          get proxyUrl() {
            if (a_()) {
              var e10;
              let a10 = (0, ae.VK)(this.#eq, new URL(window.location.href));
              !a10 || eQ(a10) || eY(a10) || ak.throwInvalidProxyUrl({ url: a10 });
              let t10 = a10 ? !eY(a10) || "u" < typeof window || !window.location?.origin ? a10 : new URL(a10, window.location.origin).toString() : "";
              if (t10) return t10;
              if (!this.#ex && "production" === this.#eT && (e10 = window.location.hostname, eZ.some((a11) => e10?.endsWith(a11)))) return `${window.location.origin}/__clerk`;
            }
            return "function" == typeof this.#eq ? (ee(eJ.proxyUrlAsFunctionNotSupported), "") : this.#eq || "";
          }
          get frontendApi() {
            let e10 = eb(this.publishableKey);
            return e10 ? e10.frontendApi : ak.throwInvalidPublishableKeyError({ key: this.publishableKey });
          }
          get instanceType() {
            return this.#eT;
          }
          get isStandardBrowser() {
            return this.#eM.standardBrowser || false;
          }
          get billing() {
            return iQ._billing || (iQ._billing = new tc()), iQ._billing;
          }
          get apiKeys() {
            return iQ._apiKeys || (iQ._apiKeys = new iF()), iQ._apiKeys;
          }
          get oauthApplication() {
            return iQ._oauthApplication || (iQ._oauthApplication = new iN()), iQ._oauthApplication;
          }
          __experimental_checkout(e10) {
            return this._checkout || (this._checkout = (e11) => (function(e12, a10) {
              let t10, r10, i2, n3, { for: s3, planId: o4, planPeriod: l3 } = a10;
              if (null === e12.user) throw Error("Clerk: User is not authenticated");
              if ("organization" === s3 && null === e12.organization) throw Error("Clerk: The current session does not have an active organization. Use `setActive` to set the organization");
              let c3 = (function(e13) {
                let { userId: a11, orgId: t11, planId: r11, planPeriod: i3 } = e13;
                return `${a11}-${t11 || "user"}-${r11}-${i3}`;
              })({ userId: e12.user?.id || "", orgId: "organization" === s3 ? e12.organization?.id : void 0, planId: o4, planPeriod: l3 }), d3 = iD.get(c3);
              if (d3) return d3.signals.computedSignal();
              let u3 = (t10 = a7({ resource: null }), r10 = a7({ error: null }), i2 = a7({ status: "idle" }), n3 = te(() => {
                let e13 = t10().resource, a11 = r10().error, n4 = i2().status;
                return { errors: tj(a11, {}), fetchStatus: n4, checkout: e13 };
              }), { resourceSignal: t10, errorSignal: r10, fetchSignal: i2, computedSignal: n3 }), h3 = new tx(u3, { ..."organization" === s3 ? { orgId: e12.organization?.id } : {}, planId: o4, planPeriod: l3 });
              return iD.set(c3, { resource: h3, signals: u3 }), u3.computedSignal();
            })(this, e11)), this._checkout(e10);
          }
          __internal_getOption(e10) {
            return this.#eM[e10];
          }
          get isSignedIn() {
            return this?.session?.status !== "pending" && !!this.session;
          }
          constructor(e10, a10) {
            if (!(e10 = (e10 || "").trim())) return ak.throwMissingPublishableKeyError();
            let t10 = eb(e10);
            if (!t10) return ak.throwInvalidPublishableKeyError({ key: e10 });
            this.#ex = a10?.domain, this.#eq = a10?.proxyUrl, this.environment = rk.getInstance(), this.#eT = t10.instanceType, this.#ez = e10, this.#eP = /* @__PURE__ */ (function(e11) {
              let a11 = [], t11 = [];
              async function r10(e12) {
                for await (let t12 of ["u" > typeof window && window.__internal_onBeforeRequest, ...a11].filter((e13) => e13)) if (await t12(e12) === false) return false;
                return true;
              }
              async function i2(e12, a12) {
                for await (let r11 of ["u" > typeof window && window.__internal_onAfterResponse, ...t11].filter((e13) => e13)) if (await r11(e12, a12) === false) return false;
                return true;
              }
              function n3({ method: a12, path: t12, sessionId: r11, search: i3, rotatingTokenNonce: s4 }) {
                let o5 = new URLSearchParams(i3);
                return o5.append("__clerk_api_version", "2025-11-10"), o5.append("_clerk_js_version", "6.8.0"), s4 && o5.append("rotating_token_nonce", s4), e11.domain && "development" === e11.instanceType && e11.isSatellite && o5.append("__domain", e11.domain), a12 && "GET" !== a12 && "POST" !== a12 && o5.append("_method", a12), t12 && !iM.some((e12) => t12.startsWith(e12)) && r11 && o5.append("_clerk_session_id", r11), ej([...o5.entries()].reduce((e12, [a13, t13]) => (e12[a13] = t13.includes(",") ? t13.split(",") : t13, e12), {}));
              }
              function s3(a12) {
                let { path: t12, pathPrefix: r11 = "v1" } = a12;
                if (e11.proxyUrl) {
                  let i4 = new URL(e11.proxyUrl), s4 = i4.pathname.slice(1);
                  return s4.endsWith("/") && (s4 = s4.slice(0, -1)), eI({ base: i4.origin, pathname: `${s4}/${r11}${t12}`, search: n3(a12) }, { stringify: false });
                }
                let i3 = "production" === e11.instanceType ? e11.domain : "";
                return eI({ base: `https://${i3 || e11.frontendApi}`, pathname: `${r11}${t12}`, search: n3(a12) }, { stringify: false });
              }
              async function o4(a12, t12) {
                let n4, o5 = { ...a12 }, { method: l3 = "GET", body: c3 } = o5;
                !c3 || "object" != typeof c3 || c3 instanceof FormData || (o5.body = (function(e12) {
                  if (!e12 || "object" != typeof e12 || Object.getPrototypeOf(e12) !== Object.prototype) return e12;
                  let a13 = {};
                  for (let [t13, r11] of Object.entries(e12)) void 0 !== r11 && (a13[t13] = r11);
                  return a13;
                })(c3)), o5.url = s3({ ...o5, sessionId: e11.getSessionId() }), o5.headers = new Headers(o5.headers), "GET" === l3 || c3 instanceof FormData || o5.headers.has("content-type") || o5.headers.set("content-type", "application/x-www-form-urlencoded"), "application/x-www-form-urlencoded" === o5.headers.get("content-type") && (o5.body = c3 ? ej(c3, { keyEncoder: ei }) : c3);
                let u3 = await r10(o5), h3 = "GET" === l3 ? "GET" : "POST", m3 = o5.url, p3 = { ...o5, method: h3, credentials: o5.credentials || "include" };
                try {
                  if (u3) {
                    let e12 = t12?.fetchMaxTries ?? (d2() ? 4 : 11);
                    n4 = await au(() => fetch(m3, p3), { retryImmediately: true, initialDelay: 700, maxDelayBetweenRetries: 5e3, shouldRetry: (a13, t13) => "GET" === h3 && t13 < e12, onBeforeRetry: (e13) => {
                      m3.searchParams.set("_clerk_retry_attempt", e13.toString());
                    } });
                  } else n4 = new Response("{}", o5);
                } catch (a13) {
                  let e12 = m3.toString();
                  ao.error("network error", { error: a13, url: e12, method: l3 }, "fapiClient");
                  throw Error(`${aP} Network error at "${e12}" - ${a13}. Please try again.`);
                }
                let g3 = 204 !== n4.status ? await n4.json() : null, b3 = Object.assign(n4, { payload: g3 });
                return n4.ok || ao.error("request failed", { method: l3, path: o5.path, status: n4.status }, "fapiClient"), await i2(o5, b3), b3;
              }
              return { buildEmailAddress: function(a12) {
                return (function({ localPart: e12, frontendApi: a13 }) {
                  return `${e12}@${a13 ? a13.replace("clerk.", "") : "clerk.com"}`;
                })({ localPart: a12, frontendApi: e11.frontendApi });
              }, buildUrl: s3, onAfterResponse: function(e12) {
                t11.push(e12);
              }, onBeforeRequest: function(e12) {
                a11.push(e12);
              }, request: o4 };
            })({ domain: this.domain, frontendApi: this.frontendApi, instanceType: this.instanceType, isSatellite: this.isSatellite, getSessionId: () => this.session?.id, proxyUrl: this.proxyUrl }), this.#eN.emit(b2, "loading"), this.#eN.prioritizedOn(b2, (e11) => this.#eO = e11), this.#eN.on(b2, (e11) => {
              a_() && ("ready" === e11 || "degraded" === e11 ? window.__clerk_internal_ready?.__resolve && this.#eW() && window.__clerk_internal_ready.__resolve(this) : "error" === e11 && window.__clerk_internal_ready?.__reject && window.__clerk_internal_ready.__reject(new j("Clerk failed to initialize.", { code: "clerk_init_failed" })));
            }), a_() && ("ready" === this.#eO || "degraded" === this.#eO) && this.#eW() && window.__clerk_internal_ready?.__resolve && window.__clerk_internal_ready.__resolve(this), aV.clerk = this, this.#eI = new iW();
          }
          getFapiClient = () => this.#eP;
          load = async (e10) => {
            if (ao.info("load() start", {}, "clerk"), !this.loaded) {
              if ("development" !== this.#eT || e10?.unsafe_disableDevelopmentModeConsoleWarning || ee("Clerk: Clerk has been loaded with development keys. Development instances have strict usage limits and should not be used when deploying your application to production. Learn more: https://clerk.com/docs/deployments/overview"), this.#eM = this.#eL(e10), this.#eM.ui?.ClerkUI && (this.#eA = Promise.resolve(this.#eM.ui.ClerkUI).then((e11) => new e11(() => this, () => this.environment, this.#eM, new am()))), "development" === this.#eT && (this.#eM.routerPush || this.#eM.routerReplace) && (!this.#eM.routerPush || !this.#eM.routerReplace)) {
                let e11 = this.#eM.routerPush ? "routerReplace" : "routerPush";
                ee(`Clerk: Both \`routerPush\` and \`routerReplace\` need to be defined, but \`${e11}\` is not defined. This may cause issues with navigation in your application.`);
              }
              tL.on(tW, () => {
                this.#e$(this.session);
              }), this.#eM.sdkMetadata && (iQ.sdkMetadata = this.#eM.sdkMetadata), false !== this.#eM.telemetry && (this.telemetry = new e9({ clerkVersion: iQ.version, samplingRate: 1, perEventSampling: !this.#eM.__internal_keyless_claimKeylessApplicationUrl && void 0, publishableKey: this.publishableKey, ...this.#eM.telemetry }), this.#eM.appearance && this.telemetry.record({ event: "THEME_USAGE", eventSamplingRate: 1, payload: (function(e11) {
                let a10;
                if (!e11 || "object" != typeof e11) return {};
                let t10 = e11.theme;
                if (!t10) return {};
                if (Array.isArray(t10)) for (let e12 of t10) {
                  let t11 = e7(e12);
                  if (t11) {
                    a10 = t11;
                    break;
                  }
                }
                else a10 = e7(t10);
                return { themeName: a10 };
              })(this.#eM.appearance) }));
              try {
                this.#eM.standardBrowser ? await this.#eB() : await this.#eK();
                let e11 = this.#eM.telemetry, a10 = false !== e11 && !e11?.disabled, t10 = !!this.#eM.__internal_keyless_claimKeylessApplicationUrl, r10 = !!this.environment?.clientDebugMode, i2 = this.environment?.isProduction?.() ?? false, n3 = r10 || t10 && !i2, s3 = t10 && !r10 ? "error" : void 0;
                n3 && (function(e12 = {}) {
                  if (ar) return;
                  let { enabled: a11 = false, ...t11 } = e12;
                  a11 && (aa = true, ar = true, as(t11));
                })({ enabled: true, ...s3 ? { logLevel: s3 } : {}, ...a10 && this.telemetry ? { telemetryCollector: this.telemetry } : {} }), this.#eI?.load(this.environment), ao.info("load() complete", {}, "clerk");
              } catch (e11) {
                throw this.#eN.emit(b2, "error"), ao.error("load() failed", { error: e11 }, "clerk"), e11;
              }
            }
          };
          #eJ() {
            let e10;
            return !!(!this.#eM.signUpUrl && this.#eM.signInUrl && (e10 = this.#eM.signInUrl, !ev.test(e10)));
          }
          signOut = async (e10, a10) => {
            if (!this.client || 0 === this.client.sessions.length) return;
            let t10 = "u" > typeof window && "function" == typeof window.__internal_onBeforeSetActive ? window.__internal_onBeforeSetActive : ae.lQ, r10 = "u" > typeof window && "function" == typeof window.__internal_onAfterSetActive ? window.__internal_onAfterSetActive : ae.lQ, i2 = e10 && "object" == typeof e10 ? e10 : a10 || {}, n3 = i2?.redirectUrl || this.buildAfterSignOutUrl();
            ao.debug("signOut() start", { hasClient: !!this.client, multiSessionCount: this.client?.signedInSessions.length ?? 0, redirectUrl: n3, sessionTarget: i2?.sessionId ?? null }, "clerk");
            let s3 = "function" == typeof e10 ? e10 : void 0, o4 = async () => {
              let e11 = ap(this.#eM.standardBrowser);
              tL.emit(tD, null), await e11.track(async () => {
                s3 ? await s3() : await this.navigate(n3);
              }), e11.isUnloading() || (this.#e$(), await r10());
            };
            if (await t10(), !i2.sessionId || 1 === this.client.signedInSessions.length) {
              this.#eV(), this.#eM.experimental?.persistClient ?? true ? await this.client.removeSessions() : await this.client.destroy(), await o4(), ao.info("signOut() complete", { redirectUrl: eU(n3) }, "clerk");
              return;
            }
            let l3 = this.client.signedInSessions.find((e11) => e11.id === i2.sessionId);
            l3?.id && this.session?.id === l3.id ? (this.#eV(), await l3?.remove(), await o4(), ao.info("signOut() complete", { redirectUrl: eU(n3) }, "clerk")) : await l3?.remove();
          };
          openGoogleOneTap = (e10) => {
            this.assertComponentsReady(this.#eA), this.#eA.then((e11) => e11.ensureMounted()).then((a10) => a10.openModal("googleOneTap", e10 || {})), this.telemetry?.record(e6("GoogleOneTap", e10));
          };
          closeGoogleOneTap = () => {
            this.#eA?.then((e10) => e10.ensureMounted()).then((e10) => e10.closeModal("googleOneTap"));
          };
          openSignIn = (e10) => {
            if ($2(this, this.environment)) {
              if ("development" === this.#eT) throw new j(eJ.cannotOpenSignInOrSignUp, { code: iH });
              return;
            }
            this.assertComponentsReady(this.#eA);
            let a10 = "SignIn";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: a10 })).then((a11) => a11.openModal("signIn", e10 || {}));
            let t10 = { withSignUp: e10?.withSignUp ?? this.#eJ() };
            this.telemetry?.record(e6(a10, e10, t10));
          };
          closeSignIn = () => {
            this.#eA?.then((e10) => e10.ensureMounted()).then((e10) => e10.closeModal("signIn"));
          };
          __internal_openCheckout = (e10) => {
            if (B(this, this.environment)) {
              if ("development" === this.#eT) throw new j(eJ.cannotRenderAnyBillingComponent("Checkout"), { code: iB });
              return;
            }
            if (!this.user) {
              if ("development" === this.#eT) throw new j(eJ.cannotOpenCheckout, { code: iK });
              return;
            }
            this.assertComponentsReady(this.#eA), this.#eA.then((e11) => e11.ensureMounted()).then((a10) => a10.openDrawer("checkout", e10 || {}));
          };
          __internal_closeCheckout = () => {
            this.#eA?.then((e10) => e10.ensureMounted()).then((e10) => e10.closeDrawer("checkout"));
          };
          __internal_openPlanDetails = (e10) => {
            if (B(this, this.environment)) {
              if ("development" === this.#eT) throw new j(eJ.cannotRenderAnyBillingComponent("PlanDetails"), { code: iB });
              return;
            }
            this.assertComponentsReady(this.#eA), this.#eA.then((e11) => e11.ensureMounted()).then((a10) => a10.openDrawer("planDetails", e10 || {})), this.telemetry?.record(e6("PlanDetails", e10));
          };
          __internal_closePlanDetails = () => {
            this.#eA?.then((e10) => e10.ensureMounted()).then((e10) => e10.closeDrawer("planDetails"));
          };
          __internal_openSubscriptionDetails = (e10) => {
            this.assertComponentsReady(this.#eA), this.#eA.then((e11) => e11.ensureMounted()).then((a10) => a10.openDrawer("subscriptionDetails", e10 || {}));
          };
          __internal_closeSubscriptionDetails = () => {
            this.#eA?.then((e10) => e10.ensureMounted()).then((e10) => e10.closeDrawer("subscriptionDetails"));
          };
          __internal_openReverification = (e10) => {
            if (!this.user) {
              if ("development" === this.#eT) throw new j(eJ.cannotOpenUserProfile, { code: iK });
              return;
            }
            this.assertComponentsReady(this.#eA), this.#eA.then((e11) => e11.ensureMounted()).then((a10) => a10.openModal("userVerification", e10 || {})), this.telemetry?.record(e6("UserVerification", e10));
          };
          __internal_closeReverification = () => {
            this.#eA?.then((e10) => e10.ensureMounted()).then((e10) => e10.closeModal("userVerification"));
          };
          __internal_attemptToEnableEnvironmentSetting = (e10) => {
            let { for: a10, caller: t10 } = e10;
            if (this.user || "development" !== this.#eT || ee(`Clerk: "${t10}" requires an active user session. Ensure a user is signed in before executing ${t10}.`), "organizations" === a10) {
              let a11;
              return (a11 = this.environment, a11?.organizationSettings.enabled || this.session?.currentTask?.key === "choose-organization") ? { isEnabled: true } : ("development" === this.#eT && this.__internal_openEnableOrganizationsPrompt({ caller: t10, onSuccess: () => window.location.reload(), onClose: e10.onClose }), { isEnabled: false });
            }
            throw Error(`Attempted to enable an unknown or unsupported setting "${a10}".`);
          };
          __internal_openEnableOrganizationsPrompt = (e10) => {
            this.assertComponentsReady(this.#eA), this.#eA.then((e11) => e11.ensureMounted({ preloadHint: "EnableOrganizationsPrompt" })).then((a10) => a10.openModal("enableOrganizationsPrompt", e10 || {})), this.telemetry?.record(e4("EnableOrganizationsPrompt", e10));
          };
          __internal_closeEnableOrganizationsPrompt = () => {
            this.assertComponentsReady(this.#eA), this.#eA?.then((e10) => e10.ensureMounted()).then((e10) => e10.closeModal("enableOrganizationsPrompt"));
          };
          __internal_openBlankCaptchaModal = () => (this.assertComponentsReady(this.#eA), this.#eA.then((e10) => e10.ensureMounted()).then((e10) => e10.openModal("blankCaptcha", {})));
          __internal_closeBlankCaptchaModal = () => (this.assertComponentsReady(this.#eA), this.#eA.then((e10) => e10.ensureMounted()).then((e10) => e10.closeModal("blankCaptcha")));
          __internal_loadStripeJs = async () => (aT("Stripe"), { loadStripe: () => Promise.resolve(null) });
          openSignUp = (e10) => {
            if ($2(this, this.environment)) {
              if ("development" === this.#eT) throw new j(eJ.cannotOpenSignInOrSignUp, { code: iH });
              return;
            }
            this.assertComponentsReady(this.#eA), this.#eA.then((e11) => e11.ensureMounted({ preloadHint: "SignUp" })).then((a10) => a10.openModal("signUp", e10 || {})), this.telemetry?.record(e6("SignUp", e10));
          };
          closeSignUp = () => {
            this.#eA?.then((e10) => e10.ensureMounted()).then((e10) => e10.closeModal("signUp"));
          };
          openUserProfile = (e10) => {
            if (!this.user) {
              if ("development" === this.#eT) throw new j(eJ.cannotOpenUserProfile, { code: iK });
              return;
            }
            this.assertComponentsReady(this.#eA), this.#eA.then((e11) => e11.ensureMounted({ preloadHint: "UserProfile" })).then((a11) => a11.openModal("userProfile", e10 || {}));
            let a10 = (e10?.customPages?.length || 0) > 0 ? { customPages: true } : void 0;
            this.telemetry?.record(e6("UserProfile", e10, a10));
          };
          closeUserProfile = () => {
            this.#eA?.then((e10) => e10.ensureMounted()).then((e10) => e10.closeModal("userProfile"));
          };
          openOrganizationProfile = (e10) => {
            let { isEnabled: a10 } = this.__internal_attemptToEnableEnvironmentSetting({ for: "organizations", caller: "OrganizationProfile", onClose: () => {
              throw new j(eJ.cannotRenderAnyOrganizationComponent("OrganizationProfile"), { code: iJ });
            } });
            if (a10) {
              if (!this.organization) {
                if ("development" === this.#eT) throw new j(eJ.cannotRenderComponentWhenOrgDoesNotExist, { code: iV });
                return;
              }
              this.assertComponentsReady(this.#eA), this.#eA.then((e11) => e11.ensureMounted({ preloadHint: "OrganizationProfile" })).then((a11) => a11.openModal("organizationProfile", e10 || {})), this.telemetry?.record(e6("OrganizationProfile", e10));
            }
          };
          closeOrganizationProfile = () => {
            this.#eA?.then((e10) => e10.ensureMounted()).then((e10) => e10.closeModal("organizationProfile"));
          };
          openCreateOrganization = (e10) => {
            let { isEnabled: a10 } = this.__internal_attemptToEnableEnvironmentSetting({ for: "organizations", caller: "CreateOrganization", onClose: () => {
              throw new j(eJ.cannotRenderAnyOrganizationComponent("CreateOrganization"), { code: iJ });
            } });
            a10 && (this.assertComponentsReady(this.#eA), this.#eA.then((e11) => e11.ensureMounted({ preloadHint: "CreateOrganization" })).then((a11) => a11.openModal("createOrganization", e10 || {})), this.telemetry?.record(e6("CreateOrganization", e10)));
          };
          closeCreateOrganization = () => {
            this.#eA?.then((e10) => e10.ensureMounted()).then((e10) => e10.closeModal("createOrganization"));
          };
          openWaitlist = (e10) => {
            this.assertComponentsReady(this.#eA), this.#eA.then((e11) => e11.ensureMounted({ preloadHint: "Waitlist" })).then((a10) => a10.openModal("waitlist", e10 || {})), this.telemetry?.record(e6("Waitlist", e10));
          };
          closeWaitlist = () => {
            this.#eA?.then((e10) => e10.ensureMounted()).then((e10) => e10.closeModal("waitlist"));
          };
          mountSignIn = (e10, a10) => {
            this.assertComponentsReady(this.#eA);
            let t10 = "SignIn";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: t10 })).then((r11) => r11.mountComponent({ name: t10, appearanceKey: "signIn", node: e10, props: a10 }));
            let r10 = { withSignUp: a10?.withSignUp ?? this.#eJ() };
            this.telemetry?.record(e4(t10, a10, r10));
          };
          unmountSignIn = (e10) => {
            this.#eA?.then((e11) => e11.ensureMounted()).then((a10) => a10.unmountComponent({ node: e10 }));
          };
          mountUserAvatar = (e10, a10) => {
            this.assertComponentsReady(this.#eA);
            let t10 = "UserAvatar";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: t10 })).then((r10) => r10.mountComponent({ name: t10, appearanceKey: "userAvatar", node: e10, props: a10 })), this.telemetry?.record(e4(t10, a10));
          };
          unmountUserAvatar = (e10) => {
            this.#eA?.then((e11) => e11.ensureMounted()).then((a10) => a10.unmountComponent({ node: e10 }));
          };
          mountSignUp = (e10, a10) => {
            this.assertComponentsReady(this.#eA);
            let t10 = "SignUp";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: t10 })).then((r10) => r10.mountComponent({ name: t10, appearanceKey: "signUp", node: e10, props: a10 })), this.telemetry?.record(e4(t10, a10));
          };
          unmountSignUp = (e10) => {
            this.#eA?.then((e11) => e11.ensureMounted()).then((a10) => a10.unmountComponent({ node: e10 }));
          };
          mountUserProfile = (e10, a10) => {
            if (!this.user) {
              if ("development" === this.#eT) throw new j(eJ.cannotRenderComponentWhenUserDoesNotExist, { code: iK });
              return;
            }
            this.assertComponentsReady(this.#eA);
            let t10 = "UserProfile";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: t10 })).then((r11) => r11.mountComponent({ name: t10, appearanceKey: "userProfile", node: e10, props: a10 }));
            let r10 = (a10?.customPages?.length || 0) > 0 ? { customPages: true } : void 0;
            this.telemetry?.record(e4(t10, a10, r10));
          };
          unmountUserProfile = (e10) => {
            this.#eA?.then((e11) => e11.ensureMounted()).then((a10) => a10.unmountComponent({ node: e10 }));
          };
          mountOrganizationProfile = (e10, a10) => {
            let { isEnabled: t10 } = this.__internal_attemptToEnableEnvironmentSetting({ for: "organizations", caller: "OrganizationProfile", onClose: () => {
              throw new j(eJ.cannotRenderAnyOrganizationComponent("OrganizationProfile"), { code: iJ });
            } });
            if (!t10) return;
            let r10 = !!this.user;
            if (!this.organization && r10) {
              if ("development" === this.#eT) throw new j(eJ.cannotRenderComponentWhenOrgDoesNotExist, { code: iV });
              return;
            }
            this.assertComponentsReady(this.#eA);
            let i2 = "OrganizationProfile";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: i2 })).then((t11) => t11.mountComponent({ name: i2, appearanceKey: "userProfile", node: e10, props: a10 })), this.telemetry?.record(e4(i2, a10));
          };
          unmountOrganizationProfile = (e10) => {
            this.#eA?.then((e11) => e11.ensureMounted()).then((a10) => a10.unmountComponent({ node: e10 }));
          };
          mountCreateOrganization = (e10, a10) => {
            let { isEnabled: t10 } = this.__internal_attemptToEnableEnvironmentSetting({ for: "organizations", caller: "CreateOrganization", onClose: () => {
              throw new j(eJ.cannotRenderAnyOrganizationComponent("CreateOrganization"), { code: iJ });
            } });
            if (!t10) return;
            this.assertComponentsReady(this.#eA);
            let r10 = "CreateOrganization";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: r10 })).then((t11) => t11.mountComponent({ name: r10, appearanceKey: "createOrganization", node: e10, props: a10 })), this.telemetry?.record(e4(r10, a10));
          };
          unmountCreateOrganization = (e10) => {
            this.#eA?.then((e11) => e11.ensureMounted()).then((a10) => a10.unmountComponent({ node: e10 }));
          };
          mountOrganizationSwitcher = (e10, a10) => {
            let { isEnabled: t10 } = this.__internal_attemptToEnableEnvironmentSetting({ for: "organizations", caller: "OrganizationSwitcher", onClose: () => {
              throw new j(eJ.cannotRenderAnyOrganizationComponent("OrganizationSwitcher"), { code: iJ });
            } });
            if (!t10) return;
            this.assertComponentsReady(this.#eA);
            let r10 = "OrganizationSwitcher";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: r10 })).then((t11) => t11.mountComponent({ name: r10, appearanceKey: "organizationSwitcher", node: e10, props: a10 })), this.telemetry?.record(e4(r10, { ...a10, forceOrganizationSelection: this.environment?.organizationSettings.forceOrganizationSelection }));
          };
          unmountOrganizationSwitcher = (e10) => {
            this.#eA?.then((e11) => e11.ensureMounted()).then((a10) => a10.unmountComponent({ node: e10 }));
          };
          __experimental_prefetchOrganizationSwitcher = () => {
            this.assertComponentsReady(this.#eA), this.#eA.then((e10) => e10.ensureMounted()).then((e10) => e10.prefetch("organizationSwitcher"));
          };
          mountOrganizationList = (e10, a10) => {
            let { isEnabled: t10 } = this.__internal_attemptToEnableEnvironmentSetting({ for: "organizations", caller: "OrganizationList", onClose: () => {
              throw new j(eJ.cannotRenderAnyOrganizationComponent("OrganizationList"), { code: iJ });
            } });
            if (!t10) return;
            this.assertComponentsReady(this.#eA);
            let r10 = "OrganizationList";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: r10 })).then((t11) => t11.mountComponent({ name: r10, appearanceKey: "organizationList", node: e10, props: a10 })), this.telemetry?.record(e4(r10, { ...a10, forceOrganizationSelection: this.environment?.organizationSettings.forceOrganizationSelection }));
          };
          unmountOrganizationList = (e10) => {
            this.#eA?.then((e11) => e11.ensureMounted()).then((a10) => a10.unmountComponent({ node: e10 }));
          };
          mountUserButton = (e10, a10) => {
            this.assertComponentsReady(this.#eA);
            let t10 = "UserButton";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: t10 })).then((r11) => r11.mountComponent({ name: t10, appearanceKey: "userButton", node: e10, props: a10 }));
            let r10 = { ...a10?.customMenuItems?.length || 0 ? { customItems: true } : void 0, ...a10?.__experimental_asStandalone ? { standalone: true } : void 0 };
            this.telemetry?.record(e4(t10, a10, r10));
          };
          unmountUserButton = (e10) => {
            this.#eA?.then((e11) => e11.ensureMounted()).then((a10) => a10.unmountComponent({ node: e10 }));
          };
          mountWaitlist = (e10, a10) => {
            this.assertComponentsReady(this.#eA);
            let t10 = "Waitlist";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: t10 })).then((r10) => r10.mountComponent({ name: t10, appearanceKey: "waitlist", node: e10, props: a10 })), this.telemetry?.record(e4(t10, a10));
          };
          unmountWaitlist = (e10) => {
            this.#eA?.then((e11) => e11.ensureMounted()).then((a10) => a10.unmountComponent({ node: e10 }));
          };
          mountPricingTable = (e10, a10) => {
            if (B(this, this.environment)) {
              if ("development" === this.#eT) throw new j(eJ.cannotRenderAnyBillingComponent("PricingTable"), { code: iB });
              return;
            }
            this.assertComponentsReady(this.#eA);
            let t10 = "PricingTable";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: t10 })).then((r10) => r10.mountComponent({ name: t10, appearanceKey: "pricingTable", node: e10, props: a10 })), this.telemetry?.record(e4(t10, a10));
          };
          unmountPricingTable = (e10) => {
            this.#eA?.then((e11) => e11.ensureMounted()).then((a10) => a10.unmountComponent({ node: e10 }));
          };
          mountOAuthConsent = (e10, a10) => {
            if (!this.user) {
              if ("development" === this.#eT) throw new j(eJ.cannotRenderOAuthConsentComponentWhenUserDoesNotExist, { code: iK });
              return;
            }
            this.assertComponentsReady(this.#eA);
            let t10 = "OAuthConsent";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: t10 })).then((r10) => r10.mountComponent({ name: t10, appearanceKey: "__internal_oauthConsent", node: e10, props: a10 }));
          };
          unmountOAuthConsent = (e10) => {
            this.#eA?.then((e11) => e11.ensureMounted()).then((a10) => a10.unmountComponent({ node: e10 }));
          };
          __internal_mountOAuthConsent = (e10, a10) => this.mountOAuthConsent(e10, a10);
          __internal_unmountOAuthConsent = (e10) => this.unmountOAuthConsent(e10);
          mountAPIKeys = (e10, a10) => {
            let t10;
            if (K(this, t10 = this.environment) && J(this, t10)) {
              if ("development" === this.#eT) throw new j(eJ.cannotRenderAPIKeysComponent, { code: "cannot_render_api_keys_disabled" });
              return;
            }
            if (this.organization && J(this, this.environment)) {
              if ("development" === this.#eT) throw new j(eJ.cannotRenderAPIKeysComponentForOrgWhenDisabled, { code: "cannot_render_api_keys_org_disabled" });
              return;
            }
            if (K(this, this.environment)) {
              if ("development" === this.#eT) throw new j(eJ.cannotRenderAPIKeysComponentForUserWhenDisabled, { code: "cannot_render_api_keys_user_disabled" });
              return;
            }
            this.assertComponentsReady(this.#eA);
            let r10 = "APIKeys";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: r10 })).then((t11) => t11.mountComponent({ name: r10, appearanceKey: "apiKeys", node: e10, props: a10 })), this.telemetry?.record(e4(r10, a10));
          };
          unmountAPIKeys = (e10) => {
            this.#eA?.then((e11) => e11.ensureMounted()).then((a10) => a10.unmountComponent({ node: e10 }));
          };
          mountTaskChooseOrganization = (e10, a10) => {
            let { isEnabled: t10 } = this.__internal_attemptToEnableEnvironmentSetting({ for: "organizations", caller: "TaskChooseOrganization", onClose: () => {
              throw new j(eJ.cannotRenderAnyOrganizationComponent("TaskChooseOrganization"), { code: iJ });
            } });
            if (!t10) return;
            this.assertComponentsReady(this.#eA);
            let r10 = "TaskChooseOrganization";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: r10 })).then((t11) => t11.mountComponent({ name: r10, appearanceKey: "taskChooseOrganization", node: e10, props: a10 })), this.telemetry?.record(e4(r10, a10));
          };
          unmountTaskChooseOrganization = (e10) => {
            this.#eA?.then((e11) => e11.ensureMounted()).then((a10) => a10.unmountComponent({ node: e10 }));
          };
          mountTaskResetPassword = (e10, a10) => {
            this.assertComponentsReady(this.#eA);
            let t10 = "TaskResetPassword";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: t10 })).then((r10) => r10.mountComponent({ name: t10, appearanceKey: "taskResetPassword", node: e10, props: a10 })), this.telemetry?.record(e4("TaskResetPassword", a10));
          };
          unmountTaskResetPassword = (e10) => {
            this.#eA?.then((e11) => e11.ensureMounted()).then((a10) => a10.unmountComponent({ node: e10 }));
          };
          mountTaskSetupMFA = (e10, a10) => {
            this.assertComponentsReady(this.#eA);
            let t10 = "TaskSetupMFA";
            this.#eA.then((e11) => e11.ensureMounted({ preloadHint: t10 })).then((r10) => r10.mountComponent({ name: t10, appearanceKey: "taskSetupMfa", node: e10, props: a10 })), this.telemetry?.record(e4("TaskSetupMFA", a10));
          };
          unmountTaskSetupMFA = (e10) => {
            this.#eA?.then((e11) => e11.ensureMounted()).then((a10) => a10.unmountComponent({ node: e10 }));
          };
          setActive = async (e10) => {
            let { organization: a10, redirectUrl: t10, navigate: r10 } = e10, { session: i2 } = e10;
            this.__internal_setActiveInProgress = true, ao.debug("setActive() start", { hasClient: !!this.client, sessionTarget: "string" == typeof i2 ? i2 : i2?.id ?? i2 ?? null, organizationTarget: "string" == typeof a10 ? a10 : a10?.id ?? a10 ?? null, redirectUrl: t10 ?? null }, "clerk");
            try {
              var n3;
              let s3;
              if (!this.client) throw ao.warn("Clerk setActive called before client is loaded", {}, "clerk"), Error("setActive is being called before the client is loaded. Wait for init.");
              if (void 0 === i2 && !this.session) throw ao.warn("Clerk setActive precondition not met: no target session and no active session", {}, "clerk"), Error("setActive should either be called with a session param or there should be already an active session.");
              "string" == typeof i2 && (i2 = this.client.sessions.find((e11) => e11.id === i2) || null);
              let o4 = "u" > typeof window && "function" == typeof window.__internal_onBeforeSetActive ? window.__internal_onBeforeSetActive : ae.lQ, l3 = "u" > typeof window && "function" == typeof window.__internal_onAfterSetActive ? window.__internal_onAfterSetActive : ae.lQ, c3 = void 0 === i2 ? this.session : i2;
              c3?.status === "pending" && (n3 = { ...this.#eM, ...e10 }, s3 = ["taskUrls", "navigate"], Object.keys(n3).some((e11) => s3.includes(e11)) || ee('Clerk: Session has pending tasks but no handling is configured. To handle pending tasks, provide either "taskUrls" for navigation to custom URLs or "navigate" for programmatic navigation. Without these options, users may get stuck on incomplete flows.'));
              let d3 = void 0 !== a10;
              if (c3 && d3) {
                let e11 = "string" == typeof a10 ? a10 : a10?.id;
                if ("string" == typeof e11 && e11.startsWith("org_")) c3.lastActiveOrganizationId = e11 || null;
                else {
                  let a11 = c3.user.organizationMemberships.find((a12) => a12.organization.slug === e11), t11 = a11?.organization.id || null, r11 = null === t11;
                  if (this.environment?.organizationSettings?.forceOrganizationSelection && r11) return;
                  c3.lastActiveOrganizationId = t11;
                }
              }
              c3?.status !== "pending" && await o4(null === c3 ? "sign-out" : void 0);
              let u3 = c3?.status === "pending" && c3?.currentTask && this.#eM.taskUrls?.[c3?.currentTask.key], h3 = !!(t10 || u3 || r10), m3 = d3 ? "select_org" : "select_session";
              if (a_() && globalThis.document.hasFocus() || !this.#eM.standardBrowser) {
                let e11;
                if (h3 && c3) try {
                  (e11 = await c3.__internal_touch({ intent: m3 })) && this.updateClient(e11, { __internal_dangerouslySkipEmit: true });
                } catch (e12) {
                  if (M(e12)) this.handleUnauthenticated();
                  else throw e12;
                }
                else await this.#eH(c3, m3);
                c3 = this.#eG(c3?.id, e11);
              }
              try {
                await c3?.getToken() || tL.emit(tF, { token: null });
              } catch (e11) {
                if (I.is(e11)) ao.warn("Token fetch failed when setting active session (offline). Preserving existing auth state.", { sessionId: c3?.id }, "clerk");
                else throw e11;
              }
              let p3 = ap(this.#eM.standardBrowser);
              if (h3 && await p3.track(async () => {
                if (this.client) {
                  if (c3?.status !== "pending" && this.#eV(), u3) {
                    let e11 = t10 ? eI({ base: u3, hashSearchParams: { redirectUrl: t10 } }, { stringify: true }) : u3;
                    await this.navigate(e11);
                  } else if (r10 && c3) {
                    let e11 = false, a11 = (a12) => {
                      if (e11 = true, !this.client?.isEligibleForTouch()) return a12;
                      let t11 = new URL(a12, window.location.href), r11 = this.client.buildTouchUrl({ redirectUrl: t11 });
                      return this.buildUrlWithAuth(r11);
                    };
                    await r10({ session: c3, decorateUrl: a11 }), "development" === this.#eT && !e11 && this.client.isEligibleForTouch() && ee("Clerk: The navigate callback in setActive() did not call decorateUrl(). In Safari, sessions may be limited to 7 days due to Intelligent Tracking Prevention (ITP). Use decorateUrl() to wrap your destination URL to enable the ITP workaround. Learn more: https://clerk.com/docs/troubleshooting/safari-itp");
                  } else if (t10) {
                    if (this.client.isEligibleForTouch()) {
                      let e11 = new URL(t10, window.location.href), a11 = this.buildUrlWithAuth(this.client.buildTouchUrl({ redirectUrl: e11 }));
                      await this.navigate(a11);
                    }
                    await this.navigate(t10);
                  }
                }
              }), p3.isUnloading()) return;
              this.#e$(c3), c3?.status !== "pending" && await l3();
            } finally {
              this.__internal_setActiveInProgress = false;
            }
          };
          addListener = (e10, a10) => {
            var t10;
            let r10;
            return t10 = e10, e10 = (e11) => {
              var a11;
              r10 ||= { ...e11 }, t10(r10 = { ...{ client: ib((a11 = r10).client, e11.client), session: ib(a11.session, e11.session), user: ib(a11.user, e11.user), organization: ib(a11.organization, e11.organization) } });
            }, this.#eE.push(e10), this.client && !a10?.skipInitialEmit && e10({ client: this.client, session: this.session, user: this.user, organization: this.organization }), () => {
              this.#eE = this.#eE.filter((a11) => a11 !== e10);
            };
          };
          on = (...e10) => {
            this.#eN.on(...e10);
          };
          off = (...e10) => {
            this.#eN.off(...e10);
          };
          __internal_addNavigationListener = (e10) => (this.#eR.push(e10), () => {
            this.#eR = this.#eR.filter((a10) => a10 !== e10);
          });
          navigate = async (e10, a10) => {
            if (!e10 || !a_()) return;
            if (void 0 === window.location) {
              let t11 = a10?.replace && this.#eM.routerReplace ? this.#eM.routerReplace : this.#eM.routerPush;
              return t11 ? (ao.info(`Clerk is navigating to: ${e10}`), await t11(e10, { windowNavigate: eG })) : void 0;
            }
            setTimeout(() => {
              this.#eQ();
            }, 0);
            let t10 = new URL(e10, window.location.href);
            this.#eY.includes(t10.protocol) || (console.warn(`Clerk: "${t10.protocol}" is not a valid protocol. Redirecting to "/" instead. If you think this is a mistake, please open an issue.`), t10 = new URL("/", window.location.href));
            let r10 = a10?.replace && this.#eM.routerReplace ? this.#eM.routerReplace : this.#eM.routerPush;
            if (ao.info(`Clerk is navigating to: ${t10}`), this.#eM.routerDebug && console.log(`Clerk is navigating to: ${t10}`), "null" !== t10.origin && t10.origin !== window.location.origin || !r10) return void eG(t10);
            let i2 = { ...a10?.metadata ? { __internal_metadata: a10?.metadata } : {}, windowNavigate: eG };
            return await r10(eU(t10), i2);
          };
          buildUrlWithAuth(e10) {
            if ("production" === this.#eT) return e10;
            let a10 = new URL(e10, window.location.origin);
            return a10.origin !== window.location.origin && this.#eS ? this.#eS.decorateUrlWithDevBrowserToken(a10).href : a10.href;
          }
          buildSignInUrl(e10) {
            let a10 = e10?.redirectUrl || window.location.href;
            this.isSatellite && (a10 = this.#eZ(a10));
            let t10 = this.isSatellite ? this.#eX(e10) : e10;
            return this.#e1("signInUrl", { ...t10, redirectUrl: a10 }, e10?.initialValues);
          }
          buildSignUpUrl(e10) {
            let a10 = e10?.redirectUrl || window.location.href;
            this.isSatellite && (a10 = this.#eZ(a10));
            let t10 = this.isSatellite ? this.#eX(e10) : e10;
            return this.#e1("signUpUrl", { ...t10, redirectUrl: a10 }, e10?.initialValues);
          }
          #eZ = (e10) => {
            try {
              let a10 = new URL(e10, window.location.origin);
              return a10.searchParams.set(V, H), a10.toString();
            } catch {
              return e10;
            }
          };
          #eX = (e10) => {
            if (!e10) return e10;
            let a10 = { ...e10 };
            return a10.signInForceRedirectUrl && (a10.signInForceRedirectUrl = this.#eZ(a10.signInForceRedirectUrl)), a10.signInFallbackRedirectUrl && (a10.signInFallbackRedirectUrl = this.#eZ(a10.signInFallbackRedirectUrl)), a10.signUpForceRedirectUrl && (a10.signUpForceRedirectUrl = this.#eZ(a10.signUpForceRedirectUrl)), a10.signUpFallbackRedirectUrl && (a10.signUpFallbackRedirectUrl = this.#eZ(a10.signUpFallbackRedirectUrl)), a10;
          };
          buildUserProfileUrl() {
            return this.environment && this.environment.displayConfig ? this.buildUrlWithAuth(this.environment.displayConfig.userProfileUrl) : "";
          }
          buildHomeUrl() {
            return this.environment && this.environment.displayConfig ? this.buildUrlWithAuth(this.environment.displayConfig.homeUrl) : "";
          }
          buildAfterSignInUrl({ params: e10 } = {}) {
            return this.buildUrlWithAuth(new eE(this.#eM, {}, e10).getAfterSignInUrl());
          }
          buildAfterSignUpUrl({ params: e10 } = {}) {
            return this.buildUrlWithAuth(new eE(this.#eM, {}, e10).getAfterSignUpUrl());
          }
          buildAfterSignOutUrl() {
            return this.#eM.afterSignOutUrl ? this.buildUrlWithAuth(this.#eM.afterSignOutUrl) : "/";
          }
          buildNewSubscriptionRedirectUrl() {
            return this.#eM.newSubscriptionRedirectUrl ? this.#eM.newSubscriptionRedirectUrl : this.buildAfterSignInUrl();
          }
          buildWaitlistUrl(e10) {
            return this.environment && this.environment.displayConfig ? eI({ base: this.#eM.waitlistUrl || this.environment.displayConfig.waitlistUrl, hashSearchParams: [new URLSearchParams(e10?.initialValues || {})] }, { stringify: true }) : "";
          }
          buildAfterMultiSessionSingleSignOutUrl() {
            return this.environment ? this.#eM.afterMultiSessionSingleSignOutUrl ? this.buildUrlWithAuth(this.#eM.afterMultiSessionSingleSignOutUrl) : this.#eM.signInUrl ? this.buildUrlWithAuth(eI({ base: this.#eM.signInUrl, hashPath: "choose" }, { stringify: true })) : this.buildUrlWithAuth(this.environment.displayConfig.afterSignOutOneUrl) : "";
          }
          buildCreateOrganizationUrl() {
            return this.environment && this.environment.displayConfig ? this.buildUrlWithAuth(this.environment.displayConfig.createOrganizationUrl) : "";
          }
          buildOrganizationProfileUrl() {
            return this.environment && this.environment.displayConfig ? this.buildUrlWithAuth(this.environment.displayConfig.organizationProfileUrl) : "";
          }
          buildTasksUrl(e10) {
            let a10 = this.session?.currentTask;
            if (!a10) return "";
            let t10 = this.#eM.taskUrls?.[a10.key];
            return t10 || eI({ base: this.buildSignInUrl(e10), hashPath: eL(a10) }, { stringify: true });
          }
          #e2 = async () => {
            if (!a_()) return;
            let e10 = new URLSearchParams({ [V]: G }), a10 = eF(Y2);
            a10 && eQ(a10) || (function() {
              throw Error(`${aP} Invalid redirect_url. A valid http or https url should be used for the redirection.`);
            })();
            let t10 = eI({ base: eF(Y2), searchParams: e10 }, { stringify: true });
            return this.navigate(this.buildUrlWithAuth(t10));
          };
          redirectWithAuth = async (e10) => {
            if (a_()) return this.navigate(this.buildUrlWithAuth(e10));
          };
          redirectToSignIn = async (e10) => {
            if (a_()) return this.navigate(this.buildSignInUrl(e10));
          };
          redirectToSignUp = async (e10) => {
            if (a_()) return this.navigate(this.buildSignUpUrl(e10));
          };
          redirectToUserProfile = async () => {
            if (a_()) return this.navigate(this.buildUserProfileUrl());
          };
          redirectToCreateOrganization = async () => {
            if (a_()) return this.navigate(this.buildCreateOrganizationUrl());
          };
          redirectToOrganizationProfile = async () => {
            if (a_()) return this.navigate(this.buildOrganizationProfileUrl());
          };
          redirectToAfterSignIn = async () => {
            if (a_()) return this.navigate(this.buildAfterSignInUrl());
          };
          redirectToAfterSignUp = async () => {
            if (a_()) return this.navigate(this.buildAfterSignUpUrl());
          };
          redirectToAfterSignOut = async () => {
            if (a_()) return this.navigate(this.buildAfterSignOutUrl());
          };
          redirectToWaitlist = async () => {
            if (a_()) return this.navigate(this.buildWaitlistUrl());
          };
          redirectToTasks = async (e10) => {
            if (a_()) return this.navigate(this.buildTasksUrl(e10));
          };
          handleEmailLinkVerification = async (e10, a10) => {
            if (!this.client) return;
            let t10 = eF("__clerk_status");
            if ("expired" === t10) throw new A(T.Expired);
            if ("client_mismatch" === t10) throw new A(T.ClientMismatch);
            if ("verified" !== t10) throw new A(T.Failed);
            let r10 = eF("__clerk_created_session"), { signIn: i2, signUp: n3, sessions: s3 } = this.client, o4 = s3.some((e11) => e11.id === r10), l3 = "needs_second_factor" === i2.status || "missing_requirements" === n3.status, c3 = (e11) => a10 && "function" == typeof a10 ? a10(e11) : this.navigate(e11), d3 = e10.redirectUrl ? () => c3(e10.redirectUrl) : ae.lQ;
            return o4 ? this.setActive({ session: r10, redirectUrl: e10.redirectUrlComplete }) : l3 ? d3() : ("function" == typeof e10.onVerifiedOnOtherDevice && e10.onVerifiedOnOtherDevice(), null);
          };
          handleGoogleOneTapCallback = async (e10, a10, t10) => {
            if (!this.loaded || !this.environment || !this.client) return;
            let { signIn: r10, signUp: i2 } = this.client, n3 = "identifier" in (e10 || {}) ? e10 : r10, s3 = "missingFields" in (e10 || {}) ? e10 : i2, o4 = (e11) => t10 && "function" == typeof t10 ? t10(this.buildUrlWithAuth(e11)) : this.navigate(this.buildUrlWithAuth(e11));
            return this._handleRedirectCallback(a10, { signUp: s3, signIn: n3, navigate: o4 });
          };
          _handleRedirectCallback = async (e10, { signIn: a10, signUp: t10, navigate: r10 }) => {
            if (!this.loaded || !this.environment || !this.client) return;
            if (!window.opener && e10.reloadResource) try {
              "signIn" === e10.reloadResource ? await a10.reload() : "signUp" === e10.reloadResource && await t10.reload();
            } catch {
            }
            let { displayConfig: i2 } = this.environment, { firstFactorVerification: n3 } = a10, { externalAccount: s3 } = t10.verifications, o4 = { status: t10.status, missingFields: t10.missingFields, externalAccountStatus: s3.status, externalAccountErrorCode: s3.error?.code, externalAccountSessionId: s3.error?.meta?.sessionId, sessionId: t10.createdSessionId }, l3 = { status: a10.status, firstFactorVerificationStatus: n3.status, firstFactorVerificationErrorCode: n3.error?.code, firstFactorVerificationSessionId: n3.error?.meta?.sessionId, sessionId: a10.createdSessionId }, c3 = (e11) => () => r10(e11), d3 = c3(e10.signInUrl || i2.signInUrl), u3 = c3(e10.signUpUrl || i2.signUpUrl), h3 = c3(e10.firstFactorUrl || eI({ base: i2.signInUrl, hashPath: "/factor-one" }, { stringify: true })), m3 = c3(e10.secondFactorUrl || eI({ base: i2.signInUrl, hashPath: "/factor-two" }, { stringify: true })), p3 = c3(e10.resetPasswordUrl || eI({ base: i2.signInUrl, hashPath: "/reset-password" }, { stringify: true })), g3 = new eE(this.#eM, e10), b3 = c3(e10.continueSignUpUrl || eI({ base: i2.signUpUrl, hashPath: "/continue" }, { stringify: true })), f4 = ({ missingFields: a11 }) => a11.length ? b3() : (({ signUp: e11, verifyEmailPath: a12, verifyPhonePath: t11, continuePath: r11, navigate: i3, handleComplete: n4, redirectUrl: s4 = "", redirectUrlComplete: o5 = "", oidcPrompt: l4 }) => {
              if ("complete" === e11.status) return n4 && n4();
              if ("missing_requirements" === e11.status) {
                if (e11.missingFields.some((e12) => "enterprise_sso" === e12)) return e11.authenticateWithRedirect({ strategy: "enterprise_sso", redirectUrl: s4, redirectUrlComplete: o5, continueSignUp: true, oidcPrompt: l4 });
                let n5 = eN();
                if (e11.unverifiedFields?.includes("email_address") && a12) return i3(a12, { searchParams: n5 });
                if (e11.unverifiedFields?.includes("phone_number") && t11) return i3(t11, { searchParams: n5 });
                if (r11) return i3(r11, { searchParams: n5 });
              }
            })({ signUp: t10, verifyEmailPath: e10.verifyEmailAddressUrl || eI({ base: i2.signUpUrl, hashPath: "/verify-email-address" }, { stringify: true }), verifyPhonePath: e10.verifyPhoneNumberUrl || eI({ base: i2.signUpUrl, hashPath: "/verify-phone-number" }, { stringify: true }), navigate: r10 }), y2 = e10.signInUrl || i2.signInUrl, k2 = e10.signUpUrl || i2.signUpUrl, w2 = async ({ session: e11, baseUrl: a11, redirectUrl: t11 }) => {
              e11.currentTask ? await e$(e11, { baseUrl: a11, navigate: this.navigate }) : await this.navigate(t11);
            };
            if ("complete" === l3.status) return this.setActive({ session: l3.sessionId, navigate: async ({ session: e11 }) => {
              await w2({ session: e11, baseUrl: y2, redirectUrl: g3.getAfterSignInUrl() });
            } });
            if ("transferable" === o4.externalAccountStatus && "external_account_exists" === o4.externalAccountErrorCode) {
              let e11 = await a10.create({ transfer: true });
              switch (e11.status) {
                case "complete":
                  return this.setActive({ session: e11.createdSessionId, navigate: async ({ session: e12 }) => {
                    await w2({ session: e12, baseUrl: k2, redirectUrl: g3.getAfterSignInUrl() });
                  } });
                case "needs_first_factor":
                  return h3();
                case "needs_second_factor":
                  return m3();
                case "needs_new_password":
                  return p3();
                default:
                  aE("sign in");
              }
            }
            let v2 = "user_locked" === o4.externalAccountErrorCode, j2 = "user_locked" === l3.firstFactorVerificationErrorCode;
            if (v2) return u3();
            if (j2) return d3();
            if ("needs_first_factor" === l3.status && !a10.supportedFirstFactors?.every((e11) => "enterprise_sso" === e11.strategy)) return h3();
            if ("needs_new_password" === l3.status) return p3();
            if ("transferable" === l3.firstFactorVerificationStatus) {
              if (false === e10.transferable) return d3();
              let a11 = await t10.create({ transfer: true, unsafeMetadata: e10.unsafeMetadata });
              switch (a11.status) {
                case "complete":
                  return this.setActive({ session: a11.createdSessionId, navigate: async ({ session: e11 }) => {
                    await w2({ session: e11, baseUrl: k2, redirectUrl: g3.getAfterSignUpUrl() });
                  } });
                case "missing_requirements":
                  return f4({ missingFields: a11.missingFields });
                default:
                  aE("sign in");
              }
            }
            if ("complete" === o4.status) return this.setActive({ session: o4.sessionId, navigate: async ({ session: e11 }) => {
              await w2({ session: e11, baseUrl: k2, redirectUrl: g3.getAfterSignUpUrl() });
            } });
            if ("needs_second_factor" === l3.status) return m3();
            let _4 = ("failed" === o4.externalAccountStatus || "unverified" === o4.externalAccountStatus) && "identifier_already_signed_in" === o4.externalAccountErrorCode && o4.externalAccountSessionId, z2 = "failed" === l3.firstFactorVerificationStatus && "identifier_already_signed_in" === l3.firstFactorVerificationErrorCode && l3.firstFactorVerificationSessionId;
            if (_4 || z2) {
              let e11 = l3.firstFactorVerificationSessionId || o4.externalAccountSessionId;
              if (e11) return this.setActive({ session: e11, navigate: async ({ session: e12 }) => {
                await w2({ session: e12, baseUrl: _4 ? k2 : y2, redirectUrl: g3.getAfterSignInUrl() });
              } });
            }
            return ((e11) => {
              let { externalAccount: a11 } = e11.verifications;
              return !!a11.error;
            })(t10) ? u3() : "verified" === o4.externalAccountStatus && "missing_requirements" === o4.status ? f4({ missingFields: t10.missingFields }) : this.session?.currentTask ? void await this.redirectToTasks({ redirectUrl: this.buildAfterSignInUrl() }) : d3();
          };
          handleRedirectCallback = async (e10 = {}, a10) => {
            if (!this.loaded || !this.environment || !this.client) return;
            let { signIn: t10, signUp: r10 } = this.client, i2 = (e11) => a10 && "function" == typeof a10 ? a10(e11) : this.navigate(e11);
            return this._handleRedirectCallback(e10, { signUp: r10, signIn: t10, navigate: i2 });
          };
          handleUnauthenticated = async (e10 = { broadcast: true }) => {
            if (this.client && this.session) try {
              let a10 = await t9.getOrCreateInstance().fetch();
              if (this.updateClient(a10), this.session) return;
              return e10.broadcast && tL.emit(tD, null), this.setActive({ session: null });
            } catch (e11) {
              if (q(e11) && [403, 500].includes(e11.status)) return this.setActive({ session: null });
              throw e11;
            }
          };
          __internal_handleUnauthenticatedDevBrowser = async () => {
            this.#eS && await this.#eS.handleUnauthenticatedDevBrowser();
          };
          authenticateWithGoogleOneTap = async (e10) => (aT("Google One Tap"), this.client.signIn);
          authenticateWithMetamask = async (e10 = {}) => {
            await this.authenticateWithWeb3({ ...e10, strategy: "web3_metamask_signature" });
          };
          authenticateWithCoinbaseWallet = async (e10 = {}) => {
            await this.authenticateWithWeb3({ ...e10, strategy: "web3_coinbase_wallet_signature" });
          };
          authenticateWithBase = async (e10 = {}) => {
            await this.authenticateWithWeb3({ ...e10, strategy: "web3_base_signature" });
          };
          authenticateWithOKXWallet = async (e10 = {}) => {
            await this.authenticateWithWeb3({ ...e10, strategy: "web3_okx_wallet_signature" });
          };
          authenticateWithSolana = async (e10) => {
            await this.authenticateWithWeb3({ ...e10, strategy: "web3_solana_signature" });
          };
          authenticateWithWeb3 = async ({ redirectUrl: e10, signUpContinueUrl: a10, customNavigate: t10, unsafeMetadata: r10, strategy: i2, legalAccepted: n3, secondFactorUrl: s3, walletName: o4 }) => {
            let l3, c3;
            if (!this.client || !this.environment) return;
            let { displayConfig: d3 } = this.environment, u3 = i2.replace("web3_", "").replace("_signature", ""), h3 = await aS().getWeb3Identifier({ provider: u3, walletName: o4 });
            switch (u3) {
              case "metamask":
                l3 = aS().generateSignatureWithMetamask;
                break;
              case "base":
                l3 = aS().generateSignatureWithBase;
                break;
              case "coinbase_wallet":
                l3 = aS().generateSignatureWithCoinbaseWallet;
                break;
              case "solana":
                if (!o4) throw new j("Wallet name is required for Solana authentication.", { code: "web3_solana_wallet_name_required" });
                l3 = (e11) => aS().generateSignatureWithSolana({ ...e11, walletName: o4 });
                break;
              default:
                l3 = aS().generateSignatureWithOKXWallet;
            }
            let m3 = (e11) => () => t10 && "function" == typeof t10 ? t10(e11) : this.navigate(e11), p3 = m3(s3 || eI({ base: d3.signInUrl, hashPath: "/factor-two" }, { stringify: true })), g3 = m3(a10 || eI({ base: d3.signUpUrl, hashPath: "/continue" }, { stringify: true }));
            try {
              c3 = await this.client.signIn.authenticateWithWeb3({ identifier: h3, generateSignature: l3, strategy: i2, walletName: o4 });
            } catch (e11) {
              if (ay(e11, "form_identifier_not_found")) c3 = await this.client.signUp.authenticateWithWeb3({ identifier: h3, generateSignature: l3, unsafeMetadata: r10, strategy: i2, legalAccepted: n3, walletName: o4 }), a10 && "missing_requirements" === c3.status && "verified" === c3.verifications.web3Wallet.status && await g3();
              else throw e11;
            }
            let b3 = async ({ session: e11, redirectUrl: a11 }) => {
              e11.currentTask ? await e$(e11, { baseUrl: d3.signInUrl, navigate: this.navigate }) : await this.navigate(a11);
            };
            switch (c3.status) {
              case "needs_second_factor":
                await p3();
                break;
              case "complete":
                c3.createdSessionId && await this.setActive({ session: c3.createdSessionId, navigate: async ({ session: a11 }) => {
                  await b3({ session: a11, redirectUrl: e10 ?? this.buildAfterSignInUrl() });
                } });
                break;
              default:
                return;
            }
          };
          createOrganization = async ({ name: e10, slug: a10 }) => rI.create({ name: e10, slug: a10 });
          getOrganization = async (e10) => rI.get(e10);
          joinWaitlist = async ({ emailAddress: e10 }) => ip.join({ emailAddress: e10 });
          updateEnvironment(e10) {
            this.environment = e10;
          }
          __internal_setCountry = (e10) => {
            this.__internal_country || (this.__internal_country = e10);
          };
          get __internal_last_error() {
            let e10 = this.internal_last_error;
            return this.internal_last_error = null, e10;
          }
          set __internal_last_error(e10) {
            this.internal_last_error = e10;
          }
          updateClient = (e10, a10) => {
            if (!this.client) {
              let a11 = this.#eM.selectInitialSession ? this.#eM.selectInitialSession(e10) : this.#e0(e10);
              this.#e$(a11, { dangerouslySkipEmit: true });
            }
            if (this.client = e10, this.session) {
              let a11 = this.#eG(this.session.id, e10);
              "active" === this.session.status && a11?.status === "pending" && ("u" > typeof window && "function" == typeof window.__internal_onAfterSetActive ? window.__internal_onAfterSetActive : ae.lQ)(), this.#e$(a11, { dangerouslySkipEmit: true }), this.session?.lastActiveToken || u2() || ao.warn("No last active token when updating client (offline)", { sessionId: this.session?.id }, "clerk"), tL.emit(tF, { token: this.session?.lastActiveToken });
            }
            a10?.__internal_dangerouslySkipEmit || this.#e9();
          };
          get __internal_environment() {
            return this.environment;
          }
          __internal_setEnvironment = async (e10) => {
            this.environment = new rk(e10);
          };
          __internal_onBeforeRequest = (e10) => {
            this.#eP.onBeforeRequest(e10);
          };
          __internal_onAfterResponse = (e10) => {
            this.#eP.onAfterResponse(e10);
          };
          __internal_updateProps = (e10) => {
            let a10 = { ...e10, options: this.#eL({ ...this.#eM, ...e10.options }) };
            return this.#eA?.then((e11) => e11.ensureMounted()).then((e11) => e11.updateProps(a10));
          };
          __internal_navigateWithError(e10, a10) {
            return this.__internal_last_error = a10, this.navigate(e10);
          }
          #e3 = () => {
            let e10 = new URLSearchParams({ [Y2]: window.location.href });
            return eI({ base: this.#eM.signInUrl, searchParams: e10 }, { stringify: true });
          };
          #e8 = () => {
            let e10;
            if (this.proxyUrl) {
              let a10 = new URL(this.proxyUrl);
              e10 = new URL(`${a10.pathname}/v1/client/sync`, a10.origin);
            } else this.domain && (e10 = new URL("/v1/client/sync", `https://${this.domain}`));
            return e10?.searchParams.append("redirect_url", window.location.href), e10?.toString() || "";
          };
          #e5 = () => {
            let e10 = eF(V);
            return e10 !== G && !!this.isSatellite && (e10 === H || true === this.#eM.satelliteAutoSync && !!this.#eS?.isSignedOut());
          };
          #e4 = () => "production" !== this.#eT && !this.isSatellite && !!eF(Y2);
          #e6 = async () => {
            "development" === this.instanceType ? await this.navigate(this.#e3()) : "production" === this.instanceType && await this.navigate(this.#e8());
          };
          #e7 = (e10, a10) => {
            let t10;
            try {
              t10 = new URL(e10);
            } catch {
              throw Error(`${aP} The signInUrl needs to have a absolute url format.`);
            }
            t10.origin === a10 && (function() {
              throw Error(`${aP} The signInUrl needs to be on a different origin than your satellite application.`);
            })();
          };
          #ae = () => {
            this.isSatellite && ("development" !== this.#eT || this.#eM.signInUrl || (function() {
              throw Error(`${aP} Missing signInUrl. A satellite application needs to specify the signInUrl for development instances.`);
            })(), this.proxyUrl || this.domain || (function() {
              throw Error(`${aP} Missing domain and proxyUrl. A satellite application needs to specify a domain or a proxyUrl.`);
            })(), this.#eM.signInUrl && this.#e7(this.#eM.signInUrl, window.location.origin));
          };
          #eB = async () => {
            if (this.#eS = await iE.create(this, this.#eP, this.#eT, this.#eN), this.#ae(), this.#e5()) return void await this.#e6();
            if (this.#e4()) return void await this.#e2();
            this.#eF = (() => {
              if (!o3()) return { onPageFocus: ae.lQ };
              let e11 = [];
              return window.addEventListener("focus", () => {
                "visible" === document.visibilityState && e11.forEach((e12) => e12());
              }), { onPageFocus: (a11) => {
                e11.push(a11);
              } };
            })(), "u" > typeof BroadcastChannel && (this.#eC = new BroadcastChannel("clerk")), this.#aa();
            let e10 = (function(e11 = window.location.hostname) {
              if (!e11) return false;
              let a11 = eq.get(e11);
              void 0 === a11 && (a11 = ed.some((a12) => e11.startsWith("accounts.") && e11.endsWith(a12)) || eu.some((a12) => e11.endsWith(a12) && !e11.endsWith(".clerk" + a12)), eq.set(e11, a11));
              return a11;
            })(window?.location.hostname), a10 = "development" === this.#eT && !e10, t10 = 0, r10 = 0;
            for (; r10 < 2; ) {
              r10++;
              try {
                let e11 = rk.getInstance().fetch({ touch: a10 }).then((e12) => this.updateEnvironment(e12)).catch(() => {
                  ++t10;
                  let e12 = aA.getItem(aI, null);
                  e12 && this.updateEnvironment(new rk(e12));
                }), r11 = async () => t9.getOrCreateInstance().fetch().then((e12) => this.updateClient(e12)).catch(async (e12) => {
                  if (R(e12)) throw e12;
                  ++t10;
                  let a11 = this.#eS?.getSessionCookie(), r12 = (function(e13) {
                    let a12;
                    try {
                      a12 = new it({ jwt: e13 || "", object: "token", id: void 0 });
                    } catch {
                      a12 = null;
                    }
                    if (t9.clearInstance(), !a12?.jwt) return t9.getOrCreateInstance({ object: "client", last_active_session_id: null, id: "client_init", sessions: [] });
                    let { sessionId: t11, userId: r13, orgId: i3, orgRole: n3, orgPermissions: s3, orgSlug: o4, factorVerificationAge: l3 } = ((e14) => {
                      let a13, t12, r14, i4, n4 = e14.fva ?? null, s4 = e14.sts ?? null;
                      if (2 === e14.v) {
                        if (e14.o) {
                          a13 = e14.o?.id, r14 = e14.o?.slg, e14.o?.rol && (t12 = `org:${e14.o?.rol}`);
                          let { org: n5 } = rJ(e14.fea), { permissions: s5, featurePermissionMap: o5 } = (({ per: e15, fpm: a14 }) => {
                            if (!e15 || !a14) return { permissions: [], featurePermissionMap: [] };
                            let t13 = e15.split(",").map((e16) => e16.trim());
                            return { permissions: t13, featurePermissionMap: a14.split(",").map((e16) => Number.parseInt(e16.trim(), 10)).map((e16) => e16.toString(2).padStart(t13.length, "0").split("").map((e17) => Number.parseInt(e17, 10)).reverse()).filter(Boolean) };
                          })({ per: e14.o?.per, fpm: e14.o?.fpm });
                          i4 = (function({ features: e15, permissions: a14, featurePermissionMap: t13 }) {
                            if (!e15 || !a14 || !t13) return [];
                            let r15 = [];
                            for (let i5 = 0; i5 < e15.length; i5++) {
                              let n6 = e15[i5];
                              if (i5 >= t13.length) continue;
                              let s6 = t13[i5];
                              if (s6) for (let e16 = 0; e16 < s6.length; e16++) 1 === s6[e16] && r15.push(`org:${n6}:${a14[e16]}`);
                            }
                            return r15;
                          })({ features: n5, featurePermissionMap: o5, permissions: s5 });
                        }
                      } else a13 = e14.org_id, t12 = e14.org_role, r14 = e14.org_slug, i4 = e14.org_permissions;
                      return { sessionClaims: e14, sessionId: e14.sid, sessionStatus: s4, actor: e14.act, userId: e14.sub, orgId: a13, orgRole: t12, orgSlug: r14, orgPermissions: i4, factorVerificationAge: n4 };
                    })(a12.jwt.claims), c3 = { object: "client", last_active_session_id: t11, id: "client_init", sessions: [{ object: "session", id: t11, status: "active", last_active_organization_id: i3 || null, last_active_token: { id: void 0, object: "token", jwt: e13 }, factor_verification_age: l3 || null, public_user_data: { user_id: r13 }, user: { object: "user", id: r13, organization_memberships: i3 && o4 && n3 ? [{ object: "organization_membership", id: i3, role: n3, permissions: s3 || [], organization: { object: "organization", id: i3, name: o4, slug: o4, members_count: 1, max_allowed_memberships: 1 } }] : [] } }] };
                    return t9.getOrCreateInstance(c3);
                  })(a11);
                  return this.updateClient(r12), this.#eS?.stopPollingForToken(), await this.session?.getToken({ skipCache: true }).catch(() => null).finally(() => {
                    this.#eS?.startPollingForToken();
                  }), null;
                }), [, i2] = await (0, ae.vd)([e11, r11()]);
                if ("rejected" === i2.status) {
                  let e12 = i2.reason;
                  if (ay(e12, "requires_captcha")) await r11();
                  else throw e12;
                }
                if (this.#eS?.setClientUatCookieForDevelopmentInstances(), await this.#at()) return;
                break;
              } catch (e11) {
                if (ay(e11, "dev_browser_unauthenticated")) await this.#eS.handleUnauthenticatedDevBrowser();
                else if (!u2()) return void console.warn(e11);
                else throw e11;
              }
              r10 >= 2 && (function() {
                throw Error(`${aP} Something went wrong initializing Clerk.`);
              })();
            }
            this.#eU = new iR(this), this.#eU.start(), this.#ar(), this.#ai(), this.#an(), this.#eN.emit(b2, t10 > 0 ? "degraded" : "ready");
          };
          shouldFallbackToCachedResources = () => !!this.__internal_getCachedResources;
          #eK = async () => {
            let e10, a10, t10 = this.shouldFallbackToCachedResources() ? 1 : void 0, r10 = 0;
            try {
              [e10, a10] = await Promise.all([rk.getInstance().fetch({ touch: false, fetchMaxTries: t10 }), t9.getOrCreateInstance().fetch({ fetchMaxTries: t10 })]);
            } catch (t11) {
              if (_3(t11) && "network_error" === t11.code && this.shouldFallbackToCachedResources()) {
                let t12 = await this.__internal_getCachedResources?.();
                e10 = new rk(t12?.environment), t9.clearInstance(), a10 = t9.getOrCreateInstance(t12?.client), ++r10;
              } else throw t11;
            }
            this.updateClient(a10), this.updateEnvironment(e10), this.#eN.emit(b2, r10 > 0 ? "degraded" : "ready");
          };
          __internal_reloadInitialResources = async () => {
            let [e10, a10] = await Promise.all([rk.getInstance().fetch({ touch: false, fetchMaxTries: 1 }), t9.getOrCreateInstance().fetch({ fetchMaxTries: 1 })]);
            this.updateClient(a10), this.updateEnvironment(e10), this.#e9();
          };
          #e0 = (e10) => {
            if (e10.lastActiveSessionId) {
              let a10 = e10.signedInSessions.find((a11) => a11.id === e10.lastActiveSessionId);
              if (a10) return a10;
            }
            return e10.signedInSessions[0] || null;
          };
          #aa = () => {
            o3() && (this.#eF?.onPageFocus(() => {
              this.session && !(!(this.environment && !this.environment.authConfig.singleSessionMode) && this.#eD > Date.now()) && (this.#eD = Date.now() + 5e3, this.#eM.touchSession && this.#eH(this.session, "focus"));
            }), this.#eC?.addEventListener("message", (e10) => {
              e10.data?.type === "signout" && this.handleUnauthenticated({ broadcast: false });
            }), tL.on(tD, () => {
              this.#eC?.postMessage({ type: "signout" });
            }), tL.on(tN, () => {
              aA.setItem(aI, this.environment?.__internal_toSnapshot(), 864e5);
            }));
          };
          #eH = async (e10, a10 = "focus") => {
            if (!e10) return Promise.resolve();
            await e10.touch({ intent: a10 }).catch((e11) => {
              if (M(e11)) this.handleUnauthenticated();
              else throw e11;
            });
          };
          __internal_lastEmittedResources;
          #e9 = () => {
            if (this.client) {
              let e10 = { client: this.client, session: this.session, user: this.user, organization: this.organization };
              for (let a10 of (this.__internal_lastEmittedResources = e10, this.#eE)) a10(e10);
            }
          };
          #eQ = () => {
            for (let e10 of this.#eR) e10();
          };
          #eV = () => {
            this.session = void 0, this.organization = void 0, this.user = void 0, this.#e9();
          };
          #as = (e10 = this.session) => (e10?.user.organizationMemberships || []).map((e11) => e11.organization).find((a10) => a10.id === e10?.lastActiveOrganizationId) || null;
          #ao = (e10 = this.session) => ({ session: e10 || null, organization: this.#as(e10), user: e10 ? e10.user : null });
          #e$ = (e10, a10) => {
            let { session: t10, organization: r10, user: i2 } = this.#ao(e10);
            this.session = t10, this.organization = r10, this.user = i2, a10?.dangerouslySkipEmit || this.#e9();
          };
          #eG = (e10, a10 = this.client) => a10?.signedInSessions.find((a11) => a11.id === e10) || null;
          #ai = () => {
            this.addListener(({ session: e10 }) => {
              e10?.actor && this.#eA?.then((e11) => e11.ensureMounted()).then((e11) => e11.mountImpersonationFab());
            });
          };
          #an = () => {
            this.#eM.__internal_keyless_claimKeylessApplicationUrl && this.#eA?.then((e10) => e10.ensureMounted()).then((e10) => {
              e10.updateProps({ options: { __internal_keyless_claimKeylessApplicationUrl: this.#eM.__internal_keyless_claimKeylessApplicationUrl, __internal_keyless_copyInstanceKeysUrl: this.#eM.__internal_keyless_copyInstanceKeysUrl, __internal_keyless_dismissPrompt: this.#eM.__internal_keyless_dismissPrompt } });
            });
          };
          #e1 = (e10, a10, t10) => {
            if (!e10 || !this.loaded || !this.environment || !this.environment.displayConfig) return "";
            let r10 = this.#eM[e10] || this.environment.displayConfig[e10];
            this.#eJ() && (r10 = this.#eM.signInUrl);
            let i2 = new eE(this.#eM, a10).toSearchParams(), n3 = new URLSearchParams(t10 || {}), s3 = eI({ base: r10, hashPath: this.#eJ() && "signUpUrl" === e10 ? "/create" : "", hashSearchParams: [n3, i2] }, { stringify: true });
            return this.buildUrlWithAuth(s3);
          };
          assertComponentsReady(e10) {
            if (!e10) throw Error("Clerk was not loaded with Ui components");
          }
          #at = async () => {
            var e10;
            let a10, t10, r10, i2, n3 = new URLSearchParams(window.location.search).get("redirect_url"), s3 = "production" === this.instanceType, o4 = null !== n3 && (e10 = this.frontendApi, t10 = (a10 = new URL(n3, e_)).pathname, r10 = eT.includes(t10) || eO.includes(t10), e10 === a10.host && r10);
            if (s3 || !o4) return false;
            let l3 = this.session, c3 = this.#eM.signInUrl || this.environment?.displayConfig.signInUrl, d3 = c3 && window.location.href.startsWith(c3), u3 = this.#eM.signUpUrl || this.environment?.displayConfig.signUpUrl, h3 = u3 && window.location.href.startsWith(u3);
            return i2 = new URL(n3, e_), (!eT.includes(i2.pathname) || !!l3 || !d3 && !h3) && (await this.navigate(this.buildUrlWithAuth(n3)), true);
          };
          #eL = (e10) => {
            let a10 = e10?.clerkUICtor ?? e10?.clerkUiCtor, t10 = a10 ? { ...e10?.ui, ClerkUI: a10 } : e10?.ui;
            return { ...iG, ...e10, ui: t10, allowedRedirectOrigins: (function(e11, a11, t11) {
              if (Array.isArray(e11) && e11.length) return e11;
              let r10 = [];
              return "u" > typeof window && window.location && r10.push(window.location.origin), r10.push(`https://${eS(a11)}`), r10.push(`https://*.${eS(a11)}`), "development" === t11 && r10.push(`https://${a11}`), r10;
            })(e10?.allowedRedirectOrigins, this.frontendApi, this.instanceType) };
          };
          #ar = () => {
            try {
              eD(V), eD(eR), eD(Q), eD("__clerk_handshake"), eD("__clerk_handshake_nonce"), eD("__clerk_help");
            } catch {
            }
          };
          get #eY() {
            let e10 = eH;
            return this.#eM.allowedRedirectProtocols && (e10 = e10.concat(this.#eM.allowedRedirectProtocols)), e10;
          }
          #eW() {
            return void 0 !== this.client;
          }
        }
      })();
      s = n.c2;
      o = n.LR;
      l = n.cR;
      c = n.NZ;
      d = n.Ys;
      u = n.kl;
      h = n.$R;
      m = n.Cm;
      p = n.hl;
      g = n.ux;
      b = n.si;
      f = n._d;
    }
  });

  // node_modules/webextension-polyfill/dist/browser-polyfill.js
  var require_browser_polyfill = __commonJS({
    "node_modules/webextension-polyfill/dist/browser-polyfill.js"(exports, module) {
      (function(global2, factory) {
        if (typeof define === "function" && define.amd) {
          define("webextension-polyfill", ["module"], factory);
        } else if (typeof exports !== "undefined") {
          factory(module);
        } else {
          var mod2 = {
            exports: {}
          };
          factory(mod2);
          global2.browser = mod2.exports;
        }
      })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : exports, function(module2) {
        "use strict";
        if (!(globalThis.chrome && globalThis.chrome.runtime && globalThis.chrome.runtime.id)) {
          throw new Error("This script should only be loaded in a browser extension.");
        }
        if (!(globalThis.browser && globalThis.browser.runtime && globalThis.browser.runtime.id)) {
          const CHROME_SEND_MESSAGE_CALLBACK_NO_RESPONSE_MESSAGE = "The message port closed before a response was received.";
          const wrapAPIs = (extensionAPIs) => {
            const apiMetadata = {
              "alarms": {
                "clear": {
                  "minArgs": 0,
                  "maxArgs": 1
                },
                "clearAll": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "get": {
                  "minArgs": 0,
                  "maxArgs": 1
                },
                "getAll": {
                  "minArgs": 0,
                  "maxArgs": 0
                }
              },
              "bookmarks": {
                "create": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "get": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getChildren": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getRecent": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getSubTree": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getTree": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "move": {
                  "minArgs": 2,
                  "maxArgs": 2
                },
                "remove": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "removeTree": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "search": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "update": {
                  "minArgs": 2,
                  "maxArgs": 2
                }
              },
              "browserAction": {
                "disable": {
                  "minArgs": 0,
                  "maxArgs": 1,
                  "fallbackToNoCallback": true
                },
                "enable": {
                  "minArgs": 0,
                  "maxArgs": 1,
                  "fallbackToNoCallback": true
                },
                "getBadgeBackgroundColor": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getBadgeText": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getPopup": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getTitle": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "openPopup": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "setBadgeBackgroundColor": {
                  "minArgs": 1,
                  "maxArgs": 1,
                  "fallbackToNoCallback": true
                },
                "setBadgeText": {
                  "minArgs": 1,
                  "maxArgs": 1,
                  "fallbackToNoCallback": true
                },
                "setIcon": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "setPopup": {
                  "minArgs": 1,
                  "maxArgs": 1,
                  "fallbackToNoCallback": true
                },
                "setTitle": {
                  "minArgs": 1,
                  "maxArgs": 1,
                  "fallbackToNoCallback": true
                }
              },
              "browsingData": {
                "remove": {
                  "minArgs": 2,
                  "maxArgs": 2
                },
                "removeCache": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "removeCookies": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "removeDownloads": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "removeFormData": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "removeHistory": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "removeLocalStorage": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "removePasswords": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "removePluginData": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "settings": {
                  "minArgs": 0,
                  "maxArgs": 0
                }
              },
              "commands": {
                "getAll": {
                  "minArgs": 0,
                  "maxArgs": 0
                }
              },
              "contextMenus": {
                "remove": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "removeAll": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "update": {
                  "minArgs": 2,
                  "maxArgs": 2
                }
              },
              "cookies": {
                "get": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getAll": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getAllCookieStores": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "remove": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "set": {
                  "minArgs": 1,
                  "maxArgs": 1
                }
              },
              "devtools": {
                "inspectedWindow": {
                  "eval": {
                    "minArgs": 1,
                    "maxArgs": 2,
                    "singleCallbackArg": false
                  }
                },
                "panels": {
                  "create": {
                    "minArgs": 3,
                    "maxArgs": 3,
                    "singleCallbackArg": true
                  },
                  "elements": {
                    "createSidebarPane": {
                      "minArgs": 1,
                      "maxArgs": 1
                    }
                  }
                }
              },
              "downloads": {
                "cancel": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "download": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "erase": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getFileIcon": {
                  "minArgs": 1,
                  "maxArgs": 2
                },
                "open": {
                  "minArgs": 1,
                  "maxArgs": 1,
                  "fallbackToNoCallback": true
                },
                "pause": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "removeFile": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "resume": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "search": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "show": {
                  "minArgs": 1,
                  "maxArgs": 1,
                  "fallbackToNoCallback": true
                }
              },
              "extension": {
                "isAllowedFileSchemeAccess": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "isAllowedIncognitoAccess": {
                  "minArgs": 0,
                  "maxArgs": 0
                }
              },
              "history": {
                "addUrl": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "deleteAll": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "deleteRange": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "deleteUrl": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getVisits": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "search": {
                  "minArgs": 1,
                  "maxArgs": 1
                }
              },
              "i18n": {
                "detectLanguage": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getAcceptLanguages": {
                  "minArgs": 0,
                  "maxArgs": 0
                }
              },
              "identity": {
                "launchWebAuthFlow": {
                  "minArgs": 1,
                  "maxArgs": 1
                }
              },
              "idle": {
                "queryState": {
                  "minArgs": 1,
                  "maxArgs": 1
                }
              },
              "management": {
                "get": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getAll": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "getSelf": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "setEnabled": {
                  "minArgs": 2,
                  "maxArgs": 2
                },
                "uninstallSelf": {
                  "minArgs": 0,
                  "maxArgs": 1
                }
              },
              "notifications": {
                "clear": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "create": {
                  "minArgs": 1,
                  "maxArgs": 2
                },
                "getAll": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "getPermissionLevel": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "update": {
                  "minArgs": 2,
                  "maxArgs": 2
                }
              },
              "pageAction": {
                "getPopup": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getTitle": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "hide": {
                  "minArgs": 1,
                  "maxArgs": 1,
                  "fallbackToNoCallback": true
                },
                "setIcon": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "setPopup": {
                  "minArgs": 1,
                  "maxArgs": 1,
                  "fallbackToNoCallback": true
                },
                "setTitle": {
                  "minArgs": 1,
                  "maxArgs": 1,
                  "fallbackToNoCallback": true
                },
                "show": {
                  "minArgs": 1,
                  "maxArgs": 1,
                  "fallbackToNoCallback": true
                }
              },
              "permissions": {
                "contains": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getAll": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "remove": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "request": {
                  "minArgs": 1,
                  "maxArgs": 1
                }
              },
              "runtime": {
                "getBackgroundPage": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "getPlatformInfo": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "openOptionsPage": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "requestUpdateCheck": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "sendMessage": {
                  "minArgs": 1,
                  "maxArgs": 3
                },
                "sendNativeMessage": {
                  "minArgs": 2,
                  "maxArgs": 2
                },
                "setUninstallURL": {
                  "minArgs": 1,
                  "maxArgs": 1
                }
              },
              "sessions": {
                "getDevices": {
                  "minArgs": 0,
                  "maxArgs": 1
                },
                "getRecentlyClosed": {
                  "minArgs": 0,
                  "maxArgs": 1
                },
                "restore": {
                  "minArgs": 0,
                  "maxArgs": 1
                }
              },
              "storage": {
                "local": {
                  "clear": {
                    "minArgs": 0,
                    "maxArgs": 0
                  },
                  "get": {
                    "minArgs": 0,
                    "maxArgs": 1
                  },
                  "getBytesInUse": {
                    "minArgs": 0,
                    "maxArgs": 1
                  },
                  "remove": {
                    "minArgs": 1,
                    "maxArgs": 1
                  },
                  "set": {
                    "minArgs": 1,
                    "maxArgs": 1
                  }
                },
                "managed": {
                  "get": {
                    "minArgs": 0,
                    "maxArgs": 1
                  },
                  "getBytesInUse": {
                    "minArgs": 0,
                    "maxArgs": 1
                  }
                },
                "sync": {
                  "clear": {
                    "minArgs": 0,
                    "maxArgs": 0
                  },
                  "get": {
                    "minArgs": 0,
                    "maxArgs": 1
                  },
                  "getBytesInUse": {
                    "minArgs": 0,
                    "maxArgs": 1
                  },
                  "remove": {
                    "minArgs": 1,
                    "maxArgs": 1
                  },
                  "set": {
                    "minArgs": 1,
                    "maxArgs": 1
                  }
                }
              },
              "tabs": {
                "captureVisibleTab": {
                  "minArgs": 0,
                  "maxArgs": 2
                },
                "create": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "detectLanguage": {
                  "minArgs": 0,
                  "maxArgs": 1
                },
                "discard": {
                  "minArgs": 0,
                  "maxArgs": 1
                },
                "duplicate": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "executeScript": {
                  "minArgs": 1,
                  "maxArgs": 2
                },
                "get": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getCurrent": {
                  "minArgs": 0,
                  "maxArgs": 0
                },
                "getZoom": {
                  "minArgs": 0,
                  "maxArgs": 1
                },
                "getZoomSettings": {
                  "minArgs": 0,
                  "maxArgs": 1
                },
                "goBack": {
                  "minArgs": 0,
                  "maxArgs": 1
                },
                "goForward": {
                  "minArgs": 0,
                  "maxArgs": 1
                },
                "highlight": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "insertCSS": {
                  "minArgs": 1,
                  "maxArgs": 2
                },
                "move": {
                  "minArgs": 2,
                  "maxArgs": 2
                },
                "query": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "reload": {
                  "minArgs": 0,
                  "maxArgs": 2
                },
                "remove": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "removeCSS": {
                  "minArgs": 1,
                  "maxArgs": 2
                },
                "sendMessage": {
                  "minArgs": 2,
                  "maxArgs": 3
                },
                "setZoom": {
                  "minArgs": 1,
                  "maxArgs": 2
                },
                "setZoomSettings": {
                  "minArgs": 1,
                  "maxArgs": 2
                },
                "update": {
                  "minArgs": 1,
                  "maxArgs": 2
                }
              },
              "topSites": {
                "get": {
                  "minArgs": 0,
                  "maxArgs": 0
                }
              },
              "webNavigation": {
                "getAllFrames": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "getFrame": {
                  "minArgs": 1,
                  "maxArgs": 1
                }
              },
              "webRequest": {
                "handlerBehaviorChanged": {
                  "minArgs": 0,
                  "maxArgs": 0
                }
              },
              "windows": {
                "create": {
                  "minArgs": 0,
                  "maxArgs": 1
                },
                "get": {
                  "minArgs": 1,
                  "maxArgs": 2
                },
                "getAll": {
                  "minArgs": 0,
                  "maxArgs": 1
                },
                "getCurrent": {
                  "minArgs": 0,
                  "maxArgs": 1
                },
                "getLastFocused": {
                  "minArgs": 0,
                  "maxArgs": 1
                },
                "remove": {
                  "minArgs": 1,
                  "maxArgs": 1
                },
                "update": {
                  "minArgs": 2,
                  "maxArgs": 2
                }
              }
            };
            if (Object.keys(apiMetadata).length === 0) {
              throw new Error("api-metadata.json has not been included in browser-polyfill");
            }
            class DefaultWeakMap extends WeakMap {
              constructor(createItem, items = void 0) {
                super(items);
                this.createItem = createItem;
              }
              get(key) {
                if (!this.has(key)) {
                  this.set(key, this.createItem(key));
                }
                return super.get(key);
              }
            }
            const isThenable = (value) => {
              return value && typeof value === "object" && typeof value.then === "function";
            };
            const makeCallback = (promise, metadata) => {
              return (...callbackArgs) => {
                if (extensionAPIs.runtime.lastError) {
                  promise.reject(new Error(extensionAPIs.runtime.lastError.message));
                } else if (metadata.singleCallbackArg || callbackArgs.length <= 1 && metadata.singleCallbackArg !== false) {
                  promise.resolve(callbackArgs[0]);
                } else {
                  promise.resolve(callbackArgs);
                }
              };
            };
            const pluralizeArguments = (numArgs) => numArgs == 1 ? "argument" : "arguments";
            const wrapAsyncFunction = (name, metadata) => {
              return function asyncFunctionWrapper(target2, ...args) {
                if (args.length < metadata.minArgs) {
                  throw new Error(`Expected at least ${metadata.minArgs} ${pluralizeArguments(metadata.minArgs)} for ${name}(), got ${args.length}`);
                }
                if (args.length > metadata.maxArgs) {
                  throw new Error(`Expected at most ${metadata.maxArgs} ${pluralizeArguments(metadata.maxArgs)} for ${name}(), got ${args.length}`);
                }
                return new Promise((resolve, reject) => {
                  if (metadata.fallbackToNoCallback) {
                    try {
                      target2[name](...args, makeCallback({
                        resolve,
                        reject
                      }, metadata));
                    } catch (cbError) {
                      console.warn(`${name} API method doesn't seem to support the callback parameter, falling back to call it without a callback: `, cbError);
                      target2[name](...args);
                      metadata.fallbackToNoCallback = false;
                      metadata.noCallback = true;
                      resolve();
                    }
                  } else if (metadata.noCallback) {
                    target2[name](...args);
                    resolve();
                  } else {
                    target2[name](...args, makeCallback({
                      resolve,
                      reject
                    }, metadata));
                  }
                });
              };
            };
            const wrapMethod = (target2, method, wrapper) => {
              return new Proxy(method, {
                apply(targetMethod, thisObj, args) {
                  return wrapper.call(thisObj, target2, ...args);
                }
              });
            };
            let hasOwnProperty2 = Function.call.bind(Object.prototype.hasOwnProperty);
            const wrapObject = (target2, wrappers = {}, metadata = {}) => {
              let cache2 = /* @__PURE__ */ Object.create(null);
              let handlers = {
                has(proxyTarget2, prop) {
                  return prop in target2 || prop in cache2;
                },
                get(proxyTarget2, prop, receiver) {
                  if (prop in cache2) {
                    return cache2[prop];
                  }
                  if (!(prop in target2)) {
                    return void 0;
                  }
                  let value = target2[prop];
                  if (typeof value === "function") {
                    if (typeof wrappers[prop] === "function") {
                      value = wrapMethod(target2, target2[prop], wrappers[prop]);
                    } else if (hasOwnProperty2(metadata, prop)) {
                      let wrapper = wrapAsyncFunction(prop, metadata[prop]);
                      value = wrapMethod(target2, target2[prop], wrapper);
                    } else {
                      value = value.bind(target2);
                    }
                  } else if (typeof value === "object" && value !== null && (hasOwnProperty2(wrappers, prop) || hasOwnProperty2(metadata, prop))) {
                    value = wrapObject(value, wrappers[prop], metadata[prop]);
                  } else if (hasOwnProperty2(metadata, "*")) {
                    value = wrapObject(value, wrappers[prop], metadata["*"]);
                  } else {
                    Object.defineProperty(cache2, prop, {
                      configurable: true,
                      enumerable: true,
                      get() {
                        return target2[prop];
                      },
                      set(value2) {
                        target2[prop] = value2;
                      }
                    });
                    return value;
                  }
                  cache2[prop] = value;
                  return value;
                },
                set(proxyTarget2, prop, value, receiver) {
                  if (prop in cache2) {
                    cache2[prop] = value;
                  } else {
                    target2[prop] = value;
                  }
                  return true;
                },
                defineProperty(proxyTarget2, prop, desc) {
                  return Reflect.defineProperty(cache2, prop, desc);
                },
                deleteProperty(proxyTarget2, prop) {
                  return Reflect.deleteProperty(cache2, prop);
                }
              };
              let proxyTarget = Object.create(target2);
              return new Proxy(proxyTarget, handlers);
            };
            const wrapEvent = (wrapperMap) => ({
              addListener(target2, listener, ...args) {
                target2.addListener(wrapperMap.get(listener), ...args);
              },
              hasListener(target2, listener) {
                return target2.hasListener(wrapperMap.get(listener));
              },
              removeListener(target2, listener) {
                target2.removeListener(wrapperMap.get(listener));
              }
            });
            const onRequestFinishedWrappers = new DefaultWeakMap((listener) => {
              if (typeof listener !== "function") {
                return listener;
              }
              return function onRequestFinished(req) {
                const wrappedReq = wrapObject(req, {}, {
                  getContent: {
                    minArgs: 0,
                    maxArgs: 0
                  }
                });
                listener(wrappedReq);
              };
            });
            const onMessageWrappers = new DefaultWeakMap((listener) => {
              if (typeof listener !== "function") {
                return listener;
              }
              return function onMessage(message, sender, sendResponse) {
                let didCallSendResponse = false;
                let wrappedSendResponse;
                let sendResponsePromise = new Promise((resolve) => {
                  wrappedSendResponse = function(response) {
                    didCallSendResponse = true;
                    resolve(response);
                  };
                });
                let result;
                try {
                  result = listener(message, sender, wrappedSendResponse);
                } catch (err) {
                  result = Promise.reject(err);
                }
                const isResultThenable = result !== true && isThenable(result);
                if (result !== true && !isResultThenable && !didCallSendResponse) {
                  return false;
                }
                const sendPromisedResult = (promise) => {
                  promise.then((msg) => {
                    sendResponse(msg);
                  }, (error2) => {
                    let message2;
                    if (error2 && (error2 instanceof Error || typeof error2.message === "string")) {
                      message2 = error2.message;
                    } else {
                      message2 = "An unexpected error occurred";
                    }
                    sendResponse({
                      __mozWebExtensionPolyfillReject__: true,
                      message: message2
                    });
                  }).catch((err) => {
                    console.error("Failed to send onMessage rejected reply", err);
                  });
                };
                if (isResultThenable) {
                  sendPromisedResult(result);
                } else {
                  sendPromisedResult(sendResponsePromise);
                }
                return true;
              };
            });
            const wrappedSendMessageCallback = ({
              reject,
              resolve
            }, reply) => {
              if (extensionAPIs.runtime.lastError) {
                if (extensionAPIs.runtime.lastError.message === CHROME_SEND_MESSAGE_CALLBACK_NO_RESPONSE_MESSAGE) {
                  resolve();
                } else {
                  reject(new Error(extensionAPIs.runtime.lastError.message));
                }
              } else if (reply && reply.__mozWebExtensionPolyfillReject__) {
                reject(new Error(reply.message));
              } else {
                resolve(reply);
              }
            };
            const wrappedSendMessage = (name, metadata, apiNamespaceObj, ...args) => {
              if (args.length < metadata.minArgs) {
                throw new Error(`Expected at least ${metadata.minArgs} ${pluralizeArguments(metadata.minArgs)} for ${name}(), got ${args.length}`);
              }
              if (args.length > metadata.maxArgs) {
                throw new Error(`Expected at most ${metadata.maxArgs} ${pluralizeArguments(metadata.maxArgs)} for ${name}(), got ${args.length}`);
              }
              return new Promise((resolve, reject) => {
                const wrappedCb = wrappedSendMessageCallback.bind(null, {
                  resolve,
                  reject
                });
                args.push(wrappedCb);
                apiNamespaceObj.sendMessage(...args);
              });
            };
            const staticWrappers = {
              devtools: {
                network: {
                  onRequestFinished: wrapEvent(onRequestFinishedWrappers)
                }
              },
              runtime: {
                onMessage: wrapEvent(onMessageWrappers),
                onMessageExternal: wrapEvent(onMessageWrappers),
                sendMessage: wrappedSendMessage.bind(null, "sendMessage", {
                  minArgs: 1,
                  maxArgs: 3
                })
              },
              tabs: {
                sendMessage: wrappedSendMessage.bind(null, "sendMessage", {
                  minArgs: 2,
                  maxArgs: 3
                })
              }
            };
            const settingMetadata = {
              clear: {
                minArgs: 1,
                maxArgs: 1
              },
              get: {
                minArgs: 1,
                maxArgs: 1
              },
              set: {
                minArgs: 1,
                maxArgs: 1
              }
            };
            apiMetadata.privacy = {
              network: {
                "*": settingMetadata
              },
              services: {
                "*": settingMetadata
              },
              websites: {
                "*": settingMetadata
              }
            };
            return wrapObject(extensionAPIs, staticWrappers, apiMetadata);
          };
          module2.exports = wrapAPIs(chrome);
        } else {
          module2.exports = globalThis.browser;
        }
      });
    }
  });

  // node_modules/@clerk/chrome-extension/dist/esm/chunk-IAAUBX2J.js
  function createErrorTypeGuard(ErrorClass) {
    function typeGuard(error2) {
      var _a5;
      const target2 = error2 != null ? error2 : this;
      if (!target2) throw new TypeError(`${ErrorClass.kind || ErrorClass.name} type guard requires an error object`);
      if (ErrorClass.kind && typeof target2 === "object" && target2 !== null && "constructor" in target2) {
        if (((_a5 = target2.constructor) == null ? void 0 : _a5.kind) === ErrorClass.kind) return true;
      }
      return target2 instanceof ErrorClass;
    }
    return typeGuard;
  }
  function buildErrorThrower({ packageName, customMessages }) {
    let pkg2 = packageName;
    function buildMessage(rawMessage, replacements) {
      if (!replacements) return `${pkg2}: ${rawMessage}`;
      let msg = rawMessage;
      const matches2 = rawMessage.matchAll(/{{([a-zA-Z0-9-_]+)}}/g);
      for (const match3 of matches2) {
        const replacement = (replacements[match3[1]] || "").toString();
        msg = msg.replace(`{{${match3[1]}}}`, replacement);
      }
      return `${pkg2}: ${msg}`;
    }
    const messages = {
      ...DefaultMessages,
      ...customMessages
    };
    return {
      setPackageName({ packageName: packageName$1 }) {
        if (typeof packageName$1 === "string") pkg2 = packageName$1;
        return this;
      },
      setMessages({ customMessages: customMessages$1 }) {
        Object.assign(messages, customMessages$1 || {});
        return this;
      },
      throwInvalidPublishableKeyError(params) {
        throw new Error(buildMessage(messages.InvalidPublishableKeyErrorMessage, params));
      },
      throwInvalidProxyUrl(params) {
        throw new Error(buildMessage(messages.InvalidProxyUrlErrorMessage, params));
      },
      throwMissingPublishableKeyError() {
        throw new Error(buildMessage(messages.MissingPublishableKeyErrorMessage));
      },
      throwMissingSecretKeyError() {
        throw new Error(buildMessage(messages.MissingSecretKeyErrorMessage));
      },
      throwMissingClerkProviderError(params) {
        throw new Error(buildMessage(messages.MissingClerkProvider, params));
      },
      throw(message) {
        throw new Error(buildMessage(message));
      }
    };
  }
  function isValidDecodedPublishableKey(decoded) {
    if (!decoded.endsWith("$")) return false;
    const withoutTrailing = decoded.slice(0, -1);
    if (withoutTrailing.includes("$")) return false;
    return withoutTrailing.includes(".");
  }
  function parsePublishableKey(key, options2 = {}) {
    key = key || "";
    if (!key || !isPublishableKey(key)) {
      if (options2.fatal && !key) throw new Error("Publishable key is missing. Ensure that your publishable key is correctly configured. Double-check your environment configuration for your keys, or access them here: https://dashboard.clerk.com/last-active?path=api-keys");
      if (options2.fatal && !isPublishableKey(key)) throw new Error("Publishable key not valid.");
      return null;
    }
    const instanceType = key.startsWith(PUBLISHABLE_KEY_LIVE_PREFIX) ? "production" : "development";
    let decodedFrontendApi;
    try {
      decodedFrontendApi = isomorphicAtob(key.split("_")[2]);
    } catch {
      if (options2.fatal) throw new Error("Publishable key not valid: Failed to decode key.");
      return null;
    }
    if (!isValidDecodedPublishableKey(decodedFrontendApi)) {
      if (options2.fatal) throw new Error("Publishable key not valid: Decoded key has invalid format.");
      return null;
    }
    let frontendApi = decodedFrontendApi.slice(0, -1);
    if (options2.proxyUrl) frontendApi = options2.proxyUrl;
    else if (instanceType !== "development" && options2.domain && options2.isSatellite) frontendApi = `clerk.${options2.domain}`;
    return {
      instanceType,
      frontendApi
    };
  }
  function isPublishableKey(key = "") {
    try {
      if (!(key.startsWith(PUBLISHABLE_KEY_LIVE_PREFIX) || key.startsWith(PUBLISHABLE_KEY_TEST_PREFIX))) return false;
      const parts = key.split("_");
      if (parts.length !== 3) return false;
      const encodedPart = parts[2];
      if (!encodedPart) return false;
      return isValidDecodedPublishableKey(isomorphicAtob(encodedPart));
    } catch {
      return false;
    }
  }
  function assertPublishableKey(publishableKey) {
    if (!publishableKey) {
      errorThrower.throwMissingPublishableKeyError();
    }
  }
  function ensureFormattedUrl(url) {
    return url.startsWith("http") ? url : `https://${url}`;
  }
  async function getClientCookie({ url, name }) {
    return await import_webextension_polyfill.default.cookies.get({ name, url: ensureFormattedUrl(url) });
  }
  function createClientCookieListener({ url, name, callback }) {
    const domain = new URL(url).hostname;
    const cookieDomain = domain.startsWith("www.") ? domain.slice(4) : domain;
    const listener = (changeInfo) => {
      if (changeInfo.cookie.domain === cookieDomain && changeInfo.cookie.name === name) {
        void callback(changeInfo);
      }
    };
    return {
      add: () => import_webextension_polyfill.default.cookies.onChanged.addListener(listener),
      has: () => import_webextension_polyfill.default.cookies.onChanged.hasListener(listener),
      remove: () => import_webextension_polyfill.default.cookies.onChanged.removeListener(listener)
    };
  }
  function shouldSync(sync, _params) {
    return Boolean(sync);
  }
  function JWTHandler(store, params) {
    const { sync, frontendApi, ...cookieParams } = params;
    const CACHE_KEY2 = store.createKey(frontendApi, STORAGE_KEY_CLIENT_JWT, "v2");
    const set = async (value) => {
      return await store.set(CACHE_KEY2, value).catch(errorLogger);
    };
    const remove2 = async () => {
      return await store.remove(CACHE_KEY2).catch(errorLogger);
    };
    const get3 = async () => {
      if (shouldSync(sync)) {
        const syncedJWT = await getClientCookie(cookieParams).catch(errorLogger);
        if (syncedJWT) {
          await set(syncedJWT.value);
          return syncedJWT.value;
        }
      }
      return await store.get(CACHE_KEY2);
    };
    const listener = () => {
      if (!shouldSync(sync)) {
        return;
      }
      const { onListenerCallback, ...restCookieParams } = cookieParams;
      return createClientCookieListener({
        ...restCookieParams,
        callback: async (changeInfo) => {
          const existingJWT = await get3();
          if (existingJWT === changeInfo.cookie.value) {
            const syncedUAT = await getClientCookie({ ...restCookieParams, name: CLIENT_UAT_KEY }).catch(errorLogger);
            if (!syncedUAT || (syncedUAT == null ? void 0 : syncedUAT.value) === "0") {
              onListenerCallback == null ? void 0 : onListenerCallback();
            }
            return;
          }
          await set(changeInfo.cookie.value);
          onListenerCallback == null ? void 0 : onListenerCallback();
        }
      });
    };
    return { get: get3, listener, set, remove: remove2 };
  }
  function validateRootManifestKey(manifest, key) {
    if (!manifest[key]) {
      errorThrower.throw(missingManifestKeyError(key));
    }
  }
  function validateManifestPermission(manifest, key) {
    var _a5;
    if (!((_a5 = manifest.permissions) == null ? void 0 : _a5.includes(key))) {
      errorThrower.throw(missingManifestKeyError(`permissions.${key}`));
    }
  }
  function hasAdditionalFeatures(features) {
    return Boolean(features) && Object.keys(features).length > 0;
  }
  function validateManifest(manifest, features) {
    validateRootManifestKey(manifest, "permissions");
    validateManifestPermission(manifest, "storage");
    if (!hasAdditionalFeatures(features)) {
      return;
    }
    if (features.background) {
      validateRootManifestKey(manifest, "background");
    }
    if (features.sync) {
      validateManifestPermission(manifest, "cookies");
      validateRootManifestKey(manifest, "host_permissions");
    }
  }
  function requestHandler(jwtHandler, { isProd }) {
    const handler = async (requestInit) => {
      requestInit.credentials = "omit";
      const currentJWT = await jwtHandler.get();
      if (!currentJWT) {
        return;
      }
      if (isProd) {
        prodHandler(requestInit, currentJWT);
      } else {
        devHandler(requestInit, currentJWT);
      }
    };
    return handler;
  }
  function devHandler(requestInit, jwt) {
    var _a5;
    (_a5 = requestInit.url) == null ? void 0 : _a5.searchParams.append("__clerk_db_jwt", jwt);
  }
  function prodHandler(requestInit, jwt) {
    var _a5;
    (_a5 = requestInit.url) == null ? void 0 : _a5.searchParams.append("_is_native", "1");
    requestInit.headers.set(AUTH_HEADER.PRODUCTION, `Bearer ${jwt}`);
  }
  function responseHandler(jwtHandler, { isProd }) {
    const handler = async (_3, response) => {
      if (isProd) {
        await prodHandler2(response, jwtHandler);
      } else {
        await devHandler2(response, jwtHandler);
      }
    };
    return handler;
  }
  async function devHandler2(response, jwtHandler) {
    const header = response == null ? void 0 : response.headers.get(AUTH_HEADER.DEVELOPMENT);
    if (header) {
      await jwtHandler.set(header);
    } else {
      await jwtHandler.remove();
    }
  }
  async function prodHandler2(response, jwtHandler) {
    const header = response == null ? void 0 : response.headers.get(AUTH_HEADER.PRODUCTION);
    if (header == null ? void 0 : header.startsWith("Bearer")) {
      const jwt = header.split(" ")[1] || void 0;
      if (jwt) {
        await jwtHandler.set(jwt);
      } else {
        await jwtHandler.remove();
      }
    } else if (header) {
      await jwtHandler.set(header);
    }
  }
  function createClerkClient({
    __experimental_syncHostListener = false,
    publishableKey,
    scope,
    storageCache = BrowserStorageCache,
    syncHost
  }) {
    if (clerk && scope !== SCOPE.BACKGROUND) {
      return clerk;
    }
    const sync = Boolean(syncHost);
    const key = parsePublishableKey(publishableKey);
    assertPublishableKey(key);
    const isProd = key.instanceType === "production";
    const manifest = import_webextension_polyfill.default.runtime.getManifest();
    validateManifest(manifest, {
      background: scope === SCOPE.BACKGROUND,
      sync
    });
    const url = syncHost ? syncHost : DEFAULT_LOCAL_HOST_PERMISSION;
    clerk = new s(publishableKey, {});
    const jwtOptions = {
      frontendApi: key.frontendApi,
      name: isProd ? CLIENT_JWT_KEY : DEV_BROWSER_KEY,
      url,
      sync
    };
    if (jwtOptions.sync && __experimental_syncHostListener) {
      jwtOptions.onListenerCallback = () => {
        if (clerk.user) {
          clerk.user.reload();
        } else {
          window.location.reload();
        }
      };
    }
    const jwt = JWTHandler(storageCache, jwtOptions);
    if (jwtOptions.sync && __experimental_syncHostListener) {
      const listener = jwt.listener();
      listener == null ? void 0 : listener.add();
    }
    clerk.__internal_onAfterResponse(responseHandler(jwt, { isProd }));
    clerk.__internal_onBeforeRequest(requestHandler(jwt, { isProd }));
    return clerk;
  }
  var import_webextension_polyfill, __defProp2, __defNormalProp, __publicField, _a, ClerkError, _a2, ClerkRuntimeError, _a3, ClerkAPIError, _a4, ClerkAPIResponseError, isClerkAPIResponseError, DefaultMessages, isomorphicAtob, PUBLISHABLE_KEY_LIVE_PREFIX, PUBLISHABLE_KEY_TEST_PREFIX, SCOPE, DEV_BROWSER_KEY, AUTH_HEADER, CLIENT_JWT_KEY, CLIENT_UAT_KEY, DEFAULT_LOCAL_HOST_PERMISSION, STORAGE_KEY_CLIENT_JWT, errorLogger, errorThrower, missingManifestKeyError, createKey, createBrowserStorageCache, BrowserStorageCache, clerk;
  var init_chunk_IAAUBX2J = __esm({
    "node_modules/@clerk/chrome-extension/dist/esm/chunk-IAAUBX2J.js"() {
      init_clerk_no_rhc();
      import_webextension_polyfill = __toESM(require_browser_polyfill());
      __defProp2 = Object.defineProperty;
      __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
      __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
      ClerkError = (_a = class extends Error {
        constructor(opts) {
          super(new.target.formatMessage(new.target.kind, opts.message, opts.code, opts.docsUrl), { cause: opts.cause });
          __publicField(this, "clerkError", true);
          __publicField(this, "code");
          __publicField(this, "longMessage");
          __publicField(this, "docsUrl");
          __publicField(this, "cause");
          Object.setPrototypeOf(this, _a.prototype);
          this.code = opts.code;
          this.docsUrl = opts.docsUrl;
          this.longMessage = opts.longMessage;
          this.cause = opts.cause;
        }
        get name() {
          return this.constructor.name;
        }
        toString() {
          return `[${this.name}]
Message:${this.message}`;
        }
        static formatMessage(name, msg, code, docsUrl) {
          const prefix2 = "Clerk:";
          const regex = new RegExp(prefix2.replace(" ", "\\s*"), "i");
          msg = msg.replace(regex, "");
          msg = `${prefix2} ${msg.trim()}

(code="${code}")

`;
          if (docsUrl) msg += `

Docs: ${docsUrl}`;
          return msg;
        }
      }, __publicField(_a, "kind", "ClerkError"), _a);
      ClerkRuntimeError = (_a2 = class extends ClerkError {
        constructor(message, options2) {
          super({
            ...options2,
            message
          });
          __publicField(this, "clerkRuntimeError", true);
          Object.setPrototypeOf(this, _a2.prototype);
        }
      }, __publicField(_a2, "kind", "ClerkRuntimeError"), _a2);
      ClerkAPIError = (_a3 = class {
        constructor(json) {
          __publicField(this, "code");
          __publicField(this, "message");
          __publicField(this, "longMessage");
          __publicField(this, "meta");
          var _a5, _b, _c, _d, _e, _f, _g2;
          const parsedError = {
            code: json.code,
            message: json.message,
            longMessage: json.long_message,
            meta: {
              paramName: (_a5 = json.meta) == null ? void 0 : _a5.param_name,
              sessionId: (_b = json.meta) == null ? void 0 : _b.session_id,
              emailAddresses: (_c = json.meta) == null ? void 0 : _c.email_addresses,
              identifiers: (_d = json.meta) == null ? void 0 : _d.identifiers,
              zxcvbn: (_e = json.meta) == null ? void 0 : _e.zxcvbn,
              plan: (_f = json.meta) == null ? void 0 : _f.plan,
              isPlanUpgradePossible: (_g2 = json.meta) == null ? void 0 : _g2.is_plan_upgrade_possible
            }
          };
          this.code = parsedError.code;
          this.message = parsedError.message;
          this.longMessage = parsedError.longMessage;
          this.meta = parsedError.meta;
        }
      }, __publicField(_a3, "kind", "ClerkAPIError"), _a3);
      ClerkAPIResponseError = (_a4 = class extends ClerkError {
        constructor(message, options2) {
          const { data: errorsJson, status, clerkTraceId, retryAfter } = options2;
          super({
            ...options2,
            message,
            code: "api_response_error"
          });
          __publicField(this, "status");
          __publicField(this, "clerkTraceId");
          __publicField(this, "retryAfter");
          __publicField(this, "errors");
          Object.setPrototypeOf(this, _a4.prototype);
          this.status = status;
          this.clerkTraceId = clerkTraceId;
          this.retryAfter = retryAfter;
          this.errors = (errorsJson || []).map((e3) => new ClerkAPIError(e3));
        }
        toString() {
          let message = `[${this.name}]
Message:${this.message}
Status:${this.status}
Serialized errors: ${this.errors.map((e3) => JSON.stringify(e3))}`;
          if (this.clerkTraceId) message += `
Clerk Trace ID: ${this.clerkTraceId}`;
          return message;
        }
        static formatMessage(name, msg, _3, __) {
          return msg;
        }
      }, __publicField(_a4, "kind", "ClerkAPIResponseError"), _a4);
      isClerkAPIResponseError = createErrorTypeGuard(ClerkAPIResponseError);
      DefaultMessages = Object.freeze({
        InvalidProxyUrlErrorMessage: `The proxyUrl passed to Clerk is invalid. The expected value for proxyUrl is an absolute URL or a relative path with a leading '/'. (key={{url}})`,
        InvalidPublishableKeyErrorMessage: `The publishableKey passed to Clerk is invalid. You can get your Publishable key at https://dashboard.clerk.com/last-active?path=api-keys. (key={{key}})`,
        MissingPublishableKeyErrorMessage: `Missing publishableKey. You can get your key at https://dashboard.clerk.com/last-active?path=api-keys.`,
        MissingSecretKeyErrorMessage: `Missing secretKey. You can get your key at https://dashboard.clerk.com/last-active?path=api-keys.`,
        MissingClerkProvider: `{{source}} can only be used within the <ClerkProvider /> component. Learn more: https://clerk.com/docs/components/clerk-provider`
      });
      isomorphicAtob = (data2) => {
        if (typeof atob !== "undefined" && typeof atob === "function") return atob(data2);
        else if (typeof globalThis.Buffer !== "undefined") return globalThis.Buffer.from(data2, "base64").toString();
        return data2;
      };
      PUBLISHABLE_KEY_LIVE_PREFIX = "pk_live_";
      PUBLISHABLE_KEY_TEST_PREFIX = "pk_test_";
      SCOPE = {
        BACKGROUND: "background"
      };
      DEV_BROWSER_KEY = "__clerk_db_jwt";
      AUTH_HEADER = {
        PRODUCTION: "Authorization",
        DEVELOPMENT: "Clerk-Db-Jwt"
      };
      CLIENT_JWT_KEY = "__client";
      CLIENT_UAT_KEY = "__clerk_uat";
      DEFAULT_LOCAL_HOST_PERMISSION = "http://localhost";
      STORAGE_KEY_CLIENT_JWT = "__clerk_client_jwt";
      errorLogger = (err) => console.error(err, err.stack);
      errorThrower = buildErrorThrower({ packageName: "@clerk/chrome-extension" });
      missingManifestKeyError = (key) => `Missing \`${key}\` entry in manifest.json`;
      createKey = (...keys2) => keys2.filter(Boolean).join("|");
      createBrowserStorageCache = (opts = {}) => {
        const __storageArea = opts.storageArea || "local";
        return {
          createKey,
          get: (key) => import_webextension_polyfill.default.storage[__storageArea].get(key).then((result) => result[key] || void 0),
          remove: (key) => import_webextension_polyfill.default.storage[__storageArea].remove(key),
          set: (key, value) => import_webextension_polyfill.default.storage[__storageArea].set({ [key]: value })
        };
      };
      BrowserStorageCache = createBrowserStorageCache();
      s.sdkMetadata = {
        name: "@clerk/chrome-extension",
        version: "3.1.21"
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/internal/index.js
  var UI_BRAND;
  var init_internal = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/internal/index.js"() {
      UI_BRAND = "__clerkUI";
    }
  });

  // node_modules/react/cjs/react.development.js
  var require_react_development = __commonJS({
    "node_modules/react/cjs/react.development.js"(exports, module) {
      "use strict";
      (function() {
        function defineDeprecationWarning(methodName, info) {
          Object.defineProperty(Component.prototype, methodName, {
            get: function() {
              console.warn(
                "%s(...) is deprecated in plain JavaScript React classes. %s",
                info[0],
                info[1]
              );
            }
          });
        }
        function getIteratorFn(maybeIterable) {
          if (null === maybeIterable || "object" !== typeof maybeIterable)
            return null;
          maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"];
          return "function" === typeof maybeIterable ? maybeIterable : null;
        }
        function warnNoop(publicInstance, callerName) {
          publicInstance = (publicInstance = publicInstance.constructor) && (publicInstance.displayName || publicInstance.name) || "ReactClass";
          var warningKey = publicInstance + "." + callerName;
          didWarnStateUpdateForUnmountedComponent[warningKey] || (console.error(
            "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.",
            callerName,
            publicInstance
          ), didWarnStateUpdateForUnmountedComponent[warningKey] = true);
        }
        function Component(props, context, updater) {
          this.props = props;
          this.context = context;
          this.refs = emptyObject;
          this.updater = updater || ReactNoopUpdateQueue;
        }
        function ComponentDummy() {
        }
        function PureComponent(props, context, updater) {
          this.props = props;
          this.context = context;
          this.refs = emptyObject;
          this.updater = updater || ReactNoopUpdateQueue;
        }
        function noop7() {
        }
        function testStringCoercion(value) {
          return "" + value;
        }
        function checkKeyStringCoercion(value) {
          try {
            testStringCoercion(value);
            var JSCompiler_inline_result = false;
          } catch (e3) {
            JSCompiler_inline_result = true;
          }
          if (JSCompiler_inline_result) {
            JSCompiler_inline_result = console;
            var JSCompiler_temp_const = JSCompiler_inline_result.error;
            var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
            JSCompiler_temp_const.call(
              JSCompiler_inline_result,
              "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
              JSCompiler_inline_result$jscomp$0
            );
            return testStringCoercion(value);
          }
        }
        function getComponentNameFromType(type2) {
          if (null == type2) return null;
          if ("function" === typeof type2)
            return type2.$$typeof === REACT_CLIENT_REFERENCE ? null : type2.displayName || type2.name || null;
          if ("string" === typeof type2) return type2;
          switch (type2) {
            case REACT_FRAGMENT_TYPE:
              return "Fragment";
            case REACT_PROFILER_TYPE:
              return "Profiler";
            case REACT_STRICT_MODE_TYPE:
              return "StrictMode";
            case REACT_SUSPENSE_TYPE:
              return "Suspense";
            case REACT_SUSPENSE_LIST_TYPE:
              return "SuspenseList";
            case REACT_ACTIVITY_TYPE:
              return "Activity";
          }
          if ("object" === typeof type2)
            switch ("number" === typeof type2.tag && console.error(
              "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
            ), type2.$$typeof) {
              case REACT_PORTAL_TYPE:
                return "Portal";
              case REACT_CONTEXT_TYPE:
                return type2.displayName || "Context";
              case REACT_CONSUMER_TYPE:
                return (type2._context.displayName || "Context") + ".Consumer";
              case REACT_FORWARD_REF_TYPE:
                var innerType = type2.render;
                type2 = type2.displayName;
                type2 || (type2 = innerType.displayName || innerType.name || "", type2 = "" !== type2 ? "ForwardRef(" + type2 + ")" : "ForwardRef");
                return type2;
              case REACT_MEMO_TYPE:
                return innerType = type2.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type2.type) || "Memo";
              case REACT_LAZY_TYPE:
                innerType = type2._payload;
                type2 = type2._init;
                try {
                  return getComponentNameFromType(type2(innerType));
                } catch (x) {
                }
            }
          return null;
        }
        function getTaskName(type2) {
          if (type2 === REACT_FRAGMENT_TYPE) return "<>";
          if ("object" === typeof type2 && null !== type2 && type2.$$typeof === REACT_LAZY_TYPE)
            return "<...>";
          try {
            var name = getComponentNameFromType(type2);
            return name ? "<" + name + ">" : "<...>";
          } catch (x) {
            return "<...>";
          }
        }
        function getOwner() {
          var dispatcher = ReactSharedInternals.A;
          return null === dispatcher ? null : dispatcher.getOwner();
        }
        function UnknownOwner() {
          return Error("react-stack-top-frame");
        }
        function hasValidKey(config) {
          if (hasOwnProperty2.call(config, "key")) {
            var getter = Object.getOwnPropertyDescriptor(config, "key").get;
            if (getter && getter.isReactWarning) return false;
          }
          return void 0 !== config.key;
        }
        function defineKeyPropWarningGetter(props, displayName) {
          function warnAboutAccessingKey() {
            specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error(
              "%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://react.dev/link/special-props)",
              displayName
            ));
          }
          warnAboutAccessingKey.isReactWarning = true;
          Object.defineProperty(props, "key", {
            get: warnAboutAccessingKey,
            configurable: true
          });
        }
        function elementRefGetterWithDeprecationWarning() {
          var componentName = getComponentNameFromType(this.type);
          didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error(
            "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
          ));
          componentName = this.props.ref;
          return void 0 !== componentName ? componentName : null;
        }
        function ReactElement(type2, key, props, owner, debugStack, debugTask) {
          var refProp = props.ref;
          type2 = {
            $$typeof: REACT_ELEMENT_TYPE,
            type: type2,
            key,
            props,
            _owner: owner
          };
          null !== (void 0 !== refProp ? refProp : null) ? Object.defineProperty(type2, "ref", {
            enumerable: false,
            get: elementRefGetterWithDeprecationWarning
          }) : Object.defineProperty(type2, "ref", { enumerable: false, value: null });
          type2._store = {};
          Object.defineProperty(type2._store, "validated", {
            configurable: false,
            enumerable: false,
            writable: true,
            value: 0
          });
          Object.defineProperty(type2, "_debugInfo", {
            configurable: false,
            enumerable: false,
            writable: true,
            value: null
          });
          Object.defineProperty(type2, "_debugStack", {
            configurable: false,
            enumerable: false,
            writable: true,
            value: debugStack
          });
          Object.defineProperty(type2, "_debugTask", {
            configurable: false,
            enumerable: false,
            writable: true,
            value: debugTask
          });
          Object.freeze && (Object.freeze(type2.props), Object.freeze(type2));
          return type2;
        }
        function cloneAndReplaceKey(oldElement, newKey) {
          newKey = ReactElement(
            oldElement.type,
            newKey,
            oldElement.props,
            oldElement._owner,
            oldElement._debugStack,
            oldElement._debugTask
          );
          oldElement._store && (newKey._store.validated = oldElement._store.validated);
          return newKey;
        }
        function validateChildKeys(node2) {
          isValidElement9(node2) ? node2._store && (node2._store.validated = 1) : "object" === typeof node2 && null !== node2 && node2.$$typeof === REACT_LAZY_TYPE && ("fulfilled" === node2._payload.status ? isValidElement9(node2._payload.value) && node2._payload.value._store && (node2._payload.value._store.validated = 1) : node2._store && (node2._store.validated = 1));
        }
        function isValidElement9(object) {
          return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
        }
        function escape2(key) {
          var escaperLookup = { "=": "=0", ":": "=2" };
          return "$" + key.replace(/[=:]/g, function(match3) {
            return escaperLookup[match3];
          });
        }
        function getElementKey(element, index3) {
          return "object" === typeof element && null !== element && null != element.key ? (checkKeyStringCoercion(element.key), escape2("" + element.key)) : index3.toString(36);
        }
        function resolveThenable(thenable) {
          switch (thenable.status) {
            case "fulfilled":
              return thenable.value;
            case "rejected":
              throw thenable.reason;
            default:
              switch ("string" === typeof thenable.status ? thenable.then(noop7, noop7) : (thenable.status = "pending", thenable.then(
                function(fulfilledValue) {
                  "pending" === thenable.status && (thenable.status = "fulfilled", thenable.value = fulfilledValue);
                },
                function(error2) {
                  "pending" === thenable.status && (thenable.status = "rejected", thenable.reason = error2);
                }
              )), thenable.status) {
                case "fulfilled":
                  return thenable.value;
                case "rejected":
                  throw thenable.reason;
              }
          }
          throw thenable;
        }
        function mapIntoArray(children, array2, escapedPrefix, nameSoFar, callback) {
          var type2 = typeof children;
          if ("undefined" === type2 || "boolean" === type2) children = null;
          var invokeCallback = false;
          if (null === children) invokeCallback = true;
          else
            switch (type2) {
              case "bigint":
              case "string":
              case "number":
                invokeCallback = true;
                break;
              case "object":
                switch (children.$$typeof) {
                  case REACT_ELEMENT_TYPE:
                  case REACT_PORTAL_TYPE:
                    invokeCallback = true;
                    break;
                  case REACT_LAZY_TYPE:
                    return invokeCallback = children._init, mapIntoArray(
                      invokeCallback(children._payload),
                      array2,
                      escapedPrefix,
                      nameSoFar,
                      callback
                    );
                }
            }
          if (invokeCallback) {
            invokeCallback = children;
            callback = callback(invokeCallback);
            var childKey = "" === nameSoFar ? "." + getElementKey(invokeCallback, 0) : nameSoFar;
            isArrayImpl(callback) ? (escapedPrefix = "", null != childKey && (escapedPrefix = childKey.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), mapIntoArray(callback, array2, escapedPrefix, "", function(c2) {
              return c2;
            })) : null != callback && (isValidElement9(callback) && (null != callback.key && (invokeCallback && invokeCallback.key === callback.key || checkKeyStringCoercion(callback.key)), escapedPrefix = cloneAndReplaceKey(
              callback,
              escapedPrefix + (null == callback.key || invokeCallback && invokeCallback.key === callback.key ? "" : ("" + callback.key).replace(
                userProvidedKeyEscapeRegex,
                "$&/"
              ) + "/") + childKey
            ), "" !== nameSoFar && null != invokeCallback && isValidElement9(invokeCallback) && null == invokeCallback.key && invokeCallback._store && !invokeCallback._store.validated && (escapedPrefix._store.validated = 2), callback = escapedPrefix), array2.push(callback));
            return 1;
          }
          invokeCallback = 0;
          childKey = "" === nameSoFar ? "." : nameSoFar + ":";
          if (isArrayImpl(children))
            for (var i2 = 0; i2 < children.length; i2++)
              nameSoFar = children[i2], type2 = childKey + getElementKey(nameSoFar, i2), invokeCallback += mapIntoArray(
                nameSoFar,
                array2,
                escapedPrefix,
                type2,
                callback
              );
          else if (i2 = getIteratorFn(children), "function" === typeof i2)
            for (i2 === children.entries && (didWarnAboutMaps || console.warn(
              "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
            ), didWarnAboutMaps = true), children = i2.call(children), i2 = 0; !(nameSoFar = children.next()).done; )
              nameSoFar = nameSoFar.value, type2 = childKey + getElementKey(nameSoFar, i2++), invokeCallback += mapIntoArray(
                nameSoFar,
                array2,
                escapedPrefix,
                type2,
                callback
              );
          else if ("object" === type2) {
            if ("function" === typeof children.then)
              return mapIntoArray(
                resolveThenable(children),
                array2,
                escapedPrefix,
                nameSoFar,
                callback
              );
            array2 = String(children);
            throw Error(
              "Objects are not valid as a React child (found: " + ("[object Object]" === array2 ? "object with keys {" + Object.keys(children).join(", ") + "}" : array2) + "). If you meant to render a collection of children, use an array instead."
            );
          }
          return invokeCallback;
        }
        function mapChildren(children, func, context) {
          if (null == children) return children;
          var result = [], count2 = 0;
          mapIntoArray(children, result, "", "", function(child) {
            return func.call(context, child, count2++);
          });
          return result;
        }
        function lazyInitializer(payload) {
          if (-1 === payload._status) {
            var ioInfo = payload._ioInfo;
            null != ioInfo && (ioInfo.start = ioInfo.end = performance.now());
            ioInfo = payload._result;
            var thenable = ioInfo();
            thenable.then(
              function(moduleObject) {
                if (0 === payload._status || -1 === payload._status) {
                  payload._status = 1;
                  payload._result = moduleObject;
                  var _ioInfo = payload._ioInfo;
                  null != _ioInfo && (_ioInfo.end = performance.now());
                  void 0 === thenable.status && (thenable.status = "fulfilled", thenable.value = moduleObject);
                }
              },
              function(error2) {
                if (0 === payload._status || -1 === payload._status) {
                  payload._status = 2;
                  payload._result = error2;
                  var _ioInfo2 = payload._ioInfo;
                  null != _ioInfo2 && (_ioInfo2.end = performance.now());
                  void 0 === thenable.status && (thenable.status = "rejected", thenable.reason = error2);
                }
              }
            );
            ioInfo = payload._ioInfo;
            if (null != ioInfo) {
              ioInfo.value = thenable;
              var displayName = thenable.displayName;
              "string" === typeof displayName && (ioInfo.name = displayName);
            }
            -1 === payload._status && (payload._status = 0, payload._result = thenable);
          }
          if (1 === payload._status)
            return ioInfo = payload._result, void 0 === ioInfo && console.error(
              "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n  const MyComponent = lazy(() => import('./MyComponent'))\n\nDid you accidentally put curly braces around the import?",
              ioInfo
            ), "default" in ioInfo || console.error(
              "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n  const MyComponent = lazy(() => import('./MyComponent'))",
              ioInfo
            ), ioInfo.default;
          throw payload._result;
        }
        function resolveDispatcher() {
          var dispatcher = ReactSharedInternals.H;
          null === dispatcher && console.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:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem."
          );
          return dispatcher;
        }
        function releaseAsyncTransition() {
          ReactSharedInternals.asyncTransitions--;
        }
        function enqueueTask(task) {
          if (null === enqueueTaskImpl)
            try {
              var requireString = ("require" + Math.random()).slice(0, 7);
              enqueueTaskImpl = (module && module[requireString]).call(
                module,
                "timers"
              ).setImmediate;
            } catch (_err) {
              enqueueTaskImpl = function(callback) {
                false === didWarnAboutMessageChannel && (didWarnAboutMessageChannel = true, "undefined" === typeof MessageChannel && console.error(
                  "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 channel = new MessageChannel();
                channel.port1.onmessage = callback;
                channel.port2.postMessage(void 0);
              };
            }
          return enqueueTaskImpl(task);
        }
        function aggregateErrors(errors) {
          return 1 < errors.length && "function" === typeof AggregateError ? new AggregateError(errors) : errors[0];
        }
        function popActScope(prevActQueue, prevActScopeDepth) {
          prevActScopeDepth !== actScopeDepth - 1 && console.error(
            "You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "
          );
          actScopeDepth = prevActScopeDepth;
        }
        function recursivelyFlushAsyncActWork(returnValue, resolve, reject) {
          var queue = ReactSharedInternals.actQueue;
          if (null !== queue)
            if (0 !== queue.length)
              try {
                flushActQueue(queue);
                enqueueTask(function() {
                  return recursivelyFlushAsyncActWork(returnValue, resolve, reject);
                });
                return;
              } catch (error2) {
                ReactSharedInternals.thrownErrors.push(error2);
              }
            else ReactSharedInternals.actQueue = null;
          0 < ReactSharedInternals.thrownErrors.length ? (queue = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, reject(queue)) : resolve(returnValue);
        }
        function flushActQueue(queue) {
          if (!isFlushing) {
            isFlushing = true;
            var i2 = 0;
            try {
              for (; i2 < queue.length; i2++) {
                var callback = queue[i2];
                do {
                  ReactSharedInternals.didUsePromise = false;
                  var continuation = callback(false);
                  if (null !== continuation) {
                    if (ReactSharedInternals.didUsePromise) {
                      queue[i2] = callback;
                      queue.splice(0, i2);
                      return;
                    }
                    callback = continuation;
                  } else break;
                } while (1);
              }
              queue.length = 0;
            } catch (error2) {
              queue.splice(0, i2 + 1), ReactSharedInternals.thrownErrors.push(error2);
            } finally {
              isFlushing = false;
            }
          }
        }
        "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
        var REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = /* @__PURE__ */ Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = /* @__PURE__ */ Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = /* @__PURE__ */ Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = /* @__PURE__ */ Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = /* @__PURE__ */ Symbol.for("react.memo"), REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = /* @__PURE__ */ Symbol.for("react.activity"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator, didWarnStateUpdateForUnmountedComponent = {}, ReactNoopUpdateQueue = {
          isMounted: function() {
            return false;
          },
          enqueueForceUpdate: function(publicInstance) {
            warnNoop(publicInstance, "forceUpdate");
          },
          enqueueReplaceState: function(publicInstance) {
            warnNoop(publicInstance, "replaceState");
          },
          enqueueSetState: function(publicInstance) {
            warnNoop(publicInstance, "setState");
          }
        }, assign2 = Object.assign, emptyObject = {};
        Object.freeze(emptyObject);
        Component.prototype.isReactComponent = {};
        Component.prototype.setState = function(partialState, callback) {
          if ("object" !== typeof partialState && "function" !== typeof partialState && null != partialState)
            throw Error(
              "takes an object of state variables to update or a function which returns an object of state variables."
            );
          this.updater.enqueueSetState(this, partialState, callback, "setState");
        };
        Component.prototype.forceUpdate = function(callback) {
          this.updater.enqueueForceUpdate(this, callback, "forceUpdate");
        };
        var deprecatedAPIs = {
          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)."
          ]
        };
        for (fnName in deprecatedAPIs)
          deprecatedAPIs.hasOwnProperty(fnName) && defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);
        ComponentDummy.prototype = Component.prototype;
        deprecatedAPIs = PureComponent.prototype = new ComponentDummy();
        deprecatedAPIs.constructor = PureComponent;
        assign2(deprecatedAPIs, Component.prototype);
        deprecatedAPIs.isPureReactComponent = true;
        var isArrayImpl = Array.isArray, REACT_CLIENT_REFERENCE = /* @__PURE__ */ Symbol.for("react.client.reference"), ReactSharedInternals = {
          H: null,
          A: null,
          T: null,
          S: null,
          actQueue: null,
          asyncTransitions: 0,
          isBatchingLegacy: false,
          didScheduleLegacyUpdate: false,
          didUsePromise: false,
          thrownErrors: [],
          getCurrentStack: null,
          recentlyCreatedOwnerStacks: 0
        }, hasOwnProperty2 = Object.prototype.hasOwnProperty, createTask = console.createTask ? console.createTask : function() {
          return null;
        };
        deprecatedAPIs = {
          react_stack_bottom_frame: function(callStackForError) {
            return callStackForError();
          }
        };
        var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime;
        var didWarnAboutElementRef = {};
        var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind(
          deprecatedAPIs,
          UnknownOwner
        )();
        var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
        var didWarnAboutMaps = false, userProvidedKeyEscapeRegex = /\/+/g, reportGlobalError = "function" === typeof reportError ? reportError : function(error2) {
          if ("object" === typeof window && "function" === typeof window.ErrorEvent) {
            var event = new window.ErrorEvent("error", {
              bubbles: true,
              cancelable: true,
              message: "object" === typeof error2 && null !== error2 && "string" === typeof error2.message ? String(error2.message) : String(error2),
              error: error2
            });
            if (!window.dispatchEvent(event)) return;
          } else if ("object" === typeof process && "function" === typeof process.emit) {
            process.emit("uncaughtException", error2);
            return;
          }
          console.error(error2);
        }, didWarnAboutMessageChannel = false, enqueueTaskImpl = null, actScopeDepth = 0, didWarnNoAwaitAct = false, isFlushing = false, queueSeveralMicrotasks = "function" === typeof queueMicrotask ? function(callback) {
          queueMicrotask(function() {
            return queueMicrotask(callback);
          });
        } : enqueueTask;
        deprecatedAPIs = Object.freeze({
          __proto__: null,
          c: function(size5) {
            return resolveDispatcher().useMemoCache(size5);
          }
        });
        var fnName = {
          map: mapChildren,
          forEach: function(children, forEachFunc, forEachContext) {
            mapChildren(
              children,
              function() {
                forEachFunc.apply(this, arguments);
              },
              forEachContext
            );
          },
          count: function(children) {
            var n3 = 0;
            mapChildren(children, function() {
              n3++;
            });
            return n3;
          },
          toArray: function(children) {
            return mapChildren(children, function(child) {
              return child;
            }) || [];
          },
          only: function(children) {
            if (!isValidElement9(children))
              throw Error(
                "React.Children.only expected to receive a single React element child."
              );
            return children;
          }
        };
        exports.Activity = REACT_ACTIVITY_TYPE;
        exports.Children = fnName;
        exports.Component = Component;
        exports.Fragment = REACT_FRAGMENT_TYPE;
        exports.Profiler = REACT_PROFILER_TYPE;
        exports.PureComponent = PureComponent;
        exports.StrictMode = REACT_STRICT_MODE_TYPE;
        exports.Suspense = REACT_SUSPENSE_TYPE;
        exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = ReactSharedInternals;
        exports.__COMPILER_RUNTIME = deprecatedAPIs;
        exports.act = function(callback) {
          var prevActQueue = ReactSharedInternals.actQueue, prevActScopeDepth = actScopeDepth;
          actScopeDepth++;
          var queue = ReactSharedInternals.actQueue = null !== prevActQueue ? prevActQueue : [], didAwaitActCall = false;
          try {
            var result = callback();
          } catch (error2) {
            ReactSharedInternals.thrownErrors.push(error2);
          }
          if (0 < ReactSharedInternals.thrownErrors.length)
            throw popActScope(prevActQueue, prevActScopeDepth), callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback;
          if (null !== result && "object" === typeof result && "function" === typeof result.then) {
            var thenable = result;
            queueSeveralMicrotasks(function() {
              didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = true, console.error(
                "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 () => ...);"
              ));
            });
            return {
              then: function(resolve, reject) {
                didAwaitActCall = true;
                thenable.then(
                  function(returnValue) {
                    popActScope(prevActQueue, prevActScopeDepth);
                    if (0 === prevActScopeDepth) {
                      try {
                        flushActQueue(queue), enqueueTask(function() {
                          return recursivelyFlushAsyncActWork(
                            returnValue,
                            resolve,
                            reject
                          );
                        });
                      } catch (error$0) {
                        ReactSharedInternals.thrownErrors.push(error$0);
                      }
                      if (0 < ReactSharedInternals.thrownErrors.length) {
                        var _thrownError = aggregateErrors(
                          ReactSharedInternals.thrownErrors
                        );
                        ReactSharedInternals.thrownErrors.length = 0;
                        reject(_thrownError);
                      }
                    } else resolve(returnValue);
                  },
                  function(error2) {
                    popActScope(prevActQueue, prevActScopeDepth);
                    0 < ReactSharedInternals.thrownErrors.length ? (error2 = aggregateErrors(
                      ReactSharedInternals.thrownErrors
                    ), ReactSharedInternals.thrownErrors.length = 0, reject(error2)) : reject(error2);
                  }
                );
              }
            };
          }
          var returnValue$jscomp$0 = result;
          popActScope(prevActQueue, prevActScopeDepth);
          0 === prevActScopeDepth && (flushActQueue(queue), 0 !== queue.length && queueSeveralMicrotasks(function() {
            didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = true, console.error(
              "A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)"
            ));
          }), ReactSharedInternals.actQueue = null);
          if (0 < ReactSharedInternals.thrownErrors.length)
            throw callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback;
          return {
            then: function(resolve, reject) {
              didAwaitActCall = true;
              0 === prevActScopeDepth ? (ReactSharedInternals.actQueue = queue, enqueueTask(function() {
                return recursivelyFlushAsyncActWork(
                  returnValue$jscomp$0,
                  resolve,
                  reject
                );
              })) : resolve(returnValue$jscomp$0);
            }
          };
        };
        exports.cache = function(fn) {
          return function() {
            return fn.apply(null, arguments);
          };
        };
        exports.cacheSignal = function() {
          return null;
        };
        exports.captureOwnerStack = function() {
          var getCurrentStack = ReactSharedInternals.getCurrentStack;
          return null === getCurrentStack ? null : getCurrentStack();
        };
        exports.cloneElement = function(element, config, children) {
          if (null === element || void 0 === element)
            throw Error(
              "The argument must be a React element, but you passed " + element + "."
            );
          var props = assign2({}, element.props), key = element.key, owner = element._owner;
          if (null != config) {
            var JSCompiler_inline_result;
            a: {
              if (hasOwnProperty2.call(config, "ref") && (JSCompiler_inline_result = Object.getOwnPropertyDescriptor(
                config,
                "ref"
              ).get) && JSCompiler_inline_result.isReactWarning) {
                JSCompiler_inline_result = false;
                break a;
              }
              JSCompiler_inline_result = void 0 !== config.ref;
            }
            JSCompiler_inline_result && (owner = getOwner());
            hasValidKey(config) && (checkKeyStringCoercion(config.key), key = "" + config.key);
            for (propName in config)
              !hasOwnProperty2.call(config, propName) || "key" === propName || "__self" === propName || "__source" === propName || "ref" === propName && void 0 === config.ref || (props[propName] = config[propName]);
          }
          var propName = arguments.length - 2;
          if (1 === propName) props.children = children;
          else if (1 < propName) {
            JSCompiler_inline_result = Array(propName);
            for (var i2 = 0; i2 < propName; i2++)
              JSCompiler_inline_result[i2] = arguments[i2 + 2];
            props.children = JSCompiler_inline_result;
          }
          props = ReactElement(
            element.type,
            key,
            props,
            owner,
            element._debugStack,
            element._debugTask
          );
          for (key = 2; key < arguments.length; key++)
            validateChildKeys(arguments[key]);
          return props;
        };
        exports.createContext = function(defaultValue) {
          defaultValue = {
            $$typeof: REACT_CONTEXT_TYPE,
            _currentValue: defaultValue,
            _currentValue2: defaultValue,
            _threadCount: 0,
            Provider: null,
            Consumer: null
          };
          defaultValue.Provider = defaultValue;
          defaultValue.Consumer = {
            $$typeof: REACT_CONSUMER_TYPE,
            _context: defaultValue
          };
          defaultValue._currentRenderer = null;
          defaultValue._currentRenderer2 = null;
          return defaultValue;
        };
        exports.createElement = function(type2, config, children) {
          for (var i2 = 2; i2 < arguments.length; i2++)
            validateChildKeys(arguments[i2]);
          i2 = {};
          var key = null;
          if (null != config)
            for (propName in didWarnAboutOldJSXRuntime || !("__self" in config) || "key" in config || (didWarnAboutOldJSXRuntime = true, console.warn(
              "Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform"
            )), hasValidKey(config) && (checkKeyStringCoercion(config.key), key = "" + config.key), config)
              hasOwnProperty2.call(config, propName) && "key" !== propName && "__self" !== propName && "__source" !== propName && (i2[propName] = config[propName]);
          var childrenLength = arguments.length - 2;
          if (1 === childrenLength) i2.children = children;
          else if (1 < childrenLength) {
            for (var childArray = Array(childrenLength), _i = 0; _i < childrenLength; _i++)
              childArray[_i] = arguments[_i + 2];
            Object.freeze && Object.freeze(childArray);
            i2.children = childArray;
          }
          if (type2 && type2.defaultProps)
            for (propName in childrenLength = type2.defaultProps, childrenLength)
              void 0 === i2[propName] && (i2[propName] = childrenLength[propName]);
          key && defineKeyPropWarningGetter(
            i2,
            "function" === typeof type2 ? type2.displayName || type2.name || "Unknown" : type2
          );
          var propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
          return ReactElement(
            type2,
            key,
            i2,
            getOwner(),
            propName ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
            propName ? createTask(getTaskName(type2)) : unknownOwnerDebugTask
          );
        };
        exports.createRef = function() {
          var refObject = { current: null };
          Object.seal(refObject);
          return refObject;
        };
        exports.forwardRef = function(render) {
          null != render && render.$$typeof === REACT_MEMO_TYPE ? console.error(
            "forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."
          ) : "function" !== typeof render ? console.error(
            "forwardRef requires a render function but was given %s.",
            null === render ? "null" : typeof render
          ) : 0 !== render.length && 2 !== render.length && console.error(
            "forwardRef render functions accept exactly two parameters: props and ref. %s",
            1 === render.length ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined."
          );
          null != render && null != render.defaultProps && console.error(
            "forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?"
          );
          var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render }, ownName;
          Object.defineProperty(elementType, "displayName", {
            enumerable: false,
            configurable: true,
            get: function() {
              return ownName;
            },
            set: function(name) {
              ownName = name;
              render.name || render.displayName || (Object.defineProperty(render, "name", { value: name }), render.displayName = name);
            }
          });
          return elementType;
        };
        exports.isValidElement = isValidElement9;
        exports.lazy = function(ctor) {
          ctor = { _status: -1, _result: ctor };
          var lazyType = {
            $$typeof: REACT_LAZY_TYPE,
            _payload: ctor,
            _init: lazyInitializer
          }, ioInfo = {
            name: "lazy",
            start: -1,
            end: -1,
            value: null,
            owner: null,
            debugStack: Error("react-stack-top-frame"),
            debugTask: console.createTask ? console.createTask("lazy()") : null
          };
          ctor._ioInfo = ioInfo;
          lazyType._debugInfo = [{ awaited: ioInfo }];
          return lazyType;
        };
        exports.memo = function(type2, compare) {
          null == type2 && console.error(
            "memo: The first argument must be a component. Instead received: %s",
            null === type2 ? "null" : typeof type2
          );
          compare = {
            $$typeof: REACT_MEMO_TYPE,
            type: type2,
            compare: void 0 === compare ? null : compare
          };
          var ownName;
          Object.defineProperty(compare, "displayName", {
            enumerable: false,
            configurable: true,
            get: function() {
              return ownName;
            },
            set: function(name) {
              ownName = name;
              type2.name || type2.displayName || (Object.defineProperty(type2, "name", { value: name }), type2.displayName = name);
            }
          });
          return compare;
        };
        exports.startTransition = function(scope) {
          var prevTransition = ReactSharedInternals.T, currentTransition = {};
          currentTransition._updatedFibers = /* @__PURE__ */ new Set();
          ReactSharedInternals.T = currentTransition;
          try {
            var returnValue = scope(), onStartTransitionFinish = ReactSharedInternals.S;
            null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue);
            "object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then && (ReactSharedInternals.asyncTransitions++, returnValue.then(releaseAsyncTransition, releaseAsyncTransition), returnValue.then(noop7, reportGlobalError));
          } catch (error2) {
            reportGlobalError(error2);
          } finally {
            null === prevTransition && currentTransition._updatedFibers && (scope = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < scope && console.warn(
              "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."
            )), null !== prevTransition && null !== currentTransition.types && (null !== prevTransition.types && prevTransition.types !== currentTransition.types && console.error(
              "We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React."
            ), prevTransition.types = currentTransition.types), ReactSharedInternals.T = prevTransition;
          }
        };
        exports.unstable_useCacheRefresh = function() {
          return resolveDispatcher().useCacheRefresh();
        };
        exports.use = function(usable) {
          return resolveDispatcher().use(usable);
        };
        exports.useActionState = function(action, initialState, permalink) {
          return resolveDispatcher().useActionState(
            action,
            initialState,
            permalink
          );
        };
        exports.useCallback = function(callback, deps) {
          return resolveDispatcher().useCallback(callback, deps);
        };
        exports.useContext = function(Context) {
          var dispatcher = resolveDispatcher();
          Context.$$typeof === REACT_CONSUMER_TYPE && console.error(
            "Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?"
          );
          return dispatcher.useContext(Context);
        };
        exports.useDebugValue = function(value, formatterFn) {
          return resolveDispatcher().useDebugValue(value, formatterFn);
        };
        exports.useDeferredValue = function(value, initialValue) {
          return resolveDispatcher().useDeferredValue(value, initialValue);
        };
        exports.useEffect = function(create2, deps) {
          null == create2 && console.warn(
            "React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?"
          );
          return resolveDispatcher().useEffect(create2, deps);
        };
        exports.useEffectEvent = function(callback) {
          return resolveDispatcher().useEffectEvent(callback);
        };
        exports.useId = function() {
          return resolveDispatcher().useId();
        };
        exports.useImperativeHandle = function(ref, create2, deps) {
          return resolveDispatcher().useImperativeHandle(ref, create2, deps);
        };
        exports.useInsertionEffect = function(create2, deps) {
          null == create2 && console.warn(
            "React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?"
          );
          return resolveDispatcher().useInsertionEffect(create2, deps);
        };
        exports.useLayoutEffect = function(create2, deps) {
          null == create2 && console.warn(
            "React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?"
          );
          return resolveDispatcher().useLayoutEffect(create2, deps);
        };
        exports.useMemo = function(create2, deps) {
          return resolveDispatcher().useMemo(create2, deps);
        };
        exports.useOptimistic = function(passthrough, reducer) {
          return resolveDispatcher().useOptimistic(passthrough, reducer);
        };
        exports.useReducer = function(reducer, initialArg, init) {
          return resolveDispatcher().useReducer(reducer, initialArg, init);
        };
        exports.useRef = function(initialValue) {
          return resolveDispatcher().useRef(initialValue);
        };
        exports.useState = function(initialState) {
          return resolveDispatcher().useState(initialState);
        };
        exports.useSyncExternalStore = function(subscribe, getSnapshot, getServerSnapshot) {
          return resolveDispatcher().useSyncExternalStore(
            subscribe,
            getSnapshot,
            getServerSnapshot
          );
        };
        exports.useTransition = function() {
          return resolveDispatcher().useTransition();
        };
        exports.version = "19.2.5";
        "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
      })();
    }
  });

  // node_modules/react/index.js
  var require_react = __commonJS({
    "node_modules/react/index.js"(exports, module) {
      "use strict";
      if (false) {
        module.exports = null;
      } else {
        module.exports = require_react_development();
      }
    }
  });

  // node_modules/@clerk/shared/dist/runtime/constants-BulbbNR9.mjs
  var PRESERVED_QUERYSTRING_PARAMS, CLERK_MODAL_STATE, CLERK_SYNCED, CLERK_SUFFIXED_COOKIES, CLERK_SATELLITE_URL, ERROR_CODES, SIGN_IN_INITIAL_VALUE_KEYS, SIGN_UP_INITIAL_VALUE_KEYS, DEBOUNCE_MS, SIGN_UP_MODES, CAPTCHA_ELEMENT_ID;
  var init_constants_BulbbNR9 = __esm({
    "node_modules/@clerk/shared/dist/runtime/constants-BulbbNR9.mjs"() {
      PRESERVED_QUERYSTRING_PARAMS = [
        "redirect_url",
        "after_sign_in_url",
        "after_sign_up_url",
        "sign_in_force_redirect_url",
        "sign_in_fallback_redirect_url",
        "sign_up_force_redirect_url",
        "sign_up_fallback_redirect_url"
      ];
      CLERK_MODAL_STATE = "__clerk_modal_state";
      CLERK_SYNCED = "__clerk_synced";
      CLERK_SUFFIXED_COOKIES = "suffixed_cookies";
      CLERK_SATELLITE_URL = "__clerk_satellite_url";
      ERROR_CODES = {
        FORM_IDENTIFIER_NOT_FOUND: "form_identifier_not_found",
        FORM_PASSWORD_INCORRECT: "form_password_incorrect",
        FORM_PASSWORD_PWNED: "form_password_pwned",
        INVALID_STRATEGY_FOR_USER: "strategy_for_user_invalid",
        NOT_ALLOWED_TO_SIGN_UP: "not_allowed_to_sign_up",
        OAUTH_ACCESS_DENIED: "oauth_access_denied",
        OAUTH_EMAIL_DOMAIN_RESERVED_BY_SAML: "oauth_email_domain_reserved_by_saml",
        NOT_ALLOWED_ACCESS: "not_allowed_access",
        SAML_USER_ATTRIBUTE_MISSING: "saml_user_attribute_missing",
        USER_LOCKED: "user_locked",
        EXTERNAL_ACCOUNT_NOT_FOUND: "external_account_not_found",
        SESSION_EXISTS: "session_exists",
        SIGN_UP_MODE_RESTRICTED: "sign_up_mode_restricted",
        SIGN_UP_MODE_RESTRICTED_WAITLIST: "sign_up_restricted_waitlist",
        ENTERPRISE_SSO_USER_ATTRIBUTE_MISSING: "enterprise_sso_user_attribute_missing",
        ENTERPRISE_SSO_EMAIL_ADDRESS_DOMAIN_MISMATCH: "enterprise_sso_email_address_domain_mismatch",
        ENTERPRISE_SSO_HOSTED_DOMAIN_MISMATCH: "enterprise_sso_hosted_domain_mismatch",
        SAML_EMAIL_ADDRESS_DOMAIN_MISMATCH: "saml_email_address_domain_mismatch",
        INVITATION_ACCOUNT_NOT_EXISTS: "invitation_account_not_exists",
        ORGANIZATION_MEMBERSHIP_QUOTA_EXCEEDED_FOR_SSO: "organization_membership_quota_exceeded_for_sso",
        CAPTCHA_INVALID: "captcha_invalid",
        FRAUD_DEVICE_BLOCKED: "device_blocked",
        FRAUD_ACTION_BLOCKED: "action_blocked",
        SIGNUP_RATE_LIMIT_EXCEEDED: "signup_rate_limit_exceeded",
        USER_BANNED: "user_banned",
        USER_DEACTIVATED: "user_deactivated"
      };
      SIGN_IN_INITIAL_VALUE_KEYS = [
        "email_address",
        "phone_number",
        "username"
      ];
      SIGN_UP_INITIAL_VALUE_KEYS = [
        "email_address",
        "phone_number",
        "username",
        "first_name",
        "last_name"
      ];
      DEBOUNCE_MS = 350;
      SIGN_UP_MODES = {
        PUBLIC: "public",
        RESTRICTED: "restricted",
        WAITLIST: "waitlist"
      };
      CAPTCHA_ELEMENT_ID = "clerk-captcha";
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/constants.mjs
  var init_constants = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/constants.mjs"() {
      init_constants_BulbbNR9();
    }
  });

  // node_modules/@clerk/shared/dist/runtime/constants-Bta24VLk.mjs
  function iconImageUrl(id, format2 = "svg") {
    return `https://img.clerk.com/static/${id}.${format2}`;
  }
  var DEV_OR_STAGING_SUFFIXES;
  var init_constants_Bta24VLk = __esm({
    "node_modules/@clerk/shared/dist/runtime/constants-Bta24VLk.mjs"() {
      DEV_OR_STAGING_SUFFIXES = [
        ".lcl.dev",
        ".stg.dev",
        ".lclstage.dev",
        ".stgstage.dev",
        ".dev.lclclerk.com",
        ".stg.lclclerk.com",
        ".accounts.lclclerk.com",
        "accountsstage.dev",
        "accounts.dev"
      ];
    }
  });

  // node_modules/@clerk/shared/dist/runtime/isomorphicAtob-CoF80qYz.mjs
  var isomorphicAtob2;
  var init_isomorphicAtob_CoF80qYz = __esm({
    "node_modules/@clerk/shared/dist/runtime/isomorphicAtob-CoF80qYz.mjs"() {
      isomorphicAtob2 = (data2) => {
        if (typeof atob !== "undefined" && typeof atob === "function") return atob(data2);
        else if (typeof globalThis.Buffer !== "undefined") return globalThis.Buffer.from(data2, "base64").toString();
        return data2;
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/isomorphicBtoa-DWmLcIHi.mjs
  var init_isomorphicBtoa_DWmLcIHi = __esm({
    "node_modules/@clerk/shared/dist/runtime/isomorphicBtoa-DWmLcIHi.mjs"() {
    }
  });

  // node_modules/@clerk/shared/dist/runtime/keys-ChIG_Ewf.mjs
  function createDevOrStagingUrlCache() {
    const devOrStagingUrlCache = /* @__PURE__ */ new Map();
    return { isDevOrStagingUrl: (url) => {
      if (!url) return false;
      const hostname = typeof url === "string" ? url : url.hostname;
      let res = devOrStagingUrlCache.get(hostname);
      if (res === void 0) {
        res = DEV_OR_STAGING_SUFFIXES.some((s2) => hostname.endsWith(s2));
        devOrStagingUrlCache.set(hostname, res);
      }
      return res;
    } };
  }
  function isDevelopmentFromPublishableKey(apiKey) {
    return apiKey.startsWith("test_") || apiKey.startsWith("pk_test_");
  }
  var init_keys_ChIG_Ewf = __esm({
    "node_modules/@clerk/shared/dist/runtime/keys-ChIG_Ewf.mjs"() {
      init_constants_Bta24VLk();
      init_isomorphicAtob_CoF80qYz();
      init_isomorphicBtoa_DWmLcIHi();
    }
  });

  // node_modules/@clerk/shared/dist/runtime/netlifyCacheHandler-BAoRn8m6.mjs
  var CLERK_NETLIFY_CACHE_BUST_PARAM;
  var init_netlifyCacheHandler_BAoRn8m6 = __esm({
    "node_modules/@clerk/shared/dist/runtime/netlifyCacheHandler-BAoRn8m6.mjs"() {
      init_keys_ChIG_Ewf();
      CLERK_NETLIFY_CACHE_BUST_PARAM = "__clerk_netlify_cache_bust";
    }
  });

  // node_modules/@clerk/shared/dist/runtime/queryParams-DJX7tUZy.mjs
  function getClerkQueryParam(param) {
    const val = new URL(window.location.href).searchParams.get(param);
    return val ? val : null;
  }
  function removeClerkQueryParam(param) {
    const url = new URL(window.location.href);
    if (url.searchParams.has(param)) {
      url.searchParams.delete(param);
      window.history.replaceState(window.history.state, "", url);
    }
  }
  function forwardClerkQueryParams(params) {
    const currentSearchParams = new URLSearchParams(window.location.search);
    const newParams = params || new URLSearchParams();
    for (const param of _ClerkQueryParams) {
      const value = currentSearchParams.get(param);
      if (value) newParams.set(param, value);
    }
    return newParams;
  }
  var _ClerkQueryParams;
  var init_queryParams_DJX7tUZy = __esm({
    "node_modules/@clerk/shared/dist/runtime/queryParams-DJX7tUZy.mjs"() {
      init_netlifyCacheHandler_BAoRn8m6();
      init_constants_BulbbNR9();
      _ClerkQueryParams = [
        "__clerk_status",
        "__clerk_created_session",
        "__clerk_invitation_token",
        "__clerk_ticket",
        "__clerk_modal_state",
        "__clerk_handshake",
        "__clerk_handshake_nonce",
        "__clerk_help",
        CLERK_NETLIFY_CACHE_BUST_PARAM,
        CLERK_SYNCED,
        CLERK_SATELLITE_URL,
        CLERK_SUFFIXED_COOKIES
      ];
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/queryParams.mjs
  var init_queryParams = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/queryParams.mjs"() {
      init_constants_Bta24VLk();
      init_isomorphicAtob_CoF80qYz();
      init_isomorphicBtoa_DWmLcIHi();
      init_keys_ChIG_Ewf();
      init_netlifyCacheHandler_BAoRn8m6();
      init_constants_BulbbNR9();
      init_queryParams_DJX7tUZy();
    }
  });

  // node_modules/@clerk/shared/dist/runtime/encoders-CAjYroSe.mjs
  function encodeB64(input) {
    return globalThis.btoa(input);
  }
  var init_encoders_CAjYroSe = __esm({
    "node_modules/@clerk/shared/dist/runtime/encoders-CAjYroSe.mjs"() {
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/queryStateParams.mjs
  var readStateParam, appendModalState;
  var init_queryStateParams = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/queryStateParams.mjs"() {
      init_constants_Bta24VLk();
      init_isomorphicAtob_CoF80qYz();
      init_isomorphicBtoa_DWmLcIHi();
      init_keys_ChIG_Ewf();
      init_netlifyCacheHandler_BAoRn8m6();
      init_constants_BulbbNR9();
      init_queryParams_DJX7tUZy();
      init_encoders_CAjYroSe();
      readStateParam = () => {
        const urlClerkState = getClerkQueryParam(CLERK_MODAL_STATE) ?? "";
        return urlClerkState ? JSON.parse(atob(urlClerkState)) : null;
      };
      appendModalState = ({ url, startPath = "/user", currentPath = "", componentName, socialProvider = "" }) => {
        const redirectParams = {
          path: currentPath.replace(/CLERK-ROUTER\/VIRTUAL\/.*\//, "") || "",
          componentName,
          startPath,
          socialProvider
        };
        const encodedRedirectParams = encodeB64(JSON.stringify(redirectParams));
        const urlWithParams = new URL(url);
        const searchParams = urlWithParams.searchParams;
        searchParams.set(CLERK_MODAL_STATE, encodedRedirectParams);
        urlWithParams.search = searchParams.toString();
        return urlWithParams.toString();
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useClerkModalStateParams.js
  var import_react, useClerkModalStateParams;
  var init_useClerkModalStateParams = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useClerkModalStateParams.js"() {
      import_react = __toESM(require_react(), 1);
      init_constants();
      init_queryParams();
      init_queryStateParams();
      useClerkModalStateParams = () => {
        const [state, setState] = import_react.default.useState({
          startPath: "",
          path: "",
          componentName: "",
          socialProvider: ""
        });
        const decodedRedirectParams = readStateParam();
        import_react.default.useLayoutEffect(() => {
          if (decodedRedirectParams) setState(decodedRedirectParams);
        }, []);
        const clearUrlStateParam = () => {
          setState({
            startPath: "",
            path: "",
            componentName: "",
            socialProvider: ""
          });
        };
        const removeQueryParam = () => removeClerkQueryParam(CLERK_MODAL_STATE);
        return {
          urlStateParam: {
            ...state,
            clearUrlStateParam
          },
          decodedRedirectParams,
          clearUrlStateParam,
          removeQueryParam
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useFetch.js
  var import_react2, requestCache, subscribers, serialize, useCache, useFetch;
  var init_useFetch = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useFetch.js"() {
      import_react2 = __toESM(require_react(), 1);
      requestCache = /* @__PURE__ */ new Map();
      subscribers = /* @__PURE__ */ new Set();
      serialize = (key) => typeof key === "string" ? key : JSON.stringify(key);
      useCache = (key, serializer = serialize) => {
        const serializedKey = serializer(key);
        const get3 = (0, import_react2.useCallback)(() => requestCache.get(serializedKey), [serializedKey]);
        const set = (0, import_react2.useCallback)((data2) => {
          requestCache.set(serializedKey, typeof data2 === "function" ? data2(get3()) : data2);
          subscribers.forEach((callback) => callback());
        }, [serializedKey]);
        const clear = (0, import_react2.useCallback)(() => {
          set({
            isLoading: false,
            isValidating: false,
            data: null,
            error: null,
            cachedAt: void 0
          });
        }, [set]);
        return {
          getCache: get3,
          setCache: set,
          subscribeCache: (0, import_react2.useCallback)((callback) => {
            subscribers.add(callback);
            return () => subscribers.delete(callback);
          }, []),
          clearCache: clear
        };
      };
      useFetch = (fetcher, params, options2, resourceId) => {
        const cacheKey = {
          resourceId,
          params
        };
        const { subscribeCache, getCache, setCache, clearCache } = useCache(cacheKey);
        const { subscribeCache: subscribeRevalidationCounter, getCache: getRevalidationCounter, setCache: setRevalidationCounter } = useCache({
          ...cacheKey,
          rv: true
        });
        const staleTime = options2?.staleTime ?? 1e3 * 60 * 2;
        const throttleTime = options2?.throttleTime || 0;
        const fetcherRef = (0, import_react2.useRef)(fetcher);
        if (throttleTime < 0) throw new Error("ClerkJS: A negative value for `throttleTime` is not allowed ");
        const cached = (0, import_react2.useSyncExternalStore)(subscribeCache, getCache);
        const revalidateCache = (0, import_react2.useSyncExternalStore)(subscribeRevalidationCounter, getRevalidationCounter);
        const revalidate = (0, import_react2.useCallback)(() => {
          setCache((d2) => ({
            ...d2,
            cachedAt: 0
          }));
          setRevalidationCounter((d2) => ({
            isLoading: false,
            isValidating: false,
            error: null,
            data: (d2?.data || 0) + 1
          }));
        }, [setCache, setRevalidationCounter]);
        (0, import_react2.useEffect)(() => {
          fetcherRef.current = fetcher;
          const fetcherMissing = !fetcherRef.current;
          const isCacheStale = typeof getCache()?.cachedAt === "undefined" ? true : Date.now() - (getCache()?.cachedAt || 0) >= staleTime;
          const isRequestOnGoing = getCache()?.isValidating ?? false;
          if (fetcherMissing || !isCacheStale || isRequestOnGoing) return;
          const d2 = performance.now();
          setCache({
            data: getCache()?.data ?? null,
            isLoading: !getCache()?.data,
            isValidating: true,
            error: null
          });
          fetcherRef.current(params).then((result) => {
            if (typeof result !== "undefined") {
              const data2 = Array.isArray(result) ? result : typeof result === "object" ? { ...result } : result;
              const waitTime = throttleTime - (performance.now() - d2);
              setTimeout(() => {
                setCache({
                  data: data2,
                  isLoading: false,
                  isValidating: false,
                  error: null,
                  cachedAt: Date.now()
                });
                options2?.onSuccess?.(data2);
              }, waitTime);
            }
          }).catch((e3) => {
            setCache({
              data: getCache()?.data ?? null,
              isLoading: false,
              isValidating: false,
              error: e3,
              cachedAt: Date.now()
            });
            if (e3) options2?.onError?.(e3);
          });
        }, [
          serialize(params),
          setCache,
          getCache,
          revalidateCache
        ]);
        return {
          ...cached,
          setCache,
          invalidate: clearCache,
          revalidate
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/router/RouteContext.js
  var import_react3, RouteContext, useRouter;
  var init_RouteContext = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/router/RouteContext.js"() {
      import_react3 = __toESM(require_react(), 1);
      RouteContext = import_react3.default.createContext(null);
      RouteContext.displayName = "RouteContext";
      useRouter = () => {
        const ctx = import_react3.default.useContext(RouteContext);
        if (!ctx) throw new Error("useRouter called while Router is null");
        return ctx;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/router/newPaths.js
  var newPaths;
  var init_newPaths = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/router/newPaths.js"() {
      newPaths = (oldIndexPath, oldFullPath, path, index3) => {
        let indexPath = oldIndexPath;
        if (path) {
          indexPath = oldFullPath;
          if (!index3) indexPath += "/" + path;
        }
        if (indexPath.startsWith("//")) indexPath = indexPath.substr(1);
        let fullPath = oldFullPath + (path ? "/" + path : "");
        if (fullPath.startsWith("//")) fullPath = fullPath.substr(1);
        return [indexPath, fullPath];
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/router/pathToRegexp.js
  function lexer(str) {
    const tokens = [];
    let i2 = 0;
    while (i2 < str.length) {
      const char2 = str[i2];
      if (char2 === "*" || char2 === "+" || char2 === "?") {
        tokens.push({
          type: "MODIFIER",
          index: i2,
          value: str[i2++]
        });
        continue;
      }
      if (char2 === "\\") {
        tokens.push({
          type: "ESCAPED_CHAR",
          index: i2++,
          value: str[i2++]
        });
        continue;
      }
      if (char2 === "{") {
        tokens.push({
          type: "OPEN",
          index: i2,
          value: str[i2++]
        });
        continue;
      }
      if (char2 === "}") {
        tokens.push({
          type: "CLOSE",
          index: i2,
          value: str[i2++]
        });
        continue;
      }
      if (char2 === ":") {
        let name = "";
        let j = i2 + 1;
        while (j < str.length) {
          const code = str.charCodeAt(j);
          if (code >= 48 && code <= 57 || code >= 65 && code <= 90 || code >= 97 && code <= 122 || code === 95) {
            name += str[j++];
            continue;
          }
          break;
        }
        if (!name) throw new TypeError(`Missing parameter name at ${i2}`);
        tokens.push({
          type: "NAME",
          index: i2,
          value: name
        });
        i2 = j;
        continue;
      }
      if (char2 === "(") {
        let count2 = 1;
        let pattern = "";
        let j = i2 + 1;
        if (str[j] === "?") throw new TypeError(`Pattern cannot start with "?" at ${j}`);
        while (j < str.length) {
          if (str[j] === "\\") {
            pattern += str[j++] + str[j++];
            continue;
          }
          if (str[j] === ")") {
            count2--;
            if (count2 === 0) {
              j++;
              break;
            }
          } else if (str[j] === "(") {
            count2++;
            if (str[j + 1] !== "?") throw new TypeError(`Capturing groups are not allowed at ${j}`);
          }
          pattern += str[j++];
        }
        if (count2) throw new TypeError(`Unbalanced pattern at ${i2}`);
        if (!pattern) throw new TypeError(`Missing pattern at ${i2}`);
        tokens.push({
          type: "PATTERN",
          index: i2,
          value: pattern
        });
        i2 = j;
        continue;
      }
      tokens.push({
        type: "CHAR",
        index: i2,
        value: str[i2++]
      });
    }
    tokens.push({
      type: "END",
      index: i2,
      value: ""
    });
    return tokens;
  }
  function parse(str, options2 = {}) {
    const tokens = lexer(str);
    const { prefixes = "./" } = options2;
    const defaultPattern = `[^${escapeString(options2.delimiter || "/#?")}]+?`;
    const result = [];
    let key = 0;
    let i2 = 0;
    let path = "";
    const tryConsume = (type2) => {
      if (i2 < tokens.length && tokens[i2].type === type2) return tokens[i2++].value;
    };
    const mustConsume = (type2) => {
      const value = tryConsume(type2);
      if (value !== void 0) return value;
      const { type: nextType, index: index3 } = tokens[i2];
      throw new TypeError(`Unexpected ${nextType} at ${index3}, expected ${type2}`);
    };
    const consumeText = () => {
      let result$1 = "";
      let value;
      while (value = tryConsume("CHAR") || tryConsume("ESCAPED_CHAR")) result$1 += value;
      return result$1;
    };
    while (i2 < tokens.length) {
      const char2 = tryConsume("CHAR");
      const name = tryConsume("NAME");
      const pattern = tryConsume("PATTERN");
      if (name || pattern) {
        let prefix2 = char2 || "";
        if (prefixes.indexOf(prefix2) === -1) {
          path += prefix2;
          prefix2 = "";
        }
        if (path) {
          result.push(path);
          path = "";
        }
        result.push({
          name: name || key++,
          prefix: prefix2,
          suffix: "",
          pattern: pattern || defaultPattern,
          modifier: tryConsume("MODIFIER") || ""
        });
        continue;
      }
      const value = char2 || tryConsume("ESCAPED_CHAR");
      if (value) {
        path += value;
        continue;
      }
      if (path) {
        result.push(path);
        path = "";
      }
      if (tryConsume("OPEN")) {
        const prefix2 = consumeText();
        const name$1 = tryConsume("NAME") || "";
        const pattern$1 = tryConsume("PATTERN") || "";
        const suffix = consumeText();
        mustConsume("CLOSE");
        result.push({
          name: name$1 || (pattern$1 ? key++ : ""),
          pattern: name$1 && !pattern$1 ? defaultPattern : pattern$1,
          prefix: prefix2,
          suffix,
          modifier: tryConsume("MODIFIER") || ""
        });
        continue;
      }
      mustConsume("END");
    }
    return result;
  }
  function match(str, options2) {
    const keys2 = [];
    return regexpToFunction(pathToRegexp(str, keys2, options2), keys2, options2);
  }
  function regexpToFunction(re, keys2, options2 = {}) {
    const { decode = (x) => x } = options2;
    return function(pathname) {
      const m2 = re.exec(pathname);
      if (!m2) return false;
      const { 0: path, index: index3 } = m2;
      const params = /* @__PURE__ */ Object.create(null);
      for (let i2 = 1; i2 < m2.length; i2++) {
        if (m2[i2] === void 0) continue;
        const key = keys2[i2 - 1];
        if (key.modifier === "*" || key.modifier === "+") params[key.name] = m2[i2].split(key.prefix + key.suffix).map((value) => {
          return decode(value, key);
        });
        else params[key.name] = decode(m2[i2], key);
      }
      return {
        path,
        index: index3,
        params
      };
    };
  }
  function escapeString(str) {
    return str.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1");
  }
  function flags(options2) {
    return options2 && options2.sensitive ? "" : "i";
  }
  function regexpToRegexp(path, keys2) {
    if (!keys2) return path;
    const groups = path.source.match(/\((?!\?)/g);
    if (groups) for (let i2 = 0; i2 < groups.length; i2++) keys2.push({
      name: i2,
      prefix: "",
      suffix: "",
      modifier: "",
      pattern: ""
    });
    return path;
  }
  function arrayToRegexp(paths, keys2, options2) {
    const parts = paths.map((path) => pathToRegexp(path, keys2, options2).source);
    return new RegExp(`(?:${parts.join("|")})`, flags(options2));
  }
  function stringToRegexp(path, keys2, options2) {
    return tokensToRegexp(parse(path, options2), keys2, options2);
  }
  function tokensToRegexp(tokens, keys2, options2 = {}) {
    const { strict = false, start = true, end = true, encode: encode2 = (x) => x } = options2;
    const endsWith = `[${escapeString(options2.endsWith || "")}]|$`;
    const delimiter2 = `[${escapeString(options2.delimiter || "/#?")}]`;
    let route = start ? "^" : "";
    for (const token2 of tokens) if (typeof token2 === "string") route += escapeString(encode2(token2));
    else {
      const prefix2 = escapeString(encode2(token2.prefix));
      const suffix = escapeString(encode2(token2.suffix));
      if (token2.pattern) {
        if (keys2) keys2.push(token2);
        if (prefix2 || suffix) if (token2.modifier === "+" || token2.modifier === "*") {
          const mod2 = token2.modifier === "*" ? "?" : "";
          route += `(?:${prefix2}((?:${token2.pattern})(?:${suffix}${prefix2}(?:${token2.pattern}))*)${suffix})${mod2}`;
        } else route += `(?:${prefix2}(${token2.pattern})${suffix})${token2.modifier}`;
        else route += `(${token2.pattern})${token2.modifier}`;
      } else route += `(?:${prefix2}${suffix})${token2.modifier}`;
    }
    if (end) {
      if (!strict) route += `${delimiter2}?`;
      route += !options2.endsWith ? "$" : `(?=${endsWith})`;
    } else {
      const endToken = tokens[tokens.length - 1];
      const isEndDelimited = typeof endToken === "string" ? delimiter2.indexOf(endToken[endToken.length - 1]) > -1 : endToken === void 0;
      if (!strict) route += `(?:${delimiter2}(?=${endsWith}))?`;
      if (!isEndDelimited) route += `(?=${delimiter2}|${endsWith})`;
    }
    return new RegExp(route, flags(options2));
  }
  function pathToRegexp(path, keys2, options2) {
    if (path instanceof RegExp) return regexpToRegexp(path, keys2);
    if (Array.isArray(path)) return arrayToRegexp(path, keys2, options2);
    return stringToRegexp(path, keys2, options2);
  }
  var init_pathToRegexp = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/router/pathToRegexp.js"() {
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useNavigateToFlowStart.js
  var useNavigateToFlowStart;
  var init_useNavigateToFlowStart = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useNavigateToFlowStart.js"() {
      init_RouteContext();
      useNavigateToFlowStart = () => {
        const router = useRouter();
        const navigateToFlowStart = async () => {
          const to = router.indexPath;
          if (to !== router.currentPath) return router.navigate(to);
          if (router.urlStateParam?.path) return router.navigate("/" + router.basePath + router.urlStateParam?.startPath);
        };
        return { navigateToFlowStart };
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/authorization-errors-CBHAr6Ld.mjs
  var REVERIFICATION_REASON, reverificationError, isReverificationHint;
  var init_authorization_errors_CBHAr6Ld = __esm({
    "node_modules/@clerk/shared/dist/runtime/authorization-errors-CBHAr6Ld.mjs"() {
      REVERIFICATION_REASON = "reverification-error";
      reverificationError = (missingConfig) => ({ clerk_error: {
        type: "forbidden",
        reason: REVERIFICATION_REASON,
        metadata: { reverification: missingConfig }
      } });
      isReverificationHint = (result) => {
        return result && typeof result === "object" && "clerk_error" in result && result.clerk_error?.type === "forbidden" && result.clerk_error?.reason === REVERIFICATION_REASON;
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/authorization-Bayl2soX.mjs
  var TYPES_TO_OBJECTS, ALLOWED_LEVELS, ALLOWED_TYPES, isValidMaxAge, isValidLevel, isValidVerificationType, validateReverificationConfig;
  var init_authorization_Bayl2soX = __esm({
    "node_modules/@clerk/shared/dist/runtime/authorization-Bayl2soX.mjs"() {
      TYPES_TO_OBJECTS = {
        strict_mfa: {
          afterMinutes: 10,
          level: "multi_factor"
        },
        strict: {
          afterMinutes: 10,
          level: "second_factor"
        },
        moderate: {
          afterMinutes: 60,
          level: "second_factor"
        },
        lax: {
          afterMinutes: 1440,
          level: "second_factor"
        }
      };
      ALLOWED_LEVELS = /* @__PURE__ */ new Set([
        "first_factor",
        "second_factor",
        "multi_factor"
      ]);
      ALLOWED_TYPES = /* @__PURE__ */ new Set([
        "strict_mfa",
        "strict",
        "moderate",
        "lax"
      ]);
      isValidMaxAge = (maxAge) => typeof maxAge === "number" && maxAge > 0;
      isValidLevel = (level) => ALLOWED_LEVELS.has(level);
      isValidVerificationType = (type2) => ALLOWED_TYPES.has(type2);
      validateReverificationConfig = (config) => {
        if (!config) return false;
        const convertConfigToObject = (config$1) => {
          if (typeof config$1 === "string") return TYPES_TO_OBJECTS[config$1];
          return config$1;
        };
        const isValidStringValue = typeof config === "string" && isValidVerificationType(config);
        const isValidObjectValue = typeof config === "object" && isValidLevel(config.level) && isValidMaxAge(config.afterMinutes);
        if (isValidStringValue || isValidObjectValue) return convertConfigToObject.bind(null, config);
        return false;
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/deriveState-CQUgOdaO.mjs
  var deriveFromSsrInitialState;
  var init_deriveState_CQUgOdaO = __esm({
    "node_modules/@clerk/shared/dist/runtime/deriveState-CQUgOdaO.mjs"() {
      deriveFromSsrInitialState = (initialState) => {
        const userId = initialState.userId;
        const user = initialState.user;
        const sessionId = initialState.sessionId;
        const sessionStatus = initialState.sessionStatus;
        const sessionClaims = initialState.sessionClaims;
        return {
          userId,
          user,
          sessionId,
          session: initialState.session,
          sessionStatus,
          sessionClaims,
          organization: initialState.organization,
          orgId: initialState.orgId,
          orgRole: initialState.orgRole,
          orgPermissions: initialState.orgPermissions,
          orgSlug: initialState.orgSlug,
          actor: initialState.actor,
          factorVerificationAge: initialState.factorVerificationAge
        };
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/clerkRuntimeError-DqAmLuLY.mjs
  function createErrorTypeGuard2(ErrorClass) {
    function typeGuard(error2) {
      const target2 = error2 ?? this;
      if (!target2) throw new TypeError(`${ErrorClass.kind || ErrorClass.name} type guard requires an error object`);
      if (ErrorClass.kind && typeof target2 === "object" && target2 !== null && "constructor" in target2) {
        if (target2.constructor?.kind === ErrorClass.kind) return true;
      }
      return target2 instanceof ErrorClass;
    }
    return typeGuard;
  }
  var ClerkError2, ClerkRuntimeError2, isClerkRuntimeError;
  var init_clerkRuntimeError_DqAmLuLY = __esm({
    "node_modules/@clerk/shared/dist/runtime/clerkRuntimeError-DqAmLuLY.mjs"() {
      ClerkError2 = class ClerkError3 extends Error {
        static kind = "ClerkError";
        clerkError = true;
        code;
        longMessage;
        docsUrl;
        cause;
        get name() {
          return this.constructor.name;
        }
        constructor(opts) {
          super(new.target.formatMessage(new.target.kind, opts.message, opts.code, opts.docsUrl), { cause: opts.cause });
          Object.setPrototypeOf(this, ClerkError3.prototype);
          this.code = opts.code;
          this.docsUrl = opts.docsUrl;
          this.longMessage = opts.longMessage;
          this.cause = opts.cause;
        }
        toString() {
          return `[${this.name}]
Message:${this.message}`;
        }
        static formatMessage(name, msg, code, docsUrl) {
          const prefix2 = "Clerk:";
          const regex = new RegExp(prefix2.replace(" ", "\\s*"), "i");
          msg = msg.replace(regex, "");
          msg = `${prefix2} ${msg.trim()}

(code="${code}")

`;
          if (docsUrl) msg += `

Docs: ${docsUrl}`;
          return msg;
        }
      };
      ClerkRuntimeError2 = class ClerkRuntimeError3 extends ClerkError2 {
        static kind = "ClerkRuntimeError";
        /**
        * @deprecated Use `clerkError` property instead. This property is maintained for backward compatibility.
        */
        clerkRuntimeError = true;
        constructor(message, options2) {
          super({
            ...options2,
            message
          });
          Object.setPrototypeOf(this, ClerkRuntimeError3.prototype);
        }
      };
      isClerkRuntimeError = createErrorTypeGuard2(ClerkRuntimeError2);
    }
  });

  // node_modules/@clerk/shared/dist/runtime/error-NXMTfCAv.mjs
  function buildErrorThrower2({ packageName, customMessages }) {
    let pkg2 = packageName;
    function buildMessage(rawMessage, replacements) {
      if (!replacements) return `${pkg2}: ${rawMessage}`;
      let msg = rawMessage;
      const matches2 = rawMessage.matchAll(/{{([a-zA-Z0-9-_]+)}}/g);
      for (const match3 of matches2) {
        const replacement = (replacements[match3[1]] || "").toString();
        msg = msg.replace(`{{${match3[1]}}}`, replacement);
      }
      return `${pkg2}: ${msg}`;
    }
    const messages = {
      ...DefaultMessages2,
      ...customMessages
    };
    return {
      setPackageName({ packageName: packageName$1 }) {
        if (typeof packageName$1 === "string") pkg2 = packageName$1;
        return this;
      },
      setMessages({ customMessages: customMessages$1 }) {
        Object.assign(messages, customMessages$1 || {});
        return this;
      },
      throwInvalidPublishableKeyError(params) {
        throw new Error(buildMessage(messages.InvalidPublishableKeyErrorMessage, params));
      },
      throwInvalidProxyUrl(params) {
        throw new Error(buildMessage(messages.InvalidProxyUrlErrorMessage, params));
      },
      throwMissingPublishableKeyError() {
        throw new Error(buildMessage(messages.MissingPublishableKeyErrorMessage));
      },
      throwMissingSecretKeyError() {
        throw new Error(buildMessage(messages.MissingSecretKeyErrorMessage));
      },
      throwMissingClerkProviderError(params) {
        throw new Error(buildMessage(messages.MissingClerkProvider, params));
      },
      throw(message) {
        throw new Error(buildMessage(message));
      }
    };
  }
  function isKnownError(error2) {
    return isClerkAPIResponseError2(error2) || isMetamaskError(error2) || isClerkRuntimeError(error2);
  }
  function isReverificationCancelledError(err) {
    return isClerkRuntimeError(err) && err.code === "reverification_cancelled";
  }
  function isMetamaskError(err) {
    return "code" in err && [
      4001,
      32602,
      32603
    ].includes(err.code) && "message" in err;
  }
  function isUserLockedError(err) {
    return isClerkAPIResponseError2(err) && err.errors?.[0]?.code === "user_locked";
  }
  function isPasswordPwnedError(err) {
    return isClerkAPIResponseError2(err) && err.errors?.[0]?.code === "form_password_pwned";
  }
  function isPasswordCompromisedError(err) {
    return isClerkAPIResponseError2(err) && err.errors?.[0]?.code === "form_password_compromised";
  }
  function isEmailLinkError(err) {
    return err.name === "EmailLinkError";
  }
  var ClerkAPIError2, isClerkAPIError, ClerkAPIResponseError2, isClerkAPIResponseError2, DefaultMessages2, EmailLinkErrorCodeStatus;
  var init_error_NXMTfCAv = __esm({
    "node_modules/@clerk/shared/dist/runtime/error-NXMTfCAv.mjs"() {
      init_clerkRuntimeError_DqAmLuLY();
      ClerkAPIError2 = class {
        static kind = "ClerkAPIError";
        code;
        message;
        longMessage;
        meta;
        constructor(json) {
          const parsedError = {
            code: json.code,
            message: json.message,
            longMessage: json.long_message,
            meta: {
              paramName: json.meta?.param_name,
              sessionId: json.meta?.session_id,
              emailAddresses: json.meta?.email_addresses,
              identifiers: json.meta?.identifiers,
              zxcvbn: json.meta?.zxcvbn,
              plan: json.meta?.plan,
              isPlanUpgradePossible: json.meta?.is_plan_upgrade_possible
            }
          };
          this.code = parsedError.code;
          this.message = parsedError.message;
          this.longMessage = parsedError.longMessage;
          this.meta = parsedError.meta;
        }
      };
      isClerkAPIError = createErrorTypeGuard2(ClerkAPIError2);
      ClerkAPIResponseError2 = class ClerkAPIResponseError3 extends ClerkError2 {
        static kind = "ClerkAPIResponseError";
        status;
        clerkTraceId;
        retryAfter;
        errors;
        constructor(message, options2) {
          const { data: errorsJson, status, clerkTraceId, retryAfter } = options2;
          super({
            ...options2,
            message,
            code: "api_response_error"
          });
          Object.setPrototypeOf(this, ClerkAPIResponseError3.prototype);
          this.status = status;
          this.clerkTraceId = clerkTraceId;
          this.retryAfter = retryAfter;
          this.errors = (errorsJson || []).map((e3) => new ClerkAPIError2(e3));
        }
        toString() {
          let message = `[${this.name}]
Message:${this.message}
Status:${this.status}
Serialized errors: ${this.errors.map((e3) => JSON.stringify(e3))}`;
          if (this.clerkTraceId) message += `
Clerk Trace ID: ${this.clerkTraceId}`;
          return message;
        }
        static formatMessage(name, msg, _3, __) {
          return msg;
        }
      };
      isClerkAPIResponseError2 = createErrorTypeGuard2(ClerkAPIResponseError2);
      DefaultMessages2 = Object.freeze({
        InvalidProxyUrlErrorMessage: `The proxyUrl passed to Clerk is invalid. The expected value for proxyUrl is an absolute URL or a relative path with a leading '/'. (key={{url}})`,
        InvalidPublishableKeyErrorMessage: `The publishableKey passed to Clerk is invalid. You can get your Publishable key at https://dashboard.clerk.com/last-active?path=api-keys. (key={{key}})`,
        MissingPublishableKeyErrorMessage: `Missing publishableKey. You can get your key at https://dashboard.clerk.com/last-active?path=api-keys.`,
        MissingSecretKeyErrorMessage: `Missing secretKey. You can get your key at https://dashboard.clerk.com/last-active?path=api-keys.`,
        MissingClerkProvider: `{{source}} can only be used within the <ClerkProvider /> component. Learn more: https://clerk.com/docs/components/clerk-provider`
      });
      EmailLinkErrorCodeStatus = {
        Expired: "expired",
        Failed: "failed",
        ClientMismatch: "client_mismatch"
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/organization-Cy_ag_4B.mjs
  function getCurrentOrganizationMembership(organizationMemberships, organizationId) {
    return organizationMemberships.find((organizationMembership) => organizationMembership.organization.id === organizationId);
  }
  var init_organization_Cy_ag_4B = __esm({
    "node_modules/@clerk/shared/dist/runtime/organization-Cy_ag_4B.mjs"() {
    }
  });

  // node_modules/@clerk/shared/dist/runtime/noop-B7RzLU-c.mjs
  var noop;
  var init_noop_B7RzLU_c = __esm({
    "node_modules/@clerk/shared/dist/runtime/noop-B7RzLU-c.mjs"() {
      noop = (..._args) => {
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/underscore-ClYSgvuy.mjs
  function titleize(str) {
    const s2 = str || "";
    return s2.charAt(0).toUpperCase() + s2.slice(1);
  }
  function snakeToCamel(str) {
    return str ? str.replace(/([-_][a-z])/g, (match3) => match3.toUpperCase().replace(/-|_/, "")) : "";
  }
  function camelToSnake(str) {
    return str ? str.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`) : "";
  }
  var createDeepObjectTransformer, deepCamelToSnake, deepSnakeToCamel;
  var init_underscore_ClYSgvuy = __esm({
    "node_modules/@clerk/shared/dist/runtime/underscore-ClYSgvuy.mjs"() {
      createDeepObjectTransformer = (transform) => {
        const deepTransform = (obj) => {
          if (!obj) return obj;
          if (Array.isArray(obj)) return obj.map((el2) => {
            if (typeof el2 === "object" || Array.isArray(el2)) return deepTransform(el2);
            return el2;
          });
          const copy3 = { ...obj };
          const keys2 = Object.keys(copy3);
          for (const oldName of keys2) {
            const newName = transform(oldName.toString());
            if (newName !== oldName) {
              copy3[newName] = copy3[oldName];
              delete copy3[oldName];
            }
            if (typeof copy3[newName] === "object") copy3[newName] = deepTransform(copy3[newName]);
          }
          return copy3;
        };
        return deepTransform;
      };
      deepCamelToSnake = createDeepObjectTransformer(camelToSnake);
      deepSnakeToCamel = createDeepObjectTransformer(snakeToCamel);
    }
  });

  // node_modules/@clerk/shared/dist/runtime/telemetry-ZzMitk4y.mjs
  function getComponentMountedSamplingRate(component) {
    return AUTH_COMPONENTS.has(component) ? 1 : EVENT_SAMPLING_RATE$3;
  }
  function eventComponentMounted(component, props = {}) {
    return {
      event: EVENT_COMPONENT_MOUNTED,
      eventSamplingRate: getComponentMountedSamplingRate(component),
      payload: {
        component,
        ...props
      }
    };
  }
  function eventMethodCalled(method, payload) {
    return {
      event: EVENT_METHOD_CALLED,
      eventSamplingRate: EVENT_SAMPLING_RATE$2,
      payload: {
        method,
        ...payload
      }
    };
  }
  var EVENT_COMPONENT_MOUNTED, EVENT_SAMPLING_RATE$3, AUTH_COMPONENTS, EVENT_METHOD_CALLED, EVENT_SAMPLING_RATE$2;
  var init_telemetry_ZzMitk4y = __esm({
    "node_modules/@clerk/shared/dist/runtime/telemetry-ZzMitk4y.mjs"() {
      init_keys_ChIG_Ewf();
      init_underscore_ClYSgvuy();
      EVENT_COMPONENT_MOUNTED = "COMPONENT_MOUNTED";
      EVENT_SAMPLING_RATE$3 = 0.1;
      AUTH_COMPONENTS = /* @__PURE__ */ new Set(["SignIn", "SignUp"]);
      EVENT_METHOD_CALLED = "METHOD_CALLED";
      EVENT_SAMPLING_RATE$2 = 0.1;
    }
  });

  // node_modules/@clerk/shared/dist/runtime/createDeferredPromise-CYCAgyvC.mjs
  var createDeferredPromise;
  var init_createDeferredPromise_CYCAgyvC = __esm({
    "node_modules/@clerk/shared/dist/runtime/createDeferredPromise-CYCAgyvC.mjs"() {
      init_noop_B7RzLU_c();
      createDeferredPromise = () => {
        let resolve = noop;
        let reject = noop;
        return {
          promise: new Promise((res, rej) => {
            resolve = res;
            reject = rej;
          }),
          resolve,
          reject
        };
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/errors-oOcNTWU9.mjs
  function clerkErrorPathRouterMissingPath(componentName) {
    throw new Error(`${errorPrefix} Missing path option. The ${componentName} component was mounted with path routing so you need to specify the path where the component is mounted on e.g. path="/sign-in".`);
  }
  function clerkInvalidRoutingStrategy(strategy) {
    throw new Error(`${errorPrefix} Invalid routing strategy, path cannot be used in tandem with ${strategy}.`);
  }
  function clerkCoreErrorNoClerkSingleton() {
    throw new Error(`${errorPrefix} Clerk instance not found. Make sure Clerk is initialized before using any Clerk components.`);
  }
  function clerkCoreErrorContextProviderNotFound(providerName) {
    throw new Error(`${errorPrefix} ${providerName} not found. Make sure you wrap your app with <${providerName}>.`);
  }
  function clerkUIErrorDOMElementNotFound() {
    throw new Error(`${errorPrefix} The target element is empty. Provide a valid DOM element.`);
  }
  function clerkUnsupportedEnvironmentWarning(strategy) {
    console.warn(`${errorPrefix} ${strategy} is not supported in this environment.`);
  }
  function clerkInvalidFAPIResponse(status, supportEmail) {
    throw new Error(`${errorPrefix} Response: ${status || 0} not supported yet.
For more information contact us at ${supportEmail}`);
  }
  var errorPrefix;
  var init_errors_oOcNTWU9 = __esm({
    "node_modules/@clerk/shared/dist/runtime/errors-oOcNTWU9.mjs"() {
      errorPrefix = "ClerkJS:";
    }
  });

  // node_modules/@tanstack/query-core/build/modern/subscribable.js
  var Subscribable;
  var init_subscribable = __esm({
    "node_modules/@tanstack/query-core/build/modern/subscribable.js"() {
      Subscribable = class {
        constructor() {
          this.listeners = /* @__PURE__ */ new Set();
          this.subscribe = this.subscribe.bind(this);
        }
        subscribe(listener) {
          this.listeners.add(listener);
          this.onSubscribe();
          return () => {
            this.listeners.delete(listener);
            this.onUnsubscribe();
          };
        }
        hasListeners() {
          return this.listeners.size > 0;
        }
        onSubscribe() {
        }
        onUnsubscribe() {
        }
      };
    }
  });

  // node_modules/@tanstack/query-core/build/modern/focusManager.js
  var FocusManager, focusManager;
  var init_focusManager = __esm({
    "node_modules/@tanstack/query-core/build/modern/focusManager.js"() {
      init_subscribable();
      FocusManager = class extends Subscribable {
        #focused;
        #cleanup;
        #setup;
        constructor() {
          super();
          this.#setup = (onFocus) => {
            if (typeof window !== "undefined" && window.addEventListener) {
              const listener = () => onFocus();
              window.addEventListener("visibilitychange", listener, false);
              return () => {
                window.removeEventListener("visibilitychange", listener);
              };
            }
            return;
          };
        }
        onSubscribe() {
          if (!this.#cleanup) {
            this.setEventListener(this.#setup);
          }
        }
        onUnsubscribe() {
          if (!this.hasListeners()) {
            this.#cleanup?.();
            this.#cleanup = void 0;
          }
        }
        setEventListener(setup) {
          this.#setup = setup;
          this.#cleanup?.();
          this.#cleanup = setup((focused) => {
            if (typeof focused === "boolean") {
              this.setFocused(focused);
            } else {
              this.onFocus();
            }
          });
        }
        setFocused(focused) {
          const changed = this.#focused !== focused;
          if (changed) {
            this.#focused = focused;
            this.onFocus();
          }
        }
        onFocus() {
          const isFocused = this.isFocused();
          this.listeners.forEach((listener) => {
            listener(isFocused);
          });
        }
        isFocused() {
          if (typeof this.#focused === "boolean") {
            return this.#focused;
          }
          return globalThis.document?.visibilityState !== "hidden";
        }
      };
      focusManager = new FocusManager();
    }
  });

  // node_modules/@tanstack/query-core/build/modern/timeoutManager.js
  function systemSetTimeoutZero(callback) {
    setTimeout(callback, 0);
  }
  var defaultTimeoutProvider, TimeoutManager, timeoutManager;
  var init_timeoutManager = __esm({
    "node_modules/@tanstack/query-core/build/modern/timeoutManager.js"() {
      defaultTimeoutProvider = {
        // We need the wrapper function syntax below instead of direct references to
        // global setTimeout etc.
        //
        // BAD: `setTimeout: setTimeout`
        // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`
        //
        // If we use direct references here, then anything that wants to spy on or
        // replace the global setTimeout (like tests) won't work since we'll already
        // have a hard reference to the original implementation at the time when this
        // file was imported.
        setTimeout: (callback, delay) => setTimeout(callback, delay),
        clearTimeout: (timeoutId) => clearTimeout(timeoutId),
        setInterval: (callback, delay) => setInterval(callback, delay),
        clearInterval: (intervalId) => clearInterval(intervalId)
      };
      TimeoutManager = class {
        // We cannot have TimeoutManager<T> as we must instantiate it with a concrete
        // type at app boot; and if we leave that type, then any new timer provider
        // would need to support the default provider's concrete timer ID, which is
        // infeasible across environments.
        //
        // We settle for type safety for the TimeoutProvider type, and accept that
        // this class is unsafe internally to allow for extension.
        #provider = defaultTimeoutProvider;
        #providerCalled = false;
        setTimeoutProvider(provider) {
          if (true) {
            if (this.#providerCalled && provider !== this.#provider) {
              console.error(
                `[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,
                { previous: this.#provider, provider }
              );
            }
          }
          this.#provider = provider;
          if (true) {
            this.#providerCalled = false;
          }
        }
        setTimeout(callback, delay) {
          if (true) {
            this.#providerCalled = true;
          }
          return this.#provider.setTimeout(callback, delay);
        }
        clearTimeout(timeoutId) {
          this.#provider.clearTimeout(timeoutId);
        }
        setInterval(callback, delay) {
          if (true) {
            this.#providerCalled = true;
          }
          return this.#provider.setInterval(callback, delay);
        }
        clearInterval(intervalId) {
          this.#provider.clearInterval(intervalId);
        }
      };
      timeoutManager = new TimeoutManager();
    }
  });

  // node_modules/@tanstack/query-core/build/modern/utils.js
  function noop2() {
  }
  function isValidTimeout(value) {
    return typeof value === "number" && value >= 0 && value !== Infinity;
  }
  function timeUntilStale(updatedAt, staleTime) {
    return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);
  }
  function resolveStaleTime(staleTime, query) {
    return typeof staleTime === "function" ? staleTime(query) : staleTime;
  }
  function resolveQueryBoolean(option, query) {
    return typeof option === "function" ? option(query) : option;
  }
  function replaceEqualDeep(a2, b2, depth = 0) {
    if (a2 === b2) {
      return a2;
    }
    if (depth > 500) return b2;
    const array2 = isPlainArray(a2) && isPlainArray(b2);
    if (!array2 && !(isPlainObject(a2) && isPlainObject(b2))) return b2;
    const aItems = array2 ? a2 : Object.keys(a2);
    const aSize = aItems.length;
    const bItems = array2 ? b2 : Object.keys(b2);
    const bSize = bItems.length;
    const copy3 = array2 ? new Array(bSize) : {};
    let equalItems = 0;
    for (let i2 = 0; i2 < bSize; i2++) {
      const key = array2 ? i2 : bItems[i2];
      const aItem = a2[key];
      const bItem = b2[key];
      if (aItem === bItem) {
        copy3[key] = aItem;
        if (array2 ? i2 < aSize : hasOwn.call(a2, key)) equalItems++;
        continue;
      }
      if (aItem === null || bItem === null || typeof aItem !== "object" || typeof bItem !== "object") {
        copy3[key] = bItem;
        continue;
      }
      const v = replaceEqualDeep(aItem, bItem, depth + 1);
      copy3[key] = v;
      if (v === aItem) equalItems++;
    }
    return aSize === bSize && equalItems === aSize ? a2 : copy3;
  }
  function shallowEqualObjects(a2, b2) {
    if (!b2 || Object.keys(a2).length !== Object.keys(b2).length) {
      return false;
    }
    for (const key in a2) {
      if (a2[key] !== b2[key]) {
        return false;
      }
    }
    return true;
  }
  function isPlainArray(value) {
    return Array.isArray(value) && value.length === Object.keys(value).length;
  }
  function isPlainObject(o3) {
    if (!hasObjectPrototype(o3)) {
      return false;
    }
    const ctor = o3.constructor;
    if (ctor === void 0) {
      return true;
    }
    const prot = ctor.prototype;
    if (!hasObjectPrototype(prot)) {
      return false;
    }
    if (!prot.hasOwnProperty("isPrototypeOf")) {
      return false;
    }
    if (Object.getPrototypeOf(o3) !== Object.prototype) {
      return false;
    }
    return true;
  }
  function hasObjectPrototype(o3) {
    return Object.prototype.toString.call(o3) === "[object Object]";
  }
  function replaceData(prevData, data2, options2) {
    if (typeof options2.structuralSharing === "function") {
      return options2.structuralSharing(prevData, data2);
    } else if (options2.structuralSharing !== false) {
      if (true) {
        try {
          return replaceEqualDeep(prevData, data2);
        } catch (error2) {
          console.error(
            `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options2.queryHash}]: ${error2}`
          );
          throw error2;
        }
      }
      return replaceEqualDeep(prevData, data2);
    }
    return data2;
  }
  var isServer, hasOwn;
  var init_utils = __esm({
    "node_modules/@tanstack/query-core/build/modern/utils.js"() {
      isServer = typeof window === "undefined" || "Deno" in globalThis;
      hasOwn = Object.prototype.hasOwnProperty;
    }
  });

  // node_modules/@tanstack/query-core/build/modern/environmentManager.js
  var environmentManager;
  var init_environmentManager = __esm({
    "node_modules/@tanstack/query-core/build/modern/environmentManager.js"() {
      init_utils();
      environmentManager = /* @__PURE__ */ (() => {
        let isServerFn = () => isServer;
        return {
          /**
           * Returns whether the current runtime should be treated as a server environment.
           */
          isServer() {
            return isServerFn();
          },
          /**
           * Overrides the server check globally.
           */
          setIsServer(isServerValue) {
            isServerFn = isServerValue;
          }
        };
      })();
    }
  });

  // node_modules/@tanstack/query-core/build/modern/thenable.js
  function pendingThenable() {
    let resolve;
    let reject;
    const thenable = new Promise((_resolve, _reject) => {
      resolve = _resolve;
      reject = _reject;
    });
    thenable.status = "pending";
    thenable.catch(() => {
    });
    function finalize(data2) {
      Object.assign(thenable, data2);
      delete thenable.resolve;
      delete thenable.reject;
    }
    thenable.resolve = (value) => {
      finalize({
        status: "fulfilled",
        value
      });
      resolve(value);
    };
    thenable.reject = (reason) => {
      finalize({
        status: "rejected",
        reason
      });
      reject(reason);
    };
    return thenable;
  }
  var init_thenable = __esm({
    "node_modules/@tanstack/query-core/build/modern/thenable.js"() {
    }
  });

  // node_modules/@tanstack/query-core/build/modern/notifyManager.js
  function createNotifyManager() {
    let queue = [];
    let transactions = 0;
    let notifyFn = (callback) => {
      callback();
    };
    let batchNotifyFn = (callback) => {
      callback();
    };
    let scheduleFn = defaultScheduler;
    const schedule = (callback) => {
      if (transactions) {
        queue.push(callback);
      } else {
        scheduleFn(() => {
          notifyFn(callback);
        });
      }
    };
    const flush = () => {
      const originalQueue = queue;
      queue = [];
      if (originalQueue.length) {
        scheduleFn(() => {
          batchNotifyFn(() => {
            originalQueue.forEach((callback) => {
              notifyFn(callback);
            });
          });
        });
      }
    };
    return {
      batch: (callback) => {
        let result;
        transactions++;
        try {
          result = callback();
        } finally {
          transactions--;
          if (!transactions) {
            flush();
          }
        }
        return result;
      },
      /**
       * All calls to the wrapped function will be batched.
       */
      batchCalls: (callback) => {
        return (...args) => {
          schedule(() => {
            callback(...args);
          });
        };
      },
      schedule,
      /**
       * 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: (fn) => {
        notifyFn = fn;
      },
      /**
       * 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: (fn) => {
        batchNotifyFn = fn;
      },
      setScheduler: (fn) => {
        scheduleFn = fn;
      }
    };
  }
  var defaultScheduler, notifyManager;
  var init_notifyManager = __esm({
    "node_modules/@tanstack/query-core/build/modern/notifyManager.js"() {
      init_timeoutManager();
      defaultScheduler = systemSetTimeoutZero;
      notifyManager = createNotifyManager();
    }
  });

  // node_modules/@tanstack/query-core/build/modern/onlineManager.js
  var OnlineManager, onlineManager;
  var init_onlineManager = __esm({
    "node_modules/@tanstack/query-core/build/modern/onlineManager.js"() {
      init_subscribable();
      OnlineManager = class extends Subscribable {
        #online = true;
        #cleanup;
        #setup;
        constructor() {
          super();
          this.#setup = (onOnline) => {
            if (typeof window !== "undefined" && window.addEventListener) {
              const onlineListener = () => onOnline(true);
              const offlineListener = () => onOnline(false);
              window.addEventListener("online", onlineListener, false);
              window.addEventListener("offline", offlineListener, false);
              return () => {
                window.removeEventListener("online", onlineListener);
                window.removeEventListener("offline", offlineListener);
              };
            }
            return;
          };
        }
        onSubscribe() {
          if (!this.#cleanup) {
            this.setEventListener(this.#setup);
          }
        }
        onUnsubscribe() {
          if (!this.hasListeners()) {
            this.#cleanup?.();
            this.#cleanup = void 0;
          }
        }
        setEventListener(setup) {
          this.#setup = setup;
          this.#cleanup?.();
          this.#cleanup = setup(this.setOnline.bind(this));
        }
        setOnline(online) {
          const changed = this.#online !== online;
          if (changed) {
            this.#online = online;
            this.listeners.forEach((listener) => {
              listener(online);
            });
          }
        }
        isOnline() {
          return this.#online;
        }
      };
      onlineManager = new OnlineManager();
    }
  });

  // node_modules/@tanstack/query-core/build/modern/retryer.js
  function canFetch(networkMode) {
    return (networkMode ?? "online") === "online" ? onlineManager.isOnline() : true;
  }
  var init_retryer = __esm({
    "node_modules/@tanstack/query-core/build/modern/retryer.js"() {
      init_onlineManager();
    }
  });

  // node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js
  function getNextPageParam(options2, { pages, pageParams }) {
    const lastIndex = pages.length - 1;
    return pages.length > 0 ? options2.getNextPageParam(
      pages[lastIndex],
      pages,
      pageParams[lastIndex],
      pageParams
    ) : void 0;
  }
  function getPreviousPageParam(options2, { pages, pageParams }) {
    return pages.length > 0 ? options2.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;
  }
  function hasNextPage(options2, data2) {
    if (!data2) return false;
    return getNextPageParam(options2, data2) != null;
  }
  function hasPreviousPage(options2, data2) {
    if (!data2 || !options2.getPreviousPageParam) return false;
    return getPreviousPageParam(options2, data2) != null;
  }
  var init_infiniteQueryBehavior = __esm({
    "node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js"() {
    }
  });

  // node_modules/@tanstack/query-core/build/modern/query.js
  function fetchState(data2, options2) {
    return {
      fetchFailureCount: 0,
      fetchFailureReason: null,
      fetchStatus: canFetch(options2.networkMode) ? "fetching" : "paused",
      ...data2 === void 0 && {
        error: null,
        status: "pending"
      }
    };
  }
  var init_query = __esm({
    "node_modules/@tanstack/query-core/build/modern/query.js"() {
      init_retryer();
    }
  });

  // node_modules/@tanstack/query-core/build/modern/queryObserver.js
  function shouldLoadOnMount(query, options2) {
    return resolveQueryBoolean(options2.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === "error" && resolveQueryBoolean(options2.retryOnMount, query) === false);
  }
  function shouldFetchOnMount(query, options2) {
    return shouldLoadOnMount(query, options2) || query.state.data !== void 0 && shouldFetchOn(query, options2, options2.refetchOnMount);
  }
  function shouldFetchOn(query, options2, field) {
    if (resolveQueryBoolean(options2.enabled, query) !== false && resolveStaleTime(options2.staleTime, query) !== "static") {
      const value = typeof field === "function" ? field(query) : field;
      return value === "always" || value !== false && isStale(query, options2);
    }
    return false;
  }
  function shouldFetchOptionally(query, prevQuery, options2, prevOptions) {
    return (query !== prevQuery || resolveQueryBoolean(prevOptions.enabled, query) === false) && (!options2.suspense || query.state.status !== "error") && isStale(query, options2);
  }
  function isStale(query, options2) {
    return resolveQueryBoolean(options2.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options2.staleTime, query));
  }
  function shouldAssignObserverCurrentProperties(observer, optimisticResult) {
    if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {
      return true;
    }
    return false;
  }
  var QueryObserver;
  var init_queryObserver = __esm({
    "node_modules/@tanstack/query-core/build/modern/queryObserver.js"() {
      init_focusManager();
      init_environmentManager();
      init_notifyManager();
      init_query();
      init_subscribable();
      init_thenable();
      init_utils();
      init_timeoutManager();
      QueryObserver = class extends Subscribable {
        constructor(client, options2) {
          super();
          this.options = options2;
          this.#client = client;
          this.#selectError = null;
          this.#currentThenable = pendingThenable();
          this.bindMethods();
          this.setOptions(options2);
        }
        #client;
        #currentQuery = void 0;
        #currentQueryInitialState = void 0;
        #currentResult = void 0;
        #currentResultState;
        #currentResultOptions;
        #currentThenable;
        #selectError;
        #selectFn;
        #selectResult;
        // 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.
        #lastQueryWithDefinedData;
        #staleTimeoutId;
        #refetchIntervalId;
        #currentRefetchInterval;
        #trackedProps = /* @__PURE__ */ new Set();
        bindMethods() {
          this.refetch = this.refetch.bind(this);
        }
        onSubscribe() {
          if (this.listeners.size === 1) {
            this.#currentQuery.addObserver(this);
            if (shouldFetchOnMount(this.#currentQuery, this.options)) {
              this.#executeFetch();
            } else {
              this.updateResult();
            }
            this.#updateTimers();
          }
        }
        onUnsubscribe() {
          if (!this.hasListeners()) {
            this.destroy();
          }
        }
        shouldFetchOnReconnect() {
          return shouldFetchOn(
            this.#currentQuery,
            this.options,
            this.options.refetchOnReconnect
          );
        }
        shouldFetchOnWindowFocus() {
          return shouldFetchOn(
            this.#currentQuery,
            this.options,
            this.options.refetchOnWindowFocus
          );
        }
        destroy() {
          this.listeners = /* @__PURE__ */ new Set();
          this.#clearStaleTimeout();
          this.#clearRefetchInterval();
          this.#currentQuery.removeObserver(this);
        }
        setOptions(options2) {
          const prevOptions = this.options;
          const prevQuery = this.#currentQuery;
          this.options = this.#client.defaultQueryOptions(options2);
          if (this.options.enabled !== void 0 && typeof this.options.enabled !== "boolean" && typeof this.options.enabled !== "function" && typeof resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== "boolean") {
            throw new Error(
              "Expected enabled to be a boolean or a callback that returns a boolean"
            );
          }
          this.#updateQuery();
          this.#currentQuery.setOptions(this.options);
          if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {
            this.#client.getQueryCache().notify({
              type: "observerOptionsUpdated",
              query: this.#currentQuery,
              observer: this
            });
          }
          const mounted = this.hasListeners();
          if (mounted && shouldFetchOptionally(
            this.#currentQuery,
            prevQuery,
            this.options,
            prevOptions
          )) {
            this.#executeFetch();
          }
          this.updateResult();
          if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {
            this.#updateStaleTimeout();
          }
          const nextRefetchInterval = this.#computeRefetchInterval();
          if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {
            this.#updateRefetchInterval(nextRefetchInterval);
          }
        }
        getOptimisticResult(options2) {
          const query = this.#client.getQueryCache().build(this.#client, options2);
          const result = this.createResult(query, options2);
          if (shouldAssignObserverCurrentProperties(this, result)) {
            this.#currentResult = result;
            this.#currentResultOptions = this.options;
            this.#currentResultState = this.#currentQuery.state;
          }
          return result;
        }
        getCurrentResult() {
          return this.#currentResult;
        }
        trackResult(result, onPropTracked) {
          return new Proxy(result, {
            get: (target2, key) => {
              this.trackProp(key);
              onPropTracked?.(key);
              if (key === "promise") {
                this.trackProp("data");
                if (!this.options.experimental_prefetchInRender && this.#currentThenable.status === "pending") {
                  this.#currentThenable.reject(
                    new Error(
                      "experimental_prefetchInRender feature flag is not enabled"
                    )
                  );
                }
              }
              return Reflect.get(target2, key);
            }
          });
        }
        trackProp(key) {
          this.#trackedProps.add(key);
        }
        getCurrentQuery() {
          return this.#currentQuery;
        }
        refetch({ ...options2 } = {}) {
          return this.fetch({
            ...options2
          });
        }
        fetchOptimistic(options2) {
          const defaultedOptions = this.#client.defaultQueryOptions(options2);
          const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);
          return query.fetch().then(() => this.createResult(query, defaultedOptions));
        }
        fetch(fetchOptions) {
          return this.#executeFetch({
            ...fetchOptions,
            cancelRefetch: fetchOptions.cancelRefetch ?? true
          }).then(() => {
            this.updateResult();
            return this.#currentResult;
          });
        }
        #executeFetch(fetchOptions) {
          this.#updateQuery();
          let promise = this.#currentQuery.fetch(
            this.options,
            fetchOptions
          );
          if (!fetchOptions?.throwOnError) {
            promise = promise.catch(noop2);
          }
          return promise;
        }
        #updateStaleTimeout() {
          this.#clearStaleTimeout();
          const staleTime = resolveStaleTime(
            this.options.staleTime,
            this.#currentQuery
          );
          if (environmentManager.isServer() || this.#currentResult.isStale || !isValidTimeout(staleTime)) {
            return;
          }
          const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);
          const timeout = time + 1;
          this.#staleTimeoutId = timeoutManager.setTimeout(() => {
            if (!this.#currentResult.isStale) {
              this.updateResult();
            }
          }, timeout);
        }
        #computeRefetchInterval() {
          return (typeof this.options.refetchInterval === "function" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;
        }
        #updateRefetchInterval(nextInterval) {
          this.#clearRefetchInterval();
          this.#currentRefetchInterval = nextInterval;
          if (environmentManager.isServer() || resolveQueryBoolean(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {
            return;
          }
          this.#refetchIntervalId = timeoutManager.setInterval(() => {
            if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {
              this.#executeFetch();
            }
          }, this.#currentRefetchInterval);
        }
        #updateTimers() {
          this.#updateStaleTimeout();
          this.#updateRefetchInterval(this.#computeRefetchInterval());
        }
        #clearStaleTimeout() {
          if (this.#staleTimeoutId !== void 0) {
            timeoutManager.clearTimeout(this.#staleTimeoutId);
            this.#staleTimeoutId = void 0;
          }
        }
        #clearRefetchInterval() {
          if (this.#refetchIntervalId !== void 0) {
            timeoutManager.clearInterval(this.#refetchIntervalId);
            this.#refetchIntervalId = void 0;
          }
        }
        createResult(query, options2) {
          const prevQuery = this.#currentQuery;
          const prevOptions = this.options;
          const prevResult = this.#currentResult;
          const prevResultState = this.#currentResultState;
          const prevResultOptions = this.#currentResultOptions;
          const queryChange = query !== prevQuery;
          const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;
          const { state } = query;
          let newState = { ...state };
          let isPlaceholderData = false;
          let data2;
          if (options2._optimisticResults) {
            const mounted = this.hasListeners();
            const fetchOnMount = !mounted && shouldFetchOnMount(query, options2);
            const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options2, prevOptions);
            if (fetchOnMount || fetchOptionally) {
              newState = {
                ...newState,
                ...fetchState(state.data, query.options)
              };
            }
            if (options2._optimisticResults === "isRestoring") {
              newState.fetchStatus = "idle";
            }
          }
          let { error: error2, errorUpdatedAt, status } = newState;
          data2 = newState.data;
          let skipSelect = false;
          if (options2.placeholderData !== void 0 && data2 === void 0 && status === "pending") {
            let placeholderData;
            if (prevResult?.isPlaceholderData && options2.placeholderData === prevResultOptions?.placeholderData) {
              placeholderData = prevResult.data;
              skipSelect = true;
            } else {
              placeholderData = typeof options2.placeholderData === "function" ? options2.placeholderData(
                this.#lastQueryWithDefinedData?.state.data,
                this.#lastQueryWithDefinedData
              ) : options2.placeholderData;
            }
            if (placeholderData !== void 0) {
              status = "success";
              data2 = replaceData(
                prevResult?.data,
                placeholderData,
                options2
              );
              isPlaceholderData = true;
            }
          }
          if (options2.select && data2 !== void 0 && !skipSelect) {
            if (prevResult && data2 === prevResultState?.data && options2.select === this.#selectFn) {
              data2 = this.#selectResult;
            } else {
              try {
                this.#selectFn = options2.select;
                data2 = options2.select(data2);
                data2 = replaceData(prevResult?.data, data2, options2);
                this.#selectResult = data2;
                this.#selectError = null;
              } catch (selectError) {
                this.#selectError = selectError;
              }
            }
          }
          if (this.#selectError) {
            error2 = this.#selectError;
            data2 = this.#selectResult;
            errorUpdatedAt = Date.now();
            status = "error";
          }
          const isFetching = newState.fetchStatus === "fetching";
          const isPending = status === "pending";
          const isError = status === "error";
          const isLoading = isPending && isFetching;
          const hasData = data2 !== void 0;
          const result = {
            status,
            fetchStatus: newState.fetchStatus,
            isPending,
            isSuccess: status === "success",
            isError,
            isInitialLoading: isLoading,
            isLoading,
            data: data2,
            dataUpdatedAt: newState.dataUpdatedAt,
            error: error2,
            errorUpdatedAt,
            failureCount: newState.fetchFailureCount,
            failureReason: newState.fetchFailureReason,
            errorUpdateCount: newState.errorUpdateCount,
            isFetched: query.isFetched(),
            isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,
            isFetching,
            isRefetching: isFetching && !isPending,
            isLoadingError: isError && !hasData,
            isPaused: newState.fetchStatus === "paused",
            isPlaceholderData,
            isRefetchError: isError && hasData,
            isStale: isStale(query, options2),
            refetch: this.refetch,
            promise: this.#currentThenable,
            isEnabled: resolveQueryBoolean(options2.enabled, query) !== false
          };
          const nextResult = result;
          if (this.options.experimental_prefetchInRender) {
            const hasResultData = nextResult.data !== void 0;
            const isErrorWithoutData = nextResult.status === "error" && !hasResultData;
            const finalizeThenableIfPossible = (thenable) => {
              if (isErrorWithoutData) {
                thenable.reject(nextResult.error);
              } else if (hasResultData) {
                thenable.resolve(nextResult.data);
              }
            };
            const recreateThenable = () => {
              const pending = this.#currentThenable = nextResult.promise = pendingThenable();
              finalizeThenableIfPossible(pending);
            };
            const prevThenable = this.#currentThenable;
            switch (prevThenable.status) {
              case "pending":
                if (query.queryHash === prevQuery.queryHash) {
                  finalizeThenableIfPossible(prevThenable);
                }
                break;
              case "fulfilled":
                if (isErrorWithoutData || nextResult.data !== prevThenable.value) {
                  recreateThenable();
                }
                break;
              case "rejected":
                if (!isErrorWithoutData || nextResult.error !== prevThenable.reason) {
                  recreateThenable();
                }
                break;
            }
          }
          return nextResult;
        }
        updateResult() {
          const prevResult = this.#currentResult;
          const nextResult = this.createResult(this.#currentQuery, this.options);
          this.#currentResultState = this.#currentQuery.state;
          this.#currentResultOptions = this.options;
          if (this.#currentResultState.data !== void 0) {
            this.#lastQueryWithDefinedData = this.#currentQuery;
          }
          if (shallowEqualObjects(nextResult, prevResult)) {
            return;
          }
          this.#currentResult = nextResult;
          const shouldNotifyListeners = () => {
            if (!prevResult) {
              return true;
            }
            const { notifyOnChangeProps } = this.options;
            const notifyOnChangePropsValue = typeof notifyOnChangeProps === "function" ? notifyOnChangeProps() : notifyOnChangeProps;
            if (notifyOnChangePropsValue === "all" || !notifyOnChangePropsValue && !this.#trackedProps.size) {
              return true;
            }
            const includedProps = new Set(
              notifyOnChangePropsValue ?? this.#trackedProps
            );
            if (this.options.throwOnError) {
              includedProps.add("error");
            }
            return Object.keys(this.#currentResult).some((key) => {
              const typedKey = key;
              const changed = this.#currentResult[typedKey] !== prevResult[typedKey];
              return changed && includedProps.has(typedKey);
            });
          };
          this.#notify({ listeners: shouldNotifyListeners() });
        }
        #updateQuery() {
          const query = this.#client.getQueryCache().build(this.#client, this.options);
          if (query === this.#currentQuery) {
            return;
          }
          const prevQuery = this.#currentQuery;
          this.#currentQuery = query;
          this.#currentQueryInitialState = query.state;
          if (this.hasListeners()) {
            prevQuery?.removeObserver(this);
            query.addObserver(this);
          }
        }
        onQueryUpdate() {
          this.updateResult();
          if (this.hasListeners()) {
            this.#updateTimers();
          }
        }
        #notify(notifyOptions) {
          notifyManager.batch(() => {
            if (notifyOptions.listeners) {
              this.listeners.forEach((listener) => {
                listener(this.#currentResult);
              });
            }
            this.#client.getQueryCache().notify({
              query: this.#currentQuery,
              type: "observerResultsUpdated"
            });
          });
        }
      };
    }
  });

  // node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js
  var InfiniteQueryObserver;
  var init_infiniteQueryObserver = __esm({
    "node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js"() {
      init_queryObserver();
      init_infiniteQueryBehavior();
      InfiniteQueryObserver = class extends QueryObserver {
        constructor(client, options2) {
          super(client, options2);
        }
        bindMethods() {
          super.bindMethods();
          this.fetchNextPage = this.fetchNextPage.bind(this);
          this.fetchPreviousPage = this.fetchPreviousPage.bind(this);
        }
        setOptions(options2) {
          options2._type = "infinite";
          super.setOptions(options2);
        }
        getOptimisticResult(options2) {
          options2._type = "infinite";
          return super.getOptimisticResult(options2);
        }
        fetchNextPage(options2) {
          return this.fetch({
            ...options2,
            meta: {
              fetchMore: { direction: "forward" }
            }
          });
        }
        fetchPreviousPage(options2) {
          return this.fetch({
            ...options2,
            meta: {
              fetchMore: { direction: "backward" }
            }
          });
        }
        createResult(query, options2) {
          const { state } = query;
          const parentResult = super.createResult(query, options2);
          const { isFetching, isRefetching, isError, isRefetchError } = parentResult;
          const fetchDirection = state.fetchMeta?.fetchMore?.direction;
          const isFetchNextPageError = isError && fetchDirection === "forward";
          const isFetchingNextPage = isFetching && fetchDirection === "forward";
          const isFetchPreviousPageError = isError && fetchDirection === "backward";
          const isFetchingPreviousPage = isFetching && fetchDirection === "backward";
          const result = {
            ...parentResult,
            fetchNextPage: this.fetchNextPage,
            fetchPreviousPage: this.fetchPreviousPage,
            hasNextPage: hasNextPage(options2, state.data),
            hasPreviousPage: hasPreviousPage(options2, state.data),
            isFetchNextPageError,
            isFetchingNextPage,
            isFetchPreviousPageError,
            isFetchingPreviousPage,
            isRefetchError: isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,
            isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage
          };
          return result;
        }
      };
    }
  });

  // node_modules/@tanstack/query-core/build/modern/types.js
  var init_types = __esm({
    "node_modules/@tanstack/query-core/build/modern/types.js"() {
    }
  });

  // node_modules/@tanstack/query-core/build/modern/index.js
  var init_modern = __esm({
    "node_modules/@tanstack/query-core/build/modern/index.js"() {
      init_infiniteQueryObserver();
      init_notifyManager();
      init_queryObserver();
      init_utils();
      init_types();
    }
  });

  // node_modules/dequal/dist/index.mjs
  function find(iter, tar, key) {
    for (key of iter.keys()) {
      if (dequal(key, tar)) return key;
    }
  }
  function dequal(foo, bar) {
    var ctor, len, tmp;
    if (foo === bar) return true;
    if (foo && bar && (ctor = foo.constructor) === bar.constructor) {
      if (ctor === Date) return foo.getTime() === bar.getTime();
      if (ctor === RegExp) return foo.toString() === bar.toString();
      if (ctor === Array) {
        if ((len = foo.length) === bar.length) {
          while (len-- && dequal(foo[len], bar[len])) ;
        }
        return len === -1;
      }
      if (ctor === Set) {
        if (foo.size !== bar.size) {
          return false;
        }
        for (len of foo) {
          tmp = len;
          if (tmp && typeof tmp === "object") {
            tmp = find(bar, tmp);
            if (!tmp) return false;
          }
          if (!bar.has(tmp)) return false;
        }
        return true;
      }
      if (ctor === Map) {
        if (foo.size !== bar.size) {
          return false;
        }
        for (len of foo) {
          tmp = len[0];
          if (tmp && typeof tmp === "object") {
            tmp = find(bar, tmp);
            if (!tmp) return false;
          }
          if (!dequal(len[1], bar.get(tmp))) {
            return false;
          }
        }
        return true;
      }
      if (ctor === ArrayBuffer) {
        foo = new Uint8Array(foo);
        bar = new Uint8Array(bar);
      } else if (ctor === DataView) {
        if ((len = foo.byteLength) === bar.byteLength) {
          while (len-- && foo.getInt8(len) === bar.getInt8(len)) ;
        }
        return len === -1;
      }
      if (ArrayBuffer.isView(foo)) {
        if ((len = foo.byteLength) === bar.byteLength) {
          while (len-- && foo[len] === bar[len]) ;
        }
        return len === -1;
      }
      if (!ctor || typeof foo === "object") {
        len = 0;
        for (ctor in foo) {
          if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
          if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;
        }
        return Object.keys(bar).length === len;
      }
    }
    return foo !== foo && bar !== bar;
  }
  var has;
  var init_dist = __esm({
    "node_modules/dequal/dist/index.mjs"() {
      has = Object.prototype.hasOwnProperty;
    }
  });

  // node_modules/@clerk/shared/dist/runtime/react/index.mjs
  function assertContextExists(contextVal, msgOrCtx) {
    if (!contextVal) throw typeof msgOrCtx === "string" ? new Error(msgOrCtx) : /* @__PURE__ */ new Error(`${msgOrCtx.displayName} not found`);
  }
  function InitialStateProvider({ children, initialState }) {
    const [initialStateSnapshot] = (0, import_react4.useState)(initialState);
    const initialStateCtx = import_react4.default.useMemo(() => ({ value: initialStateSnapshot }), [initialStateSnapshot]);
    return /* @__PURE__ */ import_react4.default.createElement(InitialStateContext.Provider, { value: initialStateCtx }, children);
  }
  function useInitialStateContext() {
    const initialState = _useInitialStateContext();
    if (initialState instanceof Promise) if ("use" in import_react4.default && typeof import_react4.default.use === "function") return import_react4.default.use(initialState);
    else throw new Error("initialState cannot be a promise if React version is less than 19");
    return initialState;
  }
  function useAssertWrappedByClerkProvider(displayNameOrFn) {
    if (!import_react4.default.useContext(ClerkInstanceContext)) {
      if (typeof displayNameOrFn === "function") {
        displayNameOrFn();
        return;
      }
      throw new Error(`${displayNameOrFn} can only be used within the <ClerkProvider /> component.

Possible fixes:
1. Ensure that the <ClerkProvider /> is correctly wrapping your application where this component is used.
2. Check for multiple versions of the \`@clerk/shared\` package in your project. Use a tool like \`npm ls @clerk/shared\` to identify multiple versions, and update your dependencies to only rely on one.

Learn more: https://clerk.com/docs/components/clerk-provider`.trim());
    }
  }
  function createCacheKeys(params) {
    return {
      queryKey: [
        params.stablePrefix,
        params.authenticated,
        params.tracked,
        params.untracked
      ],
      invalidationKey: [
        params.stablePrefix,
        params.authenticated,
        params.tracked
      ],
      stableKey: params.stablePrefix,
      authenticated: params.authenticated
    };
  }
  function defineKeepPreviousDataFn(enabled2) {
    if (enabled2) return function KeepPreviousDataFn(previousData) {
      return previousData;
    };
  }
  function createRecursiveProxy(label) {
    const callableTarget = function noop$1() {
    };
    let self2;
    self2 = new Proxy(callableTarget, {
      get(_target, prop) {
        if (prop === "then") return;
        if (prop === "toString") return () => `[${label}]`;
        if (prop === Symbol.toPrimitive) return () => 0;
        return self2;
      },
      apply() {
        return self2;
      },
      construct() {
        return self2;
      },
      has() {
        return false;
      },
      set() {
        return false;
      }
    });
    return self2;
  }
  function useBaseQuery(options2, Observer) {
    const [client, isQueryClientLoaded] = useClerkQueryClient();
    const defaultedOptions = isQueryClientLoaded ? client.defaultQueryOptions(options2) : options2;
    defaultedOptions._optimisticResults = "optimistic";
    const observer = React$1.useMemo(() => {
      return new Observer(client, defaultedOptions);
    }, [client]);
    const result = observer.getOptimisticResult(defaultedOptions);
    const shouldSubscribe = options2.subscribed !== false;
    React$1.useSyncExternalStore(React$1.useCallback((onStoreChange) => {
      const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop2;
      observer.updateResult();
      return unsubscribe;
    }, [observer, shouldSubscribe]), () => observer.getCurrentResult(), () => observer.getCurrentResult());
    React$1.useEffect(() => {
      observer.setOptions(defaultedOptions);
    }, [defaultedOptions, observer]);
    if (!isQueryClientLoaded) return {
      data: void 0,
      error: null,
      isLoading: options2.enabled !== false,
      isFetching: false,
      status: "pending"
    };
    return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;
  }
  function useClerkInfiniteQuery(options2) {
    return useBaseQuery(options2, InfiniteQueryObserver);
  }
  function useClerkQuery(options2) {
    return useBaseQuery(options2, QueryObserver);
  }
  function usePreviousValue(value) {
    const currentRef = (0, import_react4.useRef)(value);
    const previousRef = (0, import_react4.useRef)(null);
    if (currentRef.current !== value) {
      previousRef.current = currentRef.current;
      currentRef.current = value;
    }
    return previousRef.current;
  }
  function useClearQueriesOnSignOut(options2) {
    const { isSignedOut, stableKeys, authenticated = true, onCleanup } = options2;
    const stableKeysRef = (0, import_react4.useRef)(stableKeys);
    const [queryClient] = useClerkQueryClient();
    const previousIsSignedIn = usePreviousValue(!isSignedOut);
    (0, import_react4.useEffect)(() => {
      if (authenticated !== true) return;
      if (previousIsSignedIn && isSignedOut === true) {
        queryClient.removeQueries({ predicate: (query) => {
          const [cachedStableKey, queryAuthenticated] = query.queryKey;
          return queryAuthenticated === true && typeof cachedStableKey === "string" && (Array.isArray(stableKeysRef.current) ? stableKeysRef.current.includes(cachedStableKey) : stableKeysRef.current === cachedStableKey);
        } });
        onCleanup?.();
      }
    }, [
      authenticated,
      isSignedOut,
      previousIsSignedIn,
      queryClient
    ]);
  }
  function calculateOffsetCount(initialPage, pageSize) {
    return (initialPage - 1) * pageSize;
  }
  function calculatePageCount(totalCount, offsetCount, pageSize) {
    return Math.ceil((totalCount - offsetCount) / pageSize);
  }
  function calculateHasNextPage(totalCount, offsetCount, currentPage, pageSize) {
    return totalCount - offsetCount > currentPage * pageSize;
  }
  function calculateHasPreviousPage(currentPage, pageSize, offsetCount) {
    return (currentPage - 1) * pageSize > offsetCount;
  }
  function useAPIKeys(params) {
    useAssertWrappedByClerkProvider("useAPIKeys");
    const safeValues = useWithSafeValues(params, {
      initialPage: 1,
      pageSize: 10,
      keepPreviousData: false,
      infinite: false,
      subject: "",
      query: "",
      enabled: true
    });
    const clerk2 = useClerkInstanceContext();
    clerk2.telemetry?.record(eventMethodCalled("useAPIKeys"));
    const hookParams = {
      initialPage: safeValues.initialPage,
      pageSize: safeValues.pageSize,
      ...safeValues.subject ? { subject: safeValues.subject } : {},
      ...safeValues.query ? { query: safeValues.query } : {}
    };
    const isEnabled2 = (safeValues.enabled ?? true) && clerk2.loaded;
    return usePagesOrInfinite({
      fetcher: clerk2.apiKeys?.getAll ? (params$1) => clerk2.apiKeys.getAll({
        ...params$1,
        subject: safeValues.subject
      }) : void 0,
      config: {
        keepPreviousData: safeValues.keepPreviousData,
        infinite: safeValues.infinite,
        enabled: isEnabled2,
        isSignedIn: clerk2.user !== null,
        initialPage: safeValues.initialPage,
        pageSize: safeValues.pageSize
      },
      keys: createCacheKeys({
        stablePrefix: STABLE_KEYS.API_KEYS_KEY,
        authenticated: true,
        tracked: { subject: safeValues.subject },
        untracked: { args: hookParams }
      })
    });
  }
  function useUserBase() {
    const clerk2 = useClerkInstanceContext();
    const initialState = useInitialStateContext();
    const getInitialState = (0, import_react4.useCallback)(() => initialState?.user, [initialState?.user]);
    return (0, import_react4.useSyncExternalStore)((0, import_react4.useCallback)((callback) => {
      return clerk2.addListener(callback, { skipInitialEmit: true });
    }, [clerk2]), (0, import_react4.useCallback)(() => {
      if (!clerk2.loaded || !clerk2.__internal_lastEmittedResources) return getInitialState();
      return clerk2.__internal_lastEmittedResources.user;
    }, [clerk2, getInitialState]), getInitialState);
  }
  function useOAuthConsentCacheKeys(params) {
    const { userId, oauthClientId, scope } = params;
    return (0, import_react4.useMemo)(() => {
      const args = { oauthClientId };
      if (scope !== void 0) args.scope = scope;
      return createCacheKeys({
        stablePrefix: STABLE_KEYS.OAUTH_CONSENT_INFO_KEY,
        authenticated: true,
        tracked: { userId: userId ?? null },
        untracked: { args }
      });
    }, [
      userId,
      oauthClientId,
      scope
    ]);
  }
  function useOAuthConsent(params = {}) {
    useAssertWrappedByClerkProvider(HOOK_NAME$2);
    const { oauthClientId: oauthClientIdParam, scope, keepPreviousData: keepPreviousData2 = true, enabled: enabled2 = true } = params;
    const clerk2 = useClerkInstanceContext();
    const user = useUserBase();
    const oauthClientId = (oauthClientIdParam ?? "").trim();
    clerk2.telemetry?.record(eventMethodCalled(HOOK_NAME$2));
    const { queryKey } = useOAuthConsentCacheKeys({
      userId: user?.id ?? null,
      oauthClientId,
      scope
    });
    const hasClientId = oauthClientId.length > 0;
    const queryEnabled = Boolean(user) && hasClientId && enabled2 && clerk2.loaded;
    const query = useClerkQuery({
      queryKey,
      queryFn: () => fetchConsentInfo(clerk2, {
        oauthClientId,
        scope
      }),
      enabled: queryEnabled,
      placeholderData: defineKeepPreviousDataFn(keepPreviousData2 && queryEnabled)
    });
    return {
      data: query.data,
      error: query.error ?? null,
      isLoading: query.isLoading,
      isFetching: query.isFetching
    };
  }
  function fetchConsentInfo(clerk2, params) {
    const { oauthClientId, scope } = params;
    return clerk2.oauthApplication.getConsentInfo(scope !== void 0 ? {
      oauthClientId,
      scope
    } : { oauthClientId });
  }
  function useOrganizationBase() {
    const clerk2 = useClerkInstanceContext();
    const initialState = useInitialStateContext();
    const getInitialState = (0, import_react4.useCallback)(() => initialState?.organization, [initialState?.organization]);
    return (0, import_react4.useSyncExternalStore)((0, import_react4.useCallback)((callback) => clerk2.addListener(callback, { skipInitialEmit: true }), [clerk2]), (0, import_react4.useCallback)(() => {
      if (!clerk2.loaded || !clerk2.__internal_lastEmittedResources) return getInitialState();
      return clerk2.__internal_lastEmittedResources.organization;
    }, [clerk2, getInitialState]), getInitialState);
  }
  function useSessionBase() {
    const clerk2 = useClerkInstanceContext();
    const initialState = useInitialStateContext();
    const getInitialState = (0, import_react4.useCallback)(() => {
      return initialState ? deriveFromSsrInitialState(initialState)?.session : void 0;
    }, [initialState]);
    return (0, import_react4.useSyncExternalStore)((0, import_react4.useCallback)((callback) => clerk2.addListener(callback, { skipInitialEmit: true }), [clerk2]), (0, import_react4.useCallback)(() => {
      if (!clerk2.loaded || !clerk2.__internal_lastEmittedResources) return getInitialState();
      return clerk2.__internal_lastEmittedResources.session;
    }, [clerk2, getInitialState]), getInitialState);
  }
  function useAttemptToEnableOrganizations(caller) {
    const clerk2 = useClerk();
    const hasAttempted = (0, import_react4.useRef)(false);
    (0, import_react4.useEffect)(() => {
      if (hasAttempted.current) return;
      hasAttempted.current = true;
      clerk2.__internal_attemptToEnableEnvironmentSetting?.({
        for: "organizations",
        caller
      });
    }, [clerk2, caller]);
  }
  function useOrganization(params) {
    const { domains: domainListParams, membershipRequests: membershipRequestsListParams, memberships: membersListParams, invitations: invitationsListParams } = params || {};
    useAssertWrappedByClerkProvider("useOrganization");
    useAttemptToEnableOrganizations("useOrganization");
    const organization = useOrganizationBase();
    const session = useSessionBase();
    const domainSafeValues = useWithSafeValues(domainListParams, {
      initialPage: 1,
      pageSize: 10,
      keepPreviousData: false,
      infinite: false,
      enrollmentMode: void 0
    });
    const membershipRequestSafeValues = useWithSafeValues(membershipRequestsListParams, {
      initialPage: 1,
      pageSize: 10,
      status: "pending",
      keepPreviousData: false,
      infinite: false
    });
    const membersSafeValues = useWithSafeValues(membersListParams, {
      initialPage: 1,
      pageSize: 10,
      role: void 0,
      keepPreviousData: false,
      infinite: false,
      query: void 0
    });
    const invitationsSafeValues = useWithSafeValues(invitationsListParams, {
      initialPage: 1,
      pageSize: 10,
      status: ["pending"],
      keepPreviousData: false,
      infinite: false
    });
    const clerk2 = useClerkInstanceContext();
    clerk2.telemetry?.record(eventMethodCalled("useOrganization"));
    const domainParams = typeof domainListParams === "undefined" ? void 0 : {
      initialPage: domainSafeValues.initialPage,
      pageSize: domainSafeValues.pageSize,
      enrollmentMode: domainSafeValues.enrollmentMode
    };
    const membershipRequestParams = typeof membershipRequestsListParams === "undefined" ? void 0 : {
      initialPage: membershipRequestSafeValues.initialPage,
      pageSize: membershipRequestSafeValues.pageSize,
      status: membershipRequestSafeValues.status
    };
    const membersParams = typeof membersListParams === "undefined" ? void 0 : {
      initialPage: membersSafeValues.initialPage,
      pageSize: membersSafeValues.pageSize,
      role: membersSafeValues.role,
      query: membersSafeValues.query
    };
    const invitationsParams2 = typeof invitationsListParams === "undefined" ? void 0 : {
      initialPage: invitationsSafeValues.initialPage,
      pageSize: invitationsSafeValues.pageSize,
      status: invitationsSafeValues.status
    };
    const domains = usePagesOrInfinite({
      fetcher: organization?.getDomains,
      config: {
        keepPreviousData: domainSafeValues.keepPreviousData,
        infinite: domainSafeValues.infinite,
        enabled: !!domainParams,
        isSignedIn: organization !== null,
        initialPage: domainSafeValues.initialPage,
        pageSize: domainSafeValues.pageSize
      },
      keys: createCacheKeys({
        stablePrefix: STABLE_KEYS.DOMAINS_KEY,
        authenticated: true,
        tracked: { organizationId: organization?.id },
        untracked: { args: domainParams }
      })
    });
    const membershipRequests = usePagesOrInfinite({
      fetcher: organization?.getMembershipRequests,
      config: {
        keepPreviousData: membershipRequestSafeValues.keepPreviousData,
        infinite: membershipRequestSafeValues.infinite,
        enabled: !!membershipRequestParams,
        isSignedIn: organization !== null,
        initialPage: membershipRequestSafeValues.initialPage,
        pageSize: membershipRequestSafeValues.pageSize
      },
      keys: createCacheKeys({
        stablePrefix: STABLE_KEYS.MEMBERSHIP_REQUESTS_KEY,
        authenticated: true,
        tracked: { organizationId: organization?.id },
        untracked: { args: membershipRequestParams }
      })
    });
    const memberships = usePagesOrInfinite({
      fetcher: organization?.getMemberships,
      config: {
        keepPreviousData: membersSafeValues.keepPreviousData,
        infinite: membersSafeValues.infinite,
        enabled: !!membersParams,
        isSignedIn: organization !== null,
        initialPage: membersSafeValues.initialPage,
        pageSize: membersSafeValues.pageSize
      },
      keys: createCacheKeys({
        stablePrefix: STABLE_KEYS.MEMBERSHIPS_KEY,
        authenticated: true,
        tracked: { organizationId: organization?.id },
        untracked: { args: membersParams }
      })
    });
    const invitations = usePagesOrInfinite({
      fetcher: organization?.getInvitations,
      config: {
        keepPreviousData: invitationsSafeValues.keepPreviousData,
        infinite: invitationsSafeValues.infinite,
        enabled: !!invitationsParams2,
        isSignedIn: organization !== null,
        initialPage: invitationsSafeValues.initialPage,
        pageSize: invitationsSafeValues.pageSize
      },
      keys: createCacheKeys({
        stablePrefix: STABLE_KEYS.INVITATIONS_KEY,
        authenticated: true,
        tracked: { organizationId: organization?.id },
        untracked: { args: invitationsParams2 }
      })
    });
    if (organization === void 0) return {
      isLoaded: false,
      organization: void 0,
      membership: void 0,
      domains: undefinedPaginatedResource$1,
      membershipRequests: undefinedPaginatedResource$1,
      memberships: undefinedPaginatedResource$1,
      invitations: undefinedPaginatedResource$1
    };
    if (organization === null) return {
      isLoaded: true,
      organization: null,
      membership: null,
      domains: null,
      membershipRequests: null,
      memberships: null,
      invitations: null
    };
    if (!clerk2.loaded && organization) return {
      isLoaded: true,
      organization,
      membership: void 0,
      domains: undefinedPaginatedResource$1,
      membershipRequests: undefinedPaginatedResource$1,
      memberships: undefinedPaginatedResource$1,
      invitations: undefinedPaginatedResource$1
    };
    return {
      isLoaded: clerk2.loaded,
      organization,
      membership: getCurrentOrganizationMembership(session.user.organizationMemberships, organization.id),
      domains,
      membershipRequests,
      memberships,
      invitations
    };
  }
  function useOrganizationCreationDefaultsCacheKeys(params) {
    const { userId } = params;
    return (0, import_react4.useMemo)(() => {
      return createCacheKeys({
        stablePrefix: STABLE_KEYS.ORGANIZATION_CREATION_DEFAULTS_KEY,
        authenticated: Boolean(userId),
        tracked: { userId: userId ?? null },
        untracked: { args: {} }
      });
    }, [userId]);
  }
  function useOrganizationCreationDefaults(params = {}) {
    useAssertWrappedByClerkProvider(HOOK_NAME$1);
    const { keepPreviousData: keepPreviousData2 = true, enabled: enabled2 = true } = params;
    const clerk2 = useClerkInstanceContext();
    const user = useUserBase();
    const featureEnabled = clerk2.__internal_environment?.organizationSettings?.organizationCreationDefaults?.enabled ?? false;
    clerk2.telemetry?.record(eventMethodCalled(HOOK_NAME$1));
    const { queryKey } = useOrganizationCreationDefaultsCacheKeys({ userId: user?.id ?? null });
    const queryEnabled = Boolean(user) && enabled2 && featureEnabled && clerk2.loaded;
    const query = useClerkQuery({
      queryKey,
      queryFn: user?.getOrganizationCreationDefaults,
      enabled: queryEnabled,
      placeholderData: defineKeepPreviousDataFn(keepPreviousData2)
    });
    return {
      data: query.data,
      error: query.error ?? null,
      isLoading: query.isLoading,
      isFetching: query.isFetching
    };
  }
  function useOrganizationList(params) {
    const { userMemberships, userInvitations, userSuggestions } = params || {};
    useAssertWrappedByClerkProvider("useOrganizationList");
    useAttemptToEnableOrganizations("useOrganizationList");
    const userMembershipsSafeValues = useWithSafeValues(userMemberships, {
      initialPage: 1,
      pageSize: 10,
      keepPreviousData: false,
      infinite: false
    });
    const userInvitationsSafeValues = useWithSafeValues(userInvitations, {
      initialPage: 1,
      pageSize: 10,
      status: "pending",
      keepPreviousData: false,
      infinite: false
    });
    const userSuggestionsSafeValues = useWithSafeValues(userSuggestions, {
      initialPage: 1,
      pageSize: 10,
      status: "pending",
      keepPreviousData: false,
      infinite: false
    });
    const clerk2 = useClerkInstanceContext();
    const user = useUserBase();
    clerk2.telemetry?.record(eventMethodCalled("useOrganizationList"));
    const userMembershipsParams = typeof userMemberships === "undefined" ? void 0 : {
      initialPage: userMembershipsSafeValues.initialPage,
      pageSize: userMembershipsSafeValues.pageSize
    };
    const userInvitationsParams = typeof userInvitations === "undefined" ? void 0 : {
      initialPage: userInvitationsSafeValues.initialPage,
      pageSize: userInvitationsSafeValues.pageSize,
      status: userInvitationsSafeValues.status
    };
    const userSuggestionsParams = typeof userSuggestions === "undefined" ? void 0 : {
      initialPage: userSuggestionsSafeValues.initialPage,
      pageSize: userSuggestionsSafeValues.pageSize,
      status: userSuggestionsSafeValues.status
    };
    const isClerkLoaded = !!(clerk2.loaded && user);
    const memberships = usePagesOrInfinite({
      fetcher: user?.getOrganizationMemberships,
      config: {
        keepPreviousData: userMembershipsSafeValues.keepPreviousData,
        infinite: userMembershipsSafeValues.infinite,
        enabled: !!userMembershipsParams,
        isSignedIn: user !== null,
        initialPage: userMembershipsSafeValues.initialPage,
        pageSize: userMembershipsSafeValues.pageSize
      },
      keys: createCacheKeys({
        stablePrefix: STABLE_KEYS.USER_MEMBERSHIPS_KEY,
        authenticated: true,
        tracked: { userId: user?.id },
        untracked: { args: userMembershipsParams }
      })
    });
    const invitations = usePagesOrInfinite({
      fetcher: user?.getOrganizationInvitations,
      config: {
        keepPreviousData: userInvitationsSafeValues.keepPreviousData,
        infinite: userInvitationsSafeValues.infinite,
        enabled: !!userInvitationsParams,
        isSignedIn: user !== null,
        initialPage: userInvitationsSafeValues.initialPage,
        pageSize: userInvitationsSafeValues.pageSize
      },
      keys: createCacheKeys({
        stablePrefix: STABLE_KEYS.USER_INVITATIONS_KEY,
        authenticated: true,
        tracked: { userId: user?.id },
        untracked: { args: userInvitationsParams }
      })
    });
    const suggestions = usePagesOrInfinite({
      fetcher: user?.getOrganizationSuggestions,
      config: {
        keepPreviousData: userSuggestionsSafeValues.keepPreviousData,
        infinite: userSuggestionsSafeValues.infinite,
        enabled: !!userSuggestionsParams,
        isSignedIn: user !== null,
        initialPage: userSuggestionsSafeValues.initialPage,
        pageSize: userSuggestionsSafeValues.pageSize
      },
      keys: createCacheKeys({
        stablePrefix: STABLE_KEYS.USER_SUGGESTIONS_KEY,
        authenticated: true,
        tracked: { userId: user?.id },
        untracked: { args: userSuggestionsParams }
      })
    });
    if (!isClerkLoaded) return {
      isLoaded: false,
      createOrganization: void 0,
      setActive: void 0,
      userMemberships: undefinedPaginatedResource,
      userInvitations: undefinedPaginatedResource,
      userSuggestions: undefinedPaginatedResource
    };
    return {
      isLoaded: isClerkLoaded,
      setActive: clerk2.setActive,
      createOrganization: clerk2.createOrganization,
      userMemberships: memberships,
      userInvitations: invitations,
      userSuggestions: suggestions
    };
  }
  function useClientBase() {
    const clerk2 = useClerkInstanceContext();
    return (0, import_react4.useSyncExternalStore)((0, import_react4.useCallback)((callback) => clerk2.addListener(callback, { skipInitialEmit: true }), [clerk2]), (0, import_react4.useCallback)(() => {
      if (!clerk2.loaded || !clerk2.__internal_lastEmittedResources) return initialSnapshot;
      return clerk2.__internal_lastEmittedResources.client;
    }, [clerk2]), getInitialSnapshot);
  }
  function useUser() {
    useAssertWrappedByClerkProvider(hookName);
    const user = useUserBase();
    useClerkInstanceContext().telemetry?.record(eventMethodCalled(hookName));
    if (user === void 0) return {
      isLoaded: false,
      isSignedIn: void 0,
      user: void 0
    };
    if (user === null) return {
      isLoaded: true,
      isSignedIn: false,
      user: null
    };
    return {
      isLoaded: true,
      isSignedIn: true,
      user
    };
  }
  async function resolveResult(result) {
    try {
      const r2 = await result;
      if (r2 instanceof Response) return r2.json();
      return r2;
    } catch (e3) {
      if (isClerkAPIResponseError2(e3) && e3.errors.find(({ code }) => code === CLERK_API_REVERIFICATION_ERROR_CODE)) return reverificationError();
      throw e3;
    }
  }
  function createReverificationHandler(params) {
    function assertReverification(fetcher) {
      return (async (...args) => {
        let result = await resolveResult(fetcher(...args));
        if (isReverificationHint(result)) {
          const resolvers = createDeferredPromise();
          const isValidMetadata = validateReverificationConfig(result.clerk_error.metadata?.reverification);
          const level = isValidMetadata ? isValidMetadata().level : void 0;
          const cancel = () => {
            resolvers.reject(new ClerkRuntimeError2("User cancelled attempted verification", { code: "reverification_cancelled" }));
          };
          const complete = () => {
            resolvers.resolve(true);
          };
          if (params.onNeedsReverification === void 0)
            params.openUIComponent?.({
              level,
              afterVerification: complete,
              afterVerificationCancelled: cancel
            });
          else params.onNeedsReverification({
            cancel,
            complete,
            level
          });
          await resolvers.promise;
          result = await resolveResult(fetcher(...args));
        }
        return result;
      });
    }
    return assertReverification;
  }
  function useBillingIsEnabled(params) {
    const clerk2 = useClerkInstanceContext();
    const enabledFromParam = params?.enabled ?? true;
    const environment = clerk2.__internal_environment;
    const user = useUserBase();
    const organization = useOrganizationBase();
    const userBillingEnabled = environment?.commerceSettings.billing.user.enabled;
    const orgBillingEnabled = environment?.commerceSettings.billing.organization.enabled;
    const billingEnabled = params?.for === "organization" ? orgBillingEnabled : params?.for === "user" ? userBillingEnabled : userBillingEnabled || orgBillingEnabled;
    const isOrganization = params?.for === "organization";
    const requireUserAndOrganizationWhenAuthenticated = params?.authenticated ?? true ? (isOrganization ? Boolean(organization?.id) : true) && Boolean(user?.id) : true;
    return billingEnabled && enabledFromParam && clerk2.loaded && requireUserAndOrganizationWhenAuthenticated;
  }
  function createBillingPaginatedHook({ hookName: hookName$3, resourceType, useFetcher, options: options2 }) {
    return function useBillingHook(params) {
      const { for: _for, enabled: externalEnabled, ...paginationParams } = params || {};
      const safeFor = _for || "user";
      useAssertWrappedByClerkProvider(hookName$3);
      const fetchFn = useFetcher(safeFor);
      const safeValues = useWithSafeValues(paginationParams, {
        initialPage: 1,
        pageSize: 10,
        keepPreviousData: false,
        infinite: false,
        __experimental_mode: void 0
      });
      const clerk2 = useClerkInstanceContext();
      const user = useUserBase();
      const organization = useOrganizationBase();
      clerk2.telemetry?.record(eventMethodCalled(hookName$3));
      const isForOrganization = safeFor === "organization";
      const billingEnabled = useBillingIsEnabled({
        for: safeFor,
        enabled: externalEnabled,
        authenticated: !options2?.unauthenticated
      });
      const hookParams = typeof paginationParams === "undefined" ? void 0 : {
        initialPage: safeValues.initialPage,
        pageSize: safeValues.pageSize,
        ...options2?.unauthenticated ? {} : isForOrganization ? { orgId: organization?.id } : {}
      };
      const isEnabled2 = !!hookParams && clerk2.loaded && !!billingEnabled;
      return usePagesOrInfinite({
        fetcher: fetchFn,
        config: {
          keepPreviousData: safeValues.keepPreviousData,
          infinite: safeValues.infinite,
          enabled: isEnabled2,
          ...options2?.unauthenticated ? {} : { isSignedIn: user !== null },
          __experimental_mode: safeValues.__experimental_mode,
          initialPage: safeValues.initialPage,
          pageSize: safeValues.pageSize
        },
        keys: createCacheKeys({
          stablePrefix: resourceType,
          authenticated: !options2?.unauthenticated,
          tracked: options2?.unauthenticated ? { for: safeFor } : {
            userId: user?.id,
            ...isForOrganization ? { orgId: organization?.id } : {}
          },
          untracked: { args: hookParams }
        })
      });
    };
  }
  function useSubscriptionCacheKeys(params) {
    const { userId, orgId, for: forType } = params;
    return (0, import_react4.useMemo)(() => {
      const safeOrgId = forType === "organization" ? orgId : void 0;
      return createCacheKeys({
        stablePrefix: STABLE_KEYS.SUBSCRIPTION_KEY,
        authenticated: true,
        tracked: {
          userId,
          orgId: safeOrgId
        },
        untracked: { args: { orgId: safeOrgId } }
      });
    }, [
      userId,
      orgId,
      forType
    ]);
  }
  function useSubscription(params) {
    useAssertWrappedByClerkProvider(HOOK_NAME);
    const clerk2 = useClerkInstanceContext();
    const user = useUserBase();
    const organization = useOrganizationBase();
    const billingEnabled = useBillingIsEnabled(params);
    const recordedRef = (0, import_react4.useRef)(false);
    (0, import_react4.useEffect)(() => {
      if (!recordedRef.current && clerk2?.telemetry) {
        clerk2.telemetry.record(eventMethodCalled(HOOK_NAME));
        recordedRef.current = true;
      }
    }, [clerk2]);
    const keepPreviousData2 = params?.keepPreviousData ?? false;
    const [queryClient] = useClerkQueryClient();
    const { queryKey, invalidationKey, stableKey, authenticated } = useSubscriptionCacheKeys({
      userId: user?.id,
      orgId: organization?.id,
      for: params?.for
    });
    const queriesEnabled = Boolean(user?.id && billingEnabled);
    useClearQueriesOnSignOut({
      isSignedOut: user === null,
      authenticated,
      stableKeys: stableKey
    });
    const query = useClerkQuery({
      queryKey,
      queryFn: ({ queryKey: queryKey$1 }) => {
        const obj = queryKey$1[3];
        return clerk2.billing.getSubscription(obj.args);
      },
      staleTime: 1e3 * 60,
      enabled: queriesEnabled,
      placeholderData: defineKeepPreviousDataFn(keepPreviousData2 && queriesEnabled)
    });
    const revalidate = (0, import_react4.useCallback)(() => queryClient.invalidateQueries({ queryKey: invalidationKey }), [queryClient, invalidationKey]);
    return {
      data: query.data,
      error: query.error ?? void 0,
      isLoading: query.isLoading,
      isFetching: query.isFetching,
      revalidate
    };
  }
  function useStatementQueryCacheKeys(params) {
    const { statementId, userId, orgId, for: forType } = params;
    return (0, import_react4.useMemo)(() => {
      return createCacheKeys({
        stablePrefix: INTERNAL_STABLE_KEYS.BILLING_STATEMENTS_KEY,
        authenticated: true,
        tracked: {
          statementId,
          forType,
          userId,
          orgId
        },
        untracked: { args: {
          id: statementId ?? void 0,
          orgId: orgId ?? void 0
        } }
      });
    }, [
      statementId,
      forType,
      userId,
      orgId
    ]);
  }
  function useStatementQuery(params = {}) {
    const { statementId = null, keepPreviousData: keepPreviousData2 = false, for: forType = "user" } = params;
    const clerk2 = useClerkInstanceContext();
    const user = useUserBase();
    const organization = useOrganizationBase();
    const organizationId = forType === "organization" ? organization?.id ?? null : null;
    const { queryKey, stableKey, authenticated } = useStatementQueryCacheKeys({
      statementId,
      userId: user?.id ?? null,
      orgId: organizationId,
      for: forType
    });
    const billingEnabled = useBillingIsEnabled(params);
    const queryEnabled = Boolean(statementId) && billingEnabled;
    useClearQueriesOnSignOut({
      isSignedOut: user === null,
      authenticated,
      stableKeys: stableKey
    });
    const query = useClerkQuery({
      queryKey,
      queryFn: () => {
        if (!statementId) throw new Error("statementId is required to fetch a statement");
        return clerk2.billing.getStatement({
          id: statementId,
          orgId: organizationId ?? void 0
        });
      },
      enabled: queryEnabled,
      placeholderData: defineKeepPreviousDataFn(keepPreviousData2),
      staleTime: 1e3 * 60
    });
    return {
      data: query.data,
      error: query.error ?? null,
      isLoading: query.isLoading,
      isFetching: query.isFetching
    };
  }
  function usePlanDetailsQueryCacheKeys(params) {
    const { planId } = params;
    return (0, import_react4.useMemo)(() => {
      return createCacheKeys({
        stablePrefix: INTERNAL_STABLE_KEYS.BILLING_PLANS_KEY,
        authenticated: false,
        tracked: { planId: planId ?? null },
        untracked: { args: { id: planId ?? void 0 } }
      });
    }, [planId]);
  }
  function __internal_usePlanDetailsQuery(params = {}) {
    const { planId, initialPlan = null, keepPreviousData: keepPreviousData2 = true } = params;
    const clerk2 = useClerkInstanceContext();
    const targetPlanId = planId ?? initialPlan?.id ?? null;
    const { queryKey } = usePlanDetailsQueryCacheKeys({ planId: targetPlanId });
    const billingEnabled = useBillingIsEnabled({ authenticated: false });
    const query = useClerkQuery({
      queryKey,
      queryFn: () => {
        if (!targetPlanId) throw new Error("planId is required to fetch plan details");
        return clerk2.billing.getPlan({ id: targetPlanId });
      },
      enabled: Boolean(targetPlanId) && billingEnabled,
      initialData: initialPlan ?? void 0,
      placeholderData: defineKeepPreviousDataFn(keepPreviousData2),
      initialDataUpdatedAt: 0
    });
    return {
      data: query.data,
      error: query.error ?? null,
      isLoading: query.isLoading,
      isFetching: query.isFetching
    };
  }
  function usePaymentAttemptQueryCacheKeys(params) {
    const { paymentAttemptId, userId, orgId, for: forType } = params;
    return (0, import_react4.useMemo)(() => {
      return createCacheKeys({
        stablePrefix: INTERNAL_STABLE_KEYS.PAYMENT_ATTEMPT_KEY,
        authenticated: true,
        tracked: {
          paymentAttemptId,
          forType,
          userId,
          orgId
        },
        untracked: { args: {
          id: paymentAttemptId ?? void 0,
          orgId: orgId ?? void 0
        } }
      });
    }, [
      paymentAttemptId,
      forType,
      userId,
      orgId
    ]);
  }
  function usePaymentAttemptQuery(params) {
    const { paymentAttemptId, keepPreviousData: keepPreviousData2 = false, for: forType = "user" } = params;
    const clerk2 = useClerkInstanceContext();
    const user = useUserBase();
    const organization = useOrganizationBase();
    const organizationId = forType === "organization" ? organization?.id ?? null : null;
    const { queryKey, stableKey, authenticated } = usePaymentAttemptQueryCacheKeys({
      paymentAttemptId,
      userId: user?.id ?? null,
      orgId: organizationId,
      for: forType
    });
    const billingEnabled = useBillingIsEnabled(params);
    const queryEnabled = Boolean(paymentAttemptId) && billingEnabled;
    useClearQueriesOnSignOut({
      isSignedOut: user === null,
      authenticated,
      stableKeys: stableKey
    });
    const query = useClerkQuery({
      queryKey,
      queryFn: ({ queryKey: queryKey$1 }) => {
        const args = queryKey$1[3].args;
        return clerk2.billing.getPaymentAttempt(args);
      },
      enabled: queryEnabled,
      placeholderData: defineKeepPreviousDataFn(keepPreviousData2),
      staleTime: 1e3 * 60
    });
    return {
      data: query.data,
      error: query.error ?? null,
      isLoading: query.isLoading,
      isFetching: query.isFetching
    };
  }
  function useUserEnterpriseConnectionsCacheKeys(params) {
    const { userId, withOrganizationAccountLinking = false } = params;
    return (0, import_react4.useMemo)(() => {
      return createCacheKeys({
        stablePrefix: INTERNAL_STABLE_KEYS.USER_ENTERPRISE_CONNECTIONS_KEY,
        authenticated: Boolean(userId),
        tracked: {
          userId: userId ?? null,
          withOrganizationAccountLinking
        },
        untracked: { args: {} }
      });
    }, [userId, withOrganizationAccountLinking]);
  }
  function useUserEnterpriseConnections(params = {}) {
    const { keepPreviousData: keepPreviousData2 = true, enabled: enabled2 = true, withOrganizationAccountLinking = false } = params;
    const clerk2 = useClerkInstanceContext();
    const user = useUserBase();
    const [queryClient] = useClerkQueryClient();
    const { queryKey, stableKey, authenticated } = useUserEnterpriseConnectionsCacheKeys({
      userId: user?.id ?? null,
      withOrganizationAccountLinking
    });
    const queryEnabled = enabled2 && clerk2.loaded && Boolean(user);
    useClearQueriesOnSignOut({
      isSignedOut: user === null,
      authenticated,
      stableKeys: stableKey
    });
    const query = useClerkQuery({
      queryKey,
      queryFn: () => user?.getEnterpriseConnections({ withOrganizationAccountLinking }),
      enabled: queryEnabled,
      placeholderData: defineKeepPreviousDataFn(keepPreviousData2)
    });
    const revalidate = (0, import_react4.useCallback)(() => queryClient.invalidateQueries({ queryKey: [stableKey] }), [queryClient, stableKey]);
    const createEnterpriseConnection = (0, import_react4.useCallback)(async (createParams) => {
      const created = await user?.createEnterpriseConnection(createParams);
      await revalidate();
      return created;
    }, [user, revalidate]);
    const updateEnterpriseConnection = (0, import_react4.useCallback)(async (enterpriseConnectionId, updateParams) => {
      const updated = await user?.updateEnterpriseConnection(enterpriseConnectionId, updateParams);
      await revalidate();
      return updated;
    }, [user, revalidate]);
    const deleteEnterpriseConnection = (0, import_react4.useCallback)(async (enterpriseConnectionId) => {
      const deleted = await user?.deleteEnterpriseConnection(enterpriseConnectionId);
      await revalidate();
      return deleted;
    }, [user, revalidate]);
    return {
      data: query.data,
      error: query.error ?? null,
      isLoading: query.isLoading,
      isFetching: query.isFetching,
      createEnterpriseConnection,
      updateEnterpriseConnection,
      deleteEnterpriseConnection,
      revalidate
    };
  }
  function assertClerkSingletonExists(clerk2) {
    if (!clerk2) clerkCoreErrorNoClerkSingleton();
  }
  function ClerkContextProvider(props) {
    const clerk2 = props.clerk;
    assertClerkSingletonExists(clerk2);
    if (props.initialState instanceof Promise && !("use" in import_react4.default && typeof import_react4.default.use === "function")) throw new Error("initialState cannot be a promise if React version is less than 19");
    const clerkCtx = import_react4.default.useMemo(() => ({ value: clerk2 }), [props.clerkStatus]);
    return /* @__PURE__ */ import_react4.default.createElement(InitialStateProvider, { initialState: props.initialState }, /* @__PURE__ */ import_react4.default.createElement(ClerkInstanceContext.Provider, { value: clerkCtx }, /* @__PURE__ */ import_react4.default.createElement(__experimental_CheckoutProvider, { value: void 0 }, props.children)));
  }
  function useInitializePaymentMethod(options2) {
    const { for: forType } = options2 ?? {};
    const organization = useOrganizationBase();
    const user = useUserBase();
    const resource = forType === "organization" ? organization : user;
    const billingEnabled = useBillingIsEnabled(options2);
    const stableKey = "billing-payment-method-initialize";
    const authenticated = true;
    const queryKey = (0, import_react4.useMemo)(() => {
      return [
        stableKey,
        authenticated,
        { resourceId: resource?.id },
        {}
      ];
    }, [resource?.id]);
    const isEnabled2 = Boolean(resource?.id) && billingEnabled;
    useClearQueriesOnSignOut({
      isSignedOut: user === null,
      authenticated,
      stableKeys: stableKey
    });
    const query = useClerkQuery({
      queryKey,
      queryFn: async () => {
        if (!resource) return;
        return resource.initializePaymentMethod({ gateway: "stripe" });
      },
      enabled: isEnabled2,
      staleTime: 1e3 * 60,
      refetchOnWindowFocus: false,
      placeholderData: defineKeepPreviousDataFn(isEnabled2)
    });
    const [queryClient] = useClerkQueryClient();
    const initializePaymentMethod = (0, import_react4.useCallback)(async () => {
      if (!resource) return;
      const result = await resource.initializePaymentMethod({ gateway: "stripe" });
      queryClient.setQueryData(queryKey, result);
      return result;
    }, [
      queryClient,
      queryKey,
      resource
    ]);
    return {
      initializedPaymentMethod: query.data ?? void 0,
      initializePaymentMethod
    };
  }
  function useStripeClerkLibs() {
    const clerk2 = useClerk();
    return useClerkQuery({
      queryKey: ["clerk-stripe-sdk"],
      queryFn: async () => {
        return { loadStripe: await clerk2.__internal_loadStripeJs() };
      },
      staleTime: Infinity,
      refetchOnWindowFocus: false,
      placeholderData: defineKeepPreviousDataFn(true)
    }).data ?? null;
  }
  function useStripeLoader(options2) {
    const { stripeClerkLibs, externalGatewayId, stripePublishableKey } = options2;
    const queryKey = (0, import_react4.useMemo)(() => {
      return ["stripe-sdk", {
        externalGatewayId,
        stripePublishableKey
      }];
    }, [externalGatewayId, stripePublishableKey]);
    const billingEnabled = useBillingIsEnabled({ authenticated: true });
    return useClerkQuery({
      queryKey,
      queryFn: () => {
        if (!stripeClerkLibs || !externalGatewayId || !stripePublishableKey) return null;
        return stripeClerkLibs.loadStripe(stripePublishableKey, { stripeAccount: externalGatewayId });
      },
      enabled: Boolean(stripeClerkLibs && externalGatewayId && stripePublishableKey) && billingEnabled,
      staleTime: 1e3 * 60,
      refetchOnWindowFocus: false,
      placeholderData: defineKeepPreviousDataFn(true)
    }).data;
  }
  var React$1, import_react4, createContextAndHook, ClerkInstanceContext, useClerkInstanceContext, InitialStateContext, _useInitialStateContext, OptionsContext, CheckoutContext, useCheckoutContext, __experimental_CheckoutProvider, USER_MEMBERSHIPS_KEY, USER_INVITATIONS_KEY, USER_SUGGESTIONS_KEY, DOMAINS_KEY, MEMBERSHIP_REQUESTS_KEY, MEMBERSHIPS_KEY, INVITATIONS_KEY, API_KEYS_KEY, ORGANIZATION_CREATION_DEFAULTS_KEY, OAUTH_CONSENT_INFO_KEY, PLANS_KEY, SUBSCRIPTION_KEY, PAYMENT_METHODS_KEY, PAYMENT_ATTEMPTS_KEY, STATEMENTS_KEY, STABLE_KEYS, PAYMENT_ATTEMPT_KEY, BILLING_PLANS_KEY, BILLING_STATEMENTS_KEY, USER_ENTERPRISE_CONNECTIONS_KEY, INTERNAL_STABLE_KEYS, mockQueryClient, useClerkQueryClient, withInfiniteKey, useWithSafeValues, usePagesOrInfinite, HOOK_NAME$2, useClerk, undefinedPaginatedResource$1, HOOK_NAME$1, undefinedPaginatedResource, useSafeLayoutEffect, hookName$2, useSession, initialSnapshot, getInitialSnapshot, hookName, useDeepEqualMemoize, useDeepEqualMemo, CLERK_API_REVERIFICATION_ERROR_CODE, useReverification, useStatements, usePaymentAttempts, usePaymentMethods, usePlans, HOOK_NAME, useCheckout, usePrevious, useAttachEvent, ElementsContext, parseElementsContext, Elements, useElementsContextWithUseCase, useElements, INVALID_STRIPE_ERROR, validateStripe, parseStripeProp, isUnknownObject, isPromise, isStripe, extractAllowedOptionsUpdates, PLAIN_OBJECT_STR, isEqual, useStripe, useElementsOrCheckoutSdkContextWithUseCase, capitalized, createElementComponent, PaymentElement$1, useInternalEnvironment, useLocalization, usePaymentSourceUtils, PaymentElementContext, usePaymentElementContext, StripeUtilsContext, useStripeUtilsContext, ValidateStripeUtils, DummyStripeUtils, PropsProvider, PaymentElementProvider, PaymentElementInternalRoot, PaymentElement, throwLibsMissingError, usePaymentElement, PortalContext, usePortalContextWithoutGuarantee, UNSAFE_PortalProvider, usePortalRoot;
  var init_react = __esm({
    "node_modules/@clerk/shared/dist/runtime/react/index.mjs"() {
      init_constants_Bta24VLk();
      init_isomorphicAtob_CoF80qYz();
      init_isomorphicBtoa_DWmLcIHi();
      init_keys_ChIG_Ewf();
      init_authorization_errors_CBHAr6Ld();
      init_authorization_Bayl2soX();
      init_deriveState_CQUgOdaO();
      init_clerkRuntimeError_DqAmLuLY();
      init_error_NXMTfCAv();
      init_organization_Cy_ag_4B();
      init_noop_B7RzLU_c();
      init_underscore_ClYSgvuy();
      init_telemetry_ZzMitk4y();
      init_createDeferredPromise_CYCAgyvC();
      init_errors_oOcNTWU9();
      React$1 = __toESM(require_react(), 1);
      import_react4 = __toESM(require_react(), 1);
      init_modern();
      init_dist();
      createContextAndHook = (displayName, options2) => {
        const { assertCtxFn = assertContextExists } = options2 || {};
        const Ctx = import_react4.default.createContext(void 0);
        Ctx.displayName = displayName;
        const useCtx = () => {
          const ctx = import_react4.default.useContext(Ctx);
          assertCtxFn(ctx, `${displayName} not found`);
          return ctx.value;
        };
        const useCtxWithoutGuarantee = () => {
          const ctx = import_react4.default.useContext(Ctx);
          return ctx ? ctx.value : {};
        };
        return [
          Ctx,
          useCtx,
          useCtxWithoutGuarantee
        ];
      };
      [ClerkInstanceContext, useClerkInstanceContext] = createContextAndHook("ClerkInstanceContext");
      [InitialStateContext, _useInitialStateContext] = createContextAndHook("InitialStateContext");
      OptionsContext = import_react4.default.createContext({});
      [CheckoutContext, useCheckoutContext] = createContextAndHook("CheckoutContext");
      __experimental_CheckoutProvider = ({ children, ...rest }) => {
        return /* @__PURE__ */ import_react4.default.createElement(CheckoutContext.Provider, { value: { value: rest } }, children);
      };
      USER_MEMBERSHIPS_KEY = "userMemberships";
      USER_INVITATIONS_KEY = "userInvitations";
      USER_SUGGESTIONS_KEY = "userSuggestions";
      DOMAINS_KEY = "domains";
      MEMBERSHIP_REQUESTS_KEY = "membershipRequests";
      MEMBERSHIPS_KEY = "memberships";
      INVITATIONS_KEY = "invitations";
      API_KEYS_KEY = "apiKeys";
      ORGANIZATION_CREATION_DEFAULTS_KEY = "organizationCreationDefaults";
      OAUTH_CONSENT_INFO_KEY = "oauthConsentInfo";
      PLANS_KEY = "billing-plans";
      SUBSCRIPTION_KEY = "billing-subscription";
      PAYMENT_METHODS_KEY = "billing-payment-methods";
      PAYMENT_ATTEMPTS_KEY = "billing-payment-attempts";
      STATEMENTS_KEY = "billing-statements";
      STABLE_KEYS = {
        USER_MEMBERSHIPS_KEY,
        USER_INVITATIONS_KEY,
        USER_SUGGESTIONS_KEY,
        DOMAINS_KEY,
        MEMBERSHIP_REQUESTS_KEY,
        MEMBERSHIPS_KEY,
        INVITATIONS_KEY,
        PLANS_KEY,
        SUBSCRIPTION_KEY,
        PAYMENT_METHODS_KEY,
        PAYMENT_ATTEMPTS_KEY,
        STATEMENTS_KEY,
        API_KEYS_KEY,
        ORGANIZATION_CREATION_DEFAULTS_KEY,
        OAUTH_CONSENT_INFO_KEY
      };
      PAYMENT_ATTEMPT_KEY = "billing-payment-attempt";
      BILLING_PLANS_KEY = "billing-plan";
      BILLING_STATEMENTS_KEY = "billing-statement";
      USER_ENTERPRISE_CONNECTIONS_KEY = "userEnterpriseConnections";
      INTERNAL_STABLE_KEYS = {
        PAYMENT_ATTEMPT_KEY,
        BILLING_PLANS_KEY,
        BILLING_STATEMENTS_KEY,
        USER_ENTERPRISE_CONNECTIONS_KEY
      };
      mockQueryClient = createRecursiveProxy("ClerkMockQueryClient");
      useClerkQueryClient = () => {
        const clerk2 = useClerkInstanceContext();
        const queryClient = clerk2.__internal_queryClient;
        const [, setQueryClientLoaded] = (0, import_react4.useState)(typeof queryClient === "object" && "__tag" in queryClient && queryClient.__tag === "clerk-rq-client");
        (0, import_react4.useEffect)(() => {
          const _setQueryClientLoaded = () => setQueryClientLoaded(true);
          clerk2.on("queryClientStatus", _setQueryClientLoaded);
          return () => {
            clerk2.off("queryClientStatus", _setQueryClientLoaded);
          };
        }, [clerk2, setQueryClientLoaded]);
        const isLoaded = typeof queryClient === "object" && "__tag" in queryClient && queryClient.__tag === "clerk-rq-client";
        return [queryClient?.client || mockQueryClient, isLoaded];
      };
      withInfiniteKey = (key) => [key, `${key}-inf`];
      useWithSafeValues = (params, defaultValues) => {
        const shouldUseDefaults = typeof params === "boolean" && params;
        const initialPageRef = (0, import_react4.useRef)(shouldUseDefaults ? defaultValues.initialPage : params?.initialPage ?? defaultValues.initialPage);
        const pageSizeRef = (0, import_react4.useRef)(shouldUseDefaults ? defaultValues.pageSize : params?.pageSize ?? defaultValues.pageSize);
        const newObj = {};
        for (const key of Object.keys(defaultValues)) newObj[key] = shouldUseDefaults ? defaultValues[key] : params?.[key] ?? defaultValues[key];
        return {
          ...newObj,
          initialPage: initialPageRef.current,
          pageSize: pageSizeRef.current
        };
      };
      usePagesOrInfinite = (params) => {
        const { fetcher, config, keys: keys2 } = params;
        const [paginatedPage, setPaginatedPage] = (0, import_react4.useState)(config.initialPage ?? 1);
        const initialPageRef = (0, import_react4.useRef)(config.initialPage ?? 1);
        const pageSizeRef = (0, import_react4.useRef)(config.pageSize ?? 10);
        const enabled2 = config.enabled ?? true;
        const isSignedIn = config.isSignedIn;
        const triggerInfinite = config.infinite ?? false;
        const cacheMode = config.__experimental_mode === "cache";
        const keepPreviousData2 = config.keepPreviousData ?? false;
        const [queryClient] = useClerkQueryClient();
        const queriesEnabled = enabled2 && Boolean(fetcher) && !cacheMode && isSignedIn !== false;
        const [forceUpdateCounter, setForceUpdateCounter] = (0, import_react4.useState)(0);
        const forceUpdate = (0, import_react4.useCallback)((updater) => {
          setForceUpdateCounter(updater);
        }, []);
        const pagesQueryKey = (0, import_react4.useMemo)(() => {
          const [stablePrefix, authenticated, tracked, untracked] = keys2.queryKey;
          return [
            stablePrefix,
            authenticated,
            tracked,
            {
              ...untracked,
              args: {
                ...untracked.args,
                initialPage: paginatedPage,
                pageSize: pageSizeRef.current
              }
            }
          ];
        }, [keys2.queryKey, paginatedPage]);
        const singlePageQuery = useClerkQuery({
          queryKey: pagesQueryKey,
          queryFn: ({ queryKey }) => {
            const { args } = queryKey[3];
            if (!fetcher) return;
            return fetcher(args);
          },
          staleTime: 6e4,
          enabled: queriesEnabled && !triggerInfinite,
          placeholderData: defineKeepPreviousDataFn(keepPreviousData2)
        });
        const infiniteQueryKey = (0, import_react4.useMemo)(() => {
          const [stablePrefix, authenticated, tracked, untracked] = keys2.queryKey;
          return [
            stablePrefix + "-inf",
            authenticated,
            tracked,
            untracked
          ];
        }, [keys2.queryKey]);
        const infiniteQuery = useClerkInfiniteQuery({
          queryKey: infiniteQueryKey,
          initialPageParam: config.initialPage ?? 1,
          getNextPageParam: (lastPage, allPages, lastPageParam) => {
            const total = lastPage?.total_count ?? 0;
            return (allPages.length + (config.initialPage ? config.initialPage - 1 : 0)) * (config.pageSize ?? 10) < total ? lastPageParam + 1 : void 0;
          },
          queryFn: ({ pageParam, queryKey }) => {
            const { args } = queryKey[3];
            if (!fetcher) return;
            return fetcher({
              ...args,
              initialPage: pageParam,
              pageSize: pageSizeRef.current
            });
          },
          staleTime: 6e4,
          enabled: queriesEnabled && triggerInfinite
        });
        useClearQueriesOnSignOut({
          isSignedOut: isSignedIn === false,
          authenticated: keys2.authenticated,
          stableKeys: withInfiniteKey(keys2.stableKey),
          onCleanup: () => {
            setPaginatedPage(initialPageRef.current);
            Promise.resolve().then(() => forceUpdate((n3) => n3 + 1));
          }
        });
        const { data: data2, count: count2, page } = (0, import_react4.useMemo)(() => {
          if (triggerInfinite) {
            const cachedData = queryClient.getQueryData(infiniteQueryKey);
            const pages = queriesEnabled ? infiniteQuery.data?.pages ?? cachedData?.pages ?? [] : cachedData?.pages ?? [];
            const validPages = Array.isArray(pages) ? pages.filter(Boolean) : [];
            return {
              data: validPages.map((a2) => a2?.data).flat().filter(Boolean) ?? [],
              count: validPages[validPages.length - 1]?.total_count ?? 0,
              page: validPages.length > 0 ? validPages.length : initialPageRef.current
            };
          }
          const pageData = queriesEnabled ? singlePageQuery.data ?? queryClient.getQueryData(pagesQueryKey) : queryClient.getQueryData(pagesQueryKey);
          return {
            data: Array.isArray(pageData?.data) ? pageData.data : [],
            count: typeof pageData?.total_count === "number" ? pageData.total_count : 0,
            page: paginatedPage
          };
        }, [
          queriesEnabled,
          forceUpdateCounter,
          triggerInfinite,
          infiniteQuery.data?.pages,
          singlePageQuery.data,
          queryClient,
          infiniteQueryKey,
          pagesQueryKey,
          paginatedPage
        ]);
        const fetchPage = (0, import_react4.useCallback)((numberOrgFn) => {
          if (triggerInfinite) {
            const next2 = typeof numberOrgFn === "function" ? numberOrgFn(page) : numberOrgFn;
            const targetCount = Math.max(0, next2);
            const cachedData = queryClient.getQueryData(infiniteQueryKey);
            if (targetCount - (infiniteQuery.data?.pages ?? cachedData?.pages ?? []).length > 0) infiniteQuery.fetchNextPage({ cancelRefetch: false });
            return;
          }
          return setPaginatedPage(numberOrgFn);
        }, [
          infiniteQuery,
          page,
          triggerInfinite,
          queryClient,
          infiniteQueryKey
        ]);
        const isLoading = triggerInfinite ? infiniteQuery.isLoading : singlePageQuery.isLoading;
        const isFetching = triggerInfinite ? infiniteQuery.isFetching : singlePageQuery.isFetching;
        const error2 = (triggerInfinite ? infiniteQuery.error : singlePageQuery.error) ?? null;
        const isError = !!error2;
        const fetchNext = (0, import_react4.useCallback)(() => {
          if (triggerInfinite) {
            infiniteQuery.fetchNextPage({ cancelRefetch: false });
            return;
          }
          setPaginatedPage((n3) => Math.max(0, n3 + 1));
        }, [infiniteQuery, triggerInfinite]);
        const fetchPrevious = (0, import_react4.useCallback)(() => {
          if (triggerInfinite) return;
          setPaginatedPage((n3) => Math.max(0, n3 - 1));
        }, [triggerInfinite]);
        const offsetCount = calculateOffsetCount(initialPageRef.current, pageSizeRef.current);
        const pageCount = calculatePageCount(count2, offsetCount, pageSizeRef.current);
        const hasNextPage2 = triggerInfinite ? Boolean(infiniteQuery.hasNextPage) : calculateHasNextPage(count2, offsetCount, page, pageSizeRef.current);
        const hasPreviousPage2 = triggerInfinite ? Boolean(infiniteQuery.hasPreviousPage) : calculateHasPreviousPage(page, pageSizeRef.current, offsetCount);
        const setData = (value) => {
          if (triggerInfinite) {
            queryClient.setQueryData(infiniteQueryKey, (prevValue = {}) => {
              const prevPages = Array.isArray(prevValue?.pages) ? prevValue.pages : [];
              const nextPages = typeof value === "function" ? value(prevPages) : value;
              return {
                ...prevValue,
                pages: nextPages
              };
            });
            forceUpdate((n3) => n3 + 1);
            return Promise.resolve();
          }
          queryClient.setQueryData(pagesQueryKey, (prevValue = {
            data: [],
            total_count: 0
          }) => {
            return typeof value === "function" ? value(prevValue) : value;
          });
          forceUpdate((n3) => n3 + 1);
          return Promise.resolve();
        };
        const revalidate = async () => {
          await queryClient.invalidateQueries({ queryKey: keys2.invalidationKey });
          const [stablePrefix, ...rest] = keys2.invalidationKey;
          return queryClient.invalidateQueries({ queryKey: [stablePrefix + "-inf", ...rest] });
        };
        return {
          data: data2,
          count: count2,
          error: error2,
          isLoading,
          isFetching,
          isError,
          page,
          pageCount,
          fetchPage,
          fetchNext,
          fetchPrevious,
          hasNextPage: hasNextPage2,
          hasPreviousPage: hasPreviousPage2,
          revalidate,
          setData
        };
      };
      HOOK_NAME$2 = "useOAuthConsent";
      useClerk = () => {
        useAssertWrappedByClerkProvider("useClerk");
        return useClerkInstanceContext();
      };
      undefinedPaginatedResource$1 = {
        data: void 0,
        count: void 0,
        error: void 0,
        isLoading: false,
        isFetching: false,
        isError: false,
        page: void 0,
        pageCount: void 0,
        fetchPage: void 0,
        fetchNext: void 0,
        fetchPrevious: void 0,
        hasNextPage: false,
        hasPreviousPage: false,
        revalidate: void 0,
        setData: void 0
      };
      HOOK_NAME$1 = "useOrganizationCreationDefaults";
      undefinedPaginatedResource = {
        data: void 0,
        count: void 0,
        error: void 0,
        isLoading: false,
        isFetching: false,
        isError: false,
        page: void 0,
        pageCount: void 0,
        fetchPage: void 0,
        fetchNext: void 0,
        fetchPrevious: void 0,
        hasNextPage: false,
        hasPreviousPage: false,
        revalidate: void 0,
        setData: void 0
      };
      useSafeLayoutEffect = typeof window !== "undefined" ? import_react4.default.useLayoutEffect : import_react4.default.useEffect;
      hookName$2 = `useSession`;
      useSession = () => {
        useAssertWrappedByClerkProvider(hookName$2);
        const session = useSessionBase();
        const clerk2 = useClerkInstanceContext();
        clerk2.telemetry?.record(eventMethodCalled(hookName$2));
        if (session === void 0) return {
          isLoaded: false,
          isSignedIn: void 0,
          session: void 0
        };
        if (session === null) return {
          isLoaded: true,
          isSignedIn: false,
          session: null
        };
        return {
          isLoaded: true,
          isSignedIn: clerk2.isSignedIn,
          session
        };
      };
      initialSnapshot = void 0;
      getInitialSnapshot = () => initialSnapshot;
      hookName = "useUser";
      useDeepEqualMemoize = (value) => {
        const ref = import_react4.default.useRef(value);
        if (!dequal(value, ref.current)) ref.current = value;
        return import_react4.default.useMemo(() => ref.current, [ref.current]);
      };
      useDeepEqualMemo = (factory, dependencyArray) => {
        return import_react4.default.useMemo(factory, useDeepEqualMemoize(dependencyArray));
      };
      CLERK_API_REVERIFICATION_ERROR_CODE = "session_reverification_required";
      useReverification = (fetcher, options2) => {
        const { __internal_openReverification, telemetry } = useClerk();
        const fetcherRef = (0, import_react4.useRef)(fetcher);
        const optionsRef = (0, import_react4.useRef)(options2);
        telemetry?.record(eventMethodCalled("useReverification", { onNeedsReverification: Boolean(options2?.onNeedsReverification) }));
        useSafeLayoutEffect(() => {
          fetcherRef.current = fetcher;
          optionsRef.current = options2;
        });
        return (0, import_react4.useCallback)((...args) => {
          return createReverificationHandler({
            openUIComponent: __internal_openReverification,
            telemetry,
            ...optionsRef.current
          })(fetcherRef.current)(...args);
        }, [__internal_openReverification, telemetry]);
      };
      useStatements = createBillingPaginatedHook({
        hookName: "useStatements",
        resourceType: STABLE_KEYS.STATEMENTS_KEY,
        useFetcher: () => {
          const clerk2 = useClerkInstanceContext();
          if (clerk2.loaded) return clerk2.billing.getStatements;
        }
      });
      usePaymentAttempts = createBillingPaginatedHook({
        hookName: "usePaymentAttempts",
        resourceType: STABLE_KEYS.PAYMENT_ATTEMPTS_KEY,
        useFetcher: () => {
          const clerk2 = useClerkInstanceContext();
          if (clerk2.loaded) return clerk2.billing.getPaymentAttempts;
        }
      });
      usePaymentMethods = createBillingPaginatedHook({
        hookName: "usePaymentMethods",
        resourceType: STABLE_KEYS.PAYMENT_METHODS_KEY,
        useFetcher: (resource) => {
          const organization = useOrganizationBase();
          const user = useUserBase();
          if (resource === "organization") return organization?.getPaymentMethods;
          return user?.getPaymentMethods;
        }
      });
      usePlans = createBillingPaginatedHook({
        hookName: "usePlans",
        resourceType: STABLE_KEYS.PLANS_KEY,
        useFetcher: (_for) => {
          const clerk2 = useClerkInstanceContext();
          if (!clerk2.loaded) return;
          return (params) => clerk2.billing.getPlans({
            ...params,
            for: _for
          });
        },
        options: { unauthenticated: true }
      });
      HOOK_NAME = "useSubscription";
      useCheckout = (options2) => {
        const contextOptions = useCheckoutContext();
        const { for: forOrganization, planId, planPeriod } = options2 || contextOptions;
        const organization = useOrganizationBase();
        const { isLoaded, user } = useUser();
        const clerk2 = useClerkInstanceContext();
        if (user === null && isLoaded) throw new Error('Clerk: Ensure that `useCheckout` is inside a component wrapped with `<Show when="signed-in" />`.');
        if (isLoaded && forOrganization === "organization" && organization === null) throw new Error("Clerk: Ensure your flow checks for an active organization. Retrieve `orgId` from `useAuth()` and confirm it is defined. For SSR, see: https://clerk.com/docs/reference/backend/types/auth-object#how-to-access-the-auth-object");
        const signal = (0, import_react4.useCallback)(() => {
          return clerk2.__experimental_checkout({
            planId,
            planPeriod,
            for: forOrganization
          });
        }, [
          user?.id,
          organization?.id,
          planId,
          planPeriod,
          forOrganization
        ]);
        const subscribe = (0, import_react4.useCallback)((callback) => {
          if (!clerk2.loaded) return () => {
          };
          return clerk2.__internal_state.__internal_effect(() => {
            signal();
            callback();
          });
        }, [
          signal,
          clerk2.loaded,
          clerk2.__internal_state
        ]);
        const getSnapshot = (0, import_react4.useCallback)(() => {
          return signal();
        }, [signal]);
        return (0, import_react4.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
      };
      usePrevious = (value) => {
        const ref = (0, import_react4.useRef)(value);
        (0, import_react4.useEffect)(() => {
          ref.current = value;
        }, [value]);
        return ref.current;
      };
      useAttachEvent = (element, event, cb) => {
        const cbDefined = !!cb;
        const cbRef = (0, import_react4.useRef)(cb);
        (0, import_react4.useEffect)(() => {
          cbRef.current = cb;
        }, [cb]);
        (0, import_react4.useEffect)(() => {
          if (!cbDefined || !element) return () => {
          };
          const decoratedCb = (...args) => {
            if (cbRef.current) cbRef.current(...args);
          };
          element.on(event, decoratedCb);
          return () => {
            element.off(event, decoratedCb);
          };
        }, [
          cbDefined,
          event,
          element,
          cbRef
        ]);
      };
      ElementsContext = import_react4.default.createContext(null);
      ElementsContext.displayName = "ElementsContext";
      parseElementsContext = (ctx, useCase) => {
        if (!ctx) throw new Error(`Could not find Elements context; You need to wrap the part of your app that ${useCase} in an <Elements> provider.`);
        return ctx;
      };
      Elements = (({ stripe: rawStripeProp, options: options2, children }) => {
        const parsed = import_react4.default.useMemo(() => parseStripeProp(rawStripeProp), [rawStripeProp]);
        const [ctx, setContext] = import_react4.default.useState(() => ({
          stripe: parsed.tag === "sync" ? parsed.stripe : null,
          elements: parsed.tag === "sync" ? parsed.stripe.elements(options2) : null
        }));
        import_react4.default.useEffect(() => {
          let isMounted = true;
          const safeSetContext = (stripe) => {
            setContext((ctx$1) => {
              if (ctx$1.stripe) return ctx$1;
              return {
                stripe,
                elements: stripe.elements(options2)
              };
            });
          };
          if (parsed.tag === "async" && !ctx.stripe) parsed.stripePromise.then((stripe) => {
            if (stripe && isMounted) safeSetContext(stripe);
          });
          else if (parsed.tag === "sync" && !ctx.stripe) safeSetContext(parsed.stripe);
          return () => {
            isMounted = false;
          };
        }, [
          parsed,
          ctx,
          options2
        ]);
        const prevStripe = usePrevious(rawStripeProp);
        import_react4.default.useEffect(() => {
          if (prevStripe !== null && prevStripe !== rawStripeProp) console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.");
        }, [prevStripe, rawStripeProp]);
        const prevOptions = usePrevious(options2);
        import_react4.default.useEffect(() => {
          if (!ctx.elements) return;
          const updates = extractAllowedOptionsUpdates(options2, prevOptions, ["clientSecret", "fonts"]);
          if (updates) ctx.elements.update(updates);
        }, [
          options2,
          prevOptions,
          ctx.elements
        ]);
        return /* @__PURE__ */ import_react4.default.createElement(ElementsContext.Provider, { value: ctx }, children);
      });
      useElementsContextWithUseCase = (useCaseMessage) => {
        return parseElementsContext(import_react4.default.useContext(ElementsContext), useCaseMessage);
      };
      useElements = () => {
        const { elements } = useElementsContextWithUseCase("calls useElements()");
        return elements;
      };
      INVALID_STRIPE_ERROR = "Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.";
      validateStripe = (maybeStripe, errorMsg = INVALID_STRIPE_ERROR) => {
        if (maybeStripe === null || isStripe(maybeStripe)) return maybeStripe;
        throw new Error(errorMsg);
      };
      parseStripeProp = (raw2, errorMsg = INVALID_STRIPE_ERROR) => {
        if (isPromise(raw2)) return {
          tag: "async",
          stripePromise: Promise.resolve(raw2).then((result) => validateStripe(result, errorMsg))
        };
        const stripe = validateStripe(raw2, errorMsg);
        if (stripe === null) return { tag: "empty" };
        return {
          tag: "sync",
          stripe
        };
      };
      isUnknownObject = (raw2) => {
        return raw2 !== null && typeof raw2 === "object";
      };
      isPromise = (raw2) => {
        return isUnknownObject(raw2) && typeof raw2.then === "function";
      };
      isStripe = (raw2) => {
        return isUnknownObject(raw2) && typeof raw2.elements === "function" && typeof raw2.createToken === "function" && typeof raw2.createPaymentMethod === "function" && typeof raw2.confirmCardPayment === "function";
      };
      extractAllowedOptionsUpdates = (options2, prevOptions, immutableKeys) => {
        if (!isUnknownObject(options2)) return null;
        return Object.keys(options2).reduce((newOptions, key) => {
          const isUpdated = !isUnknownObject(prevOptions) || !isEqual(options2[key], prevOptions[key]);
          if (immutableKeys.includes(key)) {
            if (isUpdated) console.warn(`Unsupported prop change: options.${key} is not a mutable property.`);
            return newOptions;
          }
          if (!isUpdated) return newOptions;
          return {
            ...newOptions || {},
            [key]: options2[key]
          };
        }, null);
      };
      PLAIN_OBJECT_STR = "[object Object]";
      isEqual = (left, right) => {
        if (!isUnknownObject(left) || !isUnknownObject(right)) return left === right;
        const leftArray = Array.isArray(left);
        if (leftArray !== Array.isArray(right)) return false;
        const leftPlainObject = Object.prototype.toString.call(left) === PLAIN_OBJECT_STR;
        if (leftPlainObject !== (Object.prototype.toString.call(right) === PLAIN_OBJECT_STR)) return false;
        if (!leftPlainObject && !leftArray) return left === right;
        const leftKeys = Object.keys(left);
        const rightKeys = Object.keys(right);
        if (leftKeys.length !== rightKeys.length) return false;
        const keySet = {};
        for (let i2 = 0; i2 < leftKeys.length; i2 += 1) keySet[leftKeys[i2]] = true;
        for (let i2 = 0; i2 < rightKeys.length; i2 += 1) keySet[rightKeys[i2]] = true;
        const allKeys2 = Object.keys(keySet);
        if (allKeys2.length !== leftKeys.length) return false;
        const l2 = left;
        const r2 = right;
        const pred = (key) => {
          return isEqual(l2[key], r2[key]);
        };
        return allKeys2.every(pred);
      };
      useStripe = () => {
        const { stripe } = useElementsOrCheckoutSdkContextWithUseCase("calls useStripe()");
        return stripe;
      };
      useElementsOrCheckoutSdkContextWithUseCase = (useCaseString) => {
        return parseElementsContext(import_react4.default.useContext(ElementsContext), useCaseString);
      };
      capitalized = (str) => str.charAt(0).toUpperCase() + str.slice(1);
      createElementComponent = (type2, isServer2) => {
        const displayName = `${capitalized(type2)}Element`;
        const ClientElement = ({ id, className, fallback, options: options2 = {}, onBlur, onFocus, onReady, onChange, onEscape, onClick, onLoadError, onLoaderStart, onNetworksChange, onConfirm, onCancel, onShippingAddressChange, onShippingRateChange }) => {
          const ctx = useElementsOrCheckoutSdkContextWithUseCase(`mounts <${displayName}>`);
          const elements = "elements" in ctx ? ctx.elements : null;
          const [element, setElement] = import_react4.default.useState(null);
          const elementRef = import_react4.default.useRef(null);
          const domNode = import_react4.default.useRef(null);
          const [isReady, setReady] = (0, import_react4.useState)(false);
          useAttachEvent(element, "blur", onBlur);
          useAttachEvent(element, "focus", onFocus);
          useAttachEvent(element, "escape", onEscape);
          useAttachEvent(element, "click", onClick);
          useAttachEvent(element, "loaderror", onLoadError);
          useAttachEvent(element, "loaderstart", onLoaderStart);
          useAttachEvent(element, "networkschange", onNetworksChange);
          useAttachEvent(element, "confirm", onConfirm);
          useAttachEvent(element, "cancel", onCancel);
          useAttachEvent(element, "shippingaddresschange", onShippingAddressChange);
          useAttachEvent(element, "shippingratechange", onShippingRateChange);
          useAttachEvent(element, "change", onChange);
          let readyCallback;
          if (onReady) readyCallback = () => {
            setReady(true);
            onReady(element);
          };
          useAttachEvent(element, "ready", readyCallback);
          import_react4.default.useLayoutEffect(() => {
            if (elementRef.current === null && domNode.current !== null && elements) {
              let newElement = null;
              if (elements) newElement = elements.create(type2, options2);
              elementRef.current = newElement;
              setElement(newElement);
              if (newElement) newElement.mount(domNode.current);
            }
          }, [elements, options2]);
          const prevOptions = usePrevious(options2);
          import_react4.default.useEffect(() => {
            if (!elementRef.current) return;
            const updates = extractAllowedOptionsUpdates(options2, prevOptions, ["paymentRequest"]);
            if (updates && "update" in elementRef.current) elementRef.current.update(updates);
          }, [options2, prevOptions]);
          import_react4.default.useLayoutEffect(() => {
            return () => {
              if (elementRef.current && typeof elementRef.current.destroy === "function") try {
                elementRef.current.destroy();
                elementRef.current = null;
              } catch {
              }
            };
          }, []);
          return /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, !isReady && fallback, /* @__PURE__ */ import_react4.default.createElement("div", {
            id,
            style: {
              height: isReady ? "unset" : "0px",
              visibility: isReady ? "visible" : "hidden"
            },
            className,
            ref: domNode
          }));
        };
        const ServerElement = (props) => {
          useElementsOrCheckoutSdkContextWithUseCase(`mounts <${displayName}>`);
          const { id, className } = props;
          return /* @__PURE__ */ import_react4.default.createElement("div", {
            id,
            className
          });
        };
        const Element2 = isServer2 ? ServerElement : ClientElement;
        Element2.displayName = displayName;
        Element2.__elementType = type2;
        return Element2;
      };
      PaymentElement$1 = createElementComponent("payment", typeof window === "undefined");
      useInternalEnvironment = () => {
        return useClerk().__internal_environment;
      };
      useLocalization = () => {
        const clerk2 = useClerk();
        let locale = "en";
        try {
          locale = clerk2.__internal_getOption("localization")?.locale || "en";
        } catch {
        }
        return locale.split("-")[0];
      };
      usePaymentSourceUtils = (forResource = "user") => {
        const stripeClerkLibs = useStripeClerkLibs();
        const environment = useInternalEnvironment();
        const { initializedPaymentMethod, initializePaymentMethod } = useInitializePaymentMethod({ for: forResource });
        const stripePublishableKey = environment?.commerceSettings.billing.stripePublishableKey ?? void 0;
        return {
          stripe: useStripeLoader({
            stripeClerkLibs,
            externalGatewayId: initializedPaymentMethod?.externalGatewayId,
            stripePublishableKey
          }),
          initializePaymentMethod,
          externalClientSecret: initializedPaymentMethod?.externalClientSecret,
          paymentMethodOrder: initializedPaymentMethod?.paymentMethodOrder
        };
      };
      [PaymentElementContext, usePaymentElementContext] = createContextAndHook("PaymentElementContext");
      [StripeUtilsContext, useStripeUtilsContext] = createContextAndHook("StripeUtilsContext");
      ValidateStripeUtils = ({ children }) => {
        const stripe = useStripe();
        const elements = useElements();
        return /* @__PURE__ */ import_react4.default.createElement(StripeUtilsContext.Provider, { value: { value: {
          stripe,
          elements
        } } }, children);
      };
      DummyStripeUtils = ({ children }) => {
        return /* @__PURE__ */ import_react4.default.createElement(StripeUtilsContext.Provider, { value: { value: {} } }, children);
      };
      PropsProvider = ({ children, ...props }) => {
        const utils = usePaymentSourceUtils(props.for);
        const [isPaymentElementReady, setIsPaymentElementReady] = (0, import_react4.useState)(false);
        return /* @__PURE__ */ import_react4.default.createElement(PaymentElementContext.Provider, { value: { value: {
          ...props,
          ...utils,
          setIsPaymentElementReady,
          isPaymentElementReady
        } } }, children);
      };
      PaymentElementProvider = ({ children, ...props }) => {
        return /* @__PURE__ */ import_react4.default.createElement(PropsProvider, props, /* @__PURE__ */ import_react4.default.createElement(PaymentElementInternalRoot, null, children));
      };
      PaymentElementInternalRoot = (props) => {
        const { stripe, externalClientSecret, stripeAppearance } = usePaymentElementContext();
        const locale = useLocalization();
        if (stripe && externalClientSecret) return /* @__PURE__ */ import_react4.default.createElement(Elements, {
          key: externalClientSecret,
          stripe,
          options: {
            loader: "never",
            clientSecret: externalClientSecret,
            appearance: { variables: stripeAppearance },
            locale
          }
        }, /* @__PURE__ */ import_react4.default.createElement(ValidateStripeUtils, null, props.children));
        return /* @__PURE__ */ import_react4.default.createElement(DummyStripeUtils, null, props.children);
      };
      PaymentElement = ({ fallback }) => {
        const { setIsPaymentElementReady, paymentMethodOrder, checkout, stripe, externalClientSecret, paymentDescription, for: _for } = usePaymentElementContext();
        const environment = useInternalEnvironment();
        const applePay = (0, import_react4.useMemo)(() => {
          if (!checkout || !checkout.totals || !checkout.plan) return;
          return { recurringPaymentRequest: {
            paymentDescription: paymentDescription || "",
            managementURL: _for === "organization" ? environment?.displayConfig.organizationProfileUrl || "" : environment?.displayConfig.userProfileUrl || "",
            regularBilling: {
              amount: checkout.totals.totalDueNow?.amount || checkout.totals.grandTotal.amount,
              label: checkout.plan.name,
              recurringPaymentIntervalUnit: checkout.planPeriod === "annual" ? "year" : "month"
            }
          } };
        }, [
          checkout,
          paymentDescription,
          _for,
          environment
        ]);
        const options2 = (0, import_react4.useMemo)(() => {
          return {
            layout: {
              type: "tabs",
              defaultCollapsed: false
            },
            paymentMethodOrder,
            applePay
          };
        }, [applePay, paymentMethodOrder]);
        const onReady = (0, import_react4.useCallback)(() => {
          setIsPaymentElementReady(true);
        }, [setIsPaymentElementReady]);
        if (!stripe || !externalClientSecret) return /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, fallback);
        return /* @__PURE__ */ import_react4.default.createElement(PaymentElement$1, {
          fallback,
          onReady,
          options: options2
        });
      };
      throwLibsMissingError = () => {
        throw new Error("Clerk: Unable to submit, Stripe libraries are not yet loaded. Be sure to check `isFormReady` before calling `submit`.");
      };
      usePaymentElement = () => {
        const { isPaymentElementReady, initializePaymentMethod } = usePaymentElementContext();
        const { stripe, elements } = useStripeUtilsContext();
        const { externalClientSecret } = usePaymentElementContext();
        const submit = (0, import_react4.useCallback)(async () => {
          if (!stripe || !elements) return throwLibsMissingError();
          const { setupIntent, error: error2 } = await stripe.confirmSetup({
            elements,
            confirmParams: { return_url: window.location.href },
            redirect: "if_required"
          });
          if (error2) return {
            data: null,
            error: {
              gateway: "stripe",
              error: {
                code: error2.code,
                message: error2.message,
                type: error2.type
              }
            }
          };
          return {
            data: {
              gateway: "stripe",
              paymentToken: setupIntent.payment_method
            },
            error: null
          };
        }, [stripe, elements]);
        const reset = (0, import_react4.useCallback)(async () => {
          if (!stripe || !elements) return throwLibsMissingError();
          await initializePaymentMethod();
        }, [
          stripe,
          elements,
          initializePaymentMethod
        ]);
        const isProviderReady = Boolean(stripe && externalClientSecret);
        if (!isProviderReady) return {
          submit: throwLibsMissingError,
          reset: throwLibsMissingError,
          isFormReady: false,
          provider: void 0,
          isProviderReady: false
        };
        return {
          submit,
          reset,
          isFormReady: isPaymentElementReady,
          provider: { name: "stripe" },
          isProviderReady
        };
      };
      [PortalContext, , usePortalContextWithoutGuarantee] = createContextAndHook("PortalProvider");
      UNSAFE_PortalProvider = ({ children, getContainer }) => {
        const contextValue = import_react4.default.useMemo(() => ({ value: { getContainer } }), [getContainer]);
        return /* @__PURE__ */ import_react4.default.createElement(PortalContext.Provider, { value: contextValue }, children);
      };
      UNSAFE_PortalProvider.displayName = "UNSAFE_PortalProvider";
      usePortalRoot = () => {
        const contextValue = usePortalContextWithoutGuarantee();
        if (contextValue && "getContainer" in contextValue && contextValue.getContainer) return contextValue.getContainer;
        return () => null;
      };
    }
  });

  // node_modules/react/cjs/react-jsx-runtime.development.js
  var require_react_jsx_runtime_development = __commonJS({
    "node_modules/react/cjs/react-jsx-runtime.development.js"(exports) {
      "use strict";
      (function() {
        function getComponentNameFromType(type2) {
          if (null == type2) return null;
          if ("function" === typeof type2)
            return type2.$$typeof === REACT_CLIENT_REFERENCE ? null : type2.displayName || type2.name || null;
          if ("string" === typeof type2) return type2;
          switch (type2) {
            case REACT_FRAGMENT_TYPE:
              return "Fragment";
            case REACT_PROFILER_TYPE:
              return "Profiler";
            case REACT_STRICT_MODE_TYPE:
              return "StrictMode";
            case REACT_SUSPENSE_TYPE:
              return "Suspense";
            case REACT_SUSPENSE_LIST_TYPE:
              return "SuspenseList";
            case REACT_ACTIVITY_TYPE:
              return "Activity";
          }
          if ("object" === typeof type2)
            switch ("number" === typeof type2.tag && console.error(
              "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
            ), type2.$$typeof) {
              case REACT_PORTAL_TYPE:
                return "Portal";
              case REACT_CONTEXT_TYPE:
                return type2.displayName || "Context";
              case REACT_CONSUMER_TYPE:
                return (type2._context.displayName || "Context") + ".Consumer";
              case REACT_FORWARD_REF_TYPE:
                var innerType = type2.render;
                type2 = type2.displayName;
                type2 || (type2 = innerType.displayName || innerType.name || "", type2 = "" !== type2 ? "ForwardRef(" + type2 + ")" : "ForwardRef");
                return type2;
              case REACT_MEMO_TYPE:
                return innerType = type2.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type2.type) || "Memo";
              case REACT_LAZY_TYPE:
                innerType = type2._payload;
                type2 = type2._init;
                try {
                  return getComponentNameFromType(type2(innerType));
                } catch (x) {
                }
            }
          return null;
        }
        function testStringCoercion(value) {
          return "" + value;
        }
        function checkKeyStringCoercion(value) {
          try {
            testStringCoercion(value);
            var JSCompiler_inline_result = false;
          } catch (e3) {
            JSCompiler_inline_result = true;
          }
          if (JSCompiler_inline_result) {
            JSCompiler_inline_result = console;
            var JSCompiler_temp_const = JSCompiler_inline_result.error;
            var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
            JSCompiler_temp_const.call(
              JSCompiler_inline_result,
              "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
              JSCompiler_inline_result$jscomp$0
            );
            return testStringCoercion(value);
          }
        }
        function getTaskName(type2) {
          if (type2 === REACT_FRAGMENT_TYPE) return "<>";
          if ("object" === typeof type2 && null !== type2 && type2.$$typeof === REACT_LAZY_TYPE)
            return "<...>";
          try {
            var name = getComponentNameFromType(type2);
            return name ? "<" + name + ">" : "<...>";
          } catch (x) {
            return "<...>";
          }
        }
        function getOwner() {
          var dispatcher = ReactSharedInternals.A;
          return null === dispatcher ? null : dispatcher.getOwner();
        }
        function UnknownOwner() {
          return Error("react-stack-top-frame");
        }
        function hasValidKey(config) {
          if (hasOwnProperty2.call(config, "key")) {
            var getter = Object.getOwnPropertyDescriptor(config, "key").get;
            if (getter && getter.isReactWarning) return false;
          }
          return void 0 !== config.key;
        }
        function defineKeyPropWarningGetter(props, displayName) {
          function warnAboutAccessingKey() {
            specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error(
              "%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://react.dev/link/special-props)",
              displayName
            ));
          }
          warnAboutAccessingKey.isReactWarning = true;
          Object.defineProperty(props, "key", {
            get: warnAboutAccessingKey,
            configurable: true
          });
        }
        function elementRefGetterWithDeprecationWarning() {
          var componentName = getComponentNameFromType(this.type);
          didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error(
            "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
          ));
          componentName = this.props.ref;
          return void 0 !== componentName ? componentName : null;
        }
        function ReactElement(type2, key, props, owner, debugStack, debugTask) {
          var refProp = props.ref;
          type2 = {
            $$typeof: REACT_ELEMENT_TYPE,
            type: type2,
            key,
            props,
            _owner: owner
          };
          null !== (void 0 !== refProp ? refProp : null) ? Object.defineProperty(type2, "ref", {
            enumerable: false,
            get: elementRefGetterWithDeprecationWarning
          }) : Object.defineProperty(type2, "ref", { enumerable: false, value: null });
          type2._store = {};
          Object.defineProperty(type2._store, "validated", {
            configurable: false,
            enumerable: false,
            writable: true,
            value: 0
          });
          Object.defineProperty(type2, "_debugInfo", {
            configurable: false,
            enumerable: false,
            writable: true,
            value: null
          });
          Object.defineProperty(type2, "_debugStack", {
            configurable: false,
            enumerable: false,
            writable: true,
            value: debugStack
          });
          Object.defineProperty(type2, "_debugTask", {
            configurable: false,
            enumerable: false,
            writable: true,
            value: debugTask
          });
          Object.freeze && (Object.freeze(type2.props), Object.freeze(type2));
          return type2;
        }
        function jsxDEVImpl(type2, config, maybeKey, isStaticChildren, debugStack, debugTask) {
          var children = config.children;
          if (void 0 !== children)
            if (isStaticChildren)
              if (isArrayImpl(children)) {
                for (isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++)
                  validateChildKeys(children[isStaticChildren]);
                Object.freeze && Object.freeze(children);
              } else
                console.error(
                  "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 validateChildKeys(children);
          if (hasOwnProperty2.call(config, "key")) {
            children = getComponentNameFromType(type2);
            var keys2 = Object.keys(config).filter(function(k) {
              return "key" !== k;
            });
            isStaticChildren = 0 < keys2.length ? "{key: someKey, " + keys2.join(": ..., ") + ": ...}" : "{key: someKey}";
            didWarnAboutKeySpread[children + isStaticChildren] || (keys2 = 0 < keys2.length ? "{" + keys2.join(": ..., ") + ": ...}" : "{}", console.error(
              'A props object containing a "key" prop is being spread into JSX:\n  let props = %s;\n  <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n  let props = %s;\n  <%s key={someKey} {...props} />',
              isStaticChildren,
              children,
              keys2,
              children
            ), didWarnAboutKeySpread[children + isStaticChildren] = true);
          }
          children = null;
          void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey);
          hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key);
          if ("key" in config) {
            maybeKey = {};
            for (var propName in config)
              "key" !== propName && (maybeKey[propName] = config[propName]);
          } else maybeKey = config;
          children && defineKeyPropWarningGetter(
            maybeKey,
            "function" === typeof type2 ? type2.displayName || type2.name || "Unknown" : type2
          );
          return ReactElement(
            type2,
            children,
            maybeKey,
            getOwner(),
            debugStack,
            debugTask
          );
        }
        function validateChildKeys(node2) {
          isValidElement9(node2) ? node2._store && (node2._store.validated = 1) : "object" === typeof node2 && null !== node2 && node2.$$typeof === REACT_LAZY_TYPE && ("fulfilled" === node2._payload.status ? isValidElement9(node2._payload.value) && node2._payload.value._store && (node2._payload.value._store.validated = 1) : node2._store && (node2._store.validated = 1));
        }
        function isValidElement9(object) {
          return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
        }
        var React198 = require_react(), REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = /* @__PURE__ */ Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = /* @__PURE__ */ Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = /* @__PURE__ */ Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = /* @__PURE__ */ Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = /* @__PURE__ */ Symbol.for("react.memo"), REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = /* @__PURE__ */ Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = /* @__PURE__ */ Symbol.for("react.client.reference"), ReactSharedInternals = React198.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty2 = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
          return null;
        };
        React198 = {
          react_stack_bottom_frame: function(callStackForError) {
            return callStackForError();
          }
        };
        var specialPropKeyWarningShown;
        var didWarnAboutElementRef = {};
        var unknownOwnerDebugStack = React198.react_stack_bottom_frame.bind(
          React198,
          UnknownOwner
        )();
        var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
        var didWarnAboutKeySpread = {};
        exports.Fragment = REACT_FRAGMENT_TYPE;
        exports.jsx = function(type2, config, maybeKey) {
          var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
          return jsxDEVImpl(
            type2,
            config,
            maybeKey,
            false,
            trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
            trackActualOwner ? createTask(getTaskName(type2)) : unknownOwnerDebugTask
          );
        };
        exports.jsxs = function(type2, config, maybeKey) {
          var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
          return jsxDEVImpl(
            type2,
            config,
            maybeKey,
            true,
            trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
            trackActualOwner ? createTask(getTaskName(type2)) : unknownOwnerDebugTask
          );
        };
      })();
    }
  });

  // node_modules/react/jsx-runtime.js
  var require_jsx_runtime = __commonJS({
    "node_modules/react/jsx-runtime.js"(exports, module) {
      "use strict";
      if (false) {
        module.exports = null;
      } else {
        module.exports = require_react_jsx_runtime_development();
      }
    }
  });

  // node_modules/@emotion/sheet/dist/emotion-sheet.esm.js
  function sheetForTag(tag) {
    if (tag.sheet) {
      return tag.sheet;
    }
    for (var i2 = 0; i2 < document.styleSheets.length; i2++) {
      if (document.styleSheets[i2].ownerNode === tag) {
        return document.styleSheets[i2];
      }
    }
    return void 0;
  }
  function createStyleElement(options2) {
    var tag = document.createElement("style");
    tag.setAttribute("data-emotion", options2.key);
    if (options2.nonce !== void 0) {
      tag.setAttribute("nonce", options2.nonce);
    }
    tag.appendChild(document.createTextNode(""));
    tag.setAttribute("data-s", "");
    return tag;
  }
  var isDevelopment, StyleSheet;
  var init_emotion_sheet_esm = __esm({
    "node_modules/@emotion/sheet/dist/emotion-sheet.esm.js"() {
      isDevelopment = false;
      StyleSheet = /* @__PURE__ */ (function() {
        function StyleSheet2(options2) {
          var _this = this;
          this._insertTag = function(tag) {
            var before;
            if (_this.tags.length === 0) {
              if (_this.insertionPoint) {
                before = _this.insertionPoint.nextSibling;
              } else if (_this.prepend) {
                before = _this.container.firstChild;
              } else {
                before = _this.before;
              }
            } else {
              before = _this.tags[_this.tags.length - 1].nextSibling;
            }
            _this.container.insertBefore(tag, before);
            _this.tags.push(tag);
          };
          this.isSpeedy = options2.speedy === void 0 ? !isDevelopment : options2.speedy;
          this.tags = [];
          this.ctr = 0;
          this.nonce = options2.nonce;
          this.key = options2.key;
          this.container = options2.container;
          this.prepend = options2.prepend;
          this.insertionPoint = options2.insertionPoint;
          this.before = null;
        }
        var _proto = StyleSheet2.prototype;
        _proto.hydrate = function hydrate(nodes) {
          nodes.forEach(this._insertTag);
        };
        _proto.insert = function insert(rule) {
          if (this.ctr % (this.isSpeedy ? 65e3 : 1) === 0) {
            this._insertTag(createStyleElement(this));
          }
          var tag = this.tags[this.tags.length - 1];
          if (this.isSpeedy) {
            var sheet = sheetForTag(tag);
            try {
              sheet.insertRule(rule, sheet.cssRules.length);
            } catch (e3) {
            }
          } else {
            tag.appendChild(document.createTextNode(rule));
          }
          this.ctr++;
        };
        _proto.flush = function flush() {
          this.tags.forEach(function(tag) {
            var _tag$parentNode;
            return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);
          });
          this.tags = [];
          this.ctr = 0;
        };
        return StyleSheet2;
      })();
    }
  });

  // node_modules/stylis/src/Enum.js
  var MS, MOZ, WEBKIT, COMMENT, RULESET, DECLARATION, IMPORT, KEYFRAMES, LAYER;
  var init_Enum = __esm({
    "node_modules/stylis/src/Enum.js"() {
      MS = "-ms-";
      MOZ = "-moz-";
      WEBKIT = "-webkit-";
      COMMENT = "comm";
      RULESET = "rule";
      DECLARATION = "decl";
      IMPORT = "@import";
      KEYFRAMES = "@keyframes";
      LAYER = "@layer";
    }
  });

  // node_modules/stylis/src/Utility.js
  function hash(value, length2) {
    return charat(value, 0) ^ 45 ? (((length2 << 2 ^ charat(value, 0)) << 2 ^ charat(value, 1)) << 2 ^ charat(value, 2)) << 2 ^ charat(value, 3) : 0;
  }
  function trim(value) {
    return value.trim();
  }
  function match2(value, pattern) {
    return (value = pattern.exec(value)) ? value[0] : value;
  }
  function replace(value, pattern, replacement) {
    return value.replace(pattern, replacement);
  }
  function indexof(value, search) {
    return value.indexOf(search);
  }
  function charat(value, index3) {
    return value.charCodeAt(index3) | 0;
  }
  function substr(value, begin, end) {
    return value.slice(begin, end);
  }
  function strlen(value) {
    return value.length;
  }
  function sizeof(value) {
    return value.length;
  }
  function append(value, array2) {
    return array2.push(value), value;
  }
  function combine(array2, callback) {
    return array2.map(callback).join("");
  }
  var abs, from, assign;
  var init_Utility = __esm({
    "node_modules/stylis/src/Utility.js"() {
      abs = Math.abs;
      from = String.fromCharCode;
      assign = Object.assign;
    }
  });

  // node_modules/stylis/src/Tokenizer.js
  function node(value, root2, parent, type2, props, children, length2) {
    return { value, root: root2, parent, type: type2, props, children, line, column, length: length2, return: "" };
  }
  function copy(root2, props) {
    return assign(node("", null, null, "", null, null, 0), root2, { length: -root2.length }, props);
  }
  function char() {
    return character;
  }
  function prev() {
    character = position > 0 ? charat(characters, --position) : 0;
    if (column--, character === 10)
      column = 1, line--;
    return character;
  }
  function next() {
    character = position < length ? charat(characters, position++) : 0;
    if (column++, character === 10)
      column = 1, line++;
    return character;
  }
  function peek() {
    return charat(characters, position);
  }
  function caret() {
    return position;
  }
  function slice(begin, end) {
    return substr(characters, begin, end);
  }
  function token(type2) {
    switch (type2) {
      // \0 \t \n \r \s whitespace token
      case 0:
      case 9:
      case 10:
      case 13:
      case 32:
        return 5;
      // ! + , / > @ ~ isolate token
      case 33:
      case 43:
      case 44:
      case 47:
      case 62:
      case 64:
      case 126:
      // ; { } breakpoint token
      case 59:
      case 123:
      case 125:
        return 4;
      // : accompanied token
      case 58:
        return 3;
      // " ' ( [ opening delimit token
      case 34:
      case 39:
      case 40:
      case 91:
        return 2;
      // ) ] closing delimit token
      case 41:
      case 93:
        return 1;
    }
    return 0;
  }
  function alloc(value) {
    return line = column = 1, length = strlen(characters = value), position = 0, [];
  }
  function dealloc(value) {
    return characters = "", value;
  }
  function delimit(type2) {
    return trim(slice(position - 1, delimiter(type2 === 91 ? type2 + 2 : type2 === 40 ? type2 + 1 : type2)));
  }
  function whitespace(type2) {
    while (character = peek())
      if (character < 33)
        next();
      else
        break;
    return token(type2) > 2 || token(character) > 3 ? "" : " ";
  }
  function escaping(index3, count2) {
    while (--count2 && next())
      if (character < 48 || character > 102 || character > 57 && character < 65 || character > 70 && character < 97)
        break;
    return slice(index3, caret() + (count2 < 6 && peek() == 32 && next() == 32));
  }
  function delimiter(type2) {
    while (next())
      switch (character) {
        // ] ) " '
        case type2:
          return position;
        // " '
        case 34:
        case 39:
          if (type2 !== 34 && type2 !== 39)
            delimiter(character);
          break;
        // (
        case 40:
          if (type2 === 41)
            delimiter(type2);
          break;
        // \
        case 92:
          next();
          break;
      }
    return position;
  }
  function commenter(type2, index3) {
    while (next())
      if (type2 + character === 47 + 10)
        break;
      else if (type2 + character === 42 + 42 && peek() === 47)
        break;
    return "/*" + slice(index3, position - 1) + "*" + from(type2 === 47 ? type2 : next());
  }
  function identifier(index3) {
    while (!token(peek()))
      next();
    return slice(index3, position);
  }
  var line, column, length, position, character, characters;
  var init_Tokenizer = __esm({
    "node_modules/stylis/src/Tokenizer.js"() {
      init_Utility();
      line = 1;
      column = 1;
      length = 0;
      position = 0;
      character = 0;
      characters = "";
    }
  });

  // node_modules/stylis/src/Parser.js
  function compile(value) {
    return dealloc(parse2("", null, null, null, [""], value = alloc(value), 0, [0], value));
  }
  function parse2(value, root2, parent, rule, rules, rulesets, pseudo, points, declarations) {
    var index3 = 0;
    var offset5 = 0;
    var length2 = pseudo;
    var atrule = 0;
    var property = 0;
    var previous = 0;
    var variable = 1;
    var scanning = 1;
    var ampersand = 1;
    var character2 = 0;
    var type2 = "";
    var props = rules;
    var children = rulesets;
    var reference = rule;
    var characters2 = type2;
    while (scanning)
      switch (previous = character2, character2 = next()) {
        // (
        case 40:
          if (previous != 108 && charat(characters2, length2 - 1) == 58) {
            if (indexof(characters2 += replace(delimit(character2), "&", "&\f"), "&\f") != -1)
              ampersand = -1;
            break;
          }
        // " ' [
        case 34:
        case 39:
        case 91:
          characters2 += delimit(character2);
          break;
        // \t \n \r \s
        case 9:
        case 10:
        case 13:
        case 32:
          characters2 += whitespace(previous);
          break;
        // \
        case 92:
          characters2 += escaping(caret() - 1, 7);
          continue;
        // /
        case 47:
          switch (peek()) {
            case 42:
            case 47:
              append(comment(commenter(next(), caret()), root2, parent), declarations);
              break;
            default:
              characters2 += "/";
          }
          break;
        // {
        case 123 * variable:
          points[index3++] = strlen(characters2) * ampersand;
        // } ; \0
        case 125 * variable:
        case 59:
        case 0:
          switch (character2) {
            // \0 }
            case 0:
            case 125:
              scanning = 0;
            // ;
            case 59 + offset5:
              if (ampersand == -1) characters2 = replace(characters2, /\f/g, "");
              if (property > 0 && strlen(characters2) - length2)
                append(property > 32 ? declaration(characters2 + ";", rule, parent, length2 - 1) : declaration(replace(characters2, " ", "") + ";", rule, parent, length2 - 2), declarations);
              break;
            // @ ;
            case 59:
              characters2 += ";";
            // { rule/at-rule
            default:
              append(reference = ruleset(characters2, root2, parent, index3, offset5, rules, points, type2, props = [], children = [], length2), rulesets);
              if (character2 === 123)
                if (offset5 === 0)
                  parse2(characters2, root2, reference, reference, props, rulesets, length2, points, children);
                else
                  switch (atrule === 99 && charat(characters2, 3) === 110 ? 100 : atrule) {
                    // d l m s
                    case 100:
                    case 108:
                    case 109:
                    case 115:
                      parse2(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type2, rules, props = [], length2), children), rules, children, length2, points, rule ? props : children);
                      break;
                    default:
                      parse2(characters2, reference, reference, reference, [""], children, 0, points, children);
                  }
          }
          index3 = offset5 = property = 0, variable = ampersand = 1, type2 = characters2 = "", length2 = pseudo;
          break;
        // :
        case 58:
          length2 = 1 + strlen(characters2), property = previous;
        default:
          if (variable < 1) {
            if (character2 == 123)
              --variable;
            else if (character2 == 125 && variable++ == 0 && prev() == 125)
              continue;
          }
          switch (characters2 += from(character2), character2 * variable) {
            // &
            case 38:
              ampersand = offset5 > 0 ? 1 : (characters2 += "\f", -1);
              break;
            // ,
            case 44:
              points[index3++] = (strlen(characters2) - 1) * ampersand, ampersand = 1;
              break;
            // @
            case 64:
              if (peek() === 45)
                characters2 += delimit(next());
              atrule = peek(), offset5 = length2 = strlen(type2 = characters2 += identifier(caret())), character2++;
              break;
            // -
            case 45:
              if (previous === 45 && strlen(characters2) == 2)
                variable = 0;
          }
      }
    return rulesets;
  }
  function ruleset(value, root2, parent, index3, offset5, rules, points, type2, props, children, length2) {
    var post = offset5 - 1;
    var rule = offset5 === 0 ? rules : [""];
    var size5 = sizeof(rule);
    for (var i2 = 0, j = 0, k = 0; i2 < index3; ++i2)
      for (var x = 0, y = substr(value, post + 1, post = abs(j = points[i2])), z = value; x < size5; ++x)
        if (z = trim(j > 0 ? rule[x] + " " + y : replace(y, /&\f/g, rule[x])))
          props[k++] = z;
    return node(value, root2, parent, offset5 === 0 ? RULESET : type2, props, children, length2);
  }
  function comment(value, root2, parent) {
    return node(value, root2, parent, COMMENT, from(char()), substr(value, 2, -2), 0);
  }
  function declaration(value, root2, parent, length2) {
    return node(value, root2, parent, DECLARATION, substr(value, 0, length2), substr(value, length2 + 1, -1), length2);
  }
  var init_Parser = __esm({
    "node_modules/stylis/src/Parser.js"() {
      init_Enum();
      init_Utility();
      init_Tokenizer();
    }
  });

  // node_modules/stylis/src/Prefixer.js
  var init_Prefixer = __esm({
    "node_modules/stylis/src/Prefixer.js"() {
    }
  });

  // node_modules/stylis/src/Serializer.js
  function serialize2(children, callback) {
    var output2 = "";
    var length2 = sizeof(children);
    for (var i2 = 0; i2 < length2; i2++)
      output2 += callback(children[i2], i2, children, callback) || "";
    return output2;
  }
  function stringify(element, index3, children, callback) {
    switch (element.type) {
      case LAYER:
        if (element.children.length) break;
      case IMPORT:
      case DECLARATION:
        return element.return = element.return || element.value;
      case COMMENT:
        return "";
      case KEYFRAMES:
        return element.return = element.value + "{" + serialize2(element.children, callback) + "}";
      case RULESET:
        element.value = element.props.join(",");
    }
    return strlen(children = serialize2(element.children, callback)) ? element.return = element.value + "{" + children + "}" : "";
  }
  var init_Serializer = __esm({
    "node_modules/stylis/src/Serializer.js"() {
      init_Enum();
      init_Utility();
    }
  });

  // node_modules/stylis/src/Middleware.js
  function middleware(collection) {
    var length2 = sizeof(collection);
    return function(element, index3, children, callback) {
      var output2 = "";
      for (var i2 = 0; i2 < length2; i2++)
        output2 += collection[i2](element, index3, children, callback) || "";
      return output2;
    };
  }
  var init_Middleware = __esm({
    "node_modules/stylis/src/Middleware.js"() {
      init_Utility();
    }
  });

  // node_modules/stylis/index.js
  var init_stylis = __esm({
    "node_modules/stylis/index.js"() {
      init_Enum();
      init_Utility();
      init_Parser();
      init_Prefixer();
      init_Tokenizer();
      init_Serializer();
      init_Middleware();
    }
  });

  // node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js
  var weakMemoize;
  var init_emotion_weak_memoize_esm = __esm({
    "node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js"() {
      weakMemoize = function weakMemoize2(func) {
        var cache2 = /* @__PURE__ */ new WeakMap();
        return function(arg) {
          if (cache2.has(arg)) {
            return cache2.get(arg);
          }
          var ret = func(arg);
          cache2.set(arg, ret);
          return ret;
        };
      };
    }
  });

  // node_modules/@emotion/memoize/dist/emotion-memoize.esm.js
  var init_emotion_memoize_esm = __esm({
    "node_modules/@emotion/memoize/dist/emotion-memoize.esm.js"() {
    }
  });

  // node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js
  function prefix(value, length2) {
    switch (hash(value, length2)) {
      // color-adjust
      case 5103:
        return WEBKIT + "print-" + value + value;
      // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)
      case 5737:
      case 4201:
      case 3177:
      case 3433:
      case 1641:
      case 4457:
      case 2921:
      // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break
      case 5572:
      case 6356:
      case 5844:
      case 3191:
      case 6645:
      case 3005:
      // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,
      case 6391:
      case 5879:
      case 5623:
      case 6135:
      case 4599:
      case 4855:
      // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)
      case 4215:
      case 6389:
      case 5109:
      case 5365:
      case 5621:
      case 3829:
        return WEBKIT + value + value;
      // appearance, user-select, transform, hyphens, text-size-adjust
      case 5349:
      case 4246:
      case 4810:
      case 6968:
      case 2756:
        return WEBKIT + value + MOZ + value + MS + value + value;
      // flex, flex-direction
      case 6828:
      case 4268:
        return WEBKIT + value + MS + value + value;
      // order
      case 6165:
        return WEBKIT + value + MS + "flex-" + value + value;
      // align-items
      case 5187:
        return WEBKIT + value + replace(value, /(\w+).+(:[^]+)/, WEBKIT + "box-$1$2" + MS + "flex-$1$2") + value;
      // align-self
      case 5443:
        return WEBKIT + value + MS + "flex-item-" + replace(value, /flex-|-self/, "") + value;
      // align-content
      case 4675:
        return WEBKIT + value + MS + "flex-line-pack" + replace(value, /align-content|flex-|-self/, "") + value;
      // flex-shrink
      case 5548:
        return WEBKIT + value + MS + replace(value, "shrink", "negative") + value;
      // flex-basis
      case 5292:
        return WEBKIT + value + MS + replace(value, "basis", "preferred-size") + value;
      // flex-grow
      case 6060:
        return WEBKIT + "box-" + replace(value, "-grow", "") + WEBKIT + value + MS + replace(value, "grow", "positive") + value;
      // transition
      case 4554:
        return WEBKIT + replace(value, /([^-])(transform)/g, "$1" + WEBKIT + "$2") + value;
      // cursor
      case 6187:
        return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + "$1"), /(image-set)/, WEBKIT + "$1"), value, "") + value;
      // background, background-image
      case 5495:
      case 3959:
        return replace(value, /(image-set\([^]*)/, WEBKIT + "$1$`$1");
      // justify-content
      case 4968:
        return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + "box-pack:$3" + MS + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + WEBKIT + value + value;
      // (margin|padding)-inline-(start|end)
      case 4095:
      case 3583:
      case 4068:
      case 2532:
        return replace(value, /(.+)-inline(.+)/, WEBKIT + "$1$2") + value;
      // (min|max)?(width|height|inline-size|block-size)
      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 (strlen(value) - 1 - length2 > 6) switch (charat(value, length2 + 1)) {
          // (m)ax-content, (m)in-content
          case 109:
            if (charat(value, length2 + 4) !== 45) break;
          // (f)ill-available, (f)it-content
          case 102:
            return replace(value, /(.+:)(.+)-([^]+)/, "$1" + WEBKIT + "$2-$3$1" + MOZ + (charat(value, length2 + 3) == 108 ? "$3" : "$2-$3")) + value;
          // (s)tretch
          case 115:
            return ~indexof(value, "stretch") ? prefix(replace(value, "stretch", "fill-available"), length2) + value : value;
        }
        break;
      // position: sticky
      case 4949:
        if (charat(value, length2 + 1) !== 115) break;
      // display: (flex|inline-flex)
      case 6444:
        switch (charat(value, strlen(value) - 3 - (~indexof(value, "!important") && 10))) {
          // stic(k)y
          case 107:
            return replace(value, ":", ":" + WEBKIT) + value;
          // (inline-)?fl(e)x
          case 101:
            return replace(value, /(.+:)([^;!]+)(;|!.+)?/, "$1" + WEBKIT + (charat(value, 14) === 45 ? "inline-" : "") + "box$3$1" + WEBKIT + "$2$3$1" + MS + "$2box$3") + value;
        }
        break;
      // writing-mode
      case 5936:
        switch (charat(value, length2 + 11)) {
          // vertical-l(r)
          case 114:
            return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb") + value;
          // vertical-r(l)
          case 108:
            return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb-rl") + value;
          // horizontal(-)tb
          case 45:
            return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "lr") + value;
        }
        return WEBKIT + value + MS + value + value;
    }
    return value;
  }
  var identifierWithPointTracking, toRules, getRules, fixedElements, compat, removeLabel, ignoreFlag, isIgnoringComment, createUnsafeSelectorsAlarm, isImportRule, isPrependedWithRegularRules, nullifyElement, incorrectImportAlarm, prefixer, defaultStylisPlugins, createCache;
  var init_emotion_cache_browser_esm = __esm({
    "node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js"() {
      init_emotion_sheet_esm();
      init_stylis();
      init_emotion_weak_memoize_esm();
      init_emotion_memoize_esm();
      identifierWithPointTracking = function identifierWithPointTracking2(begin, points, index3) {
        var previous = 0;
        var character2 = 0;
        while (true) {
          previous = character2;
          character2 = peek();
          if (previous === 38 && character2 === 12) {
            points[index3] = 1;
          }
          if (token(character2)) {
            break;
          }
          next();
        }
        return slice(begin, position);
      };
      toRules = function toRules2(parsed, points) {
        var index3 = -1;
        var character2 = 44;
        do {
          switch (token(character2)) {
            case 0:
              if (character2 === 38 && peek() === 12) {
                points[index3] = 1;
              }
              parsed[index3] += identifierWithPointTracking(position - 1, points, index3);
              break;
            case 2:
              parsed[index3] += delimit(character2);
              break;
            case 4:
              if (character2 === 44) {
                parsed[++index3] = peek() === 58 ? "&\f" : "";
                points[index3] = parsed[index3].length;
                break;
              }
            // fallthrough
            default:
              parsed[index3] += from(character2);
          }
        } while (character2 = next());
        return parsed;
      };
      getRules = function getRules2(value, points) {
        return dealloc(toRules(alloc(value), points));
      };
      fixedElements = /* @__PURE__ */ new WeakMap();
      compat = function compat2(element) {
        if (element.type !== "rule" || !element.parent || // positive .length indicates that this rule contains pseudo
        // negative .length indicates that this rule has been already prefixed
        element.length < 1) {
          return;
        }
        var value = element.value, parent = element.parent;
        var isImplicitRule = element.column === parent.column && element.line === parent.line;
        while (parent.type !== "rule") {
          parent = parent.parent;
          if (!parent) return;
        }
        if (element.props.length === 1 && value.charCodeAt(0) !== 58 && !fixedElements.get(parent)) {
          return;
        }
        if (isImplicitRule) {
          return;
        }
        fixedElements.set(element, true);
        var points = [];
        var rules = getRules(value, points);
        var parentRules = parent.props;
        for (var i2 = 0, k = 0; i2 < rules.length; i2++) {
          for (var j = 0; j < parentRules.length; j++, k++) {
            element.props[k] = points[i2] ? rules[i2].replace(/&\f/g, parentRules[j]) : parentRules[j] + " " + rules[i2];
          }
        }
      };
      removeLabel = function removeLabel2(element) {
        if (element.type === "decl") {
          var value = element.value;
          if (
            // charcode for l
            value.charCodeAt(0) === 108 && // charcode for b
            value.charCodeAt(2) === 98
          ) {
            element["return"] = "";
            element.value = "";
          }
        }
      };
      ignoreFlag = "emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason";
      isIgnoringComment = function isIgnoringComment2(element) {
        return element.type === "comm" && element.children.indexOf(ignoreFlag) > -1;
      };
      createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm2(cache2) {
        return function(element, index3, children) {
          if (element.type !== "rule" || cache2.compat) return;
          var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);
          if (unsafePseudoClasses) {
            var isNested = !!element.parent;
            var commentContainer = isNested ? element.parent.children : (
              // global rule at the root level
              children
            );
            for (var i2 = commentContainer.length - 1; i2 >= 0; i2--) {
              var node2 = commentContainer[i2];
              if (node2.line < element.line) {
                break;
              }
              if (node2.column < element.column) {
                if (isIgnoringComment(node2)) {
                  return;
                }
                break;
              }
            }
            unsafePseudoClasses.forEach(function(unsafePseudoClass) {
              console.error('The pseudo class "' + unsafePseudoClass + '" is potentially unsafe when doing server-side rendering. Try changing it to "' + unsafePseudoClass.split("-child")[0] + '-of-type".');
            });
          }
        };
      };
      isImportRule = function isImportRule2(element) {
        return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;
      };
      isPrependedWithRegularRules = function isPrependedWithRegularRules2(index3, children) {
        for (var i2 = index3 - 1; i2 >= 0; i2--) {
          if (!isImportRule(children[i2])) {
            return true;
          }
        }
        return false;
      };
      nullifyElement = function nullifyElement2(element) {
        element.type = "";
        element.value = "";
        element["return"] = "";
        element.children = "";
        element.props = "";
      };
      incorrectImportAlarm = function incorrectImportAlarm2(element, index3, children) {
        if (!isImportRule(element)) {
          return;
        }
        if (element.parent) {
          console.error("`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.");
          nullifyElement(element);
        } else if (isPrependedWithRegularRules(index3, children)) {
          console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.");
          nullifyElement(element);
        }
      };
      prefixer = function prefixer2(element, index3, children, callback) {
        if (element.length > -1) {
          if (!element["return"]) switch (element.type) {
            case DECLARATION:
              element["return"] = prefix(element.value, element.length);
              break;
            case KEYFRAMES:
              return serialize2([copy(element, {
                value: replace(element.value, "@", "@" + WEBKIT)
              })], callback);
            case RULESET:
              if (element.length) return combine(element.props, function(value) {
                switch (match2(value, /(::plac\w+|:read-\w+)/)) {
                  // :read-(only|write)
                  case ":read-only":
                  case ":read-write":
                    return serialize2([copy(element, {
                      props: [replace(value, /:(read-\w+)/, ":" + MOZ + "$1")]
                    })], callback);
                  // :placeholder
                  case "::placeholder":
                    return serialize2([copy(element, {
                      props: [replace(value, /:(plac\w+)/, ":" + WEBKIT + "input-$1")]
                    }), copy(element, {
                      props: [replace(value, /:(plac\w+)/, ":" + MOZ + "$1")]
                    }), copy(element, {
                      props: [replace(value, /:(plac\w+)/, MS + "input-$1")]
                    })], callback);
                }
                return "";
              });
          }
        }
      };
      defaultStylisPlugins = [prefixer];
      createCache = function createCache2(options2) {
        var key = options2.key;
        if (!key) {
          throw new Error("You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\nIf multiple caches share the same key they might \"fight\" for each other's style elements.");
        }
        if (key === "css") {
          var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])");
          Array.prototype.forEach.call(ssrStyles, function(node2) {
            var dataEmotionAttribute = node2.getAttribute("data-emotion");
            if (dataEmotionAttribute.indexOf(" ") === -1) {
              return;
            }
            document.head.appendChild(node2);
            node2.setAttribute("data-s", "");
          });
        }
        var stylisPlugins = options2.stylisPlugins || defaultStylisPlugins;
        if (true) {
          if (/[^a-z-]/.test(key)) {
            throw new Error('Emotion key must only contain lower case alphabetical characters and - but "' + key + '" was passed');
          }
        }
        var inserted = {};
        var container;
        var nodesToHydrate = [];
        {
          container = options2.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^="' + key + ' "]'),
            function(node2) {
              var attrib = node2.getAttribute("data-emotion").split(" ");
              for (var i2 = 1; i2 < attrib.length; i2++) {
                inserted[attrib[i2]] = true;
              }
              nodesToHydrate.push(node2);
            }
          );
        }
        var _insert;
        var omnipresentPlugins = [compat, removeLabel];
        if (true) {
          omnipresentPlugins.push(createUnsafeSelectorsAlarm({
            get compat() {
              return cache2.compat;
            }
          }), incorrectImportAlarm);
        }
        {
          var currentSheet;
          var finalizingPlugins = [stringify, true ? function(element) {
            if (!element.root) {
              if (element["return"]) {
                currentSheet.insert(element["return"]);
              } else if (element.value && element.type !== COMMENT) {
                currentSheet.insert(element.value + "{}");
              }
            }
          } : rulesheet(function(rule) {
            currentSheet.insert(rule);
          })];
          var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));
          var stylis = function stylis2(styles2) {
            return serialize2(compile(styles2), serializer);
          };
          _insert = function insert(selector, serialized, sheet, shouldCache) {
            currentSheet = sheet;
            if (serialized.map !== void 0) {
              currentSheet = {
                insert: function insert2(rule) {
                  sheet.insert(rule + serialized.map);
                }
              };
            }
            stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles);
            if (shouldCache) {
              cache2.inserted[serialized.name] = true;
            }
          };
        }
        var cache2 = {
          key,
          sheet: new StyleSheet({
            key,
            container,
            nonce: options2.nonce,
            speedy: options2.speedy,
            prepend: options2.prepend,
            insertionPoint: options2.insertionPoint
          }),
          nonce: options2.nonce,
          inserted,
          registered: {},
          insert: _insert
        };
        cache2.sheet.hydrate(nodesToHydrate);
        return cache2;
      };
    }
  });

  // node_modules/@babel/runtime/helpers/esm/extends.js
  function _extends() {
    return _extends = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends.apply(null, arguments);
  }
  var init_extends = __esm({
    "node_modules/@babel/runtime/helpers/esm/extends.js"() {
    }
  });

  // node_modules/react-is/cjs/react-is.development.js
  var require_react_is_development = __commonJS({
    "node_modules/react-is/cjs/react-is.development.js"(exports) {
      "use strict";
      if (true) {
        (function() {
          "use strict";
          var hasSymbol = typeof Symbol === "function" && Symbol.for;
          var REACT_ELEMENT_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.element") : 60103;
          var REACT_PORTAL_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.portal") : 60106;
          var REACT_FRAGMENT_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.fragment") : 60107;
          var REACT_STRICT_MODE_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.strict_mode") : 60108;
          var REACT_PROFILER_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.profiler") : 60114;
          var REACT_PROVIDER_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.provider") : 60109;
          var REACT_CONTEXT_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.context") : 60110;
          var REACT_ASYNC_MODE_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.async_mode") : 60111;
          var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.concurrent_mode") : 60111;
          var REACT_FORWARD_REF_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.forward_ref") : 60112;
          var REACT_SUSPENSE_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.suspense") : 60113;
          var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.suspense_list") : 60120;
          var REACT_MEMO_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.memo") : 60115;
          var REACT_LAZY_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.lazy") : 60116;
          var REACT_BLOCK_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.block") : 60121;
          var REACT_FUNDAMENTAL_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.fundamental") : 60117;
          var REACT_RESPONDER_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.responder") : 60118;
          var REACT_SCOPE_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.scope") : 60119;
          function isValidElementType(type2) {
            return typeof type2 === "string" || typeof type2 === "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
            type2 === REACT_FRAGMENT_TYPE || type2 === REACT_CONCURRENT_MODE_TYPE || type2 === REACT_PROFILER_TYPE || type2 === REACT_STRICT_MODE_TYPE || type2 === REACT_SUSPENSE_TYPE || type2 === REACT_SUSPENSE_LIST_TYPE || typeof type2 === "object" && type2 !== null && (type2.$$typeof === REACT_LAZY_TYPE || type2.$$typeof === REACT_MEMO_TYPE || type2.$$typeof === REACT_PROVIDER_TYPE || type2.$$typeof === REACT_CONTEXT_TYPE || type2.$$typeof === REACT_FORWARD_REF_TYPE || type2.$$typeof === REACT_FUNDAMENTAL_TYPE || type2.$$typeof === REACT_RESPONDER_TYPE || type2.$$typeof === REACT_SCOPE_TYPE || type2.$$typeof === REACT_BLOCK_TYPE);
          }
          function typeOf(object) {
            if (typeof object === "object" && object !== null) {
              var $$typeof = object.$$typeof;
              switch ($$typeof) {
                case REACT_ELEMENT_TYPE:
                  var type2 = object.type;
                  switch (type2) {
                    case REACT_ASYNC_MODE_TYPE:
                    case REACT_CONCURRENT_MODE_TYPE:
                    case REACT_FRAGMENT_TYPE:
                    case REACT_PROFILER_TYPE:
                    case REACT_STRICT_MODE_TYPE:
                    case REACT_SUSPENSE_TYPE:
                      return type2;
                    default:
                      var $$typeofType = type2 && type2.$$typeof;
                      switch ($$typeofType) {
                        case REACT_CONTEXT_TYPE:
                        case REACT_FORWARD_REF_TYPE:
                        case REACT_LAZY_TYPE:
                        case REACT_MEMO_TYPE:
                        case REACT_PROVIDER_TYPE:
                          return $$typeofType;
                        default:
                          return $$typeof;
                      }
                  }
                case REACT_PORTAL_TYPE:
                  return $$typeof;
              }
            }
            return void 0;
          }
          var AsyncMode = REACT_ASYNC_MODE_TYPE;
          var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
          var ContextConsumer = REACT_CONTEXT_TYPE;
          var ContextProvider = REACT_PROVIDER_TYPE;
          var Element2 = REACT_ELEMENT_TYPE;
          var ForwardRef = REACT_FORWARD_REF_TYPE;
          var Fragment16 = REACT_FRAGMENT_TYPE;
          var Lazy = REACT_LAZY_TYPE;
          var Memo = REACT_MEMO_TYPE;
          var Portal4 = REACT_PORTAL_TYPE;
          var Profiler = REACT_PROFILER_TYPE;
          var StrictMode = REACT_STRICT_MODE_TYPE;
          var Suspense9 = REACT_SUSPENSE_TYPE;
          var hasWarnedAboutDeprecatedIsAsyncMode = false;
          function isAsyncMode(object) {
            {
              if (!hasWarnedAboutDeprecatedIsAsyncMode) {
                hasWarnedAboutDeprecatedIsAsyncMode = true;
                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.");
              }
            }
            return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
          }
          function isConcurrentMode(object) {
            return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
          }
          function isContextConsumer(object) {
            return typeOf(object) === REACT_CONTEXT_TYPE;
          }
          function isContextProvider(object) {
            return typeOf(object) === REACT_PROVIDER_TYPE;
          }
          function isElement2(object) {
            return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
          }
          function isForwardRef(object) {
            return typeOf(object) === REACT_FORWARD_REF_TYPE;
          }
          function isFragment(object) {
            return typeOf(object) === REACT_FRAGMENT_TYPE;
          }
          function isLazy(object) {
            return typeOf(object) === REACT_LAZY_TYPE;
          }
          function isMemo(object) {
            return typeOf(object) === REACT_MEMO_TYPE;
          }
          function isPortal(object) {
            return typeOf(object) === REACT_PORTAL_TYPE;
          }
          function isProfiler(object) {
            return typeOf(object) === REACT_PROFILER_TYPE;
          }
          function isStrictMode(object) {
            return typeOf(object) === REACT_STRICT_MODE_TYPE;
          }
          function isSuspense(object) {
            return typeOf(object) === REACT_SUSPENSE_TYPE;
          }
          exports.AsyncMode = AsyncMode;
          exports.ConcurrentMode = ConcurrentMode;
          exports.ContextConsumer = ContextConsumer;
          exports.ContextProvider = ContextProvider;
          exports.Element = Element2;
          exports.ForwardRef = ForwardRef;
          exports.Fragment = Fragment16;
          exports.Lazy = Lazy;
          exports.Memo = Memo;
          exports.Portal = Portal4;
          exports.Profiler = Profiler;
          exports.StrictMode = StrictMode;
          exports.Suspense = Suspense9;
          exports.isAsyncMode = isAsyncMode;
          exports.isConcurrentMode = isConcurrentMode;
          exports.isContextConsumer = isContextConsumer;
          exports.isContextProvider = isContextProvider;
          exports.isElement = isElement2;
          exports.isForwardRef = isForwardRef;
          exports.isFragment = isFragment;
          exports.isLazy = isLazy;
          exports.isMemo = isMemo;
          exports.isPortal = isPortal;
          exports.isProfiler = isProfiler;
          exports.isStrictMode = isStrictMode;
          exports.isSuspense = isSuspense;
          exports.isValidElementType = isValidElementType;
          exports.typeOf = typeOf;
        })();
      }
    }
  });

  // node_modules/react-is/index.js
  var require_react_is = __commonJS({
    "node_modules/react-is/index.js"(exports, module) {
      "use strict";
      if (false) {
        module.exports = null;
      } else {
        module.exports = require_react_is_development();
      }
    }
  });

  // node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js
  var require_hoist_non_react_statics_cjs = __commonJS({
    "node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"(exports, module) {
      "use strict";
      var reactIs = require_react_is();
      var REACT_STATICS = {
        childContextTypes: true,
        contextType: true,
        contextTypes: true,
        defaultProps: true,
        displayName: true,
        getDefaultProps: true,
        getDerivedStateFromError: true,
        getDerivedStateFromProps: true,
        mixins: true,
        propTypes: true,
        type: true
      };
      var KNOWN_STATICS = {
        name: true,
        length: true,
        prototype: true,
        caller: true,
        callee: true,
        arguments: true,
        arity: true
      };
      var FORWARD_REF_STATICS = {
        "$$typeof": true,
        render: true,
        defaultProps: true,
        displayName: true,
        propTypes: true
      };
      var MEMO_STATICS = {
        "$$typeof": true,
        compare: true,
        defaultProps: true,
        displayName: true,
        propTypes: true,
        type: true
      };
      var TYPE_STATICS = {};
      TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
      TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
      function getStatics(component) {
        if (reactIs.isMemo(component)) {
          return MEMO_STATICS;
        }
        return TYPE_STATICS[component["$$typeof"]] || REACT_STATICS;
      }
      var defineProperty = Object.defineProperty;
      var getOwnPropertyNames = Object.getOwnPropertyNames;
      var getOwnPropertySymbols = Object.getOwnPropertySymbols;
      var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
      var getPrototypeOf = Object.getPrototypeOf;
      var objectPrototype = Object.prototype;
      function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
        if (typeof sourceComponent !== "string") {
          if (objectPrototype) {
            var inheritedComponent = getPrototypeOf(sourceComponent);
            if (inheritedComponent && inheritedComponent !== objectPrototype) {
              hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
            }
          }
          var keys2 = getOwnPropertyNames(sourceComponent);
          if (getOwnPropertySymbols) {
            keys2 = keys2.concat(getOwnPropertySymbols(sourceComponent));
          }
          var targetStatics = getStatics(targetComponent);
          var sourceStatics = getStatics(sourceComponent);
          for (var i2 = 0; i2 < keys2.length; ++i2) {
            var key = keys2[i2];
            if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
              var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
              try {
                defineProperty(targetComponent, key, descriptor);
              } catch (e3) {
              }
            }
          }
        }
        return targetComponent;
      }
      module.exports = hoistNonReactStatics;
    }
  });

  // node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js
  function getRegisteredStyles(registered, registeredStyles, classNames) {
    var rawClassName = "";
    classNames.split(" ").forEach(function(className) {
      if (registered[className] !== void 0) {
        registeredStyles.push(registered[className] + ";");
      } else if (className) {
        rawClassName += className + " ";
      }
    });
    return rawClassName;
  }
  var isBrowser, registerStyles, insertStyles;
  var init_emotion_utils_browser_esm = __esm({
    "node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js"() {
      isBrowser = true;
      registerStyles = function registerStyles2(cache2, serialized, isStringTag) {
        var className = cache2.key + "-" + serialized.name;
        if (
          // 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
          (isStringTag === false || // 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
          isBrowser === false) && cache2.registered[className] === void 0
        ) {
          cache2.registered[className] = serialized.styles;
        }
      };
      insertStyles = function insertStyles2(cache2, serialized, isStringTag) {
        registerStyles(cache2, serialized, isStringTag);
        var className = cache2.key + "-" + serialized.name;
        if (cache2.inserted[serialized.name] === void 0) {
          var current = serialized;
          do {
            cache2.insert(serialized === current ? "." + className : "", current, cache2.sheet, true);
            current = current.next;
          } while (current !== void 0);
        }
      };
    }
  });

  // node_modules/@emotion/hash/dist/emotion-hash.esm.js
  function murmur2(str) {
    var h2 = 0;
    var k, i2 = 0, len = str.length;
    for (; len >= 4; ++i2, len -= 4) {
      k = str.charCodeAt(i2) & 255 | (str.charCodeAt(++i2) & 255) << 8 | (str.charCodeAt(++i2) & 255) << 16 | (str.charCodeAt(++i2) & 255) << 24;
      k = /* Math.imul(k, m): */
      (k & 65535) * 1540483477 + ((k >>> 16) * 59797 << 16);
      k ^= /* k >>> r: */
      k >>> 24;
      h2 = /* Math.imul(k, m): */
      (k & 65535) * 1540483477 + ((k >>> 16) * 59797 << 16) ^ /* Math.imul(h, m): */
      (h2 & 65535) * 1540483477 + ((h2 >>> 16) * 59797 << 16);
    }
    switch (len) {
      case 3:
        h2 ^= (str.charCodeAt(i2 + 2) & 255) << 16;
      case 2:
        h2 ^= (str.charCodeAt(i2 + 1) & 255) << 8;
      case 1:
        h2 ^= str.charCodeAt(i2) & 255;
        h2 = /* Math.imul(h, m): */
        (h2 & 65535) * 1540483477 + ((h2 >>> 16) * 59797 << 16);
    }
    h2 ^= h2 >>> 13;
    h2 = /* Math.imul(h, m): */
    (h2 & 65535) * 1540483477 + ((h2 >>> 16) * 59797 << 16);
    return ((h2 ^ h2 >>> 15) >>> 0).toString(36);
  }
  var init_emotion_hash_esm = __esm({
    "node_modules/@emotion/hash/dist/emotion-hash.esm.js"() {
    }
  });

  // node_modules/@emotion/unitless/dist/emotion-unitless.esm.js
  var unitlessKeys;
  var init_emotion_unitless_esm = __esm({
    "node_modules/@emotion/unitless/dist/emotion-unitless.esm.js"() {
      unitlessKeys = {
        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
      };
    }
  });

  // node_modules/@emotion/serialize/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js
  function memoize(fn) {
    var cache2 = /* @__PURE__ */ Object.create(null);
    return function(arg) {
      if (cache2[arg] === void 0) cache2[arg] = fn(arg);
      return cache2[arg];
    };
  }
  var init_emotion_memoize_esm2 = __esm({
    "node_modules/@emotion/serialize/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js"() {
    }
  });

  // node_modules/@emotion/serialize/dist/emotion-serialize.esm.js
  function handleInterpolation(mergedProps, registered, interpolation) {
    if (interpolation == null) {
      return "";
    }
    var componentSelector = interpolation;
    if (componentSelector.__emotion_styles !== void 0) {
      return componentSelector;
    }
    switch (typeof interpolation) {
      case "boolean": {
        return "";
      }
      case "object": {
        var keyframes3 = interpolation;
        if (keyframes3.anim === 1) {
          cursor = {
            name: keyframes3.name,
            styles: keyframes3.styles,
            next: cursor
          };
          return keyframes3.name;
        }
        var serializedStyles = interpolation;
        if (serializedStyles.styles !== void 0) {
          var next2 = serializedStyles.next;
          if (next2 !== void 0) {
            while (next2 !== void 0) {
              cursor = {
                name: next2.name,
                styles: next2.styles,
                next: cursor
              };
              next2 = next2.next;
            }
          }
          var styles2 = serializedStyles.styles + ";";
          return styles2;
        }
        return createStringFromObject(mergedProps, registered, interpolation);
      }
      case "function": {
        if (mergedProps !== void 0) {
          var previousCursor = cursor;
          var result = interpolation(mergedProps);
          cursor = previousCursor;
          return handleInterpolation(mergedProps, registered, result);
        }
        break;
      }
    }
    var asString = interpolation;
    if (registered == null) {
      return asString;
    }
    var cached = registered[asString];
    return cached !== void 0 ? cached : asString;
  }
  function createStringFromObject(mergedProps, registered, obj) {
    var string2 = "";
    if (Array.isArray(obj)) {
      for (var i2 = 0; i2 < obj.length; i2++) {
        string2 += handleInterpolation(mergedProps, registered, obj[i2]) + ";";
      }
    } else {
      for (var key in obj) {
        var value = obj[key];
        if (typeof value !== "object") {
          var asString = value;
          if (registered != null && registered[asString] !== void 0) {
            string2 += key + "{" + registered[asString] + "}";
          } else if (isProcessableValue(asString)) {
            string2 += processStyleName(key) + ":" + processStyleValue(key, asString) + ";";
          }
        } else {
          if (key === "NO_COMPONENT_SELECTOR" && isDevelopment2) {
            throw new Error(noComponentSelectorMessage);
          }
          if (Array.isArray(value) && typeof value[0] === "string" && (registered == null || registered[value[0]] === void 0)) {
            for (var _i = 0; _i < value.length; _i++) {
              if (isProcessableValue(value[_i])) {
                string2 += processStyleName(key) + ":" + processStyleValue(key, value[_i]) + ";";
              }
            }
          } else {
            var interpolated = handleInterpolation(mergedProps, registered, value);
            switch (key) {
              case "animation":
              case "animationName": {
                string2 += processStyleName(key) + ":" + interpolated + ";";
                break;
              }
              default: {
                string2 += key + "{" + interpolated + "}";
              }
            }
          }
        }
      }
    }
    return string2;
  }
  function serializeStyles(args, registered, mergedProps) {
    if (args.length === 1 && typeof args[0] === "object" && args[0] !== null && args[0].styles !== void 0) {
      return args[0];
    }
    var stringMode = true;
    var styles2 = "";
    cursor = void 0;
    var strings = args[0];
    if (strings == null || strings.raw === void 0) {
      stringMode = false;
      styles2 += handleInterpolation(mergedProps, registered, strings);
    } else {
      var asTemplateStringsArr = strings;
      styles2 += asTemplateStringsArr[0];
    }
    for (var i2 = 1; i2 < args.length; i2++) {
      styles2 += handleInterpolation(mergedProps, registered, args[i2]);
      if (stringMode) {
        var templateStringsArr = strings;
        styles2 += templateStringsArr[i2];
      }
    }
    labelPattern.lastIndex = 0;
    var identifierName = "";
    var match3;
    while ((match3 = labelPattern.exec(styles2)) !== null) {
      identifierName += "-" + match3[1];
    }
    var name = murmur2(styles2) + identifierName;
    return {
      name,
      styles: styles2,
      next: cursor
    };
  }
  var isDevelopment2, hyphenateRegex, animationRegex, isCustomProperty, isProcessableValue, processStyleName, processStyleValue, noComponentSelectorMessage, labelPattern, cursor;
  var init_emotion_serialize_esm = __esm({
    "node_modules/@emotion/serialize/dist/emotion-serialize.esm.js"() {
      init_emotion_hash_esm();
      init_emotion_unitless_esm();
      init_emotion_memoize_esm2();
      isDevelopment2 = false;
      hyphenateRegex = /[A-Z]|^ms/g;
      animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;
      isCustomProperty = function isCustomProperty2(property) {
        return property.charCodeAt(1) === 45;
      };
      isProcessableValue = function isProcessableValue2(value) {
        return value != null && typeof value !== "boolean";
      };
      processStyleName = /* @__PURE__ */ memoize(function(styleName) {
        return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, "-$&").toLowerCase();
      });
      processStyleValue = function processStyleValue2(key, value) {
        switch (key) {
          case "animation":
          case "animationName": {
            if (typeof value === "string") {
              return value.replace(animationRegex, function(match3, p1, p2) {
                cursor = {
                  name: p1,
                  styles: p2,
                  next: cursor
                };
                return p1;
              });
            }
          }
        }
        if (unitlessKeys[key] !== 1 && !isCustomProperty(key) && typeof value === "number" && value !== 0) {
          return value + "px";
        }
        return value;
      };
      noComponentSelectorMessage = "Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";
      labelPattern = /label:\s*([^\s;{]+)\s*(;|$)/g;
    }
  });

  // node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js
  var React4, syncFallback, useInsertionEffect2, useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback;
  var init_emotion_use_insertion_effect_with_fallbacks_browser_esm = __esm({
    "node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js"() {
      React4 = __toESM(require_react());
      syncFallback = function syncFallback2(create2) {
        return create2();
      };
      useInsertionEffect2 = React4["useInsertionEffect"] ? React4["useInsertionEffect"] : false;
      useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect2 || syncFallback;
      useInsertionEffectWithLayoutFallback = useInsertionEffect2 || React4.useLayoutEffect;
    }
  });

  // node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js
  var React5, import_react5, isBrowser2, hasOwnProperty, EmotionCacheContext, CacheProvider, withEmotionCache, ThemeContext, getTheme, createCacheWithTheme, ThemeProvider, getLastPart, getFunctionNameFromStackTraceLine, internalReactFunctionNames, sanitizeIdentifier, getLabelFromStackTrace, typePropName, labelPropName, createEmotionProps, Insertion, Emotion, Emotion$1;
  var init_emotion_element_c39617d8_browser_esm = __esm({
    "node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js"() {
      React5 = __toESM(require_react());
      import_react5 = __toESM(require_react());
      init_emotion_cache_browser_esm();
      init_extends();
      init_emotion_weak_memoize_esm();
      init_emotion_utils_browser_esm();
      init_emotion_serialize_esm();
      init_emotion_use_insertion_effect_with_fallbacks_browser_esm();
      isBrowser2 = true;
      hasOwnProperty = {}.hasOwnProperty;
      EmotionCacheContext = /* @__PURE__ */ React5.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 !== "undefined" ? /* @__PURE__ */ createCache({
          key: "css"
        }) : null
      );
      if (true) {
        EmotionCacheContext.displayName = "EmotionCacheContext";
      }
      CacheProvider = EmotionCacheContext.Provider;
      withEmotionCache = function withEmotionCache2(func) {
        return /* @__PURE__ */ (0, import_react5.forwardRef)(function(props, ref) {
          var cache2 = (0, import_react5.useContext)(EmotionCacheContext);
          return func(props, cache2, ref);
        });
      };
      if (!isBrowser2) {
        withEmotionCache = function withEmotionCache3(func) {
          return function(props) {
            var cache2 = (0, import_react5.useContext)(EmotionCacheContext);
            if (cache2 === null) {
              cache2 = createCache({
                key: "css"
              });
              return /* @__PURE__ */ React5.createElement(EmotionCacheContext.Provider, {
                value: cache2
              }, func(props, cache2));
            } else {
              return func(props, cache2);
            }
          };
        };
      }
      ThemeContext = /* @__PURE__ */ React5.createContext({});
      if (true) {
        ThemeContext.displayName = "EmotionThemeContext";
      }
      getTheme = function getTheme2(outerTheme, theme) {
        if (typeof theme === "function") {
          var mergedTheme = theme(outerTheme);
          if (mergedTheme == null || typeof mergedTheme !== "object" || Array.isArray(mergedTheme)) {
            throw new Error("[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!");
          }
          return mergedTheme;
        }
        if (theme == null || typeof theme !== "object" || Array.isArray(theme)) {
          throw new Error("[ThemeProvider] Please make your theme prop a plain object");
        }
        return _extends({}, outerTheme, theme);
      };
      createCacheWithTheme = /* @__PURE__ */ weakMemoize(function(outerTheme) {
        return weakMemoize(function(theme) {
          return getTheme(outerTheme, theme);
        });
      });
      ThemeProvider = function ThemeProvider2(props) {
        var theme = React5.useContext(ThemeContext);
        if (props.theme !== theme) {
          theme = createCacheWithTheme(theme)(props.theme);
        }
        return /* @__PURE__ */ React5.createElement(ThemeContext.Provider, {
          value: theme
        }, props.children);
      };
      getLastPart = function getLastPart2(functionName) {
        var parts = functionName.split(".");
        return parts[parts.length - 1];
      };
      getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine2(line2) {
        var match3 = /^\s+at\s+([A-Za-z0-9$.]+)\s/.exec(line2);
        if (match3) return getLastPart(match3[1]);
        match3 = /^([A-Za-z0-9$.]+)@/.exec(line2);
        if (match3) return getLastPart(match3[1]);
        return void 0;
      };
      internalReactFunctionNames = /* @__PURE__ */ new Set(["renderWithHooks", "processChild", "finishClassComponent", "renderToString"]);
      sanitizeIdentifier = function sanitizeIdentifier2(identifier2) {
        return identifier2.replace(/\$/g, "-");
      };
      getLabelFromStackTrace = function getLabelFromStackTrace2(stackTrace) {
        if (!stackTrace) return void 0;
        var lines = stackTrace.split("\n");
        for (var i2 = 0; i2 < lines.length; i2++) {
          var functionName = getFunctionNameFromStackTraceLine(lines[i2]);
          if (!functionName) continue;
          if (internalReactFunctionNames.has(functionName)) break;
          if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);
        }
        return void 0;
      };
      typePropName = "__EMOTION_TYPE_PLEASE_DO_NOT_USE__";
      labelPropName = "__EMOTION_LABEL_PLEASE_DO_NOT_USE__";
      createEmotionProps = function createEmotionProps2(type2, props) {
        if (typeof props.css === "string" && // check if there is a css declaration
        props.css.indexOf(":") !== -1) {
          throw new Error("Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`" + props.css + "`");
        }
        var newProps = {};
        for (var key in props) {
          if (hasOwnProperty.call(props, key)) {
            newProps[key] = props[key];
          }
        }
        newProps[typePropName] = type2;
        if (!!props.css && (typeof props.css !== "object" || typeof props.css.name !== "string" || props.css.name.indexOf("-") === -1)) {
          var label = getLabelFromStackTrace(new Error().stack);
          if (label) newProps[labelPropName] = label;
        }
        return newProps;
      };
      Insertion = function Insertion2(_ref) {
        var cache2 = _ref.cache, serialized = _ref.serialized, isStringTag = _ref.isStringTag;
        registerStyles(cache2, serialized, isStringTag);
        useInsertionEffectAlwaysWithSyncFallback(function() {
          return insertStyles(cache2, serialized, isStringTag);
        });
        return null;
      };
      Emotion = /* @__PURE__ */ withEmotionCache(function(props, cache2, ref) {
        var cssProp = props.css;
        if (typeof cssProp === "string" && cache2.registered[cssProp] !== void 0) {
          cssProp = cache2.registered[cssProp];
        }
        var WrappedComponent = props[typePropName];
        var registeredStyles = [cssProp];
        var className = "";
        if (typeof props.className === "string") {
          className = getRegisteredStyles(cache2.registered, registeredStyles, props.className);
        } else if (props.className != null) {
          className = props.className + " ";
        }
        var serialized = serializeStyles(registeredStyles, void 0, React5.useContext(ThemeContext));
        if (serialized.name.indexOf("-") === -1) {
          var labelFromStack = props[labelPropName];
          if (labelFromStack) {
            serialized = serializeStyles([serialized, "label:" + labelFromStack + ";"]);
          }
        }
        className += cache2.key + "-" + serialized.name;
        var newProps = {};
        for (var key in props) {
          if (hasOwnProperty.call(props, key) && key !== "css" && key !== typePropName && key !== labelPropName) {
            newProps[key] = props[key];
          }
        }
        newProps.ref = ref;
        newProps.className = className;
        return /* @__PURE__ */ React5.createElement(React5.Fragment, null, /* @__PURE__ */ React5.createElement(Insertion, {
          cache: cache2,
          serialized,
          isStringTag: typeof WrappedComponent === "string"
        }), /* @__PURE__ */ React5.createElement(WrappedComponent, newProps));
      });
      if (true) {
        Emotion.displayName = "EmotionCssPropInternal";
      }
      Emotion$1 = Emotion;
    }
  });

  // node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js
  function jsx2(type2, props, key) {
    if (!hasOwnProperty.call(props, "css")) {
      return ReactJSXRuntime.jsx(type2, props, key);
    }
    return ReactJSXRuntime.jsx(Emotion$1, createEmotionProps(type2, props), key);
  }
  function jsxs2(type2, props, key) {
    if (!hasOwnProperty.call(props, "css")) {
      return ReactJSXRuntime.jsxs(type2, props, key);
    }
    return ReactJSXRuntime.jsxs(Emotion$1, createEmotionProps(type2, props), key);
  }
  var ReactJSXRuntime, import_react6, import_hoist_non_react_statics, Fragment3;
  var init_emotion_react_jsx_runtime_browser_esm = __esm({
    "node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js"() {
      ReactJSXRuntime = __toESM(require_jsx_runtime());
      init_emotion_element_c39617d8_browser_esm();
      import_react6 = __toESM(require_react());
      init_emotion_cache_browser_esm();
      init_extends();
      init_emotion_weak_memoize_esm();
      import_hoist_non_react_statics = __toESM(require_hoist_non_react_statics_cjs());
      init_emotion_utils_browser_esm();
      init_emotion_serialize_esm();
      init_emotion_use_insertion_effect_with_fallbacks_browser_esm();
      Fragment3 = ReactJSXRuntime.Fragment;
    }
  });

  // node_modules/glob-to-regexp/index.js
  var require_glob_to_regexp = __commonJS({
    "node_modules/glob-to-regexp/index.js"(exports, module) {
      module.exports = function(glob, opts) {
        if (typeof glob !== "string") {
          throw new TypeError("Expected a string");
        }
        var str = String(glob);
        var reStr = "";
        var extended = opts ? !!opts.extended : false;
        var globstar = opts ? !!opts.globstar : false;
        var inGroup = false;
        var flags2 = opts && typeof opts.flags === "string" ? opts.flags : "";
        var c2;
        for (var i2 = 0, len = str.length; i2 < len; i2++) {
          c2 = str[i2];
          switch (c2) {
            case "/":
            case "$":
            case "^":
            case "+":
            case ".":
            case "(":
            case ")":
            case "=":
            case "!":
            case "|":
              reStr += "\\" + c2;
              break;
            case "?":
              if (extended) {
                reStr += ".";
                break;
              }
            case "[":
            case "]":
              if (extended) {
                reStr += c2;
                break;
              }
            case "{":
              if (extended) {
                inGroup = true;
                reStr += "(";
                break;
              }
            case "}":
              if (extended) {
                inGroup = false;
                reStr += ")";
                break;
              }
            case ",":
              if (inGroup) {
                reStr += "|";
                break;
              }
              reStr += "\\" + c2;
              break;
            case "*":
              var prevChar = str[i2 - 1];
              var starCount = 1;
              while (str[i2 + 1] === "*") {
                starCount++;
                i2++;
              }
              var nextChar = str[i2 + 1];
              if (!globstar) {
                reStr += ".*";
              } else {
                var isGlobstar = starCount > 1 && (prevChar === "/" || prevChar === void 0) && (nextChar === "/" || nextChar === void 0);
                if (isGlobstar) {
                  reStr += "((?:[^/]*(?:/|$))*)";
                  i2++;
                } else {
                  reStr += "([^/]*)";
                }
              }
              break;
            default:
              reStr += c2;
          }
        }
        if (!flags2 || !~flags2.indexOf("g")) {
          reStr = "^" + reStr + "$";
        }
        return new RegExp(reStr, flags2);
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/globs-u_gXJPLt.mjs
  var import_glob_to_regexp, globs;
  var init_globs_u_gXJPLt = __esm({
    "node_modules/@clerk/shared/dist/runtime/globs-u_gXJPLt.mjs"() {
      import_glob_to_regexp = __toESM(require_glob_to_regexp(), 1);
      globs = { toRegexp: (pattern) => {
        try {
          return (0, import_glob_to_regexp.default)(pattern);
        } catch (e3) {
          throw new Error(`Invalid pattern: ${pattern}.
Consult the documentation of glob-to-regexp here: https://www.npmjs.com/package/glob-to-regexp.
${e3.message}`);
        }
      } };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/instance-BmZr0cdE.mjs
  var init_instance_BmZr0cdE = __esm({
    "node_modules/@clerk/shared/dist/runtime/instance-BmZr0cdE.mjs"() {
    }
  });

  // node_modules/@clerk/shared/dist/runtime/url-C6gPMFx5.mjs
  function hasLeadingSlash(input = "") {
    return input.startsWith("/");
  }
  function withLeadingSlash(input = "") {
    return hasLeadingSlash(input) ? input : "/" + input;
  }
  var ABSOLUTE_URL_REGEX, isAbsoluteUrl;
  var init_url_C6gPMFx5 = __esm({
    "node_modules/@clerk/shared/dist/runtime/url-C6gPMFx5.mjs"() {
      init_constants_Bta24VLk();
      init_instance_BmZr0cdE();
      ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\d+\-.]*?:/;
      isAbsoluteUrl = (url) => ABSOLUTE_URL_REGEX.test(url);
    }
  });

  // node_modules/@clerk/shared/dist/runtime/logger-DISzhF9M.mjs
  var loggedMessages, logger;
  var init_logger_DISzhF9M = __esm({
    "node_modules/@clerk/shared/dist/runtime/logger-DISzhF9M.mjs"() {
      loggedMessages = /* @__PURE__ */ new Set();
      logger = {
        warnOnce: (msg) => {
          if (loggedMessages.has(msg)) return;
          loggedMessages.add(msg);
          console.warn(msg);
        },
        logOnce: (msg) => {
          if (loggedMessages.has(msg)) return;
          console.log(msg);
          loggedMessages.add(msg);
        }
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/path-BLD6zl1u.mjs
  function joinPaths(a2, b2) {
    return [a2, b2].filter((p2) => p2).join(SEPARATOR).replace(MULTIPLE_SEPARATOR_REGEX, SEPARATOR);
  }
  var SEPARATOR, MULTIPLE_SEPARATOR_REGEX;
  var init_path_BLD6zl1u = __esm({
    "node_modules/@clerk/shared/dist/runtime/path-BLD6zl1u.mjs"() {
      SEPARATOR = "/";
      MULTIPLE_SEPARATOR_REGEX = new RegExp(SEPARATOR + "{1,}", "g");
    }
  });

  // node_modules/@clerk/shared/dist/runtime/querystring-pXtwII0l.mjs
  var getQueryParams, stringifyQueryParams;
  var init_querystring_pXtwII0l = __esm({
    "node_modules/@clerk/shared/dist/runtime/querystring-pXtwII0l.mjs"() {
      getQueryParams = (queryString) => {
        const queryParamsObject = {};
        new URLSearchParams(queryString).forEach((value, key) => {
          if (key in queryParamsObject) {
            const existingValue = queryParamsObject[key];
            if (Array.isArray(existingValue)) existingValue.push(value);
            else queryParamsObject[key] = [existingValue, value];
          } else queryParamsObject[key] = value;
        });
        return queryParamsObject;
      };
      stringifyQueryParams = (params, opts = {}) => {
        if (params === null || params === void 0) return "";
        if (!params || typeof params !== "object") return "";
        const queryParams = new URLSearchParams();
        Object.keys(params).forEach((key) => {
          const encodedKey = opts.keyEncoder ? opts.keyEncoder(key) : key;
          const value = params[key];
          if (Array.isArray(value)) value.forEach((v) => v !== void 0 && queryParams.append(encodedKey, v || ""));
          else if (value === void 0) return;
          else if (typeof value === "object" && value !== null) queryParams.append(encodedKey, JSON.stringify(value));
          else queryParams.append(encodedKey, String(value ?? ""));
        });
        return queryParams.toString();
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/url-BbdQYzdN.mjs
  function buildURL(params, options2 = {}) {
    const { base: base2, hashPath, hashSearch, searchParams, hashSearchParams, ...rest } = params;
    let fallbackBase = "";
    if (typeof window !== "undefined" && !!window.location) fallbackBase = window.location.href;
    else fallbackBase = "http://react-native-fake-base-url";
    const url = new URL(base2 || "", fallbackBase);
    if (searchParams instanceof URLSearchParams) searchParams.forEach((value, key) => {
      if (value !== null && value !== void 0) url.searchParams.set(camelToSnake(key), value);
    });
    Object.assign(url, rest);
    if (hashPath || hashSearch || hashSearchParams) {
      const dummyUrlForHash = new URL(DUMMY_URL_BASE + url.hash.substring(1));
      dummyUrlForHash.pathname = joinPaths(dummyUrlForHash.pathname, hashPath || "");
      const searchParamsFromHashSearchString = getQueryParams(hashSearch || "");
      for (const [key, val] of Object.entries(searchParamsFromHashSearchString)) dummyUrlForHash.searchParams.append(key, val);
      if (hashSearchParams) {
        const paramsArr = Array.isArray(hashSearchParams) ? hashSearchParams : [hashSearchParams];
        for (const _params of paramsArr) {
          if (!(_params instanceof URLSearchParams) && typeof _params !== "object") continue;
          new URLSearchParams(_params).forEach((value, key) => {
            if (value !== null && value !== void 0) dummyUrlForHash.searchParams.set(camelToSnake(key), value);
          });
        }
      }
      const newHash = dummyUrlForHash.href.replace(DUMMY_URL_BASE, "");
      if (newHash !== "/") url.hash = newHash;
    }
    const { stringify: stringify3, skipOrigin } = options2;
    if (stringify3) return skipOrigin ? url.href.replace(url.origin, "") : url.href;
    return url;
  }
  function toURL(url) {
    return new URL(url.toString(), window.location.origin);
  }
  function stripOrigin(url) {
    if (typeof window.location === "undefined" && typeof url === "string") return url;
    url = toURL(url);
    return url.href.replace(url.origin, "");
  }
  function isValidUrl(val) {
    if (!val) return false;
    try {
      new URL(val);
      return true;
    } catch {
      return false;
    }
  }
  function relativeToAbsoluteUrl(url, origin) {
    try {
      return new URL(url);
    } catch {
      return new URL(url, origin);
    }
  }
  function isProblematicUrl(url) {
    if (hasBannedProtocol(url)) return true;
    for (const pattern of disallowedPatterns) if (pattern.test(url.pathname)) return true;
    return false;
  }
  function isDataUri(val) {
    if (!val || !isValidUrl(val)) return false;
    return new URL(val).protocol === "data:";
  }
  function hasBannedProtocol(val) {
    if (!isValidUrl(val)) return false;
    const protocol = new URL(val).protocol;
    return BANNED_URI_PROTOCOLS.some((bp) => bp === protocol);
  }
  function hasBannedHrefProtocol(val) {
    if (!isValidUrl(val)) return false;
    const protocol = new URL(val).protocol;
    return BANNED_HREF_PROTOCOLS.some((bp) => bp === protocol);
  }
  function sanitizeHref(href) {
    if (!href || href.trim() === "") return null;
    if (href.startsWith("/") || href.startsWith("#") || href.startsWith("?")) return href;
    if (!href.includes(":")) return href;
    try {
      if (hasBannedHrefProtocol(new URL(href))) return null;
      return href;
    } catch {
      return href;
    }
  }
  var DUMMY_URL_BASE, BANNED_URI_PROTOCOLS, BANNED_HREF_PROTOCOLS, isDevOrStagingUrl, trimTrailingSlash, disallowedPatterns, hasUrlInFragment, mergeFragmentIntoUrl, pathFromFullPath, isAllowedRedirect;
  var init_url_BbdQYzdN = __esm({
    "node_modules/@clerk/shared/dist/runtime/url-BbdQYzdN.mjs"() {
      init_keys_ChIG_Ewf();
      init_globs_u_gXJPLt();
      init_url_C6gPMFx5();
      init_logger_DISzhF9M();
      init_underscore_ClYSgvuy();
      init_path_BLD6zl1u();
      init_querystring_pXtwII0l();
      DUMMY_URL_BASE = "http://clerk-dummy";
      BANNED_URI_PROTOCOLS = ["javascript:"];
      BANNED_HREF_PROTOCOLS = [
        "javascript:",
        "data:",
        "vbscript:",
        "blob:"
      ];
      ({ isDevOrStagingUrl } = createDevOrStagingUrlCache());
      trimTrailingSlash = (path) => {
        return (path || "").replace(/\/+$/, "");
      };
      disallowedPatterns = [
        /\0/,
        /^\/\//,
        /[\x00-\x1F]/
      ];
      hasUrlInFragment = (_url) => {
        return new URL(_url, DUMMY_URL_BASE).hash.startsWith("#/");
      };
      mergeFragmentIntoUrl = (_url) => {
        const url = new URL(_url);
        if (!hasUrlInFragment(url)) return url;
        const fragmentUrl = new URL(url.hash.replace("#/", "/"), url.href);
        const mergedPathname = [url.pathname, fragmentUrl.pathname].map((s2) => s2.split("/")).flat().filter(Boolean).join("/");
        const mergedUrl = new URL(mergedPathname, url.origin);
        url.searchParams.forEach((val, key) => {
          mergedUrl.searchParams.set(key, val);
        });
        fragmentUrl.searchParams.forEach((val, key) => {
          mergedUrl.searchParams.set(key, val);
        });
        return mergedUrl;
      };
      pathFromFullPath = (fullPath) => {
        return fullPath.replace(/CLERK-ROUTER\/(.*?)\//, "");
      };
      isAllowedRedirect = (allowedRedirectOrigins, currentOrigin) => (_url) => {
        let url = _url;
        if (typeof url === "string") url = relativeToAbsoluteUrl(url, currentOrigin);
        if (!allowedRedirectOrigins) return true;
        const isSameOrigin = currentOrigin === url.origin;
        const isAllowed = !isProblematicUrl(url) && (isSameOrigin || allowedRedirectOrigins.map((origin) => typeof origin === "string" ? globs.toRegexp(trimTrailingSlash(origin)) : origin).some((origin) => origin.test(trimTrailingSlash(url.origin))));
        if (!isAllowed) logger.warnOnce(`Clerk: Redirect URL ${url} is not on one of the allowedRedirectOrigins, falling back to the default redirect URL.`);
        return isAllowed;
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/url.mjs
  var init_url = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/url.mjs"() {
      init_constants_Bta24VLk();
      init_isomorphicAtob_CoF80qYz();
      init_isomorphicBtoa_DWmLcIHi();
      init_keys_ChIG_Ewf();
      init_globs_u_gXJPLt();
      init_instance_BmZr0cdE();
      init_url_C6gPMFx5();
      init_logger_DISzhF9M();
      init_underscore_ClYSgvuy();
      init_path_BLD6zl1u();
      init_querystring_pXtwII0l();
      init_url_BbdQYzdN();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/router/Route.js
  function Route(props) {
    const router = useRouter();
    if (!props.children) return null;
    if (!props.index && !props.path) return /* @__PURE__ */ jsx2(Fragment3, { children: props.children });
    if (!router.matches(props.path, props.index)) return null;
    const [indexPath, fullPath] = newPaths(router.indexPath, router.fullPath, props.path, props.index);
    const resolve = (to, { searchParams } = {}) => {
      const url = new URL(to, window.location.origin + fullPath + "/");
      if (searchParams) url.search = searchParams.toString();
      url.pathname = trimTrailingSlash(url.pathname);
      return url;
    };
    const newGetMatchData = (path, index3) => {
      const [newIndexPath, newFullPath] = newPaths(indexPath, fullPath, path, index3);
      const currentPath = trimTrailingSlash(router.currentPath);
      const matchResult = path && match(newFullPath + "/:foo*")(currentPath) || index3 && match(newIndexPath)(currentPath) || index3 && match(newFullPath)(currentPath) || false;
      if (matchResult !== false) return matchResult.params;
      else return false;
    };
    const rawParams = router.getMatchData(props.path, props.index) || {};
    const paramsDict = {};
    for (const [key, value] of Object.entries(rawParams)) paramsDict[key] = value;
    const flowStartPath = (props.flowStart ? pathFromFullPath(router.fullPath).replace("/" + router.basePath, "") : router.flowStartPath) || router.startPath;
    return /* @__PURE__ */ jsx2(RouteContext.Provider, {
      value: {
        basePath: router.basePath,
        startPath: router.startPath,
        flowStartPath,
        indexPath,
        fullPath,
        currentPath: router.currentPath,
        queryParams: router.queryParams,
        queryString: router.queryString,
        baseNavigate: router.baseNavigate,
        getMatchData: newGetMatchData,
        matches: (path, index3) => {
          return newGetMatchData(path, index3) ? true : false;
        },
        resolve,
        navigate: (to, { searchParams } = {}) => {
          const toURL2 = resolve(to, { searchParams });
          return router.baseNavigate(toURL2);
        },
        refresh: router.refresh,
        params: paramsDict,
        urlStateParam: router.urlStateParam
      },
      children: props.canActivate ? /* @__PURE__ */ jsx2(RouteGuard, {
        canActivate: props.canActivate,
        children: props.children
      }) : props.children
    });
  }
  var import_react7, RouteGuard;
  var init_Route = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/router/Route.js"() {
      init_RouteContext();
      init_newPaths();
      init_pathToRegexp();
      init_useNavigateToFlowStart();
      import_react7 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_url();
      RouteGuard = ({ canActivate, children }) => {
        const { navigateToFlowStart } = useNavigateToFlowStart();
        const clerk2 = useClerk();
        import_react7.default.useEffect(() => {
          if (!canActivate(clerk2)) navigateToFlowStart();
        });
        if (canActivate(clerk2)) return /* @__PURE__ */ jsx2(Fragment3, { children });
        return null;
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/querystring.mjs
  var init_querystring = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/querystring.mjs"() {
      init_querystring_pXtwII0l();
    }
  });

  // node_modules/@clerk/shared/dist/runtime/url.mjs
  var init_url2 = __esm({
    "node_modules/@clerk/shared/dist/runtime/url.mjs"() {
      init_constants_Bta24VLk();
      init_instance_BmZr0cdE();
      init_url_C6gPMFx5();
    }
  });

  // node_modules/react-dom/cjs/react-dom.development.js
  var require_react_dom_development = __commonJS({
    "node_modules/react-dom/cjs/react-dom.development.js"(exports) {
      "use strict";
      (function() {
        function noop7() {
        }
        function testStringCoercion(value) {
          return "" + value;
        }
        function createPortal$1(children, containerInfo, implementation) {
          var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;
          try {
            testStringCoercion(key);
            var JSCompiler_inline_result = false;
          } catch (e3) {
            JSCompiler_inline_result = true;
          }
          JSCompiler_inline_result && (console.error(
            "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
            "function" === typeof Symbol && Symbol.toStringTag && key[Symbol.toStringTag] || key.constructor.name || "Object"
          ), testStringCoercion(key));
          return {
            $$typeof: REACT_PORTAL_TYPE,
            key: null == key ? null : "" + key,
            children,
            containerInfo,
            implementation
          };
        }
        function getCrossOriginStringAs(as, input) {
          if ("font" === as) return "";
          if ("string" === typeof input)
            return "use-credentials" === input ? input : "";
        }
        function getValueDescriptorExpectingObjectForWarning(thing) {
          return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : 'something with type "' + typeof thing + '"';
        }
        function getValueDescriptorExpectingEnumForWarning(thing) {
          return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : "string" === typeof thing ? JSON.stringify(thing) : "number" === typeof thing ? "`" + thing + "`" : 'something with type "' + typeof thing + '"';
        }
        function resolveDispatcher() {
          var dispatcher = ReactSharedInternals.H;
          null === dispatcher && console.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:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem."
          );
          return dispatcher;
        }
        "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
        var React198 = require_react(), Internals = {
          d: {
            f: noop7,
            r: function() {
              throw Error(
                "Invalid form element. requestFormReset must be passed a form that was rendered by React."
              );
            },
            D: noop7,
            C: noop7,
            L: noop7,
            m: noop7,
            X: noop7,
            S: noop7,
            M: noop7
          },
          p: 0,
          findDOMNode: null
        }, REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for("react.portal"), ReactSharedInternals = React198.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
        "function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error(
          "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"
        );
        exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals;
        exports.createPortal = function(children, container) {
          var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;
          if (!container || 1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType)
            throw Error("Target container is not a DOM element.");
          return createPortal$1(children, container, null, key);
        };
        exports.flushSync = function(fn) {
          var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p;
          try {
            if (ReactSharedInternals.T = null, Internals.p = 2, fn)
              return fn();
          } finally {
            ReactSharedInternals.T = previousTransition, Internals.p = previousUpdatePriority, Internals.d.f() && console.error(
              "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."
            );
          }
        };
        exports.preconnect = function(href, options2) {
          "string" === typeof href && href ? null != options2 && "object" !== typeof options2 ? console.error(
            "ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.",
            getValueDescriptorExpectingEnumForWarning(options2)
          ) : null != options2 && "string" !== typeof options2.crossOrigin && console.error(
            "ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.",
            getValueDescriptorExpectingObjectForWarning(options2.crossOrigin)
          ) : console.error(
            "ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
            getValueDescriptorExpectingObjectForWarning(href)
          );
          "string" === typeof href && (options2 ? (options2 = options2.crossOrigin, options2 = "string" === typeof options2 ? "use-credentials" === options2 ? options2 : "" : void 0) : options2 = null, Internals.d.C(href, options2));
        };
        exports.prefetchDNS = function(href) {
          if ("string" !== typeof href || !href)
            console.error(
              "ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
              getValueDescriptorExpectingObjectForWarning(href)
            );
          else if (1 < arguments.length) {
            var options2 = arguments[1];
            "object" === typeof options2 && options2.hasOwnProperty("crossOrigin") ? console.error(
              "ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.",
              getValueDescriptorExpectingEnumForWarning(options2)
            ) : console.error(
              "ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.",
              getValueDescriptorExpectingEnumForWarning(options2)
            );
          }
          "string" === typeof href && Internals.d.D(href);
        };
        exports.preinit = function(href, options2) {
          "string" === typeof href && href ? null == options2 || "object" !== typeof options2 ? console.error(
            "ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.",
            getValueDescriptorExpectingEnumForWarning(options2)
          ) : "style" !== options2.as && "script" !== options2.as && console.error(
            'ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are "style" and "script".',
            getValueDescriptorExpectingEnumForWarning(options2.as)
          ) : console.error(
            "ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
            getValueDescriptorExpectingObjectForWarning(href)
          );
          if ("string" === typeof href && options2 && "string" === typeof options2.as) {
            var as = options2.as, crossOrigin = getCrossOriginStringAs(as, options2.crossOrigin), integrity = "string" === typeof options2.integrity ? options2.integrity : void 0, fetchPriority = "string" === typeof options2.fetchPriority ? options2.fetchPriority : void 0;
            "style" === as ? Internals.d.S(
              href,
              "string" === typeof options2.precedence ? options2.precedence : void 0,
              {
                crossOrigin,
                integrity,
                fetchPriority
              }
            ) : "script" === as && Internals.d.X(href, {
              crossOrigin,
              integrity,
              fetchPriority,
              nonce: "string" === typeof options2.nonce ? options2.nonce : void 0
            });
          }
        };
        exports.preinitModule = function(href, options2) {
          var encountered = "";
          "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
          void 0 !== options2 && "object" !== typeof options2 ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options2) + "." : options2 && "as" in options2 && "script" !== options2.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingEnumForWarning(options2.as) + ".");
          if (encountered)
            console.error(
              "ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s",
              encountered
            );
          else
            switch (encountered = options2 && "string" === typeof options2.as ? options2.as : "script", encountered) {
              case "script":
                break;
              default:
                encountered = getValueDescriptorExpectingEnumForWarning(encountered), console.error(
                  'ReactDOM.preinitModule(): Currently the only supported "as" type for this function is "script" but received "%s" instead. This warning was generated for `href` "%s". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)',
                  encountered,
                  href
                );
            }
          if ("string" === typeof href)
            if ("object" === typeof options2 && null !== options2) {
              if (null == options2.as || "script" === options2.as)
                encountered = getCrossOriginStringAs(
                  options2.as,
                  options2.crossOrigin
                ), Internals.d.M(href, {
                  crossOrigin: encountered,
                  integrity: "string" === typeof options2.integrity ? options2.integrity : void 0,
                  nonce: "string" === typeof options2.nonce ? options2.nonce : void 0
                });
            } else null == options2 && Internals.d.M(href);
        };
        exports.preload = function(href, options2) {
          var encountered = "";
          "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
          null == options2 || "object" !== typeof options2 ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options2) + "." : "string" === typeof options2.as && options2.as || (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options2.as) + ".");
          encountered && console.error(
            'ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel="preload" as="..." />` tag.%s',
            encountered
          );
          if ("string" === typeof href && "object" === typeof options2 && null !== options2 && "string" === typeof options2.as) {
            encountered = options2.as;
            var crossOrigin = getCrossOriginStringAs(
              encountered,
              options2.crossOrigin
            );
            Internals.d.L(href, encountered, {
              crossOrigin,
              integrity: "string" === typeof options2.integrity ? options2.integrity : void 0,
              nonce: "string" === typeof options2.nonce ? options2.nonce : void 0,
              type: "string" === typeof options2.type ? options2.type : void 0,
              fetchPriority: "string" === typeof options2.fetchPriority ? options2.fetchPriority : void 0,
              referrerPolicy: "string" === typeof options2.referrerPolicy ? options2.referrerPolicy : void 0,
              imageSrcSet: "string" === typeof options2.imageSrcSet ? options2.imageSrcSet : void 0,
              imageSizes: "string" === typeof options2.imageSizes ? options2.imageSizes : void 0,
              media: "string" === typeof options2.media ? options2.media : void 0
            });
          }
        };
        exports.preloadModule = function(href, options2) {
          var encountered = "";
          "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
          void 0 !== options2 && "object" !== typeof options2 ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options2) + "." : options2 && "as" in options2 && "string" !== typeof options2.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options2.as) + ".");
          encountered && console.error(
            'ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel="modulepreload" as="..." />` tag.%s',
            encountered
          );
          "string" === typeof href && (options2 ? (encountered = getCrossOriginStringAs(
            options2.as,
            options2.crossOrigin
          ), Internals.d.m(href, {
            as: "string" === typeof options2.as && "script" !== options2.as ? options2.as : void 0,
            crossOrigin: encountered,
            integrity: "string" === typeof options2.integrity ? options2.integrity : void 0
          })) : Internals.d.m(href));
        };
        exports.requestFormReset = function(form) {
          Internals.d.r(form);
        };
        exports.unstable_batchedUpdates = function(fn, a2) {
          return fn(a2);
        };
        exports.useFormState = function(action, initialState, permalink) {
          return resolveDispatcher().useFormState(action, initialState, permalink);
        };
        exports.useFormStatus = function() {
          return resolveDispatcher().useHostTransitionStatus();
        };
        exports.version = "19.2.5";
        "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
      })();
    }
  });

  // node_modules/react-dom/index.js
  var require_react_dom = __commonJS({
    "node_modules/react-dom/index.js"(exports, module) {
      "use strict";
      if (false) {
        checkDCE();
        module.exports = null;
      } else {
        module.exports = require_react_dom_development();
      }
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/router/BaseRouter.js
  function ensurePushStatePatched() {
    if (originalPushState) return;
    originalPushState = history.pushState.bind(history);
    history.pushState = (...args) => {
      originalPushState(...args);
      pushStateSubscribers.forEach((fn) => fn());
    };
  }
  function ensureReplaceStatePatched() {
    if (originalReplaceState) return;
    originalReplaceState = history.replaceState.bind(history);
    history.replaceState = (...args) => {
      originalReplaceState(...args);
      replaceStateSubscribers.forEach((fn) => fn());
    };
  }
  function useHistoryChangeObserver(events, callback) {
    const callbackRef = import_react9.default.useRef(callback);
    callbackRef.current = callback;
    import_react9.default.useEffect(() => {
      if (!events) return;
      const notify = () => callbackRef.current();
      const windowEvents = events.filter(isWindowRefreshEvent);
      const navigationTypes = events.map((e3) => eventToNavigationType[e3]).filter((type2) => Boolean(type2));
      if (typeof window !== "undefined" && "navigation" in window && typeof window.navigation?.addEventListener === "function") {
        const nav = window.navigation;
        const allowedTypes = new Set(navigationTypes);
        const handler = (e3) => {
          if (allowedTypes.has(e3.navigationType)) Promise.resolve().then(notify);
        };
        nav.addEventListener("currententrychange", handler);
        const unmappedEvents = windowEvents.filter((e3) => !eventToNavigationType[e3]);
        unmappedEvents.forEach((e3) => window.addEventListener(e3, notify));
        return () => {
          nav.removeEventListener("currententrychange", handler);
          unmappedEvents.forEach((e3) => window.removeEventListener(e3, notify));
        };
      }
      if (events.includes("pushstate")) {
        ensurePushStatePatched();
        pushStateSubscribers.add(notify);
      }
      if (events.includes("replacestate")) {
        ensureReplaceStatePatched();
        replaceStateSubscribers.add(notify);
      }
      windowEvents.forEach((e3) => window.addEventListener(e3, notify));
      return () => {
        pushStateSubscribers.delete(notify);
        replaceStateSubscribers.delete(notify);
        windowEvents.forEach((e3) => window.removeEventListener(e3, notify));
      };
    }, [events]);
  }
  var import_react9, import_react_dom, isWindowRefreshEvent, eventToNavigationType, pushStateSubscribers, replaceStateSubscribers, originalPushState, originalReplaceState, BaseRouter;
  var init_BaseRouter = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/router/BaseRouter.js"() {
      init_RouteContext();
      init_newPaths();
      init_pathToRegexp();
      init_Route();
      import_react9 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_url();
      init_querystring();
      init_url2();
      import_react_dom = __toESM(require_react_dom(), 1);
      isWindowRefreshEvent = (event) => {
        return event !== "pushstate" && event !== "replacestate";
      };
      eventToNavigationType = {
        popstate: "traverse",
        pushstate: "push",
        replacestate: "replace"
      };
      pushStateSubscribers = /* @__PURE__ */ new Set();
      replaceStateSubscribers = /* @__PURE__ */ new Set();
      originalPushState = null;
      originalReplaceState = null;
      BaseRouter = ({ basePath, startPath, getPath, getQueryString, internalNavigate, refreshEvents, preservedParams, urlStateParam, children }) => {
        const { navigate: clerkNavigate } = useClerk();
        const normalizedBasePath = withLeadingSlash(basePath);
        const [routeParts, setRouteParts] = import_react9.default.useState({
          path: getPath(),
          queryString: getQueryString()
        });
        const currentPath = routeParts.path;
        const currentQueryString = routeParts.queryString;
        const currentQueryParams = getQueryParams(routeParts.queryString);
        const resolve = (to) => {
          return new URL(to, window.location.origin);
        };
        const getMatchData = (path, index3) => {
          const [newIndexPath, newFullPath] = newPaths("", "", path, index3);
          const currentPathWithoutSlash = trimTrailingSlash(currentPath);
          const matchResult = path && match(newFullPath + "/:foo*")(currentPathWithoutSlash) || index3 && match(newIndexPath)(currentPathWithoutSlash) || index3 && match(newFullPath)(currentPathWithoutSlash) || false;
          if (matchResult !== false) return matchResult.params;
          else return false;
        };
        const matches2 = (path, index3) => {
          return !!getMatchData(path, index3);
        };
        const refresh = import_react9.default.useCallback(() => {
          const newPath = getPath();
          const newQueryString = getQueryString();
          if (basePath && !newPath.startsWith(normalizedBasePath)) return;
          if (newPath !== currentPath || newQueryString !== currentQueryString) setRouteParts({
            path: newPath,
            queryString: newQueryString
          });
        }, [
          basePath,
          normalizedBasePath,
          currentPath,
          currentQueryString,
          getPath,
          getQueryString
        ]);
        const isNavigatingRef = import_react9.default.useRef(false);
        useHistoryChangeObserver(refreshEvents, import_react9.default.useCallback(() => {
          if (isNavigatingRef.current) return;
          const newPath = getPath();
          if (basePath && !newPath.startsWith(normalizedBasePath)) return;
          refresh();
        }, [
          basePath,
          normalizedBasePath,
          getPath,
          refresh
        ]));
        const baseNavigate = async (toURL2) => {
          if (!toURL2) return;
          const isCrossOrigin = toURL2.origin !== window.location.origin;
          if (!toURL2.pathname.startsWith(normalizedBasePath) || isCrossOrigin) {
            isNavigatingRef.current = true;
            try {
              return await clerkNavigate(toURL2.href);
            } finally {
              isNavigatingRef.current = false;
            }
          }
          if (preservedParams) {
            const toQueryParams = getQueryParams(toURL2.search);
            preservedParams.forEach((param) => {
              if (!toQueryParams[param] && currentQueryParams[param]) toQueryParams[param] = currentQueryParams[param];
            });
            toURL2.search = stringifyQueryParams(toQueryParams);
          }
          isNavigatingRef.current = true;
          try {
            const internalNavRes = await internalNavigate(toURL2, { metadata: { navigationType: "internal" } });
            (0, import_react_dom.flushSync)(() => {
              setRouteParts({
                path: toURL2.pathname,
                queryString: toURL2.search
              });
            });
            return internalNavRes;
          } finally {
            isNavigatingRef.current = false;
          }
        };
        return /* @__PURE__ */ jsx2(RouteContext.Provider, {
          value: {
            basePath,
            startPath,
            flowStartPath: startPath,
            fullPath: "",
            indexPath: "",
            currentPath,
            queryString: currentQueryString,
            queryParams: currentQueryParams,
            getMatchData: getMatchData.bind(void 0),
            matches: matches2.bind(void 0),
            baseNavigate: baseNavigate.bind(void 0),
            navigate: async () => {
            },
            resolve: resolve.bind(void 0),
            refresh: refresh.bind(void 0),
            params: {},
            urlStateParam
          },
          children: /* @__PURE__ */ jsx2(Route, {
            path: basePath,
            children
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/router/VirtualRouter.js
  var import_react11, VIRTUAL_ROUTER_BASE_PATH, VirtualRouter;
  var init_VirtualRouter = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/router/VirtualRouter.js"() {
      init_useClerkModalStateParams();
      init_BaseRouter();
      import_react11 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      VIRTUAL_ROUTER_BASE_PATH = "CLERK-ROUTER/VIRTUAL";
      VirtualRouter = ({ startPath, preservedParams, onExternalNavigate, children }) => {
        const { __internal_addNavigationListener } = useClerk();
        const [currentURL, setCurrentURL] = import_react11.default.useState(new URL("/" + VIRTUAL_ROUTER_BASE_PATH + startPath, window.location.origin));
        const { urlStateParam, removeQueryParam } = useClerkModalStateParams();
        (0, import_react11.useEffect)(() => {
          let unsubscribe = () => {
          };
          if (onExternalNavigate) unsubscribe = __internal_addNavigationListener(onExternalNavigate);
          return () => {
            unsubscribe();
          };
        }, []);
        if (urlStateParam.componentName) removeQueryParam();
        const internalNavigate = (toURL2) => {
          if (!toURL2) return;
          setCurrentURL(toURL2);
        };
        const getPath = () => currentURL.pathname;
        const getQueryString = () => currentURL.search;
        return /* @__PURE__ */ jsx2(BaseRouter, {
          getPath,
          basePath: VIRTUAL_ROUTER_BASE_PATH,
          startPath,
          getQueryString,
          internalNavigate,
          preservedParams,
          urlStateParam,
          children
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/router/Switch.js
  function assertRoute(v) {
    return !!v && import_react13.default.isValidElement(v) && typeof v === "object" && v.type === Route;
  }
  function Switch({ children }) {
    const router = useRouter();
    let node2 = null;
    import_react13.default.Children.forEach(children, (child) => {
      if (node2 || !assertRoute(child)) return;
      const { index: index3, path } = child.props;
      if (!index3 && !path || router.matches(path, index3)) node2 = child;
    });
    return /* @__PURE__ */ jsx2(Fragment3, { children: node2 });
  }
  var import_react13;
  var init_Switch = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/router/Switch.js"() {
      init_RouteContext();
      init_Route();
      import_react13 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/OptionsContext.js
  function OptionsProvider({ children, value }) {
    return /* @__PURE__ */ jsx2(OptionsContext2.Provider, {
      value,
      children
    });
  }
  function useOptions() {
    const context = import_react14.default.useContext(OptionsContext2);
    if (context === void 0) throw new Error("useOptions must be used within an OptionsContext");
    return context;
  }
  var import_react14, OptionsContext2;
  var init_OptionsContext = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/OptionsContext.js"() {
      import_react14 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      OptionsContext2 = import_react14.default.createContext({});
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/dynamicParamParser.js
  var createDynamicParamParser;
  var init_dynamicParamParser = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/dynamicParamParser.js"() {
      createDynamicParamParser = ({ regex }) => ({ urlWithParam, entity }) => {
        const match3 = regex.exec(urlWithParam);
        if (match3) {
          const key = match3[1];
          if (key in entity) {
            const value = entity[key];
            return urlWithParam.replace(match3[0], value);
          }
        }
        return urlWithParam;
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/errors.mjs
  var init_errors = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/errors.mjs"() {
      init_errors_oOcNTWU9();
    }
  });

  // node_modules/@clerk/shared/dist/runtime/underscore.mjs
  var init_underscore = __esm({
    "node_modules/@clerk/shared/dist/runtime/underscore.mjs"() {
      init_underscore_ClYSgvuy();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/utils.js
  function assertContextExists2(contextVal, providerName) {
    if (!contextVal) clerkCoreErrorContextProviderNotFound(providerName);
  }
  function getInitialValuesFromQueryParams(queryString, params) {
    const props = {};
    new URLSearchParams(queryString).forEach((value, key) => {
      if (params.includes(key) && typeof value === "string") props[snakeToCamel(key)] = value;
    });
    return props;
  }
  var populateParamFromObject;
  var init_utils2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/utils.js"() {
      init_dynamicParamParser();
      init_errors();
      init_underscore();
      populateParamFromObject = createDynamicParamParser({ regex: /:(\w+)/ });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/EnvironmentContext.js
  function EnvironmentProvider({ children, value }) {
    return /* @__PURE__ */ jsx2(EnvironmentContext.Provider, {
      value,
      children
    });
  }
  function useEnvironment() {
    const context = React$12.useContext(EnvironmentContext);
    assertContextExists2(context, "EnvironmentProvider");
    return context;
  }
  var React$12, EnvironmentContext;
  var init_EnvironmentContext = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/EnvironmentContext.js"() {
      init_utils2();
      React$12 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      EnvironmentContext = React$12.createContext(null);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/redirects.js
  function buildVerificationRedirectUrl({ ctx, baseUrl = "", intent = "sign-in" }) {
    const { routing, authQueryString, path } = ctx;
    return buildRedirectUrl({
      routing,
      baseUrl,
      authQueryString,
      path,
      endpoint: "isCombinedFlow" in ctx && ctx.isCombinedFlow && intent === "sign-up" ? `/create${MAGIC_LINK_VERIFY_PATH_ROUTE}` : MAGIC_LINK_VERIFY_PATH_ROUTE
    });
  }
  var SSO_CALLBACK_PATH_ROUTE, MAGIC_LINK_VERIFY_PATH_ROUTE, buildRedirectUrl, buildHashBasedUrl, buildPathBasedUrl, buildVirtualBasedUrl;
  var init_redirects = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/redirects.js"() {
      init_url();
      SSO_CALLBACK_PATH_ROUTE = "/sso-callback";
      MAGIC_LINK_VERIFY_PATH_ROUTE = "/verify";
      buildRedirectUrl = ({ routing, authQueryString, baseUrl, path, endpoint }) => {
        if (!routing || routing === "hash") return buildHashBasedUrl(authQueryString, endpoint);
        if (routing === "path") return buildPathBasedUrl(path || "", authQueryString, endpoint);
        return buildVirtualBasedUrl(baseUrl || "", authQueryString, endpoint);
      };
      buildHashBasedUrl = (authQueryString, endpoint) => {
        return buildURL({ hash: endpoint + (authQueryString ? `?${authQueryString}` : "") }, { stringify: true });
      };
      buildPathBasedUrl = (path, authQueryString, endpoint) => {
        const searchArg = authQueryString ? { search: "?" + authQueryString } : {};
        return buildURL({
          pathname: path + endpoint,
          ...searchArg
        }, { stringify: true });
      };
      buildVirtualBasedUrl = (base2, authQueryString, endpoint) => {
        return buildURL({
          base: base2,
          hash: endpoint + (authQueryString ? `?${authQueryString}` : "")
        }, { stringify: true });
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/object-DYaB_9gA.mjs
  var removeUndefined, applyFunctionToObj, filterProps;
  var init_object_DYaB_9gA = __esm({
    "node_modules/@clerk/shared/dist/runtime/object-DYaB_9gA.mjs"() {
      removeUndefined = (obj) => {
        return Object.entries(obj).reduce((acc, [key, value]) => {
          if (value !== void 0 && value !== null) acc[key] = value;
          return acc;
        }, {});
      };
      applyFunctionToObj = (obj, fn) => {
        const result = {};
        for (const key in obj) result[key] = fn(obj[key], key);
        return result;
      };
      filterProps = (obj, filter) => {
        const result = {};
        for (const key in obj) if (obj[key] && filter(obj[key])) result[key] = obj[key];
        return result;
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/redirectUrls.mjs
  var RedirectUrls;
  var init_redirectUrls = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/redirectUrls.mjs"() {
      init_constants_Bta24VLk();
      init_isomorphicAtob_CoF80qYz();
      init_isomorphicBtoa_DWmLcIHi();
      init_keys_ChIG_Ewf();
      init_globs_u_gXJPLt();
      init_instance_BmZr0cdE();
      init_url_C6gPMFx5();
      init_logger_DISzhF9M();
      init_object_DYaB_9gA();
      init_underscore_ClYSgvuy();
      init_path_BLD6zl1u();
      init_querystring_pXtwII0l();
      init_url_BbdQYzdN();
      RedirectUrls = class RedirectUrls2 {
        static keys = [
          "signInForceRedirectUrl",
          "signInFallbackRedirectUrl",
          "signUpForceRedirectUrl",
          "signUpFallbackRedirectUrl",
          "redirectUrl"
        ];
        static preserved = ["redirectUrl"];
        options;
        fromOptions;
        fromProps;
        fromSearchParams;
        mode;
        constructor(options2, props = {}, searchParams = {}, mode) {
          this.options = options2;
          this.fromOptions = this.#parse(options2 || {});
          this.fromProps = this.#parse(props || {});
          this.fromSearchParams = this.#parseSearchParams(searchParams || {});
          this.mode = mode;
        }
        getAfterSignInUrl() {
          return this.#getRedirectUrl("signIn");
        }
        getAfterSignUpUrl() {
          return this.#getRedirectUrl("signUp");
        }
        getPreservedSearchParams() {
          return this.#toSearchParams(this.#flattenPreserved());
        }
        toSearchParams() {
          return this.#toSearchParams(this.#flattenAll());
        }
        #toSearchParams(obj) {
          const camelCased = Object.fromEntries(Object.entries(obj).map(([key, value]) => [camelToSnake(key), value]));
          return new URLSearchParams(removeUndefined(camelCased));
        }
        #flattenPreserved() {
          return Object.fromEntries(Object.entries({ ...this.fromSearchParams }).filter(([key]) => RedirectUrls2.preserved.includes(key)));
        }
        #flattenAll() {
          const signUpForceRedirectUrl = this.fromSearchParams.signUpForceRedirectUrl || this.fromProps.signUpForceRedirectUrl || this.fromOptions.signUpForceRedirectUrl;
          const signUpFallbackRedirectUrl = this.fromSearchParams.signUpFallbackRedirectUrl || this.fromProps.signUpFallbackRedirectUrl || this.fromOptions.signUpFallbackRedirectUrl;
          const signInForceRedirectUrl = this.fromSearchParams.signInForceRedirectUrl || this.fromProps.signInForceRedirectUrl || this.fromOptions.signInForceRedirectUrl;
          const res = {
            signUpForceRedirectUrl,
            signUpFallbackRedirectUrl,
            signInFallbackRedirectUrl: this.fromSearchParams.signInFallbackRedirectUrl || this.fromProps.signInFallbackRedirectUrl || this.fromOptions.signInFallbackRedirectUrl,
            signInForceRedirectUrl,
            redirectUrl: this.fromSearchParams.redirectUrl || this.fromProps.redirectUrl
          };
          if (signUpForceRedirectUrl) delete res.signUpFallbackRedirectUrl;
          if (signInForceRedirectUrl) delete res.signInFallbackRedirectUrl;
          return res;
        }
        #getRedirectUrl(prefix2) {
          const forceKey = `${prefix2}ForceRedirectUrl`;
          const fallbackKey = `${prefix2}FallbackRedirectUrl`;
          let result;
          result = this.fromSearchParams[forceKey] || this.fromProps[forceKey] || this.fromOptions[forceKey];
          result ||= this.fromSearchParams.redirectUrl;
          result ||= this.fromSearchParams[fallbackKey] || this.fromProps[fallbackKey] || this.fromOptions[fallbackKey];
          if (!result && this.mode === "modal") return window.location.href;
          return result || "/";
        }
        #parse(obj) {
          const res = {};
          RedirectUrls2.keys.forEach((key) => {
            res[key] = obj[key];
          });
          return applyFunctionToObj(this.#filterRedirects(this.#toAbsoluteUrls(filterProps(res, Boolean))), (val) => val.toString());
        }
        #parseSearchParams(obj) {
          const res = {};
          RedirectUrls2.keys.forEach((key) => {
            if (obj instanceof URLSearchParams) res[key] = obj.get(camelToSnake(key));
            else res[key] = obj[camelToSnake(key)];
          });
          return applyFunctionToObj(this.#filterRedirects(this.#toAbsoluteUrls(filterProps(res, Boolean))), (val) => val.toString());
        }
        #toAbsoluteUrls(obj) {
          return applyFunctionToObj(obj, (url) => relativeToAbsoluteUrl(url, window.location.origin));
        }
        #filterRedirects = (obj) => {
          return filterProps(obj, isAllowedRedirect(this.options?.allowedRedirectOrigins, window.location.origin));
        };
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/sessionTasks.mjs
  function buildTaskUrl(task, opts) {
    const params = forwardClerkQueryParams();
    return buildURL({
      base: opts.base,
      hashPath: getTaskEndpoint(task),
      searchParams: params
    }, { stringify: true });
  }
  function navigateIfTaskExists(session, { navigate, baseUrl }) {
    const currentTask = session.currentTask;
    if (!currentTask) return;
    return navigate(buildTaskUrl(currentTask, { base: baseUrl }));
  }
  var INTERNAL_SESSION_TASK_ROUTE_BY_KEY, getTaskEndpoint;
  var init_sessionTasks = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/sessionTasks.mjs"() {
      init_constants_Bta24VLk();
      init_isomorphicAtob_CoF80qYz();
      init_isomorphicBtoa_DWmLcIHi();
      init_keys_ChIG_Ewf();
      init_globs_u_gXJPLt();
      init_instance_BmZr0cdE();
      init_url_C6gPMFx5();
      init_logger_DISzhF9M();
      init_netlifyCacheHandler_BAoRn8m6();
      init_underscore_ClYSgvuy();
      init_constants_BulbbNR9();
      init_queryParams_DJX7tUZy();
      init_path_BLD6zl1u();
      init_querystring_pXtwII0l();
      init_url_BbdQYzdN();
      INTERNAL_SESSION_TASK_ROUTE_BY_KEY = {
        "choose-organization": "choose-organization",
        "reset-password": "reset-password",
        "setup-mfa": "setup-mfa"
      };
      getTaskEndpoint = (task) => `/tasks/${INTERNAL_SESSION_TASK_ROUTE_BY_KEY[task.key]}`;
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/windowNavigate.mjs
  function windowNavigate(to) {
    const toURL2 = new URL(to, window.location.href);
    window.dispatchEvent(new CustomEvent(CLERK_BEFORE_UNLOAD_EVENT));
    window.location.href = toURL2.href;
  }
  var CLERK_BEFORE_UNLOAD_EVENT;
  var init_windowNavigate = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/windowNavigate.mjs"() {
      CLERK_BEFORE_UNLOAD_EVENT = "clerk:beforeunload";
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/SignIn.js
  var import_react15, SignInContext, useSignInContext;
  var init_SignIn = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/SignIn.js"() {
      init_OptionsContext();
      init_RouteContext();
      init_utils2();
      init_EnvironmentContext();
      init_redirects();
      import_react15 = __toESM(require_react(), 1);
      init_constants();
      init_react();
      init_url();
      init_url2();
      init_redirectUrls();
      init_sessionTasks();
      init_windowNavigate();
      SignInContext = (0, import_react15.createContext)(null);
      useSignInContext = () => {
        const context = (0, import_react15.useContext)(SignInContext);
        const { navigate, basePath, startPath } = useRouter();
        const { displayConfig, userSettings } = useEnvironment();
        const { queryParams, queryString } = useRouter();
        const signUpMode = userSettings.signUp.mode;
        const options2 = useOptions();
        const clerk2 = useClerk();
        if (context === null || context.componentName !== "SignIn") throw new Error(`Clerk: useSignInContext called outside of the mounted SignIn component.`);
        const isCombinedFlow = signUpMode !== "restricted" && Boolean(!options2.signUpUrl && options2.signInUrl && !isAbsoluteUrl(options2.signInUrl)) && context.withSignUp !== false || context.withSignUp || false;
        const { componentName, mode, ...ctx } = context;
        const initialValuesFromQueryParams = (0, import_react15.useMemo)(() => getInitialValuesFromQueryParams(queryString, SIGN_IN_INITIAL_VALUE_KEYS), []);
        const redirectUrls = new RedirectUrls(options2, {
          ...ctx,
          signInFallbackRedirectUrl: ctx.signInFallbackRedirectUrl || ctx.fallbackRedirectUrl,
          signInForceRedirectUrl: ctx.signInForceRedirectUrl || ctx.forceRedirectUrl
        }, queryParams, mode);
        delete ctx.fallbackRedirectUrl;
        delete ctx.forceRedirectUrl;
        const afterSignInUrl = clerk2.buildUrlWithAuth(redirectUrls.getAfterSignInUrl());
        const afterSignUpUrl = clerk2.buildUrlWithAuth(redirectUrls.getAfterSignUpUrl());
        const navigateAfterSignIn = () => navigate(afterSignInUrl);
        let signInUrl = ctx.routing === "path" && ctx.path || options2.signInUrl || displayConfig.signInUrl;
        let signUpUrl = isCombinedFlow ? ctx.routing === "path" && ctx.path || options2.signUpUrl || displayConfig.signUpUrl : ctx.signUpUrl || options2.signUpUrl || displayConfig.signUpUrl;
        let waitlistUrl = ctx.waitlistUrl || options2.waitlistUrl || displayConfig.waitlistUrl;
        const preservedParams = redirectUrls.getPreservedSearchParams();
        signInUrl = buildURL({
          base: signInUrl,
          hashSearchParams: [queryParams, preservedParams]
        }, { stringify: true });
        signUpUrl = buildURL({
          base: signUpUrl,
          hashSearchParams: [queryParams, preservedParams]
        }, { stringify: true });
        waitlistUrl = buildURL({
          base: waitlistUrl,
          hashSearchParams: [queryParams, preservedParams]
        }, { stringify: true });
        const authQueryString = redirectUrls.toSearchParams().toString();
        const emailLinkRedirectUrl = buildRedirectUrl({
          routing: ctx.routing,
          baseUrl: signInUrl,
          authQueryString,
          path: ctx.path,
          endpoint: isCombinedFlow ? "/create" + MAGIC_LINK_VERIFY_PATH_ROUTE : MAGIC_LINK_VERIFY_PATH_ROUTE
        });
        const ssoCallbackUrl = buildRedirectUrl({
          routing: ctx.routing,
          baseUrl: signInUrl,
          authQueryString,
          path: ctx.path,
          endpoint: isCombinedFlow ? "/create" + SSO_CALLBACK_PATH_ROUTE : SSO_CALLBACK_PATH_ROUTE
        });
        if (isCombinedFlow) signUpUrl = buildURL({
          base: signInUrl,
          hashPath: "/create",
          hashSearchParams: [queryParams, preservedParams]
        }, { stringify: true });
        const signUpContinueUrl = buildURL({
          base: signUpUrl,
          hashPath: "/continue"
        }, { stringify: true });
        const navigateOnSetActive = async ({ session, redirectUrl, decorateUrl }) => {
          const currentTask = session.currentTask;
          if (!currentTask) {
            const decoratedUrl = decorateUrl(redirectUrl);
            if (decoratedUrl !== redirectUrl && /^https?:\/\//.test(decoratedUrl)) {
              windowNavigate(decoratedUrl);
              return;
            }
            return navigate(redirectUrl);
          }
          const taskEndpoint = getTaskEndpoint(currentTask);
          const taskNavigationPath = isCombinedFlow ? "/create" + taskEndpoint : taskEndpoint;
          return navigate(`/${basePath + startPath + taskNavigationPath}`);
        };
        const taskUrl = clerk2.session?.currentTask ? clerk2.__internal_getOption("taskUrls")?.[clerk2.session?.currentTask.key] ?? buildRedirectUrl({
          routing: ctx.routing,
          baseUrl: signInUrl,
          authQueryString,
          path: ctx.path,
          endpoint: isCombinedFlow ? "/create" + getTaskEndpoint(clerk2.session?.currentTask) : getTaskEndpoint(clerk2.session?.currentTask)
        }) : null;
        return {
          ...ctx,
          transferable: ctx.transferable ?? true,
          oauthFlow: ctx.oauthFlow || "auto",
          componentName,
          signUpUrl,
          signInUrl,
          waitlistUrl,
          afterSignInUrl,
          afterSignUpUrl,
          emailLinkRedirectUrl,
          ssoCallbackUrl,
          navigateAfterSignIn,
          signUpContinueUrl,
          queryParams,
          initialValues: {
            ...ctx.initialValues,
            ...initialValuesFromQueryParams
          },
          authQueryString,
          isCombinedFlow,
          navigateOnSetActive,
          taskUrl
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/SignUp.js
  var import_react17, SignUpContext, useSignUpContext;
  var init_SignUp = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/SignUp.js"() {
      init_OptionsContext();
      init_RouteContext();
      init_utils2();
      init_EnvironmentContext();
      init_redirects();
      import_react17 = __toESM(require_react(), 1);
      init_constants();
      init_react();
      init_url();
      init_url2();
      init_redirectUrls();
      init_sessionTasks();
      init_windowNavigate();
      SignUpContext = (0, import_react17.createContext)(null);
      useSignUpContext = () => {
        const context = (0, import_react17.useContext)(SignUpContext);
        const { navigate, basePath, startPath } = useRouter();
        const { displayConfig, userSettings } = useEnvironment();
        const { queryParams, queryString } = useRouter();
        const signUpMode = userSettings.signUp.mode;
        const options2 = useOptions();
        const clerk2 = useClerk();
        const isCombinedFlow = signUpMode !== "restricted" && Boolean(!options2.signUpUrl && options2.signInUrl && !isAbsoluteUrl(options2.signInUrl) && signUpMode === "public") || false;
        const initialValuesFromQueryParams = (0, import_react17.useMemo)(() => getInitialValuesFromQueryParams(queryString, SIGN_UP_INITIAL_VALUE_KEYS), []);
        if (!context || context.componentName !== "SignUp") throw new Error("Clerk: useSignUpContext called outside of the mounted SignUp component.");
        const { componentName, mode, ...ctx } = context;
        const redirectUrls = new RedirectUrls(options2, {
          ...ctx,
          signUpFallbackRedirectUrl: ctx.signUpFallbackRedirectUrl || ctx.fallbackRedirectUrl,
          signUpForceRedirectUrl: ctx.signUpForceRedirectUrl || ctx.forceRedirectUrl
        }, queryParams, mode);
        delete ctx.fallbackRedirectUrl;
        delete ctx.forceRedirectUrl;
        const afterSignUpUrl = clerk2.buildUrlWithAuth(redirectUrls.getAfterSignUpUrl());
        const afterSignInUrl = clerk2.buildUrlWithAuth(redirectUrls.getAfterSignInUrl());
        const navigateAfterSignUp = () => navigate(afterSignUpUrl);
        let signUpUrl = ctx.routing === "path" && ctx.path || options2.signUpUrl || displayConfig.signUpUrl;
        let signInUrl = ctx.signInUrl || options2.signInUrl || displayConfig.signInUrl;
        let waitlistUrl = ctx.waitlistUrl || options2.waitlistUrl || displayConfig.waitlistUrl;
        const preservedParams = redirectUrls.getPreservedSearchParams();
        signInUrl = buildURL({
          base: signInUrl,
          hashSearchParams: [queryParams, preservedParams]
        }, { stringify: true });
        signUpUrl = buildURL({
          base: signUpUrl,
          hashSearchParams: [queryParams, preservedParams]
        }, { stringify: true });
        waitlistUrl = buildURL({
          base: waitlistUrl,
          hashSearchParams: [queryParams, preservedParams]
        }, { stringify: true });
        const authQueryString = redirectUrls.toSearchParams().toString();
        const emailLinkRedirectUrl = ctx.emailLinkRedirectUrl ?? buildRedirectUrl({
          routing: ctx.routing,
          baseUrl: signUpUrl,
          authQueryString,
          path: ctx.path,
          endpoint: isCombinedFlow ? "/create" + MAGIC_LINK_VERIFY_PATH_ROUTE : MAGIC_LINK_VERIFY_PATH_ROUTE
        });
        const ssoCallbackUrl = ctx.ssoCallbackUrl ?? buildRedirectUrl({
          routing: ctx.routing,
          baseUrl: signUpUrl,
          authQueryString,
          path: ctx.path,
          endpoint: isCombinedFlow ? "/create" + SSO_CALLBACK_PATH_ROUTE : SSO_CALLBACK_PATH_ROUTE
        });
        const secondFactorUrl = buildURL({
          base: signInUrl,
          hashPath: "/factor-two"
        }, { stringify: true });
        const navigateOnSetActive = async ({ session, redirectUrl, decorateUrl }) => {
          const currentTask = session.currentTask;
          if (!currentTask) {
            const decoratedUrl = decorateUrl(redirectUrl);
            if (decoratedUrl !== redirectUrl && /^https?:\/\//.test(decoratedUrl)) {
              windowNavigate(decoratedUrl);
              return;
            }
            return navigate(redirectUrl);
          }
          const taskEndpoint = getTaskEndpoint(currentTask);
          return navigate(`/${basePath + startPath + taskEndpoint}`);
        };
        const taskUrl = clerk2.session?.currentTask ? clerk2.__internal_getOption("taskUrls")?.[clerk2.session?.currentTask.key] ?? buildRedirectUrl({
          routing: ctx.routing,
          baseUrl: signInUrl,
          authQueryString,
          path: ctx.path,
          endpoint: getTaskEndpoint(clerk2.session?.currentTask)
        }) : null;
        return {
          ...ctx,
          oauthFlow: ctx.oauthFlow || "auto",
          componentName,
          signInUrl,
          signUpUrl,
          waitlistUrl,
          secondFactorUrl,
          afterSignUpUrl,
          afterSignInUrl,
          emailLinkRedirectUrl,
          ssoCallbackUrl,
          navigateAfterSignUp,
          queryParams,
          initialValues: {
            ...ctx.initialValues,
            ...initialValuesFromQueryParams
          },
          authQueryString,
          isCombinedFlow,
          navigateOnSetActive,
          taskUrl
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/CoreSessionContext.js
  function withCoreSessionSwitchGuard(Component) {
    const Hoc = (props) => {
      if (typeof useSessionBase() === "undefined") return null;
      return /* @__PURE__ */ jsx2(Component, { ...props });
    };
    const displayName = Component.displayName || Component.name || "Component";
    Component.displayName = displayName;
    Hoc.displayName = displayName;
    return Hoc;
  }
  var import_react19;
  var init_CoreSessionContext = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/CoreSessionContext.js"() {
      import_react19 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/cssPatterns.js
  var CLERK_CLASS_RE, CLERK_INTERNAL_CLASS_RE, CLERK_ATTR_RE, POSITIONAL_PSEUDO_RE, HAS_RE;
  var init_cssPatterns = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/cssPatterns.js"() {
      CLERK_CLASS_RE = /\.cl-[A-Za-z0-9_-]+/;
      CLERK_INTERNAL_CLASS_RE = /\.cl-internal-[A-Za-z0-9_-]+/g;
      CLERK_ATTR_RE = /\[\s*class\s*(\^=|\*=|\$=)\s*["']?[^"'\]]*cl-[^"'\]]*["']?\s*\]/i;
      POSITIONAL_PSEUDO_RE = /:(nth-child|nth-of-type|first-child|last-child|only-child|empty)\b/i;
      HAS_RE = /:has\(/i;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/detectClerkStylesheetUsage.js
  function stripInternalClasses(selector) {
    return selector.replace(CLERK_INTERNAL_CLASS_RE, "");
  }
  function isProbablyClerkSelector(selector) {
    const stripped = stripInternalClasses(selector);
    return CLERK_CLASS_RE.test(stripped) || CLERK_ATTR_RE.test(stripped);
  }
  function splitSelectorList(selectorText) {
    return selectorText.split(",").map((s2) => s2.trim()).filter(Boolean);
  }
  function hasClerkWithAdjacency(selector) {
    return /\.cl-[A-Za-z0-9_-]+[\s>+~]+[.#\w\[:]/.test(selector) || /[.#\w\]:][\s>+~]+\.cl-[A-Za-z0-9_-]+/.test(selector);
  }
  function analyzeSelector(selector) {
    const reason = [];
    if (hasClerkWithAdjacency(selector)) {
      if (/[>+~]/.test(selector)) reason.push("combinator(>+~)");
      if (/\s+/.test(selector)) reason.push("descendant(combinator)");
    }
    if (POSITIONAL_PSEUDO_RE.test(selector)) reason.push("positional-pseudo");
    if (HAS_RE.test(selector)) reason.push(":has()");
    if ((selector.match(/\.cl-[A-Za-z0-9_-]+/g) || []).length >= 2) reason.push("multiple-clerk-classes");
    if (/(^|[\s>+~(])([a-z]+)\.cl-[A-Za-z0-9_-]+/i.test(selector)) reason.push("tag+cl-class");
    return {
      structural: reason.includes("combinator(>+~)") || reason.includes("descendant(combinator)") || reason.includes("positional-pseudo") || reason.includes(":has()") || reason.includes("multiple-clerk-classes") || reason.includes("tag+cl-class"),
      reason
    };
  }
  function safeGetCssRules(sheet) {
    try {
      return sheet.cssRules;
    } catch {
      return null;
    }
  }
  function walkRules(rules, sheet, out) {
    for (const rule of Array.from(rules)) {
      if (rule.type === CSS_STYLE_RULE && "selectorText" in rule) {
        const styleRule = rule;
        const selectorText = styleRule.selectorText || "";
        for (const selector of splitSelectorList(selectorText)) {
          if (!isProbablyClerkSelector(selector)) continue;
          const { structural, reason } = analyzeSelector(selector);
          if (!structural) continue;
          out.push({
            stylesheetHref: sheet.href ?? null,
            selector,
            cssText: styleRule.cssText,
            reason
          });
        }
        continue;
      }
      if ("cssRules" in rule && rule.cssRules) walkRules(rule.cssRules, sheet, out);
    }
  }
  function detectStructuralClerkCss() {
    if (typeof document === "undefined") return [];
    const hits = [];
    for (const sheet of Array.from(document.styleSheets)) {
      const rules = safeGetCssRules(sheet);
      if (!rules) continue;
      walkRules(rules, sheet, hits);
    }
    return hits;
  }
  var CSS_STYLE_RULE;
  var init_detectClerkStylesheetUsage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/detectClerkStylesheetUsage.js"() {
      init_cssPatterns();
      CSS_STYLE_RULE = 1;
    }
  });

  // node_modules/@clerk/shared/dist/runtime/logger.mjs
  var init_logger = __esm({
    "node_modules/@clerk/shared/dist/runtime/logger.mjs"() {
      init_logger_DISzhF9M();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/warnAboutCustomizationWithoutPinning.js
  function formatStructuralCssWarning(patterns) {
    return [
      `Clerk: Structural CSS detected that may break on updates.`,
      ``,
      `Found:`,
      patterns.slice(0, 5).map((p2) => `  - ${p2}`).join("\n") + (patterns.length > 5 ? `
  (+${patterns.length - 5} more)` : ""),
      ``,
      `These selectors depend on the internal DOM structure of Clerk's components, which may change when Clerk deploys component updates.`,
      `To prevent breaking changes, install @clerk/ui and pass it to ClerkProvider:`,
      ``,
      `  import { ui } from '@clerk/ui'`,
      `  <ClerkProvider ui={ui}>`,
      ``,
      `Learn more: https://clerk.com/docs/reference/components/versioning`,
      `(code=structural_css_pin_clerk_ui)`
    ].join("\n");
  }
  function hasAdjacencyWithOtherSelector(selector) {
    const rest = selector.replace(/^&\s*/, "");
    const hasClerkClass = CLERK_CLASS_RE.test(rest);
    const hasOtherSelector = OTHER_SELECTOR_RE.test(rest.replace(CLERK_CLASS_GLOBAL_RE, ""));
    return hasClerkClass || hasOtherSelector && COMBINATOR_RE.test(selector);
  }
  function isStructuralSelector(selector) {
    if (!selector.startsWith("&")) return false;
    if (CLERK_CLASS_RE.test(selector)) return true;
    if (POSITIONAL_PSEUDO_RE.test(selector)) return true;
    if (HAS_RE.test(selector)) return true;
    if (hasAdjacencyWithOtherSelector(selector)) return true;
    return false;
  }
  function collectStructuralSelectors(value) {
    if (!value || typeof value !== "object") return [];
    const selectors = [];
    for (const [key, nestedValue] of Object.entries(value)) {
      if (isStructuralSelector(key)) selectors.push(key);
      selectors.push(...collectStructuralSelectors(nestedValue));
    }
    return selectors;
  }
  function collectElementPatterns(elements) {
    const patterns = [];
    for (const [elementKey, value] of Object.entries(elements)) {
      if (typeof value === "string") continue;
      const selectors = collectStructuralSelectors(value);
      for (const selector of selectors) patterns.push(`elements.${elementKey} "${selector}"`);
    }
    return patterns;
  }
  function warnAboutComponentAppearance(appearance, uiPinned) {
    if (uiPinned) return;
    if (!appearance?.elements || Object.keys(appearance.elements).length === 0) return;
    const patterns = collectElementPatterns(appearance.elements);
    if (patterns.length > 0) logger.warnOnce(formatStructuralCssWarning(patterns));
  }
  function warnAboutCustomizationWithoutPinning(options2) {
    if (options2?.ui?.__brand) return;
    const patterns = [];
    const appearance = options2?.appearance;
    if (appearance?.elements && Object.keys(appearance.elements).length > 0) patterns.push(...collectElementPatterns(appearance.elements));
    const structuralCssHits = detectStructuralClerkCss();
    for (const hit of structuralCssHits) patterns.push(`CSS "${hit.selector}"`);
    if (patterns.length > 0) logger.warnOnce(formatStructuralCssWarning(patterns));
  }
  var OTHER_SELECTOR_RE, CLERK_CLASS_GLOBAL_RE, COMBINATOR_RE;
  var init_warnAboutCustomizationWithoutPinning = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/warnAboutCustomizationWithoutPinning.js"() {
      init_cssPatterns();
      init_detectClerkStylesheetUsage();
      init_logger();
      OTHER_SELECTOR_RE = /[.#\w\[:]/;
      CLERK_CLASS_GLOBAL_RE = /\.cl-[A-Za-z0-9_-]+/g;
      COMBINATOR_RE = /[>+~\s]/;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useWarnAboutCustomizationWithoutPinning.js
  function useWarnAboutCustomizationWithoutPinning(appearance) {
    const clerkCtx = (0, import_react21.useContext)(ClerkInstanceContext);
    const localOptions = (0, import_react21.useContext)(OptionsContext2);
    const sharedOptions = (0, import_react21.useContext)(OptionsContext);
    const uiPinned = !!(localOptions ?? sharedOptions)?.ui;
    const stableAppearance = useDeepEqualMemo(() => appearance, [appearance]);
    (0, import_react21.useEffect)(() => {
      if (!clerkCtx?.value) return;
      if (clerkCtx.value.instanceType !== "development") return;
      const useIdleCallback = typeof requestIdleCallback === "function";
      const handle = useIdleCallback ? requestIdleCallback(() => warnAboutComponentAppearance(stableAppearance, uiPinned)) : setTimeout(() => warnAboutComponentAppearance(stableAppearance, uiPinned), 0);
      return () => {
        if (useIdleCallback) cancelIdleCallback(handle);
        else clearTimeout(handle);
      };
    }, [
      clerkCtx?.value,
      stableAppearance,
      uiPinned
    ]);
  }
  var import_react21;
  var init_useWarnAboutCustomizationWithoutPinning = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useWarnAboutCustomizationWithoutPinning.js"() {
      init_warnAboutCustomizationWithoutPinning();
      init_OptionsContext();
      import_react21 = __toESM(require_react(), 1);
      init_react();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/baseTheme.js
  var BORDER_SHADOW_LENGTH, BUTTON_SOLID_SHADOW, BUTTON_OUTLINE_SHADOW, cardContentStyles, inputShadowStyles, checkboxShadowStyles, inputStyles, clerkTheme, simpleTheme, getBaseTheme, baseTheme;
  var init_baseTheme = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/baseTheme.js"() {
      BORDER_SHADOW_LENGTH = "0px 0px 0px 1px";
      BUTTON_SOLID_SHADOW = (color) => `${BORDER_SHADOW_LENGTH} ${color}, 0px 1px 1px 0px rgba(255, 255, 255, 0.07) inset, 0px 2px 3px 0px rgba(34, 42, 53, 0.20), 0px 1px 1px 0px rgba(0, 0, 0, 0.24)`;
      BUTTON_OUTLINE_SHADOW = (color) => `${BORDER_SHADOW_LENGTH} ${color}, 0px 2px 3px -1px rgba(0, 0, 0, 0.08), 0px 1px 0px 0px rgba(0, 0, 0, 0.02)`;
      cardContentStyles = (theme) => ({
        borderWidth: 0,
        boxShadow: `${theme.shadows.$cardContentShadow}, ${BORDER_SHADOW_LENGTH} ${theme.colors.$borderAlpha50}`
      });
      inputShadowStyles = (theme, colors4) => {
        const idleShadow = [`0px 0px 0px 1px ${colors4.idle1}`, theme.shadows.$input.replace("{{color}}", colors4.idle2)].toString();
        const hoverShadow = [`0px 0px 0px 1px ${colors4.hover1}`, theme.shadows.$input.replace("{{color}}", colors4.hover2)].toString();
        return {
          boxShadow: idleShadow,
          "&:hover": { boxShadow: hoverShadow },
          '&:focus-within,&[data-focus-within="true"]': { boxShadow: [hoverShadow, theme.shadows.$focusRing.replace("{{color}}", colors4.focus)].toString() }
        };
      };
      checkboxShadowStyles = (theme, colors4) => {
        const idleShadow = [`0px 0px 0px 1px ${colors4.idle1}`, theme.shadows.$input.replace("{{color}}", colors4.idle2)].toString();
        const hoverShadow = [`0px 0px 0px 1px ${colors4.hover1}`, theme.shadows.$input.replace("{{color}}", colors4.hover2)].toString();
        return {
          boxShadow: idleShadow,
          "&:hover": { boxShadow: hoverShadow },
          "&:focus-visible": { boxShadow: [hoverShadow, theme.shadows.$focusRing.replace("{{color}}", colors4.focus)].toString() }
        };
      };
      inputStyles = (theme) => ({
        borderWidth: 0,
        ...inputShadowStyles(theme, {
          idle1: theme.colors.$borderAlpha150,
          idle2: theme.colors.$borderAlpha100,
          hover1: theme.colors.$borderAlpha300,
          hover2: theme.colors.$borderAlpha150,
          focus: theme.colors.$colorRing
        }),
        '&[data-feedback="error"]': inputShadowStyles(theme, {
          idle1: theme.colors.$dangerAlpha400,
          idle2: theme.colors.$dangerAlpha200,
          hover1: theme.colors.$dangerAlpha500,
          hover2: theme.colors.$dangerAlpha200,
          focus: theme.colors.$dangerAlpha200
        }),
        '&[data-feedback="warning"]': inputShadowStyles(theme, {
          idle1: theme.colors.$warningAlpha400,
          idle2: theme.colors.$warningAlpha200,
          hover1: theme.colors.$warningAlpha500,
          hover2: theme.colors.$warningAlpha200,
          focus: theme.colors.$warningAlpha200
        }),
        '&[data-feedback="success"]': inputShadowStyles(theme, {
          idle1: theme.colors.$successAlpha400,
          idle2: theme.colors.$successAlpha200,
          hover1: theme.colors.$successAlpha500,
          hover2: theme.colors.$successAlpha200,
          focus: theme.colors.$successAlpha200
        })
      });
      clerkTheme = { elements: ({ theme }) => {
        return {
          button: {
            '&[data-variant="solid"]': {
              borderWidth: "0px",
              "&:after": {
                position: "absolute",
                content: '""',
                borderRadius: "inherit",
                zIndex: -1,
                inset: 0,
                opacity: 1,
                transitionProperty: theme.transitionProperty.$common,
                transitionDuration: theme.transitionDuration.$controls,
                background: `linear-gradient(180deg, ${theme.colors.$whiteAlpha150} 0%, ${theme.colors.$transparent} 100%)`
              },
              "&:hover::after": { opacity: 0 },
              "&:active::after": { opacity: 1 },
              '&[data-color="primary"]': {
                boxShadow: BUTTON_SOLID_SHADOW(theme.colors.$primary500),
                "&:focus": { boxShadow: [BUTTON_SOLID_SHADOW(theme.colors.$primary500), theme.shadows.$focusRing.replace("{{color}}", theme.colors.$colorRing)].toString() }
              },
              '&[data-color="danger"]': {
                boxShadow: BUTTON_SOLID_SHADOW(theme.colors.$danger500),
                "&:focus": { boxShadow: [BUTTON_SOLID_SHADOW(theme.colors.$danger500), theme.shadows.$focusRing.replace("{{color}}", theme.colors.$dangerAlpha200)].toString() }
              }
            },
            '&[data-variant="outline"]': {
              borderWidth: 0,
              boxShadow: BUTTON_OUTLINE_SHADOW(theme.colors.$borderAlpha100),
              "&:focus": { boxShadow: [BUTTON_OUTLINE_SHADOW(theme.colors.$borderAlpha100), theme.shadows.$focusRing.replace("{{color}}", theme.colors.$colorRing)].toString() }
            },
            '&[data-variant="bordered"]': {
              borderWidth: 0,
              boxShadow: BUTTON_OUTLINE_SHADOW(theme.colors.$borderAlpha100),
              "&:focus": { boxShadow: [BUTTON_OUTLINE_SHADOW(theme.colors.$borderAlpha100), theme.shadows.$focusRing.replace("{{color}}", theme.colors.$colorRing)].toString() }
            }
          },
          badge: {
            borderWidth: 0,
            margin: "1px",
            '&[data-color="primary"]': { boxShadow: `${BORDER_SHADOW_LENGTH} ${theme.colors.$borderAlpha100}, ${theme.shadows.$badge}` },
            '&[data-color="danger"]': { boxShadow: `${BORDER_SHADOW_LENGTH} ${theme.colors.$dangerAlpha300}, ${theme.shadows.$badge}` },
            '&[data-color="success"]': { boxShadow: `${BORDER_SHADOW_LENGTH} ${theme.colors.$successAlpha300}, ${theme.shadows.$badge}` },
            '&[data-color="warning"]': { boxShadow: `${BORDER_SHADOW_LENGTH} ${theme.colors.$warningAlpha300}, ${theme.shadows.$badge}` }
          },
          input: { '&[data-variant="default"]': { ...inputStyles(theme) } },
          checkbox: {
            ...checkboxShadowStyles(theme, {
              idle1: theme.colors.$neutralAlpha150,
              idle2: theme.colors.$neutralAlpha100,
              hover1: theme.colors.$neutralAlpha300,
              hover2: theme.colors.$neutralAlpha150,
              focus: theme.colors.$neutralAlpha150
            }),
            padding: theme.space.$1,
            width: theme.sizes.$3x5,
            height: theme.sizes.$3x5,
            appearance: "none",
            borderRadius: theme.radii.$sm,
            border: "none",
            backgroundSize: `${theme.sizes.$2} ${theme.sizes.$2}`,
            backgroundPosition: "center",
            backgroundRepeat: "no-repeat",
            "&:checked": {
              backgroundImage: `url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 8 8'%3E%3Cpath fill='${theme.colors.$white}' fill-rule='evenodd' d='M7.712.233a.889.889 0 0 1 .055 1.256C6.742 2.61 6.249 3.291 5.508 4.615c-.279.5-.589 1.194-.835 1.784a36.761 36.761 0 0 0-.382.95l-.021.057-.006.014-.001.003a.89.89 0 0 1-1.504.27L.218 4.765A.889.889 0 1 1 1.56 3.6l1.591 1.834c.235-.548.524-1.181.806-1.685.807-1.445 1.38-2.239 2.499-3.46A.889.889 0 0 1 7.712.234Z' clip-rule='evenodd'/%3E%3C/svg%3E")`,
              borderColor: theme.colors.$transparent,
              backgroundColor: theme.colors.$primary500
            }
          },
          tagInputContainer: { ...inputStyles(theme) },
          tagPillContainer: {
            borderWidth: 0,
            boxShadow: `${BORDER_SHADOW_LENGTH} ${theme.colors.$borderAlpha100}, ${theme.shadows.$badge}`
          },
          phoneInputBox: { ...inputStyles(theme) },
          formInputGroup: { ...inputStyles(theme) },
          selectSearchInput__countryCode: {
            boxShadow: "none",
            "&:focus": { boxShadow: "none" }
          },
          cardBox: {
            borderWidth: 0,
            boxShadow: `${theme.shadows.$cardBoxShadow}, ${BORDER_SHADOW_LENGTH} ${theme.colors.$borderAlpha100}`
          },
          drawerContent: {
            borderWidth: 0,
            boxShadow: `${theme.shadows.$cardBoxShadow}, ${BORDER_SHADOW_LENGTH} ${theme.colors.$borderAlpha100}`
          },
          popoverBox: {
            borderWidth: 0,
            boxShadow: `${theme.shadows.$cardBoxShadow}, ${BORDER_SHADOW_LENGTH} ${theme.colors.$borderAlpha100}`
          },
          card: { ...cardContentStyles(theme) },
          pricingTableCard: {
            '&[data-variant="default"]': {
              borderWidth: 0,
              boxShadow: `${theme.shadows.$cardBoxShadow}, ${BORDER_SHADOW_LENGTH} ${theme.colors.$borderAlpha100}`
            },
            '&[data-variant="compact"]': {
              borderWidth: 0,
              boxShadow: `0px 0px 2px 0px rgba(0, 0, 0, 0.08), 0px 1px 2px 0px rgba(25, 28, 33, 0.12), 0px 0px 0px 1px ${theme.colors.$borderAlpha100}`
            }
          },
          scrollBox: { ...cardContentStyles(theme) },
          userButtonPopoverMain: { ...cardContentStyles(theme) },
          organizationSwitcherPopoverMain: { ...cardContentStyles(theme) },
          menuList: {
            borderWidth: 0,
            boxShadow: `${theme.shadows.$menuShadow}, ${BORDER_SHADOW_LENGTH} ${theme.colors.$borderAlpha100}`
          },
          actionCard: {
            borderWidth: 0,
            boxShadow: `${theme.shadows.$actionCardShadow}, ${BORDER_SHADOW_LENGTH} ${theme.colors.$borderAlpha100}`
          },
          table: {
            borderWidth: 0,
            boxShadow: `0px 0px 2px 0px rgba(0, 0, 0, 0.08), 0px 1px 2px 0px rgba(25, 28, 33, 0.12), 0px 0px 0px 1px ${theme.colors.$borderAlpha100}`
          }
        };
      } };
      simpleTheme = {
        simpleStyles: true,
        elements: {}
      };
      getBaseTheme = (theme = "clerk") => {
        switch (theme) {
          case "simple":
            return simpleTheme;
          case "clerk":
          default:
            return clerkTheme;
        }
      };
      baseTheme = clerkTheme;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/foundations/createInternalTheme.js
  var createInternalTheme;
  var init_createInternalTheme = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/foundations/createInternalTheme.js"() {
      createInternalTheme = (foundations) => {
        const res = {};
        const base2 = foundations;
        for (const scale in base2) {
          res[scale] = {};
          for (const shade in base2[scale]) res[scale]["$" + shade] = base2[scale][shade];
        }
        return Object.freeze(res);
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/cssVariables.js
  function extractCSSVariableValue(variableName, element) {
    if (typeof window === "undefined" || typeof getComputedStyle === "undefined") return null;
    let cleanVariableName;
    if (variableName.startsWith("var(") && variableName.endsWith(")")) cleanVariableName = variableName.slice(4, -1).trim();
    else if (variableName.startsWith("--")) cleanVariableName = variableName;
    else cleanVariableName = `--${variableName}`;
    let targetElement;
    try {
      if (element) targetElement = element;
      else if (typeof document !== "undefined" && document.documentElement) targetElement = document.documentElement;
      else return null;
    } catch {
      return null;
    }
    try {
      return getComputedStyle(targetElement).getPropertyValue(cleanVariableName).trim() || null;
    } catch {
      return null;
    }
  }
  function isCSSVariable(value) {
    if (!value || typeof value !== "string") return false;
    const trimmed = value.trim();
    if (!trimmed.startsWith("var(") || !trimmed.endsWith(")")) return false;
    const content = trimmed.slice(4, -1).trim();
    if (!content.startsWith("--")) return false;
    const commaIndex = content.indexOf(",");
    const variableName = commaIndex === -1 ? content : content.slice(0, commaIndex).trim();
    return /^--[a-zA-Z0-9-_]+$/.test(variableName);
  }
  function resolveCSSVariable(value, element) {
    if (!isCSSVariable(value)) return null;
    const content = value.trim().slice(4, -1).trim();
    const commaIndex = content.indexOf(",");
    let variableName;
    let fallbackValue = null;
    if (commaIndex === -1) variableName = content;
    else {
      variableName = content.slice(0, commaIndex).trim();
      fallbackValue = content.slice(commaIndex + 1).trim();
    }
    const resolvedValue = extractCSSVariableValue(variableName, element);
    if (resolvedValue) return resolvedValue;
    if (fallbackValue) {
      if (isCSSVariable(fallbackValue)) return resolveCSSVariable(fallbackValue, element);
      return fallbackValue;
    }
    return null;
  }
  function resolveComputedCSSProperty(parentElement, propertyName, propertyValue) {
    const element = document.createElement("div");
    element.style.setProperty(propertyName, propertyValue);
    parentElement.appendChild(element);
    const computedValue = window.getComputedStyle(element).getPropertyValue(propertyName);
    parentElement.removeChild(element);
    return computedValue.trim();
  }
  function resolveComputedCSSColor(parentElement, color, backgroundColor = "white") {
    const computedColor = resolveComputedCSSProperty(parentElement, "color", color);
    const computedBackgroundColor = resolveComputedCSSProperty(parentElement, "color", backgroundColor);
    const canvas = document.createElement("canvas");
    canvas.width = 1;
    canvas.height = 1;
    const ctx = canvas.getContext("2d");
    if (!ctx) return computedColor;
    ctx.fillStyle = computedBackgroundColor;
    ctx.fillRect(0, 0, 1, 1);
    ctx.fillStyle = computedColor;
    ctx.fillRect(0, 0, 1, 1);
    const { data: data2 } = ctx.getImageData(0, 0, 1, 1);
    return `#${data2[0].toString(16).padStart(2, "0")}${data2[1].toString(16).padStart(2, "0")}${data2[2].toString(16).padStart(2, "0")}`;
  }
  var clerkCssVar;
  var init_cssVariables = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/cssVariables.js"() {
      clerkCssVar = (name, defaultValue) => `var(--clerk-${name}, ${defaultValue})`;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/cssSupports.js
  var CSS_FEATURE_TESTS, SUPPORTS_RELATIVE_COLOR, SUPPORTS_COLOR_MIX, SUPPORTS_MODERN_COLOR, SUPPORTS_LIGHT_DARK, cssSupports;
  var init_cssSupports = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/cssSupports.js"() {
      CSS_FEATURE_TESTS = {
        relativeColorSyntax: "color: hsl(from white h s l)",
        colorMix: "color: color-mix(in srgb, white, black)",
        lightDark: "color: light-dark(white, black)"
      };
      cssSupports = {
        relativeColorSyntax: () => {
          if (SUPPORTS_RELATIVE_COLOR !== void 0) return SUPPORTS_RELATIVE_COLOR;
          try {
            SUPPORTS_RELATIVE_COLOR = CSS.supports(CSS_FEATURE_TESTS.relativeColorSyntax);
          } catch {
            SUPPORTS_RELATIVE_COLOR = false;
          }
          return SUPPORTS_RELATIVE_COLOR;
        },
        colorMix: () => {
          if (SUPPORTS_COLOR_MIX !== void 0) return SUPPORTS_COLOR_MIX;
          try {
            SUPPORTS_COLOR_MIX = CSS.supports(CSS_FEATURE_TESTS.colorMix);
          } catch {
            SUPPORTS_COLOR_MIX = false;
          }
          return SUPPORTS_COLOR_MIX;
        },
        modernColor() {
          if (SUPPORTS_MODERN_COLOR !== void 0) return SUPPORTS_MODERN_COLOR;
          try {
            SUPPORTS_MODERN_COLOR = this.relativeColorSyntax() || this.colorMix();
          } catch {
            SUPPORTS_MODERN_COLOR = false;
          }
          return SUPPORTS_MODERN_COLOR;
        },
        lightDark: () => {
          if (SUPPORTS_LIGHT_DARK !== void 0) return SUPPORTS_LIGHT_DARK;
          try {
            SUPPORTS_LIGHT_DARK = CSS.supports(CSS_FEATURE_TESTS.lightDark);
          } catch {
            SUPPORTS_LIGHT_DARK = false;
          }
          return SUPPORTS_LIGHT_DARK;
        }
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/colors/legacy.js
  var abbrRegex, hexRegex, rgbaRegex, perRegex, hslRegex, hwbRegex, keywords, clamp, parseRgb, parseHsl, parseHwb, transformHslOrHwb, hslaTupleToHslaColor, hwbTupleToRgbTuple, rgbaTupleToHslaColor, hwbTupleToHslaColor, hslaColorToHslaString, parse3, toHslaColor, toHslaString, changeHslaLightness, setHslaAlpha, changeHslaAlpha, lighten, makeSolid, makeTransparent, setAlpha, adjustForLightness, colors;
  var init_legacy = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/colors/legacy.js"() {
      init_cssVariables();
      abbrRegex = /^#([a-f0-9]{3,4})$/i;
      hexRegex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;
      rgbaRegex = /^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/;
      perRegex = /^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/;
      hslRegex = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/;
      hwbRegex = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/;
      keywords = {
        black: [
          0,
          0,
          0,
          1
        ],
        blue: [
          0,
          0,
          255,
          1
        ],
        red: [
          255,
          0,
          0,
          1
        ],
        green: [
          0,
          128,
          0,
          1
        ],
        grey: [
          128,
          128,
          128,
          1
        ],
        gray: [
          128,
          128,
          128,
          1
        ],
        white: [
          255,
          255,
          255,
          1
        ],
        yellow: [
          255,
          255,
          0,
          1
        ],
        transparent: [
          0,
          0,
          0,
          0
        ]
      };
      clamp = (num, min2, max2) => Math.min(Math.max(min2, num), max2);
      parseRgb = (str) => {
        if (!str) return null;
        const rgb = [
          0,
          0,
          0,
          1
        ];
        let match3;
        let i2;
        let hexAlpha;
        if (match3 = str.match(hexRegex)) {
          hexAlpha = match3[2];
          match3 = match3[1];
          for (i2 = 0; i2 < 3; i2++) {
            const i22 = i2 * 2;
            rgb[i2] = parseInt(match3.slice(i22, i22 + 2), 16);
          }
          if (hexAlpha) rgb[3] = parseInt(hexAlpha, 16) / 255;
        } else if (match3 = str.match(abbrRegex)) {
          match3 = match3[1];
          hexAlpha = match3[3];
          for (i2 = 0; i2 < 3; i2++) rgb[i2] = parseInt(match3[i2] + match3[i2], 16);
          if (hexAlpha) rgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;
        } else if (match3 = str.match(rgbaRegex)) {
          for (i2 = 0; i2 < 3; i2++) rgb[i2] = parseInt(match3[i2 + 1], 0);
          if (match3[4]) if (match3[5]) rgb[3] = parseFloat(match3[4]) * 0.01;
          else rgb[3] = parseFloat(match3[4]);
        } else if (match3 = str.match(perRegex)) {
          for (i2 = 0; i2 < 3; i2++) rgb[i2] = Math.round(parseFloat(match3[i2 + 1]) * 2.55);
          if (match3[4]) if (match3[5]) rgb[3] = parseFloat(match3[4]) * 0.01;
          else rgb[3] = parseFloat(match3[4]);
        } else if (str in keywords) return keywords[str];
        else return null;
        for (i2 = 0; i2 < 3; i2++) rgb[i2] = clamp(rgb[i2], 0, 255);
        rgb[3] = clamp(rgb[3], 0, 1);
        return rgb;
      };
      parseHsl = (str) => {
        if (!str) return null;
        const match3 = str.match(hslRegex);
        return match3 ? transformHslOrHwb(match3) : null;
      };
      parseHwb = function(str) {
        if (!str) return null;
        const match3 = str.match(hwbRegex);
        return match3 ? transformHslOrHwb(match3) : null;
      };
      transformHslOrHwb = (match3) => {
        const alpha = parseFloat(match3[4]);
        return [
          (parseFloat(match3[1]) % 360 + 360) % 360,
          clamp(parseFloat(match3[2]), 0, 100),
          clamp(parseFloat(match3[3]), 0, 100),
          clamp(isNaN(alpha) ? 1 : alpha, 0, 1)
        ];
      };
      hslaTupleToHslaColor = (hsla) => {
        return {
          h: hsla[0],
          s: hsla[1],
          l: hsla[2],
          a: hsla[3] ?? 1
        };
      };
      hwbTupleToRgbTuple = (hwb) => {
        const h2 = hwb[0] / 360;
        let wh = hwb[1] / 100;
        let bl = hwb[2] / 100;
        const a2 = hwb[3] ?? 1;
        const ratio = wh + bl;
        let f3;
        if (ratio > 1) {
          wh /= ratio;
          bl /= ratio;
        }
        const i2 = Math.floor(6 * h2);
        const v = 1 - bl;
        f3 = 6 * h2 - i2;
        if ((i2 & 1) !== 0) f3 = 1 - f3;
        const n3 = wh + f3 * (v - wh);
        let r2;
        let g2;
        let b2;
        switch (i2) {
          default:
          case 6:
          case 0:
            r2 = v;
            g2 = n3;
            b2 = wh;
            break;
          case 1:
            r2 = n3;
            g2 = v;
            b2 = wh;
            break;
          case 2:
            r2 = wh;
            g2 = v;
            b2 = n3;
            break;
          case 3:
            r2 = wh;
            g2 = n3;
            b2 = v;
            break;
          case 4:
            r2 = n3;
            g2 = wh;
            b2 = v;
            break;
          case 5:
            r2 = v;
            g2 = wh;
            b2 = n3;
            break;
        }
        return [
          r2 * 255,
          g2 * 255,
          b2 * 255,
          a2
        ];
      };
      rgbaTupleToHslaColor = (rgb) => {
        const r2 = rgb[0] / 255;
        const g2 = rgb[1] / 255;
        const b2 = rgb[2] / 255;
        const a2 = rgb[3] ?? 1;
        const min2 = Math.min(r2, g2, b2);
        const max2 = Math.max(r2, g2, b2);
        const delta = max2 - min2;
        let h2;
        let s2;
        if (max2 === min2) h2 = 0;
        else if (r2 === max2) h2 = (g2 - b2) / delta;
        else if (g2 === max2) h2 = 2 + (b2 - r2) / delta;
        else if (b2 === max2) h2 = 4 + (r2 - g2) / delta;
        h2 = Math.min(h2 * 60, 360);
        if (h2 < 0) h2 += 360;
        const l2 = (min2 + max2) / 2;
        if (max2 === min2) s2 = 0;
        else if (l2 <= 0.5) s2 = delta / (max2 + min2);
        else s2 = delta / (2 - max2 - min2);
        return {
          h: Math.floor(h2),
          s: Math.floor(s2 * 100),
          l: Math.floor(l2 * 100),
          a: a2
        };
      };
      hwbTupleToHslaColor = (hwb) => {
        return rgbaTupleToHslaColor(hwbTupleToRgbTuple(hwb));
      };
      hslaColorToHslaString = ({ h: h2, s: s2, l: l2, a: a2 }) => {
        return `hsla(${h2}, ${s2}%, ${l2}%, ${a2 ?? 1})`;
      };
      parse3 = (str) => {
        const colorStr = resolveCSSVariable(str) || str;
        const prefix2 = colorStr.substr(0, 3).toLowerCase();
        let res;
        if (prefix2 === "hsl") res = {
          model: "hsl",
          value: parseHsl(colorStr)
        };
        else if (prefix2 === "hwb") res = {
          model: "hwb",
          value: parseHwb(colorStr)
        };
        else res = {
          model: "rgb",
          value: parseRgb(colorStr)
        };
        if (!res || !res.value) throw new Error(`Clerk: "${colorStr}" cannot be used as a color within 'variables'. You can pass one of:
- any valid hsl or hsla color
- any valid rgb or rgba color
- any valid hex color
- any valid hwb color
- ${Object.keys(keywords).join(", ")}
`);
        return res;
      };
      toHslaColor = (str) => {
        const { model, value } = parse3(str);
        switch (model) {
          case "hsl":
            return hslaTupleToHslaColor(value);
          case "hwb":
            return hwbTupleToHslaColor(value);
          case "rgb":
            return rgbaTupleToHslaColor(value);
        }
      };
      toHslaString = (hsla) => {
        return typeof hsla === "string" ? hslaColorToHslaString(toHslaColor(hsla)) : hslaColorToHslaString(hsla);
      };
      changeHslaLightness = (color, num) => {
        return {
          ...color,
          l: color.l + num
        };
      };
      setHslaAlpha = (color, num) => {
        return {
          ...color,
          a: num
        };
      };
      changeHslaAlpha = (color, num) => {
        return {
          ...color,
          a: color.a ? color.a - num : void 0
        };
      };
      lighten = (color, percentage = 0) => {
        if (!color) return;
        const hsla = toHslaColor(color);
        return toHslaString(changeHslaLightness(hsla, hsla.l * percentage));
      };
      makeSolid = (color) => {
        if (!color) return;
        return toHslaString({
          ...toHslaColor(color),
          a: 1
        });
      };
      makeTransparent = (color, percentage = 0) => {
        if (!color || color.toString() === "") return;
        const hsla = toHslaColor(color);
        return toHslaString(changeHslaAlpha(hsla, (hsla.a ?? 1) * percentage));
      };
      setAlpha = (color, alpha) => {
        if (!color.toString()) return color;
        return toHslaString(setHslaAlpha(toHslaColor(color), alpha));
      };
      adjustForLightness = (color, lightness = 5) => {
        if (!color) return;
        const hsla = colors.toHslaColor(color);
        if (!hsla) return color;
        if (hsla.l === 100) hsla.l = 95;
        else hsla.l = Math.min(hsla.l + 2 * lightness, 100);
        return colors.toHslaString(hsla);
      };
      colors = {
        toHslaColor,
        toHslaString,
        adjustForLightness,
        changeHslaLightness,
        setHslaAlpha,
        lighten,
        makeTransparent,
        makeSolid,
        setAlpha
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/colors/constants.js
  var COLOR_SCALE, LIGHT_SHADES, DARK_SHADES, ALL_SHADES, LIGHTNESS_CONFIG, ALPHA_PERCENTAGES, ALPHA_VALUES, LIGHTNESS_MIX_DATA, RELATIVE_SHADE_STEPS, COLOR_BOUNDS, MODERN_CSS_LIMITS;
  var init_constants2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/colors/constants.js"() {
      COLOR_SCALE = [
        25,
        50,
        100,
        150,
        200,
        300,
        400,
        500,
        600,
        700,
        750,
        800,
        850,
        900,
        950
      ];
      LIGHT_SHADES = [
        "400",
        "300",
        "200",
        "150",
        "100",
        "50",
        "25"
      ];
      DARK_SHADES = [
        "600",
        "700",
        "750",
        "800",
        "850",
        "900",
        "950"
      ];
      ALL_SHADES = [
        ...LIGHT_SHADES,
        "500",
        ...DARK_SHADES
      ];
      LIGHTNESS_CONFIG = {
        TARGET_LIGHT: 97,
        TARGET_DARK: 12,
        LIGHT_STEPS: 7,
        DARK_STEPS: 7
      };
      ALPHA_PERCENTAGES = {
        25: 2,
        50: 3,
        100: 7,
        150: 11,
        200: 15,
        300: 28,
        400: 41,
        500: 53,
        600: 62,
        700: 73,
        750: 78,
        800: 81,
        850: 84,
        900: 87,
        950: 92
      };
      ALPHA_VALUES = Object.values(ALPHA_PERCENTAGES).map((v) => v / 100).sort();
      LIGHTNESS_MIX_DATA = {
        25: {
          mixColor: "white",
          percentage: 85
        },
        50: {
          mixColor: "white",
          percentage: 80
        },
        100: {
          mixColor: "white",
          percentage: 68
        },
        150: {
          mixColor: "white",
          percentage: 55
        },
        200: {
          mixColor: "white",
          percentage: 40
        },
        300: {
          mixColor: "white",
          percentage: 26
        },
        400: {
          mixColor: "white",
          percentage: 16
        },
        500: {
          mixColor: null,
          percentage: 0
        },
        600: {
          mixColor: "black",
          percentage: 12
        },
        700: {
          mixColor: "black",
          percentage: 22
        },
        750: {
          mixColor: "black",
          percentage: 30
        },
        800: {
          mixColor: "black",
          percentage: 44
        },
        850: {
          mixColor: "black",
          percentage: 55
        },
        900: {
          mixColor: "black",
          percentage: 65
        },
        950: {
          mixColor: "black",
          percentage: 75
        }
      };
      RELATIVE_SHADE_STEPS = {
        400: 1,
        300: 2,
        200: 3,
        150: 4,
        100: 5,
        50: 6,
        25: 7,
        600: 1,
        700: 2,
        750: 3,
        800: 4,
        850: 5,
        900: 6,
        950: 7
      };
      COLOR_BOUNDS = {
        rgb: {
          min: 0,
          max: 255
        },
        alpha: {
          min: 0,
          max: 1
        },
        hue: {
          min: 0,
          max: 360
        },
        percentage: {
          min: 0,
          max: 100
        }
      };
      MODERN_CSS_LIMITS = {
        MAX_LIGHTNESS_MIX: 95,
        MIN_ALPHA_PERCENTAGE: 5,
        MAX_LIGHTNESS_ADJUSTMENT: 30,
        MIN_LIGHTNESS_FLOOR: 95,
        LIGHTNESS_MULTIPLIER: 2,
        MIX_MULTIPLIER: 4
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/colors/utils.js
  function createColorMixString(baseColor, mixColor, percentage) {
    return `color-mix(in srgb, ${baseColor}, ${mixColor} ${percentage}%)`;
  }
  function createRelativeColorString(color, hue, saturation, lightness, alpha) {
    return `hsl(from ${color} ${hue} ${saturation} ${lightness}${alpha ? ` / ${alpha}` : ""})`;
  }
  function createAlphaColorMixString(color, alphaPercentage) {
    return `color-mix(in srgb, transparent, ${color} ${alphaPercentage}%)`;
  }
  function generateRelativeColorSyntax(color, shade) {
    if (shade === 500) return color;
    const steps = RELATIVE_SHADE_STEPS[shade];
    if (!steps) return color;
    const { TARGET_LIGHT, TARGET_DARK, LIGHT_STEPS, DARK_STEPS } = LIGHTNESS_CONFIG;
    if (shade < 500) return createRelativeColorString(color, "h", "s", `calc(l + (${steps} * ((${TARGET_LIGHT} - l) / ${LIGHT_STEPS})))`);
    return createRelativeColorString(color, "h", "s", `calc(l - (${steps} * ((l - ${TARGET_DARK}) / ${DARK_STEPS})))`);
  }
  function generateColorMixSyntax(color, shade) {
    if (shade === 500) return color;
    const mixData = LIGHTNESS_MIX_DATA[shade];
    if (!mixData.mixColor) return color;
    return createColorMixString(color, mixData.mixColor, mixData.percentage);
  }
  function generateAlphaColorMix(color, shade) {
    const alphaPercentage = ALPHA_PERCENTAGES[shade];
    return createAlphaColorMixString(color, alphaPercentage);
  }
  function getSupportedColorVariant(color, shade) {
    if (shade === 500) return color;
    if (cssSupports.relativeColorSyntax()) return generateRelativeColorSyntax(color, shade);
    if (cssSupports.colorMix()) return generateColorMixSyntax(color, shade);
    return color;
  }
  var EMPTY_COLOR_SCALE, createEmptyColorScale;
  var init_utils3 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/colors/utils.js"() {
      init_cssSupports();
      init_constants2();
      EMPTY_COLOR_SCALE = Object.freeze(ALL_SHADES.reduce((scale, shade) => {
        scale[shade] = void 0;
        return scale;
      }, {}));
      createEmptyColorScale = () => {
        return { ...EMPTY_COLOR_SCALE };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/colors/modern.js
  var colors2;
  var init_modern2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/colors/modern.js"() {
      init_cssSupports();
      init_constants2();
      init_utils3();
      colors2 = {
        lighten: (color, percentage = 0) => {
          if (!color) return;
          if (cssSupports.relativeColorSyntax()) return createRelativeColorString(color, "h", "s", `calc(l + ${percentage * 100}%)`);
          if (cssSupports.colorMix()) return createColorMixString(color, "white", Math.min(percentage * 100, MODERN_CSS_LIMITS.MAX_LIGHTNESS_MIX));
          return color;
        },
        makeTransparent: (color, percentage = 0) => {
          if (!color || color.toString() === "") return;
          if (cssSupports.colorMix()) return createAlphaColorMixString(color, Math.max((1 - percentage) * 100, MODERN_CSS_LIMITS.MIN_ALPHA_PERCENTAGE));
          return color;
        },
        makeSolid: (color) => {
          if (!color) return;
          if (cssSupports.relativeColorSyntax()) return createRelativeColorString(color, "h", "s", "l", "1");
          if (cssSupports.colorMix()) return `color-mix(in srgb, ${color}, ${color} 100%)`;
          return color;
        },
        setAlpha: (color, alpha) => {
          const clampedAlpha = Math.min(Math.max(alpha, COLOR_BOUNDS.alpha.min), COLOR_BOUNDS.alpha.max);
          if (cssSupports.relativeColorSyntax()) return createRelativeColorString(color, "h", "s", "l", clampedAlpha.toString());
          if (cssSupports.colorMix()) return createAlphaColorMixString(color, clampedAlpha * 100);
          return color;
        },
        adjustForLightness: (color, lightness = 5) => {
          if (!color) return;
          if (cssSupports.colorMix()) return createColorMixString(color, "white", Math.min(lightness * MODERN_CSS_LIMITS.MIX_MULTIPLIER, MODERN_CSS_LIMITS.MAX_LIGHTNESS_ADJUSTMENT));
          return color;
        }
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/colors/index.js
  var colors$2;
  var init_colors = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/colors/index.js"() {
      init_cssSupports();
      init_legacy();
      init_modern2();
      colors$2 = {
        changeHslaLightness: colors.changeHslaLightness,
        setHslaAlpha: colors.setHslaAlpha,
        toHslaColor: (color) => {
          if (!color) return;
          return cssSupports.modernColor() ? color : colors.toHslaColor(color);
        },
        toHslaString: (color) => {
          if (!color) return;
          if (cssSupports.modernColor() && typeof color === "string") return color;
          return colors.toHslaString(color);
        },
        lighten: (color, percentage = 0) => {
          if (cssSupports.modernColor()) return colors2.lighten(color, percentage);
          return colors.lighten(color, percentage);
        },
        makeTransparent: (color, percentage = 0) => {
          if (cssSupports.modernColor()) return colors2.makeTransparent(color, percentage);
          return colors.makeTransparent(color, percentage);
        },
        makeSolid: (color) => {
          if (cssSupports.modernColor()) return colors2.makeSolid(color);
          return colors.makeSolid(color);
        },
        setAlpha: (color, alpha) => {
          if (cssSupports.modernColor()) return colors2.setAlpha(color, alpha);
          return colors.setAlpha(color, alpha);
        },
        adjustForLightness: (color, lightness = 5) => {
          if (cssSupports.modernColor()) return colors2.adjustForLightness(color, lightness);
          return colors.adjustForLightness(color, lightness);
        }
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/colors/scales.js
  function applyScalePrefix(scale, prefix2) {
    const result = {};
    for (const [shade, color] of Object.entries(scale)) if (color !== void 0) result[prefix2 + shade] = color;
    return result;
  }
  function generateModernAlphaScale(baseColor) {
    const scale = createEmptyColorScale();
    COLOR_SCALE.forEach((shade) => {
      scale[shade] = generateAlphaColorMix(baseColor, shade);
    });
    return scale;
  }
  function generateLegacyAlphaScale(baseColor) {
    const scale = createEmptyColorScale();
    const parsedColor = colors.toHslaColor(baseColor);
    const baseWithoutAlpha = colors.setHslaAlpha(parsedColor, 0);
    COLOR_SCALE.forEach((shade, index3) => {
      const alpha = ALPHA_VALUES[index3] ?? 1;
      const alphaColor = colors.setHslaAlpha(baseWithoutAlpha, alpha);
      scale[shade] = colors.toHslaString(alphaColor);
    });
    return scale;
  }
  function generateModernLightnessScale(baseColor) {
    const scale = createEmptyColorScale();
    COLOR_SCALE.forEach((shade) => {
      scale[shade] = getSupportedColorVariant(baseColor, shade);
    });
    return scale;
  }
  function generateLegacyLightnessScale(baseColor) {
    const scale = createEmptyColorScale();
    const parsedColor = colors.toHslaColor(baseColor);
    scale["500"] = colors.toHslaString(parsedColor);
    const lightStep = (LIGHTNESS_CONFIG.TARGET_LIGHT - parsedColor.l) / LIGHT_SHADES.length;
    const darkStep = (parsedColor.l - LIGHTNESS_CONFIG.TARGET_DARK) / DARK_SHADES.length;
    LIGHT_SHADES.forEach((shade, index3) => {
      const lightnessIncrease = (index3 + 1) * lightStep;
      const lightColor = colors.changeHslaLightness(parsedColor, lightnessIncrease);
      scale[shade] = colors.toHslaString(lightColor);
    });
    DARK_SHADES.forEach((shade, index3) => {
      const lightnessDecrease = (index3 + 1) * darkStep * -1;
      const darkColor = colors.changeHslaLightness(parsedColor, lightnessDecrease);
      scale[shade] = colors.toHslaString(darkColor);
    });
    return scale;
  }
  function processColorInput(color) {
    if (!color) return null;
    if (typeof color === "string") return { baseColor: color };
    if (color["500"]) return {
      baseColor: color["500"],
      userScale: color
    };
    if (typeof color === "object") {
      const hasValidShadeKeys = ALL_SHADES.some((shade) => color[shade]);
      if (hasValidShadeKeys && !color["500"]) throw new Error("You need to provide at least the 500 shade");
      if (!hasValidShadeKeys) return null;
    }
    return null;
  }
  function mergeWithUserScale(generated, userScale) {
    if (!userScale) return generated;
    return {
      ...generated,
      ...userScale
    };
  }
  function generateAlphaScale(color) {
    const processed = processColorInput(color);
    if (!processed) return createEmptyColorScale();
    const { baseColor, userScale } = processed;
    return mergeWithUserScale(cssSupports.modernColor() ? generateModernAlphaScale(baseColor) : generateLegacyAlphaScale(baseColor), userScale);
  }
  function generateLightnessScale(color) {
    const processed = processColorInput(color);
    if (!processed) return createEmptyColorScale();
    const { baseColor, userScale } = processed;
    return mergeWithUserScale(cssSupports.modernColor() ? generateModernLightnessScale(baseColor) : generateLegacyLightnessScale(baseColor), userScale);
  }
  function convertScaleToCssStrings(scale) {
    const result = {};
    for (const [shade, color] of Object.entries(scale)) if (color && color !== void 0) result[shade] = color;
    return result;
  }
  function prefixAndConvertScale(scale, prefix2) {
    return applyScalePrefix(convertScaleToCssStrings(scale), prefix2);
  }
  var colorOptionToThemedAlphaScale, colorOptionToThemedLightnessScale;
  var init_scales = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/colors/scales.js"() {
      init_cssSupports();
      init_legacy();
      init_constants2();
      init_utils3();
      colorOptionToThemedAlphaScale = (colorOption, prefix2) => {
        if (!colorOption) return;
        return prefixAndConvertScale(generateAlphaScale(colorOption), prefix2);
      };
      colorOptionToThemedLightnessScale = (colorOption, prefix2) => {
        if (!colorOption) return;
        return prefixAndConvertScale(generateLightnessScale(colorOption), prefix2);
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/lightDark.js
  function lightDark(light, dark) {
    if (cssSupports.lightDark() && cssSupports.modernColor()) return `light-dark(${light}, ${dark})`;
    return light;
  }
  var init_lightDark = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/lightDark.js"() {
      init_cssSupports();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/foundations/colors.js
  var whiteAlpha, defaultColorNeutral, dangerScale, primaryScale, successScale, warningScale, dangerAlphaScale, neutralAlphaScale, primaryAlphaScale, successAlphaScale, warningAlphaScale, borderAlphaScale, colorForeground, colorMutedForeground, colors$1;
  var init_colors2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/foundations/colors.js"() {
      init_cssVariables();
      init_colors();
      init_scales();
      init_lightDark();
      whiteAlpha = Object.freeze({
        whiteAlpha25: "hsla(0, 0%, 100%, 0.02)",
        whiteAlpha50: "hsla(0, 0%, 100%, 0.03)",
        whiteAlpha100: "hsla(0, 0%, 100%, 0.07)",
        whiteAlpha150: "hsla(0, 0%, 100%, 0.11)",
        whiteAlpha200: "hsla(0, 0%, 100%, 0.15)",
        whiteAlpha300: "hsla(0, 0%, 100%, 0.28)",
        whiteAlpha400: "hsla(0, 0%, 100%, 0.41)",
        whiteAlpha500: "hsla(0, 0%, 100%, 0.53)",
        whiteAlpha600: "hsla(0, 0%, 100%, 0.62)",
        whiteAlpha700: "hsla(0, 0%, 100%, 0.73)",
        whiteAlpha750: "hsla(0, 0%, 100%, 0.78)",
        whiteAlpha800: "hsla(0, 0%, 100%, 0.81)",
        whiteAlpha850: "hsla(0, 0%, 100%, 0.84)",
        whiteAlpha900: "hsla(0, 0%, 100%, 0.87)",
        whiteAlpha950: "hsla(0, 0%, 100%, 0.92)"
      });
      defaultColorNeutral = clerkCssVar("color-neutral", lightDark("#000000", "#ffffff"));
      dangerScale = colorOptionToThemedLightnessScale(clerkCssVar("color-danger", "#EF4444"), "danger");
      primaryScale = colorOptionToThemedLightnessScale(clerkCssVar("color-primary", lightDark("#2F3037", "#ffffff")), "primary");
      successScale = colorOptionToThemedLightnessScale(clerkCssVar("color-success", "#22C543"), "success");
      warningScale = colorOptionToThemedLightnessScale(clerkCssVar("color-warning", "#F36B16"), "warning");
      dangerAlphaScale = colorOptionToThemedAlphaScale(clerkCssVar("color-danger", "#EF4444"), "dangerAlpha");
      neutralAlphaScale = colorOptionToThemedAlphaScale(defaultColorNeutral, "neutralAlpha");
      primaryAlphaScale = colorOptionToThemedAlphaScale(clerkCssVar("color-primary", lightDark("#2F3037", "#ffffff")), "primaryAlpha");
      successAlphaScale = colorOptionToThemedAlphaScale(clerkCssVar("color-success", "#22C543"), "successAlpha");
      warningAlphaScale = colorOptionToThemedAlphaScale(clerkCssVar("color-warning", "#F36B16"), "warningAlpha");
      borderAlphaScale = colorOptionToThemedAlphaScale(clerkCssVar("color-border", defaultColorNeutral), "borderAlpha");
      colorForeground = clerkCssVar("color-foreground", lightDark("#212126", "white"));
      colorMutedForeground = clerkCssVar("color-muted-foreground", colors$2.makeTransparent(colorForeground, 0.35) || "#747686");
      colors$1 = Object.freeze({
        avatarBorder: neutralAlphaScale.neutralAlpha200,
        avatarBackground: neutralAlphaScale.neutralAlpha400,
        colorModalBackdrop: clerkCssVar("color-modal-backdrop", colors$2.makeTransparent(defaultColorNeutral, 0.27) || neutralAlphaScale.neutralAlpha700),
        colorBackground: clerkCssVar("color-background", lightDark("#ffffff", "#212126")),
        colorInput: clerkCssVar("color-input", lightDark("white", "#26262B")),
        colorForeground,
        colorMutedForeground,
        colorMuted: void 0,
        colorRing: clerkCssVar("color-ring", colors$2.makeTransparent(defaultColorNeutral, 0.85) || neutralAlphaScale.neutralAlpha200),
        colorInputForeground: clerkCssVar("color-input-foreground", lightDark("#131316", "white")),
        colorPrimaryForeground: clerkCssVar("color-primary-foreground", lightDark("white", "black")),
        colorShimmer: clerkCssVar("color-shimmer", "rgba(255, 255, 255, 0.36)"),
        transparent: "transparent",
        white: "white",
        black: "black",
        ...neutralAlphaScale,
        ...whiteAlpha,
        ...primaryScale,
        primaryHover: colors$2.adjustForLightness(primaryScale.primary500),
        ...primaryAlphaScale,
        ...dangerScale,
        ...dangerAlphaScale,
        ...warningScale,
        ...warningAlphaScale,
        ...successScale,
        ...successAlphaScale,
        ...borderAlphaScale
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/foundations/borders.js
  var borderStyles, borderWidths;
  var init_borders = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/foundations/borders.js"() {
      borderStyles = Object.freeze({
        solid: "solid",
        dashed: "dashed"
      });
      borderWidths = Object.freeze({
        normal: "1px",
        heavy: "2px"
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/foundations/opacity.js
  var opacity;
  var init_opacity = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/foundations/opacity.js"() {
      opacity = Object.freeze({
        sm: "24%",
        disabled: "50%",
        inactive: "62%"
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/foundations/shadows.js
  var generateShadow, createShadowSet, shadows;
  var init_shadows = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/foundations/shadows.js"() {
      init_cssSupports();
      init_cssVariables();
      init_utils3();
      generateShadow = (fn) => (color, alpha) => cssSupports.modernColor() ? fn(color, alpha) : `rgba(0, 0, 0, ${alpha})`;
      createShadowSet = (shadowColor = "#000000", shadowGenerator = generateShadow((color, alpha) => createAlphaColorMixString(clerkCssVar("color-shadow", color), alpha * 100))) => {
        return {
          menuShadow: `0px 5px 15px 0px ${shadowGenerator(shadowColor, 0.08)}, 0px 15px 35px -5px ${shadowGenerator(shadowColor, 0.2)}`,
          fabShadow: `0px 12px 24px ${shadowGenerator(shadowColor, 0.32)}`,
          buttonShadow: `0px 1px 1px 0px ${shadowGenerator("#FFFFFF", 0.07)} inset, 0px 2px 3px 0px ${shadowGenerator(shadowColor, 0.2)}, 0px 1px 1px 0px ${shadowGenerator(shadowColor, 0.24)}`,
          cardBoxShadow: `0px 5px 15px 0px ${shadowGenerator(shadowColor, 0.08)}, 0px 15px 35px -5px ${shadowGenerator(shadowColor, 0.2)}`,
          cardContentShadow: `0px 0px 2px 0px ${shadowGenerator(shadowColor, 0.08)}, 0px 1px 2px 0px ${shadowGenerator(shadowColor, 0.06)}`,
          actionCardShadow: `0px 1px 4px 0px ${shadowGenerator(shadowColor, 0.12)}, 0px 4px 8px 0px ${shadowGenerator(shadowColor, 0.12)}`,
          outlineButtonShadow: `0px 2px 3px -1px ${shadowGenerator(shadowColor, 0.08)}, 0px 1px 0px 0px ${shadowGenerator(shadowColor, 0.02)}`,
          input: "0px 0px 1px 0px {{color}}",
          focusRing: "0px 0px 0px 4px {{color}}",
          badge: `0px 2px 0px -1px ${shadowGenerator(shadowColor, 0.04)}`,
          tableBodyShadow: `0px 0px 2px 0px ${shadowGenerator(shadowColor, 0.08)}, 0px 1px 2px 0px ${shadowGenerator(shadowColor, 0.12)}, 0px 0px 0px 1px ${shadowGenerator(shadowColor, 0.06)}`,
          segmentedControl: `0px 1px 2px 0px ${shadowGenerator(shadowColor, 0.08)}`,
          switchControl: `0px 2px 2px -1px ${shadowGenerator(shadowColor, 0.06)}, 0px 0px 0px 1px ${shadowGenerator(shadowColor, 0.06)}, 0px 4px 4px -2px ${shadowGenerator(shadowColor, 0.06)}`
        };
      };
      shadows = Object.freeze(createShadowSet());
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/foundations/sizes.js
  var SPACING_BASE_UNIT, SPACING_MULTIPLIER, baseSpaceUnits, spacingScale, dynamicSpaceUnitsDefaultVar, calcDynamicSpaceUnits, spaceUnits, dynamicSpaceUnits, space, sizes, BORDER_RADIUS_SCALE_RATIOS, radiiDefaultVar, radii, spaceScaleKeys;
  var init_sizes = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/foundations/sizes.js"() {
      init_cssVariables();
      SPACING_BASE_UNIT = "1rem";
      SPACING_MULTIPLIER = 0.25;
      baseSpaceUnits = Object.freeze({
        none: "0",
        xxs: "0.5px",
        px: "1px"
      });
      spacingScale = Object.freeze({
        "0x25": {
          rem: "0.0625rem",
          multiplier: 0.25
        },
        "0x5": {
          rem: "0.125rem",
          multiplier: 0.5
        },
        "1": {
          rem: "0.25rem",
          multiplier: 1
        },
        "1x5": {
          rem: "0.375rem",
          multiplier: 1.5
        },
        "2": {
          rem: "0.5rem",
          multiplier: 2
        },
        "2x5": {
          rem: "0.625rem",
          multiplier: 2.5
        },
        "3": {
          rem: "0.75rem",
          multiplier: 3
        },
        "3x25": {
          rem: "0.8125rem",
          multiplier: 3.25
        },
        "3x5": {
          rem: "0.875rem",
          multiplier: 3.5
        },
        "4": {
          rem: "1rem",
          multiplier: 4
        },
        "4x25": {
          rem: "1.0625rem",
          multiplier: 4.25
        },
        "4x5": {
          rem: "1.125rem",
          multiplier: 4.5
        },
        "5": {
          rem: "1.25rem",
          multiplier: 5
        },
        "5x5": {
          rem: "1.375rem",
          multiplier: 5.5
        },
        "6": {
          rem: "1.5rem",
          multiplier: 6
        },
        "7": {
          rem: "1.75rem",
          multiplier: 7
        },
        "7x5": {
          rem: "1.875rem",
          multiplier: 7.5
        },
        "8": {
          rem: "2rem",
          multiplier: 8
        },
        "8x5": {
          rem: "2.125rem",
          multiplier: 8.5
        },
        "8x75": {
          rem: "2.1875rem",
          multiplier: 8.75
        },
        "9": {
          rem: "2.25rem",
          multiplier: 9
        },
        "10": {
          rem: "2.5rem",
          multiplier: 10
        },
        "12": {
          rem: "3rem",
          multiplier: 12
        },
        "13": {
          rem: "3.5rem",
          multiplier: 13
        },
        "16": {
          rem: "4rem",
          multiplier: 16
        },
        "17": {
          rem: "4.25rem",
          multiplier: 17
        },
        "20": {
          rem: "5rem",
          multiplier: 20
        },
        "24": {
          rem: "6rem",
          multiplier: 24
        },
        "28": {
          rem: "7rem",
          multiplier: 28
        },
        "32": {
          rem: "8rem",
          multiplier: 32
        },
        "36": {
          rem: "9rem",
          multiplier: 36
        },
        "40": {
          rem: "10rem",
          multiplier: 40
        },
        "44": {
          rem: "11rem",
          multiplier: 44
        },
        "48": {
          rem: "12rem",
          multiplier: 48
        },
        "52": {
          rem: "13rem",
          multiplier: 52
        },
        "56": {
          rem: "14rem",
          multiplier: 56
        },
        "57": {
          rem: "14.25rem",
          multiplier: 57
        },
        "60": {
          rem: "15rem",
          multiplier: 60
        },
        "66": {
          rem: "16.5rem",
          multiplier: 66
        },
        "94": {
          rem: "23.5rem",
          multiplier: 94
        },
        "100": {
          rem: "25rem",
          multiplier: 100
        },
        "108": {
          rem: "27rem",
          multiplier: 108
        },
        "120": {
          rem: "30rem",
          multiplier: 120
        },
        "140": {
          rem: "35rem",
          multiplier: 140
        },
        "160": {
          rem: "40rem",
          multiplier: 160
        },
        "176": {
          rem: "44rem",
          multiplier: 176
        },
        "220": {
          rem: "55rem",
          multiplier: 220
        }
      });
      dynamicSpaceUnitsDefaultVar = clerkCssVar("spacing", SPACING_BASE_UNIT);
      calcDynamicSpaceUnits = (multiplier) => {
        if (multiplier === 4) return dynamicSpaceUnitsDefaultVar;
        return `calc(${dynamicSpaceUnitsDefaultVar} * ${multiplier * SPACING_MULTIPLIER})`;
      };
      spaceUnits = Object.freeze({
        "0x25": spacingScale["0x25"].rem,
        "0x5": spacingScale["0x5"].rem,
        "1": spacingScale["1"].rem,
        "1x5": spacingScale["1x5"].rem,
        "2": spacingScale["2"].rem,
        "2x5": spacingScale["2x5"].rem,
        "3": spacingScale["3"].rem,
        "3x25": spacingScale["3x25"].rem,
        "3x5": spacingScale["3x5"].rem,
        "4": spacingScale["4"].rem,
        "4x25": spacingScale["4x25"].rem,
        "4x5": spacingScale["4x5"].rem,
        "5": spacingScale["5"].rem,
        "5x5": spacingScale["5x5"].rem,
        "6": spacingScale["6"].rem,
        "7": spacingScale["7"].rem,
        "7x5": spacingScale["7x5"].rem,
        "8": spacingScale["8"].rem,
        "8x5": spacingScale["8x5"].rem,
        "8x75": spacingScale["8x75"].rem,
        "9": spacingScale["9"].rem,
        "10": spacingScale["10"].rem,
        "12": spacingScale["12"].rem,
        "13": spacingScale["13"].rem,
        "16": spacingScale["16"].rem,
        "17": spacingScale["17"].rem,
        "20": spacingScale["20"].rem,
        "24": spacingScale["24"].rem,
        "28": spacingScale["28"].rem,
        "32": spacingScale["32"].rem,
        "36": spacingScale["36"].rem,
        "40": spacingScale["40"].rem,
        "44": spacingScale["44"].rem,
        "48": spacingScale["48"].rem,
        "52": spacingScale["52"].rem,
        "56": spacingScale["56"].rem,
        "57": spacingScale["57"].rem,
        "60": spacingScale["60"].rem,
        "66": spacingScale["66"].rem,
        "94": spacingScale["94"].rem,
        "100": spacingScale["100"].rem,
        "108": spacingScale["108"].rem,
        "120": spacingScale["120"].rem,
        "140": spacingScale["140"].rem,
        "160": spacingScale["160"].rem,
        "176": spacingScale["176"].rem,
        "220": spacingScale["220"].rem
      });
      dynamicSpaceUnits = Object.freeze(Object.fromEntries(Object.entries(spacingScale).map(([key, { multiplier }]) => [key, calcDynamicSpaceUnits(multiplier)])));
      space = Object.freeze({
        ...baseSpaceUnits,
        ...dynamicSpaceUnits
      });
      sizes = Object.freeze({
        ...baseSpaceUnits,
        ...spaceUnits
      });
      BORDER_RADIUS_SCALE_RATIOS = Object.freeze({
        sm: "2 / 3",
        md: "1",
        lg: "4 / 3",
        xl: "2"
      });
      radiiDefaultVar = clerkCssVar("border-radius", "0.375rem");
      radii = Object.freeze({
        none: "0px",
        circle: "50%",
        avatar: clerkCssVar("border-radius-avatar", radiiDefaultVar),
        sm: clerkCssVar("border-radius-sm", `calc(${radiiDefaultVar} * ${BORDER_RADIUS_SCALE_RATIOS.sm})`),
        md: clerkCssVar("border-radius-md", radiiDefaultVar),
        lg: clerkCssVar("border-radius-lg", `calc(${radiiDefaultVar} * ${BORDER_RADIUS_SCALE_RATIOS.lg})`),
        xl: clerkCssVar("border-radius-xl", `calc(${radiiDefaultVar} * ${BORDER_RADIUS_SCALE_RATIOS.xl})`),
        halfHeight: "99999px"
      });
      spaceScaleKeys = Object.keys(spacingScale);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/foundations/transitions.js
  var transitionDurationValues, toMs, transitionDuration, transitionProperty, transitionTiming;
  var init_transitions = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/foundations/transitions.js"() {
      transitionDurationValues = Object.freeze({
        slowest: 600,
        slower: 280,
        slow: 200,
        fast: 120,
        focusRing: 200,
        controls: 100,
        textField: 450,
        drawer: 500
      });
      toMs = (value) => `${value}ms`;
      transitionDuration = Object.freeze(Object.fromEntries(Object.entries(transitionDurationValues).map(([key, value]) => [key, toMs(value)])));
      transitionProperty = Object.freeze({ common: "background-color,background,border-color,color,fill,stroke,opacity,box-shadow,transform" });
      transitionTiming = Object.freeze({
        common: "ease",
        easeOut: "ease-out",
        bezier: "cubic-bezier(0.32, 0.72, 0, 1)",
        slowBezier: "cubic-bezier(0.16, 1, 0.3, 1)"
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/foundations/typography.js
  var fontWeights, lineHeights, letterSpacings, FONT_SIZE_SCALE_RATIOS, fontSizesDefaultVar, fontSizes, fontStyles, fonts;
  var init_typography = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/foundations/typography.js"() {
      init_cssVariables();
      fontWeights = Object.freeze({
        normal: clerkCssVar("font-weight-normal", clerkCssVar("font-weight", "400")),
        medium: clerkCssVar("font-weight-medium", "500"),
        semibold: clerkCssVar("font-weight-semibold", "600"),
        bold: clerkCssVar("font-weight-bold", "700")
      });
      lineHeights = Object.freeze({
        normal: "normal",
        extraSmall: "calc(16 / 12)",
        small: "calc(18 / 13)",
        medium: "calc(24 / 17)",
        large: "calc(16 / 11)"
      });
      letterSpacings = Object.freeze({ normal: "normal" });
      FONT_SIZE_SCALE_RATIOS = Object.freeze({
        xs: "11 / 13",
        sm: "12 / 13",
        md: "1",
        lg: "17 / 13",
        xl: "24 / 13"
      });
      fontSizesDefaultVar = clerkCssVar("font-size", "0.8125rem");
      fontSizes = Object.freeze({
        xs: clerkCssVar("font-size-xs", `calc(${fontSizesDefaultVar} * ${FONT_SIZE_SCALE_RATIOS.xs})`),
        sm: clerkCssVar("font-size-sm", `calc(${fontSizesDefaultVar} * ${FONT_SIZE_SCALE_RATIOS.sm})`),
        md: clerkCssVar("font-size-md", fontSizesDefaultVar),
        lg: clerkCssVar("font-size-lg", `calc(${fontSizesDefaultVar} * ${FONT_SIZE_SCALE_RATIOS.lg})`),
        xl: clerkCssVar("font-size-xl", `calc(${fontSizesDefaultVar} * ${FONT_SIZE_SCALE_RATIOS.xl})`)
      });
      fontStyles = Object.freeze({ normal: "normal" });
      fonts = Object.freeze({
        main: clerkCssVar("font-family", "inherit"),
        buttons: clerkCssVar("font-family-buttons", clerkCssVar("font-family", "inherit"))
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/foundations/zIndices.js
  var zIndices;
  var init_zIndices = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/foundations/zIndices.js"() {
      zIndices = Object.freeze({
        card: "10",
        navbar: "100",
        fab: "9000",
        modal: "10000",
        dropdown: "11000"
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/foundations/defaultFoundations.js
  var defaultInternalThemeFoundations;
  var init_defaultFoundations = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/foundations/defaultFoundations.js"() {
      init_borders();
      init_colors2();
      init_opacity();
      init_shadows();
      init_sizes();
      init_transitions();
      init_typography();
      init_zIndices();
      defaultInternalThemeFoundations = Object.freeze({
        colors: colors$1,
        fonts,
        fontStyles,
        fontSizes,
        fontWeights,
        letterSpacings,
        lineHeights,
        radii,
        sizes,
        space,
        shadows,
        transitionProperty,
        transitionTiming,
        transitionDuration,
        transitionDurationValues,
        opacity,
        borderStyles,
        borderWidths,
        zIndices
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/foundations/index.js
  var defaultInternalTheme;
  var init_foundations = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/foundations/index.js"() {
      init_createInternalTheme();
      init_defaultFoundations();
      defaultInternalTheme = createInternalTheme(defaultInternalThemeFoundations);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/fromEntries.js
  var fromEntries;
  var init_fromEntries = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/fromEntries.js"() {
      fromEntries = (iterable) => {
        return [...iterable].reduce((obj, [key, val]) => {
          obj[key] = val;
          return obj;
        }, {});
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/removeUndefinedProps.js
  var removeUndefinedProps;
  var init_removeUndefinedProps = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/removeUndefinedProps.js"() {
      removeUndefinedProps = (obj) => {
        Object.keys(obj).forEach((key) => obj[key] === void 0 && delete obj[key]);
        return obj;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/customizables/parseVariables.js
  var createMutedForegroundColor, createColorScales, removeInvalidValues, createRadiiUnits, createSpaceScale, createFontSizeScale, createFontWeightScale, createFonts, createShadowsUnits;
  var init_parseVariables = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/customizables/parseVariables.js"() {
      init_fromEntries();
      init_cssSupports();
      init_utils3();
      init_colors();
      init_scales();
      init_shadows();
      init_sizes();
      init_typography();
      init_removeUndefinedProps();
      createMutedForegroundColor = (variables) => {
        if (variables.colorMutedForeground) return colors$2.toHslaString(variables.colorMutedForeground);
        return colors$2.makeTransparent(variables.colorForeground, 0.35);
      };
      createColorScales = (theme) => {
        const variables = removeInvalidValues(theme.variables || {});
        const dangerScale2 = colorOptionToThemedLightnessScale(variables.colorDanger, "danger");
        const primaryScale2 = colorOptionToThemedLightnessScale(variables.colorPrimary, "primary");
        const successScale2 = colorOptionToThemedLightnessScale(variables.colorSuccess, "success");
        const warningScale2 = colorOptionToThemedLightnessScale(variables.colorWarning, "warning");
        const dangerAlphaScale2 = colorOptionToThemedAlphaScale(dangerScale2?.danger500, "dangerAlpha");
        const neutralAlphaScale2 = colorOptionToThemedAlphaScale(variables.colorNeutral, "neutralAlpha");
        const primaryAlphaScale2 = colorOptionToThemedAlphaScale(primaryScale2?.primary500, "primaryAlpha");
        const successAlphaScale2 = colorOptionToThemedAlphaScale(successScale2?.success500, "successAlpha");
        const warningAlphaScale2 = colorOptionToThemedAlphaScale(warningScale2?.warning500, "warningAlpha");
        const borderAlphaScale2 = colorOptionToThemedAlphaScale(variables.colorBorder || variables.colorNeutral, "borderAlpha");
        return removeUndefinedProps({
          ...dangerScale2,
          ...primaryScale2,
          ...successScale2,
          ...warningScale2,
          ...dangerAlphaScale2,
          ...neutralAlphaScale2,
          ...primaryAlphaScale2,
          ...successAlphaScale2,
          ...warningAlphaScale2,
          ...borderAlphaScale2,
          primaryHover: colors$2.adjustForLightness(primaryScale2?.primary500),
          colorPrimaryForeground: variables.colorPrimaryForeground ? colors$2.toHslaString(variables.colorPrimaryForeground) : void 0,
          colorForeground: colors$2.toHslaString(variables.colorForeground),
          colorMutedForeground: createMutedForegroundColor(variables),
          colorInputForeground: colors$2.toHslaString(variables.colorInputForeground),
          colorBackground: colors$2.toHslaString(variables.colorBackground),
          colorInput: colors$2.toHslaString(variables.colorInput),
          colorShimmer: colors$2.toHslaString(variables.colorShimmer),
          colorMuted: variables.colorMuted ? colors$2.toHslaString(variables.colorMuted) : void 0,
          colorRing: variables.colorRing ? colors$2.toHslaString(variables.colorRing) : void 0,
          colorShadow: variables.colorShadow ? colors$2.toHslaString(variables.colorShadow) : void 0,
          colorModalBackdrop: variables.colorModalBackdrop ? colors$2.toHslaString(variables.colorModalBackdrop) : void 0,
          avatarBackground: neutralAlphaScale2?.neutralAlpha400 ? colors$2.toHslaString(neutralAlphaScale2.neutralAlpha400) : void 0,
          avatarBorder: neutralAlphaScale2?.neutralAlpha200 ? colors$2.toHslaString(neutralAlphaScale2.neutralAlpha200) : void 0
        });
      };
      removeInvalidValues = (variables) => {
        if (cssSupports.modernColor()) return variables;
        return Object.fromEntries(Object.entries(variables).filter(([key, value]) => {
          if (typeof value === "string") {
            const isValid = !value.startsWith("var(");
            if (!isValid) console.warn(`Invalid color value: ${value} for key: ${key}, using default value instead. Using CSS variables is not supported in this browser.`);
            return isValid;
          }
          if (typeof value === "object") return Object.entries(value).every(([key$1, value$1]) => {
            if (typeof value$1 !== "string") return true;
            const isValid = !value$1.startsWith("var(");
            if (!isValid) console.warn(`Invalid color value: ${value$1} for key: ${key$1}, using default value instead. Using CSS variables is not supported in this browser.`);
            return isValid;
          });
          return false;
        }));
      };
      createRadiiUnits = (theme) => {
        const { borderRadius } = theme.variables || {};
        if (borderRadius === void 0) return;
        const md = borderRadius === "none" ? "0" : borderRadius;
        return {
          sm: `calc(${md} * ${BORDER_RADIUS_SCALE_RATIOS.sm})`,
          md,
          lg: `calc(${md} * ${BORDER_RADIUS_SCALE_RATIOS.lg})`,
          xl: `calc(${md} * ${BORDER_RADIUS_SCALE_RATIOS.xl})`
        };
      };
      createSpaceScale = (theme) => {
        const { spacing } = theme.variables || {};
        if (spacing === void 0) return;
        return fromEntries(spaceScaleKeys.map((k) => {
          return [k, `calc(${spacing} * ${Number.parseFloat(k.replace("x", ".")) / 0.5 * 0.125})`];
        }));
      };
      createFontSizeScale = (theme) => {
        const { fontSize } = theme.variables || {};
        if (fontSize === void 0) return;
        if (typeof fontSize === "object") return removeUndefinedProps(Object.fromEntries(Object.entries(FONT_SIZE_SCALE_RATIOS).map(([key, _ratio]) => [key, fontSize[key] ?? void 0])));
        return Object.fromEntries(Object.entries(FONT_SIZE_SCALE_RATIOS).map(([key, fraction]) => [key, fraction === "1" ? fontSize : `calc(${fontSize} * ${fraction})`]));
      };
      createFontWeightScale = (theme) => {
        const { fontWeight } = theme.variables || {};
        return removeUndefinedProps({ ...fontWeight });
      };
      createFonts = (theme) => {
        const { fontFamily, fontFamilyButtons } = theme.variables || {};
        return removeUndefinedProps({
          main: fontFamily,
          buttons: fontFamilyButtons
        });
      };
      createShadowsUnits = (theme) => {
        const { colorShadow } = theme.variables || {};
        if (!colorShadow) return;
        const shadowColor = colors$2.toHslaString(colorShadow);
        if (!shadowColor) return;
        return createShadowSet(shadowColor, generateShadow((color, alpha) => createAlphaColorMixString(color, alpha * 100)));
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/runtimeEnvironment-D1yr0yUs.mjs
  var isDevelopmentEnvironment, isTestEnvironment, isProductionEnvironment;
  var init_runtimeEnvironment_D1yr0yUs = __esm({
    "node_modules/@clerk/shared/dist/runtime/runtimeEnvironment-D1yr0yUs.mjs"() {
      isDevelopmentEnvironment = () => {
        try {
          return true;
        } catch {
        }
        return false;
      };
      isTestEnvironment = () => {
        try {
          return false;
        } catch {
        }
        return false;
      };
      isProductionEnvironment = () => {
        try {
          return false;
        } catch {
        }
        return false;
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/handleValueOrFn-iAIjw-kJ.mjs
  var init_handleValueOrFn_iAIjw_kJ = __esm({
    "node_modules/@clerk/shared/dist/runtime/handleValueOrFn-iAIjw-kJ.mjs"() {
    }
  });

  // node_modules/@clerk/shared/dist/runtime/utils-TXJdVJx7.mjs
  var DANGEROUS_KEYS, fastDeepMergeAndReplace;
  var init_utils_TXJdVJx7 = __esm({
    "node_modules/@clerk/shared/dist/runtime/utils-TXJdVJx7.mjs"() {
      init_runtimeEnvironment_D1yr0yUs();
      DANGEROUS_KEYS = /* @__PURE__ */ new Set([
        "__proto__",
        "constructor",
        "prototype"
      ]);
      fastDeepMergeAndReplace = (source, target2) => {
        if (!source || !target2) return;
        for (const key in source) {
          if (DANGEROUS_KEYS.has(key)) continue;
          if (Object.prototype.hasOwnProperty.call(source, key) && source[key] !== null && typeof source[key] === `object`) {
            if (target2[key] === void 0) target2[key] = new (Object.getPrototypeOf(source[key])).constructor();
            fastDeepMergeAndReplace(source[key], target2[key]);
          } else if (Object.prototype.hasOwnProperty.call(source, key) && source[key] !== void 0) target2[key] = source[key];
        }
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/utils/index.mjs
  var init_utils4 = __esm({
    "node_modules/@clerk/shared/dist/runtime/utils/index.mjs"() {
      init_runtimeEnvironment_D1yr0yUs();
      init_handleValueOrFn_iAIjw_kJ();
      init_instance_BmZr0cdE();
      init_noop_B7RzLU_c();
      init_createDeferredPromise_CYCAgyvC();
      init_utils_TXJdVJx7();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/customizables/parseAppearance.js
  var defaultOptions, defaultCaptchaOptions, parseAppearance, expand, parseElements, parseOptions, parseCaptcha, parseVariables, createInternalThemeFromVariables;
  var init_parseAppearance = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/customizables/parseAppearance.js"() {
      init_baseTheme();
      init_createInternalTheme();
      init_foundations();
      init_parseVariables();
      init_utils4();
      defaultOptions = {
        logoPlacement: "inside",
        socialButtonsPlacement: "top",
        socialButtonsVariant: "auto",
        logoImageUrl: "",
        logoLinkUrl: "",
        showOptionalFields: false,
        helpPageUrl: "",
        privacyPageUrl: "",
        termsPageUrl: "",
        shimmer: true,
        animations: true,
        unsafe_disableDevelopmentModeWarnings: false
      };
      defaultCaptchaOptions = {
        theme: "auto",
        size: "normal",
        language: ""
      };
      parseAppearance = (cascade) => {
        const { globalAppearance, appearance: componentAppearance, appearanceKey } = cascade;
        const appearanceList = [];
        [
          globalAppearance,
          globalAppearance?.[appearanceKey],
          componentAppearance
        ].forEach((a2) => expand(a2, appearanceList));
        const parsedInternalTheme = parseVariables(appearanceList);
        const parsedOptions = parseOptions(appearanceList);
        const parsedCaptcha = parseCaptcha(appearanceList);
        if (!appearanceList.find((a2) => {
          return !!a2.simpleStyles;
        })) appearanceList.unshift(baseTheme);
        return {
          parsedElements: parseElements(appearanceList.map((appearance) => {
            if (!appearance.elements || typeof appearance.elements !== "function") return appearance;
            const res = { ...appearance };
            res.elements = appearance.elements({ theme: parsedInternalTheme });
            return res;
          })),
          parsedInternalTheme,
          parsedOptions,
          parsedCaptcha
        };
      };
      expand = (theme, cascade) => {
        if (!theme) return;
        const themeProperty = theme.theme;
        if (themeProperty !== void 0) (Array.isArray(themeProperty) ? themeProperty : [themeProperty]).forEach((t2) => {
          if (typeof t2 === "string") expand(getBaseTheme(t2), cascade);
          else expand(t2, cascade);
        });
        cascade.push(theme);
      };
      parseElements = (appearances) => {
        return appearances.map((appearance) => ({ ...appearance?.elements }));
      };
      parseOptions = (appearanceList) => {
        return {
          ...defaultOptions,
          ...appearanceList.reduce((acc, appearance) => ({
            ...acc,
            ...appearance.options
          }), {})
        };
      };
      parseCaptcha = (appearanceList) => {
        return {
          ...defaultCaptchaOptions,
          ...appearanceList.reduce((acc, appearance) => {
            if (appearance.captcha) {
              const { theme: captchaTheme, size: size5, language } = appearance.captcha;
              return {
                ...acc,
                ...captchaTheme && { theme: captchaTheme },
                ...size5 && { size: size5 },
                ...language && { language }
              };
            }
            return acc;
          }, {})
        };
      };
      parseVariables = (appearances) => {
        const res = {};
        fastDeepMergeAndReplace({ ...defaultInternalTheme }, res);
        appearances.forEach((appearance) => {
          fastDeepMergeAndReplace(createInternalThemeFromVariables(appearance), res);
        });
        return res;
      };
      createInternalThemeFromVariables = (theme) => {
        if (!theme) return {};
        return createInternalTheme({
          colors: { ...createColorScales(theme) },
          radii: { ...createRadiiUnits(theme) },
          space: { ...createSpaceScale(theme) },
          fontSizes: { ...createFontSizeScale(theme) },
          fontWeights: { ...createFontWeightScale(theme) },
          fonts: { ...createFonts(theme) },
          shadows: { ...createShadowsUnits(theme) }
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/customizables/AppearanceContext.js
  var import_react23, AppearanceContext, useAppearance, AppearanceProvider;
  var init_AppearanceContext = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/customizables/AppearanceContext.js"() {
      init_useWarnAboutCustomizationWithoutPinning();
      init_parseAppearance();
      import_react23 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      [AppearanceContext, useAppearance] = createContextAndHook("AppearanceContext");
      AppearanceProvider = (props) => {
        const ctxValue = useDeepEqualMemo(() => {
          return { value: parseAppearance(props) };
        }, [
          props.appearance,
          props.globalAppearance,
          props.appearanceKey
        ]);
        useWarnAboutCustomizationWithoutPinning(props.appearance);
        return /* @__PURE__ */ jsx2(AppearanceContext.Provider, {
          value: ctxValue,
          children: props.children
        });
      };
    }
  });

  // node_modules/@emotion/react/dist/emotion-react.browser.esm.js
  function css() {
    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
      args[_key] = arguments[_key];
    }
    return serializeStyles(args);
  }
  function merge(registered, css3, className) {
    var registeredStyles = [];
    var rawClassName = getRegisteredStyles(registered, registeredStyles, className);
    if (registeredStyles.length < 2) {
      return className;
    }
    return rawClassName + css3(registeredStyles);
  }
  var React13, import_hoist_non_react_statics2, pkg, warnedAboutCssPropForGlobal, Global, keyframes, classnames, Insertion3, ClassNames, isBrowser3, isTestEnv, globalContext, globalKey;
  var init_emotion_react_browser_esm = __esm({
    "node_modules/@emotion/react/dist/emotion-react.browser.esm.js"() {
      init_emotion_element_c39617d8_browser_esm();
      init_emotion_element_c39617d8_browser_esm();
      React13 = __toESM(require_react());
      init_emotion_utils_browser_esm();
      init_emotion_use_insertion_effect_with_fallbacks_browser_esm();
      init_emotion_serialize_esm();
      init_emotion_cache_browser_esm();
      init_extends();
      init_emotion_weak_memoize_esm();
      import_hoist_non_react_statics2 = __toESM(require_hoist_non_react_statics_cjs());
      pkg = {
        name: "@emotion/react",
        version: "11.11.1",
        main: "dist/emotion-react.cjs.js",
        module: "dist/emotion-react.esm.js",
        browser: {
          "./dist/emotion-react.esm.js": "./dist/emotion-react.browser.esm.js"
        },
        exports: {
          ".": {
            module: {
              worker: "./dist/emotion-react.worker.esm.js",
              browser: "./dist/emotion-react.browser.esm.js",
              "default": "./dist/emotion-react.esm.js"
            },
            "import": "./dist/emotion-react.cjs.mjs",
            "default": "./dist/emotion-react.cjs.js"
          },
          "./jsx-runtime": {
            module: {
              worker: "./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js",
              browser: "./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js",
              "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js"
            },
            "import": "./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs",
            "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js"
          },
          "./_isolated-hnrs": {
            module: {
              worker: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js",
              browser: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js",
              "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js"
            },
            "import": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs",
            "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js"
          },
          "./jsx-dev-runtime": {
            module: {
              worker: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js",
              browser: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js",
              "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js"
            },
            "import": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs",
            "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js"
          },
          "./package.json": "./package.json",
          "./types/css-prop": "./types/css-prop.d.ts",
          "./macro": {
            types: {
              "import": "./macro.d.mts",
              "default": "./macro.d.ts"
            },
            "default": "./macro.js"
          }
        },
        types: "types/index.d.ts",
        files: [
          "src",
          "dist",
          "jsx-runtime",
          "jsx-dev-runtime",
          "_isolated-hnrs",
          "types/*.d.ts",
          "macro.*"
        ],
        sideEffects: false,
        author: "Emotion Contributors",
        license: "MIT",
        scripts: {
          "test:typescript": "dtslint types"
        },
        dependencies: {
          "@babel/runtime": "^7.18.3",
          "@emotion/babel-plugin": "^11.11.0",
          "@emotion/cache": "^11.11.0",
          "@emotion/serialize": "^1.1.2",
          "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1",
          "@emotion/utils": "^1.2.1",
          "@emotion/weak-memoize": "^0.3.1",
          "hoist-non-react-statics": "^3.3.1"
        },
        peerDependencies: {
          react: ">=16.8.0"
        },
        peerDependenciesMeta: {
          "@types/react": {
            optional: true
          }
        },
        devDependencies: {
          "@definitelytyped/dtslint": "0.0.112",
          "@emotion/css": "11.11.0",
          "@emotion/css-prettifier": "1.1.3",
          "@emotion/server": "11.11.0",
          "@emotion/styled": "11.11.0",
          "html-tag-names": "^1.1.2",
          react: "16.14.0",
          "svg-tag-names": "^1.1.1",
          typescript: "^4.5.5"
        },
        repository: "https://github.com/emotion-js/emotion/tree/main/packages/react",
        publishConfig: {
          access: "public"
        },
        "umd:main": "dist/emotion-react.umd.min.js",
        preconstruct: {
          entrypoints: [
            "./index.js",
            "./jsx-runtime.js",
            "./jsx-dev-runtime.js",
            "./_isolated-hnrs.js"
          ],
          umdName: "emotionReact",
          exports: {
            envConditions: [
              "browser",
              "worker"
            ],
            extra: {
              "./types/css-prop": "./types/css-prop.d.ts",
              "./macro": {
                types: {
                  "import": "./macro.d.mts",
                  "default": "./macro.d.ts"
                },
                "default": "./macro.js"
              }
            }
          }
        }
      };
      warnedAboutCssPropForGlobal = false;
      Global = /* @__PURE__ */ withEmotionCache(function(props, cache2) {
        if (!warnedAboutCssPropForGlobal && // check for className as well since the user is
        // probably using the custom createElement which
        // means it will be turned into a className prop
        // $FlowFixMe I don't really want to add it to the type since it shouldn't be used
        (props.className || props.css)) {
          console.error("It looks like you're using the css prop on Global, did you mean to use the styles prop instead?");
          warnedAboutCssPropForGlobal = true;
        }
        var styles2 = props.styles;
        var serialized = serializeStyles([styles2], void 0, React13.useContext(ThemeContext));
        if (!isBrowser2) {
          var _ref;
          var serializedNames = serialized.name;
          var serializedStyles = serialized.styles;
          var next2 = serialized.next;
          while (next2 !== void 0) {
            serializedNames += " " + next2.name;
            serializedStyles += next2.styles;
            next2 = next2.next;
          }
          var shouldCache = cache2.compat === true;
          var rules = cache2.insert("", {
            name: serializedNames,
            styles: serializedStyles
          }, cache2.sheet, shouldCache);
          if (shouldCache) {
            return null;
          }
          return /* @__PURE__ */ React13.createElement("style", (_ref = {}, _ref["data-emotion"] = cache2.key + "-global " + serializedNames, _ref.dangerouslySetInnerHTML = {
            __html: rules
          }, _ref.nonce = cache2.sheet.nonce, _ref));
        }
        var sheetRef = React13.useRef();
        useInsertionEffectWithLayoutFallback(function() {
          var key = cache2.key + "-global";
          var sheet = new cache2.sheet.constructor({
            key,
            nonce: cache2.sheet.nonce,
            container: cache2.sheet.container,
            speedy: cache2.sheet.isSpeedy
          });
          var rehydrating = false;
          var node2 = document.querySelector('style[data-emotion="' + key + " " + serialized.name + '"]');
          if (cache2.sheet.tags.length) {
            sheet.before = cache2.sheet.tags[0];
          }
          if (node2 !== null) {
            rehydrating = true;
            node2.setAttribute("data-emotion", key);
            sheet.hydrate([node2]);
          }
          sheetRef.current = [sheet, rehydrating];
          return function() {
            sheet.flush();
          };
        }, [cache2]);
        useInsertionEffectWithLayoutFallback(function() {
          var sheetRefCurrent = sheetRef.current;
          var sheet = sheetRefCurrent[0], rehydrating = sheetRefCurrent[1];
          if (rehydrating) {
            sheetRefCurrent[1] = false;
            return;
          }
          if (serialized.next !== void 0) {
            insertStyles(cache2, serialized.next, true);
          }
          if (sheet.tags.length) {
            var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;
            sheet.before = element;
            sheet.flush();
          }
          cache2.insert("", serialized, sheet, false);
        }, [cache2, serialized.name]);
        return null;
      });
      if (true) {
        Global.displayName = "EmotionGlobal";
      }
      keyframes = function keyframes2() {
        var insertable = css.apply(void 0, arguments);
        var name = "animation-" + insertable.name;
        return {
          name,
          styles: "@keyframes " + name + "{" + insertable.styles + "}",
          anim: 1,
          toString: function toString() {
            return "_EMO_" + this.name + "_" + this.styles + "_EMO_";
          }
        };
      };
      classnames = function classnames2(args) {
        var len = args.length;
        var i2 = 0;
        var cls = "";
        for (; i2 < len; i2++) {
          var arg = args[i2];
          if (arg == null) continue;
          var toAdd = void 0;
          switch (typeof arg) {
            case "boolean":
              break;
            case "object": {
              if (Array.isArray(arg)) {
                toAdd = classnames2(arg);
              } else {
                if (arg.styles !== void 0 && arg.name !== void 0) {
                  console.error("You have passed styles created with `css` from `@emotion/react` package to the `cx`.\n`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.");
                }
                toAdd = "";
                for (var k in arg) {
                  if (arg[k] && k) {
                    toAdd && (toAdd += " ");
                    toAdd += k;
                  }
                }
              }
              break;
            }
            default: {
              toAdd = arg;
            }
          }
          if (toAdd) {
            cls && (cls += " ");
            cls += toAdd;
          }
        }
        return cls;
      };
      Insertion3 = function Insertion4(_ref) {
        var cache2 = _ref.cache, serializedArr = _ref.serializedArr;
        useInsertionEffectAlwaysWithSyncFallback(function() {
          for (var i2 = 0; i2 < serializedArr.length; i2++) {
            insertStyles(cache2, serializedArr[i2], false);
          }
        });
        return null;
      };
      ClassNames = /* @__PURE__ */ withEmotionCache(function(props, cache2) {
        var hasRendered = false;
        var serializedArr = [];
        var css3 = function css4() {
          if (hasRendered && true) {
            throw new Error("css can only be used during render");
          }
          for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
            args[_key] = arguments[_key];
          }
          var serialized = serializeStyles(args, cache2.registered);
          serializedArr.push(serialized);
          registerStyles(cache2, serialized, false);
          return cache2.key + "-" + serialized.name;
        };
        var cx = function cx2() {
          if (hasRendered && true) {
            throw new Error("cx can only be used during render");
          }
          for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
            args[_key2] = arguments[_key2];
          }
          return merge(cache2.registered, css3, classnames(args));
        };
        var content = {
          css: css3,
          cx,
          theme: React13.useContext(ThemeContext)
        };
        var ele = props.children(content);
        hasRendered = true;
        return /* @__PURE__ */ React13.createElement(React13.Fragment, null, /* @__PURE__ */ React13.createElement(Insertion3, {
          cache: cache2,
          serializedArr
        }), ele);
      });
      if (true) {
        ClassNames.displayName = "EmotionClassNames";
      }
      if (true) {
        isBrowser3 = true;
        isTestEnv = typeof jest !== "undefined" || typeof vi !== "undefined";
        if (isBrowser3 && !isTestEnv) {
          globalContext = // $FlowIgnore
          typeof globalThis !== "undefined" ? globalThis : isBrowser3 ? window : global;
          globalKey = "__EMOTION_REACT_" + pkg.version.split(".")[0] + "__";
          if (globalContext[globalKey]) {
            console.warn("You are loading @emotion/react when it is already loaded. Running multiple instances may cause problems. This can happen if multiple versions are used, or if multiple builds of the same version are used.");
          }
          globalContext[globalKey] = true;
        }
      }
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/styledSystem/InternalThemeProvider.js
  var import_react25, InternalThemeProvider;
  var init_InternalThemeProvider = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/styledSystem/InternalThemeProvider.js"() {
      init_AppearanceContext();
      import_react25 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      init_emotion_react_browser_esm();
      InternalThemeProvider = (props) => {
        const { parsedInternalTheme } = useAppearance();
        return /* @__PURE__ */ jsx2(ThemeProvider, {
          theme: parsedInternalTheme,
          children: props.children
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/containsAllOf.js
  var containsAllOfType;
  var init_containsAllOf = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/containsAllOf.js"() {
      containsAllOfType = () => (array2) => array2;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/customizables/elementDescriptors.js
  var CLASS_PREFIX, OBJ_KEY_DELIMITER, containsAllElementsConfigKeys, camelize, APPEARANCE_KEYS, toTargettableClassname, toObjectKey, createElementDescriptor, createDescriptorMap, descriptors;
  var init_elementDescriptors = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/customizables/elementDescriptors.js"() {
      init_fromEntries();
      init_containsAllOf();
      CLASS_PREFIX = "cl-";
      OBJ_KEY_DELIMITER = "__";
      containsAllElementsConfigKeys = containsAllOfType();
      camelize = (s2) => s2.replace(/-./g, (x) => x[1].toUpperCase());
      APPEARANCE_KEYS = containsAllElementsConfigKeys([
        "button",
        "input",
        "checkbox",
        "radio",
        "table",
        "rootBox",
        "cardBox",
        "card",
        "footerItem",
        "popoverBox",
        "disclosureRoot",
        "disclosureTrigger",
        "disclosureContentRoot",
        "disclosureContentInner",
        "disclosureContent",
        "collapsible",
        "collapsibleInner",
        "lineItemsRoot",
        "lineItemsDivider",
        "lineItemsGroup",
        "lineItemsTitle",
        "lineItemsTitleDescription",
        "lineItemsDescription",
        "lineItemsDescriptionInner",
        "lineItemsDescriptionSuffix",
        "lineItemsDescriptionPrefix",
        "lineItemsDescriptionText",
        "lineItemsCopyButton",
        "lineItemsDowngradeNotice",
        "actionCard",
        "logoBox",
        "logoImage",
        "logoGroup",
        "logoGroupItem",
        "logoGroupIcon",
        "logoGroupSeparator",
        "listGroup",
        "listGroupHeader",
        "listGroupHeaderTitle",
        "listGroupContent",
        "listGroupItem",
        "listGroupItemLabel",
        "header",
        "headerTitle",
        "headerSubtitle",
        "headerBackLink",
        "main",
        "footer",
        "footerAction",
        "footerActionText",
        "footerActionLink",
        "footerPages",
        "footerPagesLink",
        "backRow",
        "backLink",
        "socialButtonsRoot",
        "socialButtons",
        "socialButtonsIconButton",
        "socialButtonsBlockButton",
        "socialButtonsBlockButtonText",
        "socialButtonsProviderIcon",
        "socialButtonsProviderInitialIcon",
        "lastAuthenticationStrategyBadge",
        "enterpriseButtonsProviderIcon",
        "providerIcon",
        "providerInitialIcon",
        "alternativeMethods",
        "alternativeMethodsBlockButton",
        "alternativeMethodsBlockButtonText",
        "alternativeMethodsBlockButtonArrow",
        "checkoutFormLineItemsRoot",
        "checkoutFormElementsRoot",
        "checkoutSuccessRoot",
        "checkoutSuccessRings",
        "checkoutSuccessBadge",
        "checkoutSuccessTitle",
        "checkoutSuccessDescription",
        "otpCodeField",
        "otpCodeFieldInputs",
        "otpCodeFieldInput",
        "otpCodeFieldInputContainer",
        "otpCodeFieldErrorText",
        "otpCodeFieldSuccessText",
        "formResendCodeLink",
        "dividerRow",
        "dividerColumn",
        "dividerText",
        "dividerLine",
        "drawerBackdrop",
        "drawerRoot",
        "drawerContent",
        "drawerHeader",
        "drawerTitle",
        "drawerBody",
        "drawerFooter",
        "drawerFooterTitle",
        "drawerFooterDescription",
        "drawerClose",
        "drawerConfirmationBackdrop",
        "drawerConfirmationRoot",
        "drawerConfirmationTitle",
        "drawerConfirmationDescription",
        "drawerConfirmationActions",
        "formHeader",
        "formHeaderTitle",
        "formHeaderSubtitle",
        "verificationLinkStatusBox",
        "verificationLinkStatusIconBox",
        "verificationLinkStatusIcon",
        "verificationLinkStatusText",
        "form",
        "formContainer",
        "formFieldRow",
        "formField",
        "formFieldLabelRow",
        "formFieldLabel",
        "formFieldRadioGroup",
        "formFieldRadioGroupItem",
        "formFieldRadioInput",
        "formFieldRadioLabel",
        "formFieldRadioLabelTitle",
        "formFieldRadioLabelDescription",
        "formFieldCheckboxInput",
        "formFieldCheckboxLabel",
        "formFieldAction",
        "formFieldInput",
        "formFieldErrorText",
        "formFieldWarningText",
        "formFieldSuccessText",
        "formFieldInfoText",
        "formFieldHintText",
        "formButtonPrimary",
        "formButtonReset",
        "formFieldInputGroup",
        "formFieldInputShowPasswordButton",
        "formFieldInputShowPasswordIcon",
        "formFieldInputCopyToClipboardButton",
        "formFieldInputCopyToClipboardIcon",
        "phoneInputBox",
        "formInputGroup",
        "avatarBox",
        "avatarImage",
        "avatarImageActions",
        "avatarImageActionsUpload",
        "avatarImageActionsRemove",
        "userButtonBox",
        "userButtonOuterIdentifier",
        "userButtonTrigger",
        "userButtonAvatarBox",
        "userButtonAvatarImage",
        "userButtonPopoverRootBox",
        "userButtonPopoverCard",
        "userButtonPopoverMain",
        "userButtonPopoverActions",
        "userButtonPopoverActionButton",
        "userButtonPopoverActionButtonIconBox",
        "userButtonPopoverActionButtonIcon",
        "userButtonPopoverCustomItemButton",
        "userButtonPopoverCustomItemButtonIconBox",
        "userButtonPopoverActionItemButtonIcon",
        "userButtonPopoverFooter",
        "userButtonPopoverFooterPagesLink",
        "organizationSwitcherTrigger",
        "organizationSwitcherTriggerIcon",
        "organizationSwitcherPopoverRootBox",
        "organizationSwitcherPopoverCard",
        "organizationSwitcherPopoverMain",
        "organizationSwitcherPopoverActions",
        "organizationSwitcherPopoverInvitationActions",
        "organizationSwitcherPopoverInvitationActionsBox",
        "organizationSwitcherPopoverActionButton",
        "organizationSwitcherPreviewButton",
        "organizationSwitcherInvitationAcceptButton",
        "organizationSwitcherPopoverActionButtonIconBox",
        "organizationSwitcherPopoverActionButtonIcon",
        "organizationSwitcherPopoverFooter",
        "organizationProfileMembersSearchInputIcon",
        "organizationProfileMembersSearchInput",
        "organizationListPreviewItems",
        "organizationListPreviewItem",
        "organizationListPreviewButton",
        "organizationListPreviewItemActionButton",
        "organizationListCreateOrganizationActionButton",
        "taskChooseOrganizationPreviewItem",
        "taskChooseOrganizationPreviewItems",
        "taskChooseOrganizationCreateOrganizationActionButton",
        "taskChooseOrganizationPreviewButton",
        "taskSetupMfaMethodSelectionItem",
        "taskSetupMfaMethodSelectionItems",
        "taskSetupMfaPhoneSelectionItems",
        "taskSetupMfaPhoneSelectionItem",
        "taskSetupMfaPhoneSelectionAddPhoneAction",
        "userAvatarBox",
        "userAvatarImage",
        "userPreview",
        "userPreviewAvatarContainer",
        "userPreviewAvatarBox",
        "userPreviewAvatarImage",
        "userPreviewAvatarIcon",
        "userPreviewTextContainer",
        "userPreviewMainIdentifier",
        "userPreviewMainIdentifierText",
        "userPreviewSecondaryIdentifier",
        "organizationPreview",
        "organizationPreviewAvatarContainer",
        "organizationPreviewAvatarBox",
        "organizationPreviewAvatarImage",
        "organizationPreviewTextContainer",
        "organizationPreviewMainIdentifier",
        "organizationPreviewSecondaryIdentifier",
        "organizationAvatarUploaderContainer",
        "membersPageInviteButton",
        "identityPreview",
        "identityPreviewText",
        "identityPreviewEditButton",
        "identityPreviewEditButtonIcon",
        "passkeyIcon",
        "accountSwitcherActionButton",
        "accountSwitcherActionButtonIconBox",
        "accountSwitcherActionButtonIcon",
        "pricingTable",
        "pricingTableCard",
        "pricingTableCardHeader",
        "pricingTableCardTitleContainer",
        "pricingTableCardTitle",
        "pricingTableCardDescription",
        "pricingTableCardBody",
        "pricingTableCardStatusRow",
        "pricingTableCardStatus",
        "pricingTableCardFeatures",
        "pricingTableCardFeaturesList",
        "pricingTableCardFeaturesListItem",
        "pricingTableCardFeaturesListItemContent",
        "pricingTableCardFeaturesListItemTitle",
        "pricingTableCardPeriodToggle",
        "pricingTableCardFeeContainer",
        "pricingTableCardFee",
        "pricingTableCardFeePeriod",
        "pricingTableCardFeePeriodNotice",
        "pricingTableCardFooter",
        "pricingTableCardFooterButton",
        "pricingTableCardFooterNotice",
        "pricingTableMatrix",
        "pricingTableMatrixTable",
        "pricingTableMatrixRowGroup",
        "pricingTableMatrixRowGroupHeader",
        "pricingTableMatrixRowGroupBody",
        "pricingTableMatrixRow",
        "pricingTableMatrixRowHeader",
        "pricingTableMatrixRowBody",
        "pricingTableMatrixColumnHeader",
        "pricingTableMatrixCell",
        "pricingTableMatrixCellFooter",
        "pricingTableMatrixAvatar",
        "pricingTableMatrixBadge",
        "pricingTableMatrixPlanName",
        "pricingTableMatrixFee",
        "pricingTableMatrixFeePeriod",
        "pricingTableMatrixFeePeriodNotice",
        "pricingTableMatrixFeePeriodNoticeInner",
        "pricingTableMatrixFeePeriodNoticeLabel",
        "pricingTableMatrixFooter",
        "planDetailHeader",
        "planDetailAvatar",
        "planDetailBadgeAvatarTitleDescriptionContainer",
        "planDetailBadgeContainer",
        "planDetailBadge",
        "planDetailTitle",
        "planDetailTitleDescriptionContainer",
        "planDetailDescription",
        "planDetailAction",
        "planDetailFeeContainer",
        "planDetailFee",
        "planDetailFeePeriod",
        "planDetailFeePeriodNotice",
        "planDetailFeePeriodNoticeInner",
        "planDetailFeePeriodNoticeLabel",
        "planDetailCaption",
        "planDetailFeatures",
        "planDetailFeaturesList",
        "planDetailFeaturesListItem",
        "planDetailFeaturesListItemContent",
        "planDetailFeaturesListItemTitle",
        "planDetailFeaturesListItemDescription",
        "planDetailPeriodToggle",
        "segmentedControlRoot",
        "segmentedControlButton",
        "switchRoot",
        "switchIndicator",
        "switchThumb",
        "switchLabel",
        "alert",
        "alertIcon",
        "alertText",
        "alertTextContainer",
        "tagInputContainer",
        "tagPillIcon",
        "tagPillContainer",
        "tabPanel",
        "tabButton",
        "tabListContainer",
        "tableHead",
        "tableBody",
        "tableRow",
        "tableHeaderCell",
        "tableBodyCell",
        "paginationButton",
        "paginationButtonIcon",
        "paginationRowText",
        "selectButton",
        "selectSearchInput",
        "selectButtonIcon",
        "selectOptionsContainer",
        "selectOption",
        "paymentMethodRow",
        "paymentMethodRowIcon",
        "paymentMethodRowText",
        "paymentMethodRowType",
        "paymentMethodRowValue",
        "paymentMethodRowBadge",
        "statementRoot",
        "statementHeader",
        "statementHeaderTitleContainer",
        "statementHeaderTitle",
        "statementHeaderBadge",
        "statementBody",
        "statementSection",
        "statementSectionHeader",
        "statementSectionHeaderTitle",
        "statementSectionContent",
        "statementSectionContentItem",
        "statementSectionContentDetailsList",
        "statementSectionContentDetailsListItem",
        "statementSectionContentDetailsListItemLabelContainer",
        "statementSectionContentDetailsListItemLabel",
        "statementSectionContentDetailsListItemValue",
        "statementSectionContentDetailsHeader",
        "statementSectionContentDetailsHeaderItem",
        "statementSectionContentDetailsHeaderItemIcon",
        "statementSectionContentDetailsHeaderTitle",
        "statementSectionContentDetailsHeaderDescription",
        "statementSectionContentDetailsHeaderSecondaryTitle",
        "statementSectionContentDetailsHeaderSecondaryDescription",
        "statementFooter",
        "statementFooterLabel",
        "statementFooterValueContainer",
        "statementFooterCurrency",
        "statementFooterValue",
        "statementCopyButton",
        "menuButton",
        "menuButtonEllipsis",
        "menuButtonEllipsisBordered",
        "menuList",
        "menuItem",
        "paymentAttemptRoot",
        "paymentAttemptHeader",
        "paymentAttemptHeaderTitleContainer",
        "paymentAttemptHeaderTitle",
        "paymentAttemptHeaderBadge",
        "paymentAttemptBody",
        "paymentAttemptFooter",
        "paymentAttemptFooterLabel",
        "paymentAttemptFooterValueContainer",
        "paymentAttemptFooterCurrency",
        "paymentAttemptFooterValue",
        "paymentAttemptCopyButton",
        "modalBackdrop",
        "modalContent",
        "modalCloseButton",
        "profileSection",
        "profileSectionItemList",
        "profileSectionItem",
        "profileSectionHeader",
        "profileSectionTitle",
        "profileSectionTitleText",
        "profileSectionSubtitle",
        "profileSectionSubtitleText",
        "profileSectionContent",
        "profileSectionPrimaryButton",
        "profileSectionButtonGroup",
        "profilePage",
        "formattedPhoneNumber",
        "formattedPhoneNumberFlag",
        "formattedPhoneNumberText",
        "formattedDate",
        "scrollBox",
        "navbar",
        "navbarButtons",
        "navbarButton",
        "navbarButtonIcon",
        "navbarButtonText",
        "navbarMobileMenuRow",
        "navbarMobileMenuButton",
        "navbarMobileMenuButtonIcon",
        "pageScrollBox",
        "page",
        "activeDevice",
        "activeDeviceListItem",
        "activeDeviceIcon",
        "impersonationFab",
        "impersonationFabIcon",
        "impersonationFabIconContainer",
        "impersonationFabTitle",
        "impersonationFabActionLink",
        "invitationsSentIconBox",
        "invitationsSentIcon",
        "qrCodeRow",
        "qrCodeContainer",
        "tooltip",
        "tooltipContent",
        "tooltipText",
        "badge",
        "notificationBadge",
        "buttonArrowIcon",
        "spinner",
        "apiKeys",
        "apiKeysHeader",
        "apiKeysSearchBox",
        "apiKeysSearchInput",
        "apiKeysAddButton",
        "apiKeysTable",
        "apiKeysCopyButton",
        "apiKeysRevealButton",
        "apiKeysCreateForm",
        "apiKeysCreateFormNameInput",
        "apiKeysCreateFormDescriptionInput",
        "apiKeysCreateFormExpirationInput",
        "apiKeysCreateFormSubmitButton",
        "apiKeysCreateFormExpirationCaption",
        "apiKeysRevokeModal",
        "apiKeysRevokeModalInput",
        "apiKeysRevokeModalSubmitButton",
        "apiKeysCopyModal",
        "apiKeysCopyModalInput",
        "apiKeysCopyModalSubmitButton",
        "subscriptionDetailsCard",
        "subscriptionDetailsCardHeader",
        "subscriptionDetailsCardBadge",
        "subscriptionDetailsCardTitle",
        "subscriptionDetailsCardBody",
        "subscriptionDetailsCardFooter",
        "subscriptionDetailsCardActions",
        "subscriptionDetailsActionButton",
        "subscriptionDetailsCancelButton",
        "subscriptionDetailsDetailRow",
        "subscriptionDetailsDetailRowLabel",
        "subscriptionDetailsDetailRowValue",
        "enterpriseConnectionsRoot",
        "enterpriseConnectionButton",
        "enterpriseConnectionButtonText",
        "web3SolanaWalletButtonsRoot",
        "web3SolanaWalletButtons",
        "web3SolanaWalletButtonsIconButton",
        "web3SolanaWalletButtonsBlockButton",
        "web3SolanaWalletButtonsBlockButtonText",
        "web3SolanaWalletButtonsWalletIcon",
        "web3SolanaWalletButtonsWalletInitialIcon",
        "walletIcon",
        "walletInitialIcon"
      ]).map(camelize);
      toTargettableClassname = (key) => {
        return CLASS_PREFIX + key;
      };
      toObjectKey = (key) => {
        return key.replace(/([-][a-z])/, (match3) => match3[1].toUpperCase());
      };
      createElementDescriptor = (key) => {
        const objectKey = toObjectKey(key);
        return {
          objectKey,
          targettableClassname: toTargettableClassname(key),
          getTargettableIdClassname: (params) => toTargettableClassname(key) + "__" + params.id,
          getObjectKeyWithState: (state) => objectKey + OBJ_KEY_DELIMITER + state,
          getObjectKeyWithId: (idObj) => objectKey + OBJ_KEY_DELIMITER + idObj.id,
          getObjectKeyWithIdAndState: (idObj, state) => objectKey + OBJ_KEY_DELIMITER + idObj.id + OBJ_KEY_DELIMITER + state,
          setId: (id) => id ? {
            id,
            __type: "id"
          } : void 0
        };
      };
      createDescriptorMap = (keys2 = APPEARANCE_KEYS) => {
        return fromEntries(keys2.map((key) => [toObjectKey(key), createElementDescriptor(key)]));
      };
      descriptors = createDescriptorMap();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/customizables/classGeneration.js
  var STATE_PROP_TO_CLASSNAME, STATE_PROP_TO_SPECIFICITY, generateClassName, addClerkTargettableClassname, addClerkTargettableIdClassname, addClerkTargettableStateClass, addClerkTargettableRequiredAttribute, appendEmojiSeparator, addUserProvidedStyleRules, addUserProvidedClassnames, getElementState, addStringClassname, addStyleRuleObject, generateFlowClassname, generateFlowPartClassname, addClassnamesFromElements, addRulesFromElements;
  var init_classGeneration = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/customizables/classGeneration.js"() {
      init_elementDescriptors();
      STATE_PROP_TO_CLASSNAME = Object.freeze({
        loading: ` ${CLASS_PREFIX}loading`,
        error: ` ${CLASS_PREFIX}error`,
        open: ` ${CLASS_PREFIX}open`,
        active: ` ${CLASS_PREFIX}active`
      });
      STATE_PROP_TO_SPECIFICITY = Object.freeze({
        loading: 2,
        error: 2,
        open: 2,
        active: 2
      });
      generateClassName = (parsedElements, elemDescriptors, elemId, props) => {
        const state = getElementState(props);
        let className = "";
        const css3 = [];
        className = addClerkTargettableClassname(className, elemDescriptors);
        className = addClerkTargettableIdClassname(className, elemDescriptors, elemId);
        className = addClerkTargettableStateClass(className, state);
        className = addClerkTargettableRequiredAttribute(className, props);
        className = addUserProvidedClassnames(className, parsedElements, elemDescriptors, elemId, state);
        addUserProvidedStyleRules(css3, parsedElements, elemDescriptors, elemId, state);
        return {
          className,
          css: css3
        };
      };
      addClerkTargettableClassname = (cn, elemDescriptors) => {
        for (let i2 = elemDescriptors.length - 1; i2 >= 0; i2--) cn += elemDescriptors[i2].targettableClassname + " ";
        return cn.trimEnd();
      };
      addClerkTargettableIdClassname = (cn, elemDescriptors, elemId) => {
        if (!elemId) return cn;
        for (let i2 = elemDescriptors.length - 1; i2 >= 0; i2--) cn = cn + " " + elemDescriptors[i2].getTargettableIdClassname(elemId);
        return cn;
      };
      addClerkTargettableStateClass = (cn, state) => {
        return state ? cn + STATE_PROP_TO_CLASSNAME[state] : cn;
      };
      addClerkTargettableRequiredAttribute = (cn, props) => {
        return props && props.isRequired ? cn + ` ${CLASS_PREFIX}required` : cn;
      };
      appendEmojiSeparator = (generatedCn, otherCn) => {
        return generatedCn + (otherCn ? " " + otherCn : "") + " \u{1F512}\uFE0F";
      };
      addUserProvidedStyleRules = (css3, parsedElements, elemDescriptors, elemId, state) => {
        for (let j = 0; j < elemDescriptors.length; j++) for (let i2 = 0; i2 < parsedElements.length; i2++) addRulesFromElements(css3, parsedElements[i2], elemDescriptors[j], elemId, state);
      };
      addUserProvidedClassnames = (cn, parsedElements, elemDescriptors, elemId, state) => {
        for (let j = 0; j < elemDescriptors.length; j++) for (let i2 = 0; i2 < parsedElements.length; i2++) cn = addClassnamesFromElements(cn, parsedElements[i2], elemDescriptors[j], elemId, state);
        return cn;
      };
      getElementState = (props) => {
        if (!props) return;
        if (props.isLoading) return "loading";
        if (props.hasError) return "error";
        if (props.isOpen) return "open";
        if (props.isActive) return "active";
      };
      addStringClassname = (cn, val) => typeof val === "string" ? cn + " " + val : cn;
      addStyleRuleObject = (css3, val, specificity = 0) => {
        if (specificity) {
          if (val && typeof val === "object") css3.push({ ["&".repeat(specificity)]: val });
        } else if (val && typeof val === "object") css3.push(val);
      };
      generateFlowClassname = (props) => {
        return CLASS_PREFIX + props.flow + "-root";
      };
      generateFlowPartClassname = (props) => {
        if (!props.part) return "";
        return CLASS_PREFIX + props.flow + "-" + props.part;
      };
      addClassnamesFromElements = (cn, elements, elemDescriptor, elemId, state) => {
        if (!elements) return cn;
        cn = addStringClassname(cn, elements[elemDescriptor.objectKey]);
        if (elemId) cn = addStringClassname(cn, elements[elemDescriptor.getObjectKeyWithId(elemId)]);
        if (state) cn = addStringClassname(cn, elements[elemDescriptor.getObjectKeyWithState(state)]);
        if (elemId && state) cn = addStringClassname(cn, elements[elemDescriptor.getObjectKeyWithIdAndState(elemId, state)]);
        return cn;
      };
      addRulesFromElements = (css3, elements, elemDescriptor, elemId, state) => {
        if (!elements) return;
        addStyleRuleObject(css3, elements[elemDescriptor.objectKey]);
        if (elemId) addStyleRuleObject(css3, elements[elemDescriptor.getObjectKeyWithId(elemId)]);
        if (state) addStyleRuleObject(css3, elements[elemDescriptor.getObjectKeyWithState(state)], STATE_PROP_TO_SPECIFICITY[state]);
        if (elemId && state) addStyleRuleObject(css3, elements[elemDescriptor.getObjectKeyWithIdAndState(elemId, state)], STATE_PROP_TO_SPECIFICITY[state]);
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/localization/localizationKeys.js
  var localizationKeys;
  var init_localizationKeys = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/localization/localizationKeys.js"() {
      localizationKeys = (key, ...args) => {
        return {
          key,
          params: args[0]
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/readObjectPath.js
  var readObjectPath;
  var init_readObjectPath = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/readObjectPath.js"() {
      readObjectPath = (obj, path) => {
        const props = (path || "").split(".");
        let cur = obj;
        for (let i2 = 0; i2 < props.length; i2++) {
          cur = cur[props[i2]];
          if (cur === void 0) return;
        }
        return cur;
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/date.mjs
  function differenceInCalendarDays(a2, b2, { absolute = true } = {}) {
    if (!a2 || !b2) return 0;
    const utcA = Date.UTC(a2.getFullYear(), a2.getMonth(), a2.getDate());
    const utcB = Date.UTC(b2.getFullYear(), b2.getMonth(), b2.getDate());
    const diff = Math.floor((utcB - utcA) / MILLISECONDS_IN_DAY);
    return absolute ? Math.abs(diff) : diff;
  }
  function normalizeDate(d2) {
    try {
      return new Date(d2 || /* @__PURE__ */ new Date());
    } catch {
      return /* @__PURE__ */ new Date();
    }
  }
  function formatRelative(props) {
    const { date, relativeTo } = props;
    if (!date || !relativeTo) return null;
    const a2 = normalizeDate(date);
    const differenceInDays = differenceInCalendarDays(normalizeDate(relativeTo), a2, { absolute: false });
    if (differenceInDays < -6) return {
      relativeDateCase: "other",
      date: a2
    };
    if (differenceInDays < -1) return {
      relativeDateCase: "previous6Days",
      date: a2
    };
    if (differenceInDays === -1) return {
      relativeDateCase: "lastDay",
      date: a2
    };
    if (differenceInDays === 0) return {
      relativeDateCase: "sameDay",
      date: a2
    };
    if (differenceInDays === 1) return {
      relativeDateCase: "nextDay",
      date: a2
    };
    if (differenceInDays < 7) return {
      relativeDateCase: "next6Days",
      date: a2
    };
    return {
      relativeDateCase: "other",
      date: a2
    };
  }
  var MILLISECONDS_IN_DAY;
  var init_date = __esm({
    "node_modules/@clerk/shared/dist/runtime/date.mjs"() {
      MILLISECONDS_IN_DAY = 864e5;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/localization/localizationModifiers.js
  var timeString, weekday, shortDate, longDate, numeric, link, MODIFIERS;
  var init_localizationModifiers = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/localization/localizationModifiers.js"() {
      init_underscore();
      init_date();
      timeString = (val, locale) => {
        try {
          return new Intl.DateTimeFormat(locale || "en-US", { timeStyle: "short" }).format(normalizeDate(val));
        } catch (e3) {
          console.warn(e3);
          return "";
        }
      };
      weekday = (val, locale, weekday$1) => {
        try {
          return new Intl.DateTimeFormat(locale || "en-US", { weekday: weekday$1 || "long" }).format(normalizeDate(val));
        } catch (e3) {
          console.warn(e3);
          return "";
        }
      };
      shortDate = (val, locale) => {
        const date = normalizeDate(val);
        try {
          return new Intl.DateTimeFormat(locale || "en-US", {
            month: "short",
            day: "numeric",
            ...date.getFullYear() !== (/* @__PURE__ */ new Date()).getFullYear() ? { year: "numeric" } : {}
          }).format(normalizeDate(val));
        } catch (e3) {
          console.warn(e3);
          return "";
        }
      };
      longDate = (val, locale) => {
        try {
          return new Intl.DateTimeFormat(locale || "en-US", {
            month: "long",
            day: "numeric",
            year: "numeric"
          }).format(normalizeDate(val));
        } catch (e3) {
          console.warn(e3);
          return "";
        }
      };
      numeric = (val, locale) => {
        try {
          return new Intl.DateTimeFormat(locale || "en-US").format(normalizeDate(val));
        } catch (e3) {
          console.warn(e3);
          return "";
        }
      };
      link = (val, label) => {
        return `[${label}](${val})`;
      };
      MODIFIERS = {
        titleize,
        timeString,
        weekday,
        numeric,
        link,
        shortDate,
        longDate
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/localization/applyTokensToString.js
  var applyTokensToString, useGlobalTokens, parseTokensFromLocalizedString, applyTokenExpressions, assertKnownModifier, getModifierWithParams;
  var init_applyTokensToString = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/localization/applyTokensToString.js"() {
      init_EnvironmentContext();
      init_localizationModifiers();
      init_react();
      applyTokensToString = (s2, tokens) => {
        if (!s2) return "";
        const { normalisedString, expressions } = parseTokensFromLocalizedString(s2, tokens);
        return applyTokenExpressions(normalisedString, expressions, tokens);
      };
      useGlobalTokens = () => {
        const { applicationName } = useEnvironment().displayConfig;
        const { client, user } = useClerk();
        const { signIn } = client || {};
        return {
          applicationName,
          "signIn.identifier": signIn?.identifier || "",
          "user.username": user?.username || "",
          "user.firstName": user?.firstName || "",
          "user.lastName": user?.lastName || "",
          "user.primaryEmailAddress": user?.primaryEmailAddress?.emailAddress || "",
          "user.primaryPhoneNumber": user?.primaryPhoneNumber?.phoneNumber || ""
        };
      };
      parseTokensFromLocalizedString = (s2, tokens) => {
        const expressions = (s2.match(/{{.+?}}/g) || []).map((m2) => m2.replace(/[{}]/g, "")).map((m2) => m2.split("|").map((m$1) => m$1.trim())).filter((match3) => match3[0] in tokens).map(([token2, ...modifiers]) => ({
          token: token2,
          modifiers: modifiers.map((m2) => getModifierWithParams(m2)).filter((m2) => assertKnownModifier(m2.modifierName))
        }));
        let normalisedString = s2;
        expressions.forEach(({ token: token2 }) => {
          normalisedString = normalisedString.replace(/{{.+?}}/, `_++${token2}++_`);
        });
        return {
          expressions,
          normalisedString
        };
      };
      applyTokenExpressions = (s2, expressions, tokens) => {
        expressions.forEach(({ token: token2, modifiers }) => {
          const value = modifiers.reduce((acc, mod2) => {
            try {
              return MODIFIERS[mod2.modifierName](acc, ...mod2.params);
            } catch (e3) {
              console.warn(e3);
              return "";
            }
          }, tokens[token2]);
          s2 = s2.replace(`_++${token2}++_`, value);
        });
        return s2;
      };
      assertKnownModifier = (s2) => Object.prototype.hasOwnProperty.call(MODIFIERS, s2);
      getModifierWithParams = (modifierExpression) => {
        const parts = modifierExpression.split(/[(,)]/g).map((m2) => m2.trim()).filter((m2) => !!m2);
        if (parts.length === 1) {
          const [modifierName] = parts;
          return {
            modifierName,
            params: []
          };
        } else {
          const [modifierName, ...params] = parts;
          return {
            modifierName,
            params: params.map((p2) => p2.replace(/['"]+/g, ""))
          };
        }
      };
    }
  });

  // node_modules/@clerk/localizations/dist/index.mjs
  function pseudoLocalizeString(value) {
    return value.replace(tokenOrLetterPattern, (segment) => {
      var _a5;
      if (segment.startsWith("{")) {
        return segment;
      }
      return (_a5 = pseudoCharacterMapWithUppercase[segment]) != null ? _a5 : segment;
    });
  }
  function pseudoLocalizeValue(value) {
    if (typeof value === "string") {
      return pseudoLocalizeString(value);
    }
    if (Array.isArray(value)) {
      return value.map((item) => pseudoLocalizeValue(item));
    }
    if (value && typeof value === "object") {
      const localized = {};
      for (const [key, nestedValue] of Object.entries(value)) {
        localized[key] = pseudoLocalizeValue(nestedValue);
      }
      return localized;
    }
    return value;
  }
  var enUS, pseudoCharacterMap, pseudoCharacterMapWithUppercase, tokenOrLetterPattern, enXAFromEnUS, enXA;
  var init_dist2 = __esm({
    "node_modules/@clerk/localizations/dist/index.mjs"() {
      enUS = {
        locale: "en-US",
        apiKeys: {
          action__add: "Add new key",
          action__search: "Search keys",
          copySecret: {
            formButtonPrimary__copyAndClose: "Copy & Close",
            formHint: "For security reasons, we won't allow you to view it again later.",
            formTitle: 'Copy your "{{name}}" API Key now'
          },
          createdAndExpirationStatus__expiresOn: "Created {{ createdDate | shortDate('en-US') }} \u2022 Expires {{ expiresDate | longDate('en-US') }}",
          createdAndExpirationStatus__never: "Created {{ createdDate | shortDate('en-US') }} \u2022 Never expires",
          detailsTitle__emptyRow: "No API keys found",
          formButtonPrimary__add: "Create key",
          formFieldCaption__expiration__expiresOn: "Expiring {{ date }}",
          formFieldCaption__expiration__never: "This key will never expire",
          formFieldOption__expiration__180d: "180 Days",
          formFieldOption__expiration__1d: "1 Day",
          formFieldOption__expiration__1y: "1 Year",
          formFieldOption__expiration__30d: "30 Days",
          formFieldOption__expiration__60d: "60 Days",
          formFieldOption__expiration__7d: "7 Days",
          formFieldOption__expiration__90d: "90 Days",
          formFieldOption__expiration__never: "Never",
          formHint: "Provide a name to generate a new key. You\u2019ll be able to revoke it anytime.",
          formTitle: "Add new API key",
          lastUsed__days: "{{days}}d ago",
          lastUsed__hours: "{{hours}}h ago",
          lastUsed__minutes: "{{minutes}}m ago",
          lastUsed__months: "{{months}}mo ago",
          lastUsed__seconds: "{{seconds}}s ago",
          lastUsed__years: "{{years}}y ago",
          menuAction__revoke: "Revoke key",
          revokeConfirmation: {
            confirmationText: "Revoke",
            inputLabel: 'Type "Revoke" to confirm',
            formButtonPrimary__revoke: "Revoke key",
            formHint: "Are you sure you want to delete this Secret key?",
            formTitle: 'Revoke "{{apiKeyName}}" secret key?'
          }
        },
        backButton: "Back",
        badge__activePlan: "Active",
        badge__canceledEndsAt: "Canceled \u2022 Ends {{ date | shortDate('en-US') }}",
        badge__currentPlan: "Current plan",
        badge__default: "Default",
        badge__endsAt: "Ends {{ date | shortDate('en-US') }}",
        badge__expired: "Expired",
        badge__freeTrial: "Free trial",
        badge__otherImpersonatorDevice: "Other impersonator device",
        badge__pastDueAt: "Past due {{ date | shortDate('en-US') }}",
        badge__pastDuePlan: "Past due",
        badge__primary: "Primary",
        badge__renewsAt: "Renews {{ date | shortDate('en-US') }}",
        badge__requiresAction: "Requires action",
        badge__startsAt: "Starts {{ date | shortDate('en-US') }}",
        badge__thisDevice: "This device",
        badge__trialEndsAt: "Trial ends {{ date | shortDate('en-US') }}",
        badge__unverified: "Unverified",
        badge__upcomingPlan: "Upcoming",
        badge__userDevice: "User device",
        badge__you: "You",
        badge__banned: "Banned",
        billing: {
          addPaymentMethod__label: "Add payment method",
          alwaysFree: "Always free",
          annually: "Annually",
          availableFeatures: "Available features",
          billedAnnually: "Billed annually",
          billedMonthlyOnly: "Only billed monthly",
          billedAnnuallyOnly: "Only billed annually",
          cancelFreeTrial: "Cancel free trial",
          cancelFreeTrialAccessUntil: "Your trial will stay active until {{ date | longDate('en-US') }}. After that, you'll lose access to trial features. You won't be charged.",
          cancelFreeTrialTitle: "Cancel free trial for {{plan}} plan?",
          cancelSubscription: "Cancel subscription",
          cancelSubscriptionAccessUntil: "You can keep using '{{plan}}' features until {{ date | longDate('en-US') }}, after which you will no longer have access.",
          cancelSubscriptionNoCharge: "You will not be charged for this subscription.",
          cancelSubscriptionPastDue: "Your subscription will end immediately and you will lose access to all plan features. You will be asked to pay the past due amount on your next subscription.",
          cancelSubscriptionTitle: "Cancel {{plan}} Subscription?",
          cannotSubscribeMonthly: "You cannot subscribe to this plan by paying monthly. To subscribe to this plan, you need to choose to pay annually.",
          cannotSubscribeUnrecoverable: "You cannot subscribe to this plan. Your existing subscription is more expensive than this plan.",
          checkout: {
            description__paymentSuccessful: "Your payment was successful.",
            description__subscriptionSuccessful: "Your new subscription is all set.",
            downgradeNotice: "You will keep your current subscription and its features until the end of the billing cycle, then you will be switched to this subscription.",
            emailForm: {
              subtitle: "Before you can complete your purchase you must add an email address where receipts will be sent.",
              title: "Add an email address"
            },
            lineItems: {
              title__freeTrialEndsAt: "Trial ends on",
              title__paymentMethod: "Payment method",
              title__statementId: "Statement ID",
              title__subscriptionBegins: "Subscription begins",
              title__totalPaid: "Total paid"
            },
            pastDueNotice: "Your previous subscription was past due, with no payment.",
            perMonth: "per month",
            title: "Checkout",
            title__paymentSuccessful: "Payment was successful!",
            title__subscriptionSuccessful: "Success!",
            title__trialSuccess: "Trial successfully started!",
            totalDueAfterTrial: "Total Due after trial ends in {{days}} days"
          },
          credit: "Credit",
          prorationCredit: "Prorated credit",
          accountCredit: "Account credit",
          creditRemainder: "Credit for the remainder of your current subscription.",
          payerCreditRemainder: "Credit from account balance.",
          defaultFreePlanActive: "You're currently on the Free plan",
          free: "Free",
          getStarted: "Get started",
          keepFreeTrial: "Keep free trial",
          keepSubscription: "Keep subscription",
          manage: "Manage",
          manageSubscription: "Manage subscription",
          month: "Month",
          monthAbbreviation: "mo",
          monthPerUnit: "Month per {{unitName}}",
          monthly: "Monthly",
          pastDue: "Past due",
          pay: "Pay {{amount}}",
          paymentMethod: {
            applePayDescription: {
              annual: "Annual payment",
              monthly: "Monthly payment"
            },
            dev: {
              anyNumbers: "Any numbers",
              cardNumber: "Card number",
              cvcZip: "CVC, ZIP",
              developmentMode: "Development mode",
              expirationDate: "Expiration date",
              testCardInfo: "Test card information"
            }
          },
          paymentMethods__label: "Payment Methods",
          popular: "Popular",
          pricingTable: {
            billingCycle: "Billing cycle",
            included: "Included",
            seatCost: {
              freeUpToSeats: "Free up to {{endsAfterBlock}} seats",
              upToSeats: "Up to {{endsAfterBlock}} seats",
              perSeat: "{{feePerBlockAmount}}/{{periodAbbreviation}} per seat",
              includedSeats: "{{includedSeats}} seats included",
              additionalSeats: "({{additionalTierFeePerBlockAmount}}/{{periodAbbreviation}} for additional)",
              unlimitedSeats: "Unlimited seats",
              tooltip: {
                freeForUpToSeats: "Free for up to {{endsAfterBlock}} seats.",
                additionalSeatsEach: "Additional seats are {{feePerBlockAmount}}/{{period}} each.",
                firstSeatsIncludedInPlan: "First {{endsAfterBlock}} seats are included in the plan."
              }
            }
          },
          reSubscribe: "Resubscribe",
          seats: "Seats",
          seeAllFeatures: "See all features",
          startFreeTrial: "Start free trial",
          startFreeTrial__days: "Start {{days}}-day free trial",
          subscribe: "Subscribe",
          subscriptionDetails: {
            beginsOn: "Begins on",
            currentBillingCycle: "Current billing cycle",
            endsOn: "Ends on",
            firstPaymentAmount: "First payment amount",
            firstPaymentOn: "First payment on",
            nextPaymentAmount: "Next payment amount",
            nextPaymentOn: "Next payment on",
            pastDueAt: "Past due on",
            renewsAt: "Renews at",
            subscribedOn: "Subscribed on",
            title: "Subscription",
            trialEndsOn: "Trial ends on",
            trialStartedOn: "Trial started on"
          },
          subtotal: "Subtotal",
          switchPlan: "Switch to this plan",
          switchToAnnual: "Switch to annual",
          switchToAnnualWithAnnualPrice: "Switch to annual {{currency}}{{price}} / year",
          switchToMonthly: "Switch to monthly",
          switchToMonthlyWithPrice: "Switch to monthly {{currency}}{{price}} / month",
          totalDue: "Total due",
          totalDueToday: "Total Due Today",
          viewFeatures: "View features",
          viewPayment: "View payment",
          year: "Year",
          yearAbbreviation: "yr",
          yearPerUnit: "Year per {{unitName}}"
        },
        createOrganization: {
          formButtonSubmit: "Create organization",
          invitePage: {
            formButtonReset: "Skip"
          },
          title: "Create organization"
        },
        dates: {
          lastDay: "Yesterday at {{ date | timeString('en-US') }}",
          next6Days: "{{ date | weekday('en-US','long') }} at {{ date | timeString('en-US') }}",
          nextDay: "Tomorrow at {{ date | timeString('en-US') }}",
          numeric: "{{ date | numeric('en-US') }}",
          previous6Days: "Last {{ date | weekday('en-US','long') }} at {{ date | timeString('en-US') }}",
          sameDay: "Today at {{ date | timeString('en-US') }}"
        },
        dividerText: "or",
        footerActionLink__alternativePhoneCodeProvider: "Send code via SMS instead",
        footerActionLink__useAnotherMethod: "Use another method",
        footerPageLink__help: "Help",
        footerPageLink__privacy: "Privacy",
        footerPageLink__terms: "Terms",
        formButtonPrimary: "Continue",
        formButtonPrimary__verify: "Verify",
        formFieldAction__forgotPassword: "Forgot password?",
        formFieldError__matchingPasswords: "Passwords match.",
        formFieldError__notMatchingPasswords: "Passwords don't match.",
        formFieldError__verificationLinkExpired: "The verification link expired. Please request a new link.",
        formFieldHintText__optional: "Optional",
        formFieldHintText__slug: "A slug is a human-readable ID that must be unique. It\u2019s often used in URLs.",
        formFieldInputPlaceholder__apiKeyDescription: "Explain why you\u2019re generating this key",
        formFieldInputPlaceholder__apiKeyExpirationDate: "Select date",
        formFieldInputPlaceholder__apiKeyName: "Enter your secret key name",
        formFieldInputPlaceholder__backupCode: "Enter backup code",
        formFieldInputPlaceholder__confirmDeletionUserAccount: "Delete account",
        formFieldInputPlaceholder__emailAddress: "Enter your email address",
        formFieldInputPlaceholder__emailAddress_username: "Enter email or username",
        formFieldInputPlaceholder__emailAddresses: "example@email.com, example2@email.com",
        formFieldInputPlaceholder__firstName: "First name",
        formFieldInputPlaceholder__lastName: "Last name",
        formFieldInputPlaceholder__organizationDomain: "example.com",
        formFieldInputPlaceholder__organizationDomainEmailAddress: "you@example.com",
        formFieldInputPlaceholder__organizationName: "Organization name",
        formFieldInputPlaceholder__organizationSlug: "my-org",
        formFieldInputPlaceholder__password: "Enter your password",
        formFieldInputPlaceholder__signUpPassword: "Create a password",
        formFieldInputPlaceholder__phoneNumber: "Enter your phone number",
        formFieldInputPlaceholder__username: "Enter your username",
        formFieldInput__emailAddress_format: "Example format: name@example.com",
        formFieldLabel__apiKey: "API key",
        formFieldLabel__apiKeyDescription: "Description",
        formFieldLabel__apiKeyExpiration: "Expiration",
        formFieldLabel__apiKeyName: "Secret key name",
        formFieldLabel__automaticInvitations: "Enable automatic invitations for this domain",
        formFieldLabel__backupCode: "Backup code",
        formFieldLabel__confirmDeletion: "Confirmation",
        formFieldLabel__confirmPassword: "Confirm password",
        formFieldLabel__currentPassword: "Current password",
        formFieldLabel__emailAddress: "Email address",
        formFieldLabel__emailAddress_username: "Email address or username",
        formFieldLabel__emailAddresses: "Email addresses",
        formFieldLabel__firstName: "First name",
        formFieldLabel__lastName: "Last name",
        formFieldLabel__newPassword: "New password",
        formFieldLabel__organizationDomain: "Domain",
        formFieldLabel__organizationDomainDeletePending: "Delete pending invitations and suggestions",
        formFieldLabel__organizationDomainEmailAddress: "Verification email address",
        formFieldLabel__organizationDomainEmailAddressDescription: "Enter an email address under this domain to receive a code and verify this domain.",
        formFieldLabel__organizationName: "Name",
        formFieldLabel__organizationSlug: "Slug",
        formFieldLabel__passkeyName: "Name of passkey",
        formFieldLabel__password: "Password",
        formFieldLabel__phoneNumber: "Phone number",
        formFieldLabel__role: "Role",
        formFieldLabel__signOutOfOtherSessions: "Sign out of all other devices",
        formFieldLabel__username: "Username",
        impersonationFab: {
          action__signOut: "Sign out",
          title: "Signed in as {{identifier}}"
        },
        lastAuthenticationStrategy: "Last used",
        maintenanceMode: "We are currently undergoing maintenance, but don't worry, it shouldn't take more than a few minutes.",
        membershipRole__admin: "Admin",
        membershipRole__basicMember: "Member",
        membershipRole__guestMember: "Guest",
        organizationList: {
          action__createOrganization: "Create organization",
          action__invitationAccept: "Join",
          action__suggestionsAccept: "Request to join",
          createOrganization: "Create Organization",
          invitationAcceptedLabel: "Joined",
          subtitle: "to continue to {{applicationName}}",
          suggestionsAcceptedLabel: "Pending approval",
          title: "Choose an account",
          titleWithoutPersonal: "Choose an organization"
        },
        oauthConsent: {
          action__allow: "Allow",
          action__deny: "Deny",
          offlineAccessNotice: " You'll stay signed in until you sign out or revoke access.",
          redirectNotice: "If you allow access, this app will redirect you to {{domainAction}}.",
          redirectUriModal: {
            subtitle: "Make sure you trust {{applicationName}} and that this URL belongs to {{applicationName}}.",
            title: "Redirect URL"
          },
          scopeList: {
            title: "This will allow {{applicationName}} access to:"
          },
          subtitle: "wants to access {{applicationName}} on behalf of {{identifier}}",
          viewFullUrl: "View full URL",
          warning: "Make sure that you trust {{applicationName}} ({{domainAction}}). You may be sharing sensitive data with this site or app."
        },
        organizationProfile: {
          apiKeysPage: {
            title: "API keys"
          },
          badge__automaticInvitation: "Automatic invitations",
          badge__automaticSuggestion: "Automatic suggestions",
          badge__manualInvitation: "No automatic enrollment",
          badge__unverified: "Unverified",
          billingPage: {
            paymentHistorySection: {
              empty: "No payment history",
              notFound: "Payment attempt not found",
              tableHeader__amount: "Amount",
              tableHeader__date: "Date",
              tableHeader__status: "Status"
            },
            paymentMethodsSection: {
              actionLabel__default: "Make default",
              actionLabel__remove: "Remove",
              add: "Add new payment method",
              addSubtitle: "Add a new payment method to your account.",
              cancelButton: "Cancel",
              formButtonPrimary__add: "Add Payment Method",
              formButtonPrimary__pay: "Pay {{amount}}",
              payWithTestCardButton: "Pay with test card",
              removeMethod: {
                messageLine1: "{{identifier}} will be removed from this account.",
                messageLine2: "You will no longer be able to use this payment method and any recurring subscriptions dependent on it will no longer work.",
                successMessage: "{{paymentMethod}} has been removed from your account.",
                title: "Remove payment method"
              },
              title: "Payment methods"
            },
            start: {
              headerTitle__payments: "Payments",
              headerTitle__plans: "Plans",
              headerTitle__statements: "Statements",
              headerTitle__subscriptions: "Subscription"
            },
            statementsSection: {
              empty: "No statements to display",
              itemCaption__paidForPlan: "Paid for {{plan}} {{period}} plan",
              itemCaption__proratedCredit: "Prorated credit for partial usage of previous subscription",
              itemCaption__payerCredit: "Credit from account balance",
              itemCaption__subscribedAndPaidForPlan: "Subscribed and paid for {{plan}} {{period}} plan",
              notFound: "Statement not found",
              tableHeader__amount: "Amount",
              tableHeader__date: "Date",
              title: "Statements",
              totalPaid: "Total paid"
            },
            subscriptionsListSection: {
              actionLabel__manageSubscription: "Manage",
              actionLabel__newSubscription: "Subscribe to a plan",
              actionLabel__switchPlan: "Switch plans",
              tableHeader__edit: "Edit",
              tableHeader__plan: "Plan",
              tableHeader__startDate: "Start date",
              title: "Subscription"
            },
            subscriptionsSection: {
              actionLabel__default: "Manage"
            },
            switchPlansSection: {
              title: "Switch plans"
            },
            title: "Billing"
          },
          createDomainPage: {
            subtitle: "Add the domain to verify. Users with email addresses at this domain can join the organization automatically or request to join.",
            title: "Add domain"
          },
          invitePage: {
            detailsTitle__inviteFailed: "The invitations could not be sent. There are already pending invitations for the following email addresses: {{email_addresses}}.",
            formButtonPrimary__continue: "Send invitations",
            selectDropdown__role: "Select role",
            subtitle: "Enter or paste one or more email addresses, separated by spaces or commas.",
            successMessage: "Invitations successfully sent",
            title: "Invite new members"
          },
          membersPage: {
            action__invite: "Invite",
            action__search: "Search",
            activeMembersTab: {
              menuAction__remove: "Remove member",
              tableHeader__actions: "Actions",
              tableHeader__joined: "Joined",
              tableHeader__role: "Role",
              tableHeader__user: "User"
            },
            alerts: {
              roleSetMigrationInProgress: {
                subtitle: "We are updating the available roles. Once that\u2019s done, you\u2019ll be able to update roles again.",
                title: "Roles are temporarily locked"
              }
            },
            detailsTitle__emptyRow: "No members to display",
            invitationsTab: {
              autoInvitations: {
                headerSubtitle: "Invite users by connecting an email domain with your organization. Anyone who signs up with a matching email domain will be able to join the organization anytime.",
                headerTitle: "Automatic invitations",
                primaryButton: "Manage verified domains"
              },
              table__emptyRow: "No invitations to display"
            },
            invitedMembersTab: {
              menuAction__revoke: "Revoke invitation",
              tableHeader__invited: "Invited"
            },
            requestsTab: {
              autoSuggestions: {
                headerSubtitle: "Users who sign up with a matching email domain, will be able to see a suggestion to request to join your organization.",
                headerTitle: "Automatic suggestions",
                primaryButton: "Manage verified domains"
              },
              menuAction__approve: "Approve",
              menuAction__reject: "Reject",
              tableHeader__requested: "Requested access",
              table__emptyRow: "No requests to display"
            },
            start: {
              headerTitle__invitations: "Invitations",
              headerTitle__members: "Members",
              headerTitle__requests: "Requests"
            }
          },
          navbar: {
            apiKeys: "API keys",
            billing: "Billing",
            description: "Manage your organization.",
            general: "General",
            members: "Members",
            title: "Organization"
          },
          plansPage: {
            alerts: {
              noPermissionsToManageBilling: "You do not have permissions to manage billing for this organization.",
              planMembershipLimitExceeded: "Your organization has {{count}} members (including pending invitations). This plan only allows {{limit}} members."
            },
            title: "Plans"
          },
          profilePage: {
            dangerSection: {
              deleteOrganization: {
                actionDescription: 'Type "{{organizationName}}" below to continue.',
                messageLine1: "Are you sure you want to delete this organization?",
                messageLine2: "This action is permanent and irreversible.",
                successMessage: "You have deleted the organization.",
                title: "Delete organization"
              },
              leaveOrganization: {
                actionDescription: 'Type "{{organizationName}}" below to continue.',
                messageLine1: "Are you sure you want to leave this organization? You will lose access to this organization and its applications.",
                messageLine2: "This action is permanent and irreversible.",
                successMessage: "You have left the organization.",
                title: "Leave organization"
              },
              title: "Danger"
            },
            domainSection: {
              menuAction__manage: "Manage",
              menuAction__remove: "Delete",
              menuAction__verify: "Verify",
              primaryButton: "Add domain",
              subtitle: "Allow users to join the organization automatically or request to join based on a verified email domain.",
              title: "Verified domains"
            },
            successMessage: "The organization has been updated.",
            title: "Update profile"
          },
          removeDomainPage: {
            messageLine1: "The email domain {{domain}} will be removed.",
            messageLine2: "Users won\u2019t be able to join the organization automatically after this.",
            successMessage: "{{domain}} has been removed.",
            title: "Remove domain"
          },
          start: {
            headerTitle__general: "General",
            headerTitle__members: "Members",
            membershipSeatUsageLabel: "{{count}} of {{limit}} seats used",
            profileSection: {
              primaryButton: "Update profile",
              title: "Organization Profile",
              uploadAction__title: "Logo"
            }
          },
          verifiedDomainPage: {
            dangerTab: {
              calloutInfoLabel: "Removing this domain will affect invited users.",
              removeDomainActionLabel__remove: "Remove domain",
              removeDomainSubtitle: "Remove this domain from your verified domains",
              removeDomainTitle: "Remove domain"
            },
            enrollmentTab: {
              automaticInvitationOption__description: "Users are automatically invited to join the organization when they sign-up and can join anytime.",
              automaticInvitationOption__label: "Automatic invitations",
              automaticSuggestionOption__description: "Users receive a suggestion to request to join, but must be approved by an admin before they are able to join the organization.",
              automaticSuggestionOption__label: "Automatic suggestions",
              calloutInfoLabel: "Changing the enrollment mode will only affect new users.",
              calloutInvitationCountLabel: "Pending invitations sent to users: {{count}}",
              calloutSuggestionCountLabel: "Pending suggestions sent to users: {{count}}",
              manualInvitationOption__description: "Users can only be invited manually to the organization.",
              manualInvitationOption__label: "No automatic enrollment",
              subtitle: "Choose how users from this domain can join the organization."
            },
            start: {
              headerTitle__danger: "Danger",
              headerTitle__enrollment: "Enrollment options"
            },
            subtitle: "The domain {{domain}} is now verified. Continue by selecting enrollment mode.",
            title: "Update {{domain}}"
          },
          verifyDomainPage: {
            formSubtitle: "Enter the verification code sent to your email address",
            formTitle: "Verification code",
            resendButton: "Didn't receive a code? Resend",
            subtitle: "The domain {{domainName}} needs to be verified via email.",
            subtitleVerificationCodeScreen: "A verification code was sent to {{emailAddress}}. Enter the code to continue.",
            title: "Verify domain"
          }
        },
        organizationSwitcher: {
          action__closeOrganizationSwitcher: "Close organization switcher",
          action__createOrganization: "Create organization",
          action__invitationAccept: "Join",
          action__manageOrganization: "Manage",
          action__openOrganizationSwitcher: "Open organization switcher",
          action__suggestionsAccept: "Request to join",
          notSelected: "No organization selected",
          personalWorkspace: "Personal account",
          suggestionsAcceptedLabel: "Pending approval"
        },
        paginationButton__next: "Next",
        paginationButton__previous: "Previous",
        paginationRowText__displaying: "Displaying",
        paginationRowText__of: "of",
        reverification: {
          alternativeMethods: {
            actionLink: "Get help",
            actionText: "Don\u2019t have any of these?",
            blockButton__backupCode: "Use a backup code",
            blockButton__emailCode: "Email code to {{identifier}}",
            blockButton__passkey: "Use your passkey",
            blockButton__password: "Continue with your password",
            blockButton__phoneCode: "Send SMS code to {{identifier}}",
            blockButton__totp: "Use your authenticator app",
            getHelp: {
              blockButton__emailSupport: "Email support",
              content: "If you have trouble verifying your account, email us and we will work with you to restore access as soon as possible.",
              title: "Get help"
            },
            subtitle: "Facing issues? You can use any of these methods for verification.",
            title: "Use another method"
          },
          backupCodeMfa: {
            subtitle: "Enter the backup code you received when setting up two-step authentication",
            title: "Enter a backup code"
          },
          emailCode: {
            formTitle: "Verification code",
            resendButton: "Didn't receive a code? Resend",
            subtitle: "Enter the code sent to your email to continue",
            title: "Verification required"
          },
          noAvailableMethods: {
            message: "Cannot proceed with verification. No suitable authentication factor is configured",
            subtitle: "An error occurred",
            title: "Cannot verify your account"
          },
          passkey: {
            blockButton__passkey: "Use your passkey",
            subtitle: "Using your passkey confirms your identity. Your device may ask for your fingerprint, face, or screen lock.",
            title: "Use your passkey"
          },
          password: {
            actionLink: "Use another method",
            subtitle: "Enter your current password to continue",
            title: "Verification required"
          },
          phoneCode: {
            formTitle: "Verification code",
            resendButton: "Didn't receive a code? Resend",
            subtitle: "Enter the code sent to your phone to continue",
            title: "Verification required"
          },
          phoneCodeMfa: {
            formTitle: "Verification code",
            resendButton: "Didn't receive a code? Resend",
            subtitle: "Enter the code sent to your phone to continue",
            title: "Verification required"
          },
          totpMfa: {
            formTitle: "Verification code",
            subtitle: "Enter the code generated by your authenticator app to continue",
            title: "Verification required"
          }
        },
        signIn: {
          accountSwitcher: {
            action__addAccount: "Add account",
            action__signOutAll: "Sign out of all accounts",
            subtitle: "Select the account with which you wish to continue.",
            title: "Choose an account"
          },
          alternativeMethods: {
            actionLink: "Get help",
            actionText: "Don\u2019t have any of these?",
            blockButton__backupCode: "Use a backup code",
            blockButton__emailCode: "Email code to {{identifier}}",
            blockButton__emailLink: "Email link to {{identifier}}",
            blockButton__passkey: "Sign in with your passkey",
            blockButton__password: "Sign in with your password",
            blockButton__phoneCode: "Send SMS code to {{identifier}}",
            blockButton__totp: "Use your authenticator app",
            getHelp: {
              blockButton__emailSupport: "Email support",
              content: "If you have trouble signing into your account, email us and we will work with you to restore access as soon as possible.",
              title: "Get help"
            },
            subtitle: "Facing issues? You can use any of these methods to sign in.",
            title: "Use another method"
          },
          alternativePhoneCodeProvider: {
            formTitle: "Verification code",
            resendButton: "Didn't receive a code? Resend",
            subtitle: "to continue to {{applicationName}}",
            title: "Check your {{provider}}"
          },
          backupCodeMfa: {
            subtitle: "Your backup code is the one you got when setting up two-step authentication.",
            title: "Enter a backup code"
          },
          emailCode: {
            formTitle: "Verification code",
            resendButton: "Didn't receive a code? Resend",
            subtitle: "to continue to {{applicationName}}",
            title: "Check your email"
          },
          emailCodeMfa: {
            formTitle: "Check your email",
            resendButton: "Didn't receive a code? Resend",
            subtitle: "to continue to {{applicationName}}",
            title: "Check your email"
          },
          emailLink: {
            clientMismatch: {
              subtitle: "To continue, open the verification link on the device and browser from which you initiated the sign-in",
              title: "Verification link is invalid for this device"
            },
            expired: {
              subtitle: "Return to the original tab to continue.",
              title: "This verification link has expired"
            },
            failed: {
              subtitle: "Return to the original tab to continue.",
              title: "This verification link is invalid"
            },
            formSubtitle: "Use the verification link sent to your email",
            formTitle: "Verification link",
            loading: {
              subtitle: "You will be redirected soon",
              title: "Signing in..."
            },
            resendButton: "Didn't receive a link? Resend",
            subtitle: "to continue to {{applicationName}}",
            title: "Check your email",
            unusedTab: {
              title: "You may close this tab"
            },
            verified: {
              subtitle: "You will be redirected soon",
              title: "Successfully signed in"
            },
            verifiedSwitchTab: {
              subtitle: "Return to original tab to continue",
              subtitleNewTab: "Return to the newly opened tab to continue",
              titleNewTab: "Signed in on other tab"
            }
          },
          emailLinkMfa: {
            formSubtitle: "Use the verification link sent to your email",
            resendButton: "Didn't receive a link? Resend",
            subtitle: "to continue to {{applicationName}}",
            title: "Check your email"
          },
          enterpriseConnections: {
            subtitle: "Select the enterprise account with which you wish to continue.",
            title: "Choose your enterprise account"
          },
          forgotPassword: {
            formTitle: "Reset password code",
            resendButton: "Didn't receive a code? Resend",
            subtitle: "to reset your password",
            subtitle_email: "First, enter the code sent to your email address",
            subtitle_phone: "First, enter the code sent to your phone",
            title: "Reset password"
          },
          forgotPasswordAlternativeMethods: {
            blockButton__resetPassword: "Reset your password",
            label__alternativeMethods: "Or, sign in with another method",
            title: "Forgot Password?"
          },
          newDeviceVerificationNotice: "You're signing in from a new device. We're asking for verification to keep your account secure.",
          noAvailableMethods: {
            message: "Cannot proceed with sign in. There's no available authentication factor.",
            subtitle: "An error occurred",
            title: "Cannot sign in"
          },
          passkey: {
            subtitle: "Using your passkey confirms it's you. Your device may ask for your fingerprint, face or screen lock.",
            title: "Use your passkey"
          },
          password: {
            actionLink: "Use another method",
            subtitle: "Enter the password associated with your account",
            title: "Enter your password"
          },
          passwordCompromised: {
            title: "Password compromised"
          },
          passwordPwned: {
            title: "Password compromised"
          },
          passwordUntrusted: {
            title: "Password untrusted"
          },
          phoneCode: {
            formTitle: "Verification code",
            resendButton: "Didn't receive a code? Resend",
            subtitle: "to continue to {{applicationName}}",
            title: "Check your phone"
          },
          phoneCodeMfa: {
            formTitle: "Verification code",
            resendButton: "Didn't receive a code? Resend",
            subtitle: "To continue, please enter the verification code sent to your phone",
            title: "Check your phone"
          },
          resetPassword: {
            formButtonPrimary: "Reset Password",
            requiredMessage: "For security reasons, it is required to reset your password.",
            successMessage: "Your password was successfully changed. Signing you in, please wait a moment.",
            title: "Set new password"
          },
          resetPasswordMfa: {
            detailsLabel: "We need to verify your identity before resetting your password."
          },
          start: {
            actionLink: "Sign up",
            actionLink__join_waitlist: "Join waitlist",
            actionLink__use_email: "Use email",
            actionLink__use_email_username: "Use email or username",
            actionLink__use_passkey: "Use passkey instead",
            actionLink__use_phone: "Use phone",
            actionLink__use_username: "Use username",
            actionText: "Don\u2019t have an account?",
            actionText__join_waitlist: "Want early access?",
            alternativePhoneCodeProvider: {
              actionLink: "Use another method",
              label: "{{provider}} phone number",
              subtitle: "Enter your phone number to get a verification code on {{provider}}.",
              title: "Sign in to {{applicationName}} with {{provider}}"
            },
            subtitle: "Welcome back! Please sign in to continue",
            subtitleCombined: void 0,
            title: "Sign in to {{applicationName}}",
            titleCombined: "Continue to {{applicationName}}"
          },
          totpMfa: {
            formTitle: "Verification code",
            subtitle: "To continue, please enter the verification code generated by your authenticator app",
            title: "Two-step verification"
          },
          web3Solana: {
            subtitle: "Select a wallet below to sign in",
            title: "Sign in with Solana"
          }
        },
        signInEnterPasswordTitle: "Enter your password",
        signUp: {
          alternativePhoneCodeProvider: {
            resendButton: "Didn't receive a code? Resend",
            subtitle: "Enter the verification code sent to your {{provider}}",
            title: "Verify your {{provider}}"
          },
          continue: {
            actionLink: "Sign in",
            actionText: "Already have an account?",
            subtitle: "Please fill in the remaining details to continue.",
            title: "Fill in missing fields"
          },
          emailCode: {
            formSubtitle: "Enter the verification code sent to your email address",
            formTitle: "Verification code",
            resendButton: "Didn't receive a code? Resend",
            subtitle: "Enter the verification code sent to your email",
            title: "Verify your email"
          },
          emailLink: {
            clientMismatch: {
              subtitle: "To continue, open the verification link on the device and browser from which you initiated the sign-up",
              title: "Verification link is invalid for this device"
            },
            formSubtitle: "Use the verification link sent to your email address",
            formTitle: "Verification link",
            loading: {
              title: "Signing up..."
            },
            resendButton: "Didn't receive a link? Resend",
            subtitle: "to continue to {{applicationName}}",
            title: "Verify your email",
            verified: {
              title: "Successfully signed up"
            },
            verifiedSwitchTab: {
              subtitle: "Return to the newly opened tab to continue",
              subtitleNewTab: "Return to previous tab to continue",
              title: "Successfully verified email"
            }
          },
          enterpriseConnections: {
            subtitle: "Select the enterprise account with which you wish to continue.",
            title: "Choose your enterprise account"
          },
          legalConsent: {
            checkbox: {
              label__onlyPrivacyPolicy: 'I agree to the {{ privacyPolicyLink || link("Privacy Policy") }}',
              label__onlyTermsOfService: 'I agree to the {{ termsOfServiceLink || link("Terms of Service") }}',
              label__termsOfServiceAndPrivacyPolicy: 'I agree to the {{ termsOfServiceLink || link("Terms of Service") }} and {{ privacyPolicyLink || link("Privacy Policy") }}'
            },
            continue: {
              subtitle: "Please read and accept the terms to continue",
              title: "Legal consent"
            }
          },
          phoneCode: {
            formSubtitle: "Enter the verification code sent to your phone number",
            formTitle: "Verification code",
            resendButton: "Didn't receive a code? Resend",
            subtitle: "Enter the verification code sent to your phone",
            title: "Verify your phone"
          },
          restrictedAccess: {
            actionLink: "Sign in",
            actionText: "Already have an account?",
            blockButton__emailSupport: "Email support",
            blockButton__joinWaitlist: "Join waitlist",
            subtitle: "Sign ups are currently disabled. If you believe you should have access, please contact support.",
            subtitleWaitlist: "Sign ups are currently disabled. To be the first to know when we launch, join the waitlist.",
            title: "Access restricted"
          },
          start: {
            actionLink: "Sign in",
            actionLink__use_email: "Use email instead",
            actionLink__use_phone: "Use phone instead",
            actionText: "Already have an account?",
            alternativePhoneCodeProvider: {
              actionLink: "Use another method",
              label: "{{provider}} phone number",
              subtitle: "Enter your phone number to get a verification code on {{provider}}.",
              title: "Sign up to {{applicationName}} with {{provider}}"
            },
            subtitle: "Welcome! Please fill in the details to get started.",
            subtitleCombined: "Welcome! Please fill in the details to get started.",
            title: "Create your account",
            titleCombined: "Create your account"
          },
          web3Solana: {
            subtitle: "Select a wallet below to sign up",
            title: "Sign up with Solana"
          }
        },
        socialButtonsBlockButton: "Continue with {{provider|titleize}}",
        socialButtonsBlockButtonManyInView: "{{provider|titleize}}",
        taskChooseOrganization: {
          alerts: {
            organizationAlreadyExists: "An organization already exists for the detected company name ({{organizationName}}) and {{organizationDomain}}. Join by invitation."
          },
          chooseOrganization: {
            action__createOrganization: "Create new organization",
            action__invitationAccept: "Join",
            action__suggestionsAccept: "Request to join",
            subtitle: "Join an existing organization or create a new one",
            subtitle__createOrganizationDisabled: "Join an existing organization",
            suggestionsAcceptedLabel: "Pending approval",
            title: "Choose an organization"
          },
          createOrganization: {
            formButtonReset: "Cancel",
            formButtonSubmit: "Continue",
            formFieldInputPlaceholder__name: "My Organization",
            formFieldInputPlaceholder__slug: "my-organization",
            formFieldLabel__name: "Name",
            formFieldLabel__slug: "Slug",
            subtitle: "Enter your organization details to continue",
            title: "Setup your organization"
          },
          organizationCreationDisabled: {
            subtitle: "Contact your organization admin for an invitation.",
            title: "You must belong to an organization"
          },
          signOut: {
            actionLink: "Sign out",
            actionText: "Signed in as {{identifier}}"
          }
        },
        taskResetPassword: {
          formButtonPrimary: "Reset Password",
          signOut: {
            actionLink: "Sign out",
            actionText: "Signed in as {{identifier}}"
          },
          subtitle: "Your account requires a new password before you can continue",
          title: "Reset your password"
        },
        taskSetupMfa: {
          badge: "Two-step verification setup",
          signOut: {
            actionLink: "Sign out",
            actionText: "Signed in as {{identifier}}"
          },
          smsCode: {
            addPhone: {
              formButtonPrimary: "Continue",
              infoText: "A text message containing a verification code will be sent to this phone number. Message and data rates may apply."
            },
            addPhoneNumber: "Add phone number",
            cancel: "Cancel",
            subtitle: "Choose phone number you want to use for SMS code two-step verification",
            success: {
              finishButton: "Continue",
              message1: "Two-step verification is now enabled. When signing in, you will need to enter a verification code sent to this phone number as an additional step.",
              message2: "Save these backup codes and store them somewhere safe. If you lose access to your authentication device, you can use backup codes to sign in.",
              title: "SMS code verification enabled"
            },
            title: "Add SMS code verification",
            verifyPhone: {
              formButtonPrimary: "Continue",
              formTitle: "Verification code",
              resendButton: "Didn't receive a code? Resend",
              subtitle: "Enter the verification code sent to",
              title: "Verify your phone number"
            }
          },
          start: {
            methodSelection: {
              phoneCode: "SMS code",
              totp: "Authenticator application"
            },
            subtitle: "Choose which method you prefer to protect your account with an extra layer of security",
            title: "Set up two-step verification"
          },
          totpCode: {
            addAuthenticatorApp: {
              buttonAbleToScan__nonPrimary: "Scan QR code instead",
              buttonUnableToScan__nonPrimary: "Can't scan QR code?",
              formButtonPrimary: "Continue",
              formButtonReset: "Cancel",
              infoText__ableToScan: "Set up a new sign-in method in your authenticator app and scan the following QR code to link it to your account.",
              infoText__unableToScan: "Set up a new sign-in method in your authenticator and enter the Key provided below.",
              inputLabel__unableToScan1: "Make sure Time-based or One-time passwords is enabled, then finish linking your account."
            },
            success: {
              finishButton: "Continue",
              message1: "Two-step verification is now enabled. When signing in, you will need to enter a verification code from this authenticator as an additional step.",
              message2: "Save these backup codes and store them somewhere safe. If you lose access to your authentication device, you can use backup codes to sign in.",
              title: "Authenticator application verification enabled"
            },
            title: "Add authenticator application",
            verifyTotp: {
              formButtonPrimary: "Continue",
              formButtonReset: "Cancel",
              formTitle: "Verification code",
              subtitle: "Enter verification code generated by your authenticator",
              title: "Add authenticator application"
            }
          }
        },
        unstable__errors: {
          already_a_member_in_organization: "{{email}} is already a member of the organization.",
          api_key_name_already_exists: "API Key name already exists.",
          api_key_usage_exceeded: "You have reached your usage limit. You can remove the limit by upgrading to a paid plan.",
          avatar_file_size_exceeded: "File size exceeds the maximum limit of 10MB. Please choose a smaller file.",
          avatar_file_type_invalid: "File type not supported. Please upload a JPG, PNG, GIF, or WEBP image.",
          captcha_invalid: void 0,
          captcha_unavailable: "Sign up unsuccessful due to failed bot validation. Please refresh the page to try again or reach out to support for more assistance.",
          form_code_incorrect: void 0,
          form_email_address_blocked: void 0,
          form_identifier_exists__email_address: void 0,
          form_identifier_exists__phone_number: void 0,
          form_identifier_exists__username: void 0,
          form_identifier_not_found: void 0,
          form_new_password_matches_current: "New password cannot be the same as the current password.",
          form_param_format_invalid: void 0,
          form_param_format_invalid__email_address: void 0,
          form_param_format_invalid__phone_number: void 0,
          form_param_max_length_exceeded__first_name: void 0,
          form_param_max_length_exceeded__last_name: void 0,
          form_param_max_length_exceeded__name: void 0,
          form_param_nil: void 0,
          form_param_type_invalid: void 0,
          form_param_type_invalid__email_address: void 0,
          form_param_type_invalid__phone_number: void 0,
          form_param_value_invalid: void 0,
          form_password_compromised__sign_in: void 0,
          form_password_incorrect: void 0,
          form_password_length_too_short: "Your password is too short. It must be at least 8 characters long.",
          form_password_not_strong_enough: "Your password is not strong enough.",
          form_password_or_identifier_incorrect: void 0,
          form_password_pwned: "This password has been found as part of a breach and can not be used, please try another password instead.",
          form_password_pwned__sign_in: "This password has been found as part of a breach and can not be used, please reset your password.",
          form_password_size_in_bytes_exceeded: void 0,
          form_password_untrusted__sign_in: "Your password may be compromised. To protect your account, please continue with an alternative sign-in method. You will be required to reset your password after signing in.",
          form_password_validation_failed: void 0,
          form_username_invalid_character: void 0,
          form_username_invalid_length: "Your username must be between {{min_length}} and {{max_length}} characters long.",
          form_username_needs_non_number_char: "Your username must contain at least one non-numeric character.",
          identification_deletion_failed: void 0,
          not_allowed_access: void 0,
          organization_domain_blocked: void 0,
          organization_domain_common: void 0,
          organization_domain_exists_for_enterprise_connection: void 0,
          organization_membership_quota_exceeded: "You have reached your limit of organization memberships, including outstanding invitations.",
          organization_minimum_permissions_needed: void 0,
          organization_not_found_or_unauthorized: "You are no longer a member of this organization. Please choose or create another one.",
          organization_not_found_or_unauthorized_with_create_organization_disabled: "You are no longer a member of this organization. Please choose another one.",
          passkey_already_exists: "A passkey is already registered with this device.",
          passkey_not_supported: "Passkeys are not supported on this device.",
          passkey_pa_not_supported: "Registration requires a platform authenticator but the device does not support it.",
          passkey_registration_cancelled: "Passkey registration was cancelled or timed out.",
          passkey_retrieval_cancelled: "Passkey verification was cancelled or timed out.",
          passwordComplexity: {
            maximumLength: "less than {{length}} characters",
            minimumLength: "{{length}} or more characters",
            requireLowercase: "a lowercase letter",
            requireNumbers: "a number",
            requireSpecialCharacter: "a special character",
            requireUppercase: "an uppercase letter",
            sentencePrefix: "Your password must contain"
          },
          phone_number_exists: void 0,
          session_exists: void 0,
          web3_missing_identifier: "A Web3 Wallet extension cannot be found. Please install one to continue.",
          web3_signature_request_rejected: "You have rejected the signature request. Please try again to continue.",
          web3_solana_signature_generation_failed: "An error occurred while generating the signature. Please try again to continue.",
          zxcvbn: {
            couldBeStronger: "Your password works, but could be stronger. Try adding more characters.",
            goodPassword: "Your password meets all the necessary requirements.",
            notEnough: "Your password is not strong enough.",
            suggestions: {
              allUppercase: "Capitalize some, but not all letters.",
              anotherWord: "Add more words that are less common.",
              associatedYears: "Avoid years that are associated with you.",
              capitalization: "Capitalize more than the first letter.",
              dates: "Avoid dates and years that are associated with you.",
              l33t: "Avoid predictable letter substitutions like '@' for 'a'.",
              longerKeyboardPattern: "Use longer keyboard patterns and change typing direction multiple times.",
              noNeed: "You can create strong passwords without using symbols, numbers, or uppercase letters.",
              pwned: "If you use this password elsewhere, you should change it.",
              recentYears: "Avoid recent years.",
              repeated: "Avoid repeated words and characters.",
              reverseWords: "Avoid reversed spellings of common words.",
              sequences: "Avoid common character sequences.",
              useWords: "Use multiple words, but avoid common phrases."
            },
            warnings: {
              common: "This is a commonly used password.",
              commonNames: "Common names and surnames are easy to guess.",
              dates: "Dates are easy to guess.",
              extendedRepeat: 'Repeated character patterns like "abcabcabc" are easy to guess.',
              keyPattern: "Short keyboard patterns are easy to guess.",
              namesByThemselves: "Single names or surnames are easy to guess.",
              pwned: "Your password was exposed by a data breach on the Internet.",
              recentYears: "Recent years are easy to guess.",
              sequences: 'Common character sequences like "abc" are easy to guess.',
              similarToCommon: "This is similar to a commonly used password.",
              simpleRepeat: 'Repeated characters like "aaa" are easy to guess.',
              straightRow: "Straight rows of keys on your keyboard are easy to guess.",
              topHundred: "This is a frequently used password.",
              topTen: "This is a heavily used password.",
              userInputs: "There should not be any personal or page related data.",
              wordByItself: "Single words are easy to guess."
            }
          }
        },
        userButton: {
          action__addAccount: "Add account",
          action__closeUserMenu: "Close user menu",
          action__manageAccount: "Manage account",
          action__openUserMenu: "Open user menu",
          action__signOut: "Sign out",
          action__signOutAll: "Sign out of all accounts"
        },
        userProfile: {
          apiKeysPage: {
            title: "API keys"
          },
          backupCodePage: {
            actionLabel__copied: "Copied!",
            actionLabel__copy: "Copy all",
            actionLabel__download: "Download .txt",
            actionLabel__print: "Print",
            infoText1: "Backup codes will be enabled for this account.",
            infoText2: "Keep the backup codes secret and store them securely. You may regenerate backup codes if you suspect they have been compromised.",
            subtitle__codelist: "Store them securely and keep them secret.",
            successMessage: "Backup codes are now enabled. You can use one of these to sign in to your account, if you lose access to your authentication device. Each code can only be used once.",
            successSubtitle: "You can use one of these to sign in to your account, if you lose access to your authentication device.",
            title: "Add backup code verification",
            title__codelist: "Backup codes"
          },
          billingPage: {
            paymentHistorySection: {
              empty: "No payment history",
              notFound: "Payment attempt not found",
              tableHeader__amount: "Amount",
              tableHeader__date: "Date",
              tableHeader__status: "Status"
            },
            paymentMethodsSection: {
              actionLabel__default: "Make default",
              actionLabel__remove: "Remove",
              add: "Add new payment method",
              addSubtitle: "Add a new payment method to your account.",
              cancelButton: "Cancel",
              formButtonPrimary__add: "Add Payment Method",
              formButtonPrimary__pay: "Pay {{amount}}",
              payWithTestCardButton: "Pay with test card",
              removeMethod: {
                messageLine1: "{{identifier}} will be removed from this account.",
                messageLine2: "You will no longer be able to use this payment source and any recurring subscriptions dependent on it will no longer work.",
                successMessage: "{{paymentMethod}} has been removed from your account.",
                title: "Remove payment method"
              },
              title: "Payment methods"
            },
            start: {
              headerTitle__payments: "Payments",
              headerTitle__plans: "Plans",
              headerTitle__statements: "Statements",
              headerTitle__subscriptions: "Subscription"
            },
            statementsSection: {
              empty: "No statements to display",
              itemCaption__paidForPlan: "Paid for {{plan}} {{period}} plan",
              itemCaption__proratedCredit: "Prorated credit for partial usage of previous subscription",
              itemCaption__payerCredit: "Credit from account balance",
              itemCaption__subscribedAndPaidForPlan: "Subscribed and paid for {{plan}} {{period}} plan",
              notFound: "Statement not found",
              tableHeader__amount: "Amount",
              tableHeader__date: "Date",
              title: "Statements",
              totalPaid: "Total paid"
            },
            subscriptionsListSection: {
              actionLabel__manageSubscription: "Manage",
              actionLabel__newSubscription: "Subscribe to a plan",
              actionLabel__switchPlan: "Switch plans",
              tableHeader__edit: "Edit",
              tableHeader__plan: "Plan",
              tableHeader__startDate: "Start date",
              title: "Subscription"
            },
            subscriptionsSection: {
              actionLabel__default: "Manage"
            },
            switchPlansSection: {
              title: "Switch plans"
            },
            title: "Billing"
          },
          connectedAccountPage: {
            formHint: "Select a provider to connect your account.",
            formHint__noAccounts: "There are no available external account providers.",
            removeResource: {
              messageLine1: "{{identifier}} will be removed from this account.",
              messageLine2: "You will no longer be able to use this connected account and any dependent features will no longer work.",
              successMessage: "{{connectedAccount}} has been removed from your account.",
              title: "Remove connected account"
            },
            socialButtonsBlockButton: "{{provider|titleize}}",
            successMessage: "The provider has been added to your account",
            title: "Add connected account"
          },
          deletePage: {
            actionDescription: 'Type "Delete account" below to continue.',
            confirm: "Delete account",
            messageLine1: "Are you sure you want to delete your account? Some associated data may be retained. To request full data deletion, please contact support.",
            messageLine2: "This action is permanent and irreversible.",
            title: "Delete account"
          },
          emailAddressPage: {
            emailCode: {
              formHint: "An email containing a verification code will be sent to this email address.",
              formSubtitle: "Enter the verification code sent to {{identifier}}",
              formTitle: "Verification code",
              resendButton: "Didn't receive a code? Resend",
              successMessage: "The email {{identifier}} has been added to your account."
            },
            emailLink: {
              formHint: "An email containing a verification link will be sent to this email address.",
              formSubtitle: "Click on the verification link in the email sent to {{identifier}}",
              formTitle: "Verification link",
              resendButton: "Didn't receive a link? Resend",
              successMessage: "The email {{identifier}} has been added to your account."
            },
            enterpriseSSOLink: {
              formButton: "Click to sign-in",
              formSubtitle: "Complete the sign-in with {{identifier}}"
            },
            formHint: "You'll need to verify this email address before it can be added to your account.",
            removeResource: {
              messageLine1: "{{identifier}} will be removed from this account.",
              messageLine2: "You will no longer be able to sign in using this email address.",
              successMessage: "{{emailAddress}} has been removed from your account.",
              title: "Remove email address"
            },
            title: "Add email address",
            verifyTitle: "Verify email address"
          },
          formButtonPrimary__add: "Add",
          formButtonPrimary__continue: "Continue",
          formButtonPrimary__finish: "Finish",
          formButtonPrimary__remove: "Remove",
          formButtonPrimary__save: "Save",
          formButtonReset: "Cancel",
          mfaPage: {
            formHint: "Select a method to add.",
            title: "Add two-step verification"
          },
          mfaPhoneCodePage: {
            backButton: "Use existing number",
            primaryButton__addPhoneNumber: "Add phone number",
            removeResource: {
              messageLine1: "{{identifier}} will be no longer receiving verification codes when signing in.",
              messageLine2: "Your account may not be as secure. Are you sure you want to continue?",
              successMessage: "SMS code two-step verification has been removed for {{mfaPhoneCode}}",
              title: "Remove two-step verification"
            },
            subtitle__availablePhoneNumbers: "Select an existing phone number to register for SMS code two-step verification or add a new one.",
            subtitle__unavailablePhoneNumbers: "There are no available phone numbers to register for SMS code two-step verification, please add a new one.",
            successMessage1: "When signing in, you will need to enter a verification code sent to this phone number as an additional step.",
            successMessage2: "Save these backup codes and store them somewhere safe. If you lose access to your authentication device, you can use backup codes to sign in.",
            successTitle: "SMS code verification enabled",
            title: "Add SMS code verification"
          },
          mfaTOTPPage: {
            authenticatorApp: {
              buttonAbleToScan__nonPrimary: "Scan QR code instead",
              buttonUnableToScan__nonPrimary: "Can\u2019t scan QR code?",
              infoText__ableToScan: "Set up a new sign-in method in your authenticator app and scan the following QR code to link it to your account.",
              infoText__unableToScan: "Set up a new sign-in method in your authenticator and enter the Key provided below.",
              inputLabel__unableToScan1: "Make sure Time-based or One-time passwords is enabled, then finish linking your account.",
              inputLabel__unableToScan2: "Alternatively, if your authenticator supports TOTP URIs, you can also copy the full URI."
            },
            removeResource: {
              messageLine1: "Verification codes from this authenticator will no longer be required when signing in.",
              messageLine2: "Your account may not be as secure. Are you sure you want to continue?",
              successMessage: "Two-step verification via authenticator application has been removed.",
              title: "Remove two-step verification"
            },
            successMessage: "Two-step verification is now enabled. When signing in, you will need to enter a verification code from this authenticator as an additional step.",
            title: "Add authenticator application",
            verifySubtitle: "Enter verification code generated by your authenticator",
            verifyTitle: "Verification code"
          },
          mobileButton__menu: "Menu",
          navbar: {
            account: "Profile",
            apiKeys: "API keys",
            billing: "Billing",
            description: "Manage your account info.",
            security: "Security",
            title: "Account"
          },
          passkeyScreen: {
            removeResource: {
              messageLine1: "{{name}} will be removed from this account.",
              title: "Remove passkey"
            },
            subtitle__rename: "You can change the passkey name to make it easier to find.",
            title__rename: "Rename Passkey"
          },
          passwordPage: {
            checkboxInfoText__signOutOfOtherSessions: "It is recommended to sign out of all other devices which may have used your old password.",
            readonly: "Your password can currently not be edited because you can sign in only via the enterprise connection.",
            successMessage__set: "Your password has been set.",
            successMessage__signOutOfOtherSessions: "All other devices have been signed out.",
            successMessage__update: "Your password has been updated.",
            title__set: "Set password",
            title__update: "Update password"
          },
          phoneNumberPage: {
            infoText: "A text message containing a verification code will be sent to this phone number. Message and data rates may apply.",
            removeResource: {
              messageLine1: "{{identifier}} will be removed from this account.",
              messageLine2: "You will no longer be able to sign in using this phone number.",
              successMessage: "{{phoneNumber}} has been removed from your account.",
              title: "Remove phone number"
            },
            successMessage: "{{identifier}} has been added to your account.",
            title: "Add phone number",
            verifySubtitle: "Enter the verification code sent to {{identifier}}",
            verifyTitle: "Verify phone number"
          },
          plansPage: {
            title: "Plans"
          },
          profilePage: {
            fileDropAreaHint: "Recommended size 1:1, up to 10MB.",
            imageFormDestructiveActionSubtitle: "Remove",
            imageFormSubtitle: "Upload",
            imageFormTitle: "Profile image",
            readonly: "Your profile information has been provided by the enterprise connection and cannot be edited.",
            successMessage: "Your profile has been updated.",
            title: "Update profile"
          },
          start: {
            activeDevicesSection: {
              destructiveAction: "Sign out of device",
              title: "Active devices"
            },
            connectedAccountsSection: {
              actionLabel__connectionFailed: "Reconnect",
              actionLabel__reauthorize: "Authorize now",
              destructiveActionTitle: "Remove",
              primaryButton: "Connect account",
              subtitle__disconnected: "This account has been disconnected.",
              subtitle__reauthorize: "The required scopes have been updated, and you may be experiencing limited functionality. Please re-authorize this application to avoid any issues",
              title: "Connected accounts"
            },
            dangerSection: {
              deleteAccountButton: "Delete account",
              title: "Delete account"
            },
            emailAddressesSection: {
              destructiveAction: "Remove email",
              detailsAction__nonPrimary: "Set as primary",
              detailsAction__primary: "Complete verification",
              detailsAction__unverified: "Verify",
              primaryButton: "Add email address",
              title: "Email addresses"
            },
            enterpriseAccountsSection: {
              primaryButton: "Connect account",
              title: "Enterprise accounts"
            },
            headerTitle__account: "Profile details",
            headerTitle__security: "Security",
            mfaSection: {
              backupCodes: {
                actionLabel__regenerate: "Regenerate",
                headerTitle: "Backup codes",
                subtitle__regenerate: "Get a fresh set of secure backup codes. Prior backup codes will be deleted and cannot be used.",
                title__regenerate: "Regenerate backup codes"
              },
              phoneCode: {
                actionLabel__setDefault: "Set as default",
                destructiveActionLabel: "Remove"
              },
              primaryButton: "Add two-step verification",
              title: "Two-step verification",
              totp: {
                destructiveActionTitle: "Remove",
                headerTitle: "Authenticator application"
              }
            },
            passkeysSection: {
              menuAction__destructive: "Remove",
              menuAction__rename: "Rename",
              primaryButton: "Add a passkey",
              title: "Passkeys"
            },
            passwordSection: {
              primaryButton__setPassword: "Set password",
              primaryButton__updatePassword: "Update password",
              title: "Password"
            },
            phoneNumbersSection: {
              destructiveAction: "Remove phone number",
              detailsAction__nonPrimary: "Set as primary",
              detailsAction__primary: "Complete verification",
              detailsAction__unverified: "Verify phone number",
              primaryButton: "Add phone number",
              title: "Phone numbers"
            },
            profileSection: {
              primaryButton: "Update profile",
              title: "Profile"
            },
            usernameSection: {
              primaryButton__setUsername: "Set username",
              primaryButton__updateUsername: "Update username",
              title: "Username"
            },
            web3WalletsSection: {
              destructiveAction: "Remove wallet",
              detailsAction__nonPrimary: "Set as primary",
              primaryButton: "Connect wallet",
              title: "Web3 wallets",
              web3SelectSolanaWalletScreen: {
                subtitle: "Select a Solana wallet to connect to your account.",
                title: "Add a Solana wallet"
              }
            }
          },
          usernamePage: {
            successMessage: "Your username has been updated.",
            title__set: "Set username",
            title__update: "Update username"
          },
          web3WalletPage: {
            removeResource: {
              messageLine1: "{{identifier}} will be removed from this account.",
              messageLine2: "You will no longer be able to sign in using this web3 wallet.",
              successMessage: "{{web3Wallet}} has been removed from your account.",
              title: "Remove web3 wallet"
            },
            subtitle__availableWallets: "Select a web3 wallet to connect to your account.",
            subtitle__unavailableWallets: "There are no available web3 wallets.",
            successMessage: "The wallet has been added to your account.",
            title: "Add web3 wallet",
            web3WalletButtonsBlockButton: "{{provider|titleize}}"
          }
        },
        waitlist: {
          start: {
            actionLink: "Sign in",
            actionText: "Already have access?",
            formButton: "Join the waitlist",
            subtitle: "Enter your email address and we\u2019ll let you know when your spot is ready",
            title: "Join the waitlist"
          },
          success: {
            message: "You will be redirected soon...",
            subtitle: "We\u2019ll be in touch when your spot is ready",
            title: "Thanks for joining the waitlist!"
          }
        },
        web3SolanaWalletButtons: {
          connect: "Connect with {{walletName}}",
          continue: "Continue with {{walletName}}",
          noneAvailable: 'No Solana Web3 wallets detected. Please install a Web3 supported {{ solanaWalletsLink || link("wallet extension") }}.'
        }
      };
      pseudoCharacterMap = {
        a: "\xE5",
        b: "\u0180",
        c: "\xE7",
        d: "\xF0",
        e: "\xE9",
        f: "\u0192",
        g: "\u011F",
        h: "\u0127",
        i: "\xEF",
        j: "\u0135",
        k: "\u0137",
        l: "\u013E",
        m: "\u0271",
        n: "\xF1",
        o: "\xF8",
        p: "\xFE",
        q: "\u02A0",
        r: "\u0159",
        s: "\u0161",
        t: "\u0167",
        u: "\xFC",
        v: "\u1E7D",
        w: "\u0175",
        x: "\u1E8B",
        y: "\xFF",
        z: "\u017E"
      };
      pseudoCharacterMapWithUppercase = Object.fromEntries(
        Object.entries(pseudoCharacterMap).flatMap(([source, target2]) => [
          [source, target2],
          [source.toUpperCase(), target2.toLocaleUpperCase("en-US")]
        ])
      );
      tokenOrLetterPattern = /\{\{[^{}]*\}\}|\{[^{}]*\}|[a-zA-Z]/g;
      enXAFromEnUS = pseudoLocalizeValue(enUS);
      enXA = {
        ...enXAFromEnUS,
        locale: "en-XA"
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/localization/defaultEnglishResource.js
  var defaultResource;
  var init_defaultEnglishResource = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/localization/defaultEnglishResource.js"() {
      init_dist2();
      defaultResource = enUS;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/localization/parseLocalization.js
  var cache, prev2, parseLocalizationResource, useParsedLocalizationResource;
  var init_parseLocalization = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/localization/parseLocalization.js"() {
      init_OptionsContext();
      init_defaultEnglishResource();
      init_utils4();
      init_dist();
      parseLocalizationResource = (userDefined, base2) => {
        if (!cache || !!prev2 && prev2 !== userDefined && !dequal(userDefined, prev2)) {
          prev2 = userDefined;
          const res = {};
          fastDeepMergeAndReplace(base2, res);
          fastDeepMergeAndReplace(userDefined, res);
          cache = res;
          return cache;
        }
        return cache;
      };
      useParsedLocalizationResource = () => {
        const { localization } = useOptions();
        return parseLocalizationResource(localization || {}, defaultResource);
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/error.mjs
  var init_error = __esm({
    "node_modules/@clerk/shared/dist/runtime/error.mjs"() {
      init_clerkRuntimeError_DqAmLuLY();
      init_error_NXMTfCAv();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/localization/makeLocalizable.js
  var import_react28, makeLocalizable, useLocalizations, localizationKeyAttribute, localizedStringFromKey;
  var init_makeLocalizable = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/localization/makeLocalizable.js"() {
      init_OptionsContext();
      init_localizationKeys();
      init_readObjectPath();
      init_applyTokensToString();
      init_defaultEnglishResource();
      init_parseLocalization();
      init_error();
      import_react28 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      makeLocalizable = (Component) => {
        const localizableComponent = import_react28.default.forwardRef((props, ref) => {
          const parsedResource = useParsedLocalizationResource();
          const { localizationKey, ...restProps } = props;
          const globalTokens = useGlobalTokens();
          if (!localizationKey) return /* @__PURE__ */ jsx2(Component, {
            ...restProps,
            ref
          });
          if (typeof localizationKey === "string") return /* @__PURE__ */ jsx2(Component, {
            ...restProps,
            ref,
            children: localizationKey
          });
          return /* @__PURE__ */ jsx2(Component, {
            ...restProps,
            ref,
            "data-localization-key": localizationKeyAttribute(localizationKey),
            children: localizedStringFromKey(localizationKey, parsedResource, globalTokens) || restProps.children
          });
        });
        localizableComponent.displayName = `Localizable${Component.displayName || Component.name || "Component"}`.replace("_", "");
        return localizableComponent;
      };
      useLocalizations = () => {
        const { localization } = useOptions();
        const parsedResource = useParsedLocalizationResource();
        const globalTokens = useGlobalTokens();
        const t2 = (localizationKey) => {
          if (!localizationKey || typeof localizationKey === "string") return localizationKey || "";
          return localizedStringFromKey(localizationKey, parsedResource, globalTokens);
        };
        const translateError = (error2) => {
          if (!error2 || typeof error2 === "string") return t2(error2);
          if (isClerkRuntimeError(error2)) return t2(localizationKeys(`unstable__errors.${error2.code}`)) || error2.message;
          const { code, message, longMessage, meta } = error2 || {};
          const { paramName = "" } = meta || {};
          if (!code) return "";
          return t2(localizationKeys(`unstable__errors.${code}__${paramName}`)) || t2(localizationKeys(`unstable__errors.${code}`)) || longMessage || message;
        };
        return {
          t: t2,
          translateError,
          locale: localization?.locale || defaultResource.locale
        };
      };
      localizationKeyAttribute = (localizationKey) => {
        return localizationKey.key;
      };
      localizedStringFromKey = (localizationKey, resource, globalTokens) => {
        const key = localizationKey.key;
        const base2 = readObjectPath(resource, key);
        const params = localizationKey.params;
        const tokens = {
          ...globalTokens,
          ...params
        };
        return applyTokensToString(base2 || "", tokens);
      };
    }
  });

  // node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
  function hasWindow() {
    return typeof window !== "undefined";
  }
  function getNodeName(node2) {
    if (isNode(node2)) {
      return (node2.nodeName || "").toLowerCase();
    }
    return "#document";
  }
  function getWindow(node2) {
    var _node$ownerDocument;
    return (node2 == null || (_node$ownerDocument = node2.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
  }
  function getDocumentElement(node2) {
    var _ref;
    return (_ref = (isNode(node2) ? node2.ownerDocument : node2.document) || window.document) == null ? void 0 : _ref.documentElement;
  }
  function isNode(value) {
    if (!hasWindow()) {
      return false;
    }
    return value instanceof Node || value instanceof getWindow(value).Node;
  }
  function isElement(value) {
    if (!hasWindow()) {
      return false;
    }
    return value instanceof Element || value instanceof getWindow(value).Element;
  }
  function isHTMLElement(value) {
    if (!hasWindow()) {
      return false;
    }
    return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
  }
  function isShadowRoot(value) {
    if (!hasWindow() || typeof ShadowRoot === "undefined") {
      return false;
    }
    return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
  }
  function isOverflowElement(element) {
    const {
      overflow,
      overflowX,
      overflowY,
      display
    } = getComputedStyle2(element);
    return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
  }
  function isTableElement(element) {
    return /^(table|td|th)$/.test(getNodeName(element));
  }
  function isTopLayer(element) {
    try {
      if (element.matches(":popover-open")) {
        return true;
      }
    } catch (_e) {
    }
    try {
      return element.matches(":modal");
    } catch (_e) {
      return false;
    }
  }
  function isContainingBlock(elementOrCss) {
    const css3 = isElement(elementOrCss) ? getComputedStyle2(elementOrCss) : elementOrCss;
    return isNotNone(css3.transform) || isNotNone(css3.translate) || isNotNone(css3.scale) || isNotNone(css3.rotate) || isNotNone(css3.perspective) || !isWebKit() && (isNotNone(css3.backdropFilter) || isNotNone(css3.filter)) || willChangeRe.test(css3.willChange || "") || containRe.test(css3.contain || "");
  }
  function getContainingBlock(element) {
    let currentNode = getParentNode(element);
    while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
      if (isContainingBlock(currentNode)) {
        return currentNode;
      } else if (isTopLayer(currentNode)) {
        return null;
      }
      currentNode = getParentNode(currentNode);
    }
    return null;
  }
  function isWebKit() {
    if (isWebKitValue == null) {
      isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
    }
    return isWebKitValue;
  }
  function isLastTraversableNode(node2) {
    return /^(html|body|#document)$/.test(getNodeName(node2));
  }
  function getComputedStyle2(element) {
    return getWindow(element).getComputedStyle(element);
  }
  function getNodeScroll(element) {
    if (isElement(element)) {
      return {
        scrollLeft: element.scrollLeft,
        scrollTop: element.scrollTop
      };
    }
    return {
      scrollLeft: element.scrollX,
      scrollTop: element.scrollY
    };
  }
  function getParentNode(node2) {
    if (getNodeName(node2) === "html") {
      return node2;
    }
    const result = (
      // Step into the shadow DOM of the parent of a slotted node.
      node2.assignedSlot || // DOM Element detected.
      node2.parentNode || // ShadowRoot detected.
      isShadowRoot(node2) && node2.host || // Fallback.
      getDocumentElement(node2)
    );
    return isShadowRoot(result) ? result.host : result;
  }
  function getNearestOverflowAncestor(node2) {
    const parentNode = getParentNode(node2);
    if (isLastTraversableNode(parentNode)) {
      return node2.ownerDocument ? node2.ownerDocument.body : node2.body;
    }
    if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
      return parentNode;
    }
    return getNearestOverflowAncestor(parentNode);
  }
  function getOverflowAncestors(node2, list, traverseIframes) {
    var _node$ownerDocument2;
    if (list === void 0) {
      list = [];
    }
    if (traverseIframes === void 0) {
      traverseIframes = true;
    }
    const scrollableAncestor = getNearestOverflowAncestor(node2);
    const isBody = scrollableAncestor === ((_node$ownerDocument2 = node2.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
    const win = getWindow(scrollableAncestor);
    if (isBody) {
      const frameElement = getFrameElement(win);
      return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
    } else {
      return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
    }
  }
  function getFrameElement(win) {
    return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
  }
  var willChangeRe, containRe, isNotNone, isWebKitValue;
  var init_floating_ui_utils_dom = __esm({
    "node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs"() {
      willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
      containRe = /paint|layout|strict|content/;
      isNotNone = (value) => !!value && value !== "none";
    }
  });

  // node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
  function clamp2(start, value, end) {
    return max(start, min(value, end));
  }
  function evaluate(value, param) {
    return typeof value === "function" ? value(param) : value;
  }
  function getSide(placement) {
    return placement.split("-")[0];
  }
  function getAlignment(placement) {
    return placement.split("-")[1];
  }
  function getOppositeAxis(axis) {
    return axis === "x" ? "y" : "x";
  }
  function getAxisLength(axis) {
    return axis === "y" ? "height" : "width";
  }
  function getSideAxis(placement) {
    const firstChar = placement[0];
    return firstChar === "t" || firstChar === "b" ? "y" : "x";
  }
  function getAlignmentAxis(placement) {
    return getOppositeAxis(getSideAxis(placement));
  }
  function getAlignmentSides(placement, rects, rtl) {
    if (rtl === void 0) {
      rtl = false;
    }
    const alignment = getAlignment(placement);
    const alignmentAxis = getAlignmentAxis(placement);
    const length2 = getAxisLength(alignmentAxis);
    let mainAlignmentSide = alignmentAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top";
    if (rects.reference[length2] > rects.floating[length2]) {
      mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
    }
    return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];
  }
  function getExpandedPlacements(placement) {
    const oppositePlacement = getOppositePlacement(placement);
    return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
  }
  function getOppositeAlignmentPlacement(placement) {
    return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start");
  }
  function getSideList(side, isStart, rtl) {
    switch (side) {
      case "top":
      case "bottom":
        if (rtl) return isStart ? rlPlacement : lrPlacement;
        return isStart ? lrPlacement : rlPlacement;
      case "left":
      case "right":
        return isStart ? tbPlacement : btPlacement;
      default:
        return [];
    }
  }
  function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
    const alignment = getAlignment(placement);
    let list = getSideList(getSide(placement), direction === "start", rtl);
    if (alignment) {
      list = list.map((side) => side + "-" + alignment);
      if (flipAlignment) {
        list = list.concat(list.map(getOppositeAlignmentPlacement));
      }
    }
    return list;
  }
  function getOppositePlacement(placement) {
    const side = getSide(placement);
    return oppositeSideMap[side] + placement.slice(side.length);
  }
  function expandPaddingObject(padding) {
    return {
      top: 0,
      right: 0,
      bottom: 0,
      left: 0,
      ...padding
    };
  }
  function getPaddingObject(padding) {
    return typeof padding !== "number" ? expandPaddingObject(padding) : {
      top: padding,
      right: padding,
      bottom: padding,
      left: padding
    };
  }
  function rectToClientRect(rect) {
    const {
      x,
      y,
      width,
      height
    } = rect;
    return {
      width,
      height,
      top: y,
      left: x,
      right: x + width,
      bottom: y + height,
      x,
      y
    };
  }
  var min, max, round, floor, createCoords, oppositeSideMap, lrPlacement, rlPlacement, tbPlacement, btPlacement;
  var init_floating_ui_utils = __esm({
    "node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs"() {
      min = Math.min;
      max = Math.max;
      round = Math.round;
      floor = Math.floor;
      createCoords = (v) => ({
        x: v,
        y: v
      });
      oppositeSideMap = {
        left: "right",
        right: "left",
        bottom: "top",
        top: "bottom"
      };
      lrPlacement = ["left", "right"];
      rlPlacement = ["right", "left"];
      tbPlacement = ["top", "bottom"];
      btPlacement = ["bottom", "top"];
    }
  });

  // node_modules/tabbable/dist/index.esm.js
  var candidateSelectors, candidateSelector, NoElement, matches, getRootNode, _isInert, isContentEditable, getCandidates, _getCandidatesIteratively, hasTabIndex, getTabIndex, getSortOrderTabIndex, sortOrderedTabbables, isInput, isHiddenInput, isDetailsWithSummary, getCheckedRadio, isTabbableRadio, isRadio, isNonTabbableRadio, isNodeAttached, isZeroArea, isHidden, isDisabledFromFieldset, isNodeMatchingSelectorFocusable, isNodeMatchingSelectorTabbable, isShadowRootTabbable, _sortByOrder, tabbable, focusable, isTabbable;
  var init_index_esm = __esm({
    "node_modules/tabbable/dist/index.esm.js"() {
      candidateSelectors = ["input:not([inert]):not([inert] *)", "select:not([inert]):not([inert] *)", "textarea:not([inert]):not([inert] *)", "a[href]:not([inert]):not([inert] *)", "button:not([inert]):not([inert] *)", "[tabindex]:not(slot):not([inert]):not([inert] *)", "audio[controls]:not([inert]):not([inert] *)", "video[controls]:not([inert]):not([inert] *)", '[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)', "details>summary:first-of-type:not([inert]):not([inert] *)", "details:not([inert]):not([inert] *)"];
      candidateSelector = /* @__PURE__ */ candidateSelectors.join(",");
      NoElement = typeof Element === "undefined";
      matches = NoElement ? function() {
      } : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
      getRootNode = !NoElement && Element.prototype.getRootNode ? function(element) {
        var _element$getRootNode;
        return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element);
      } : function(element) {
        return element === null || element === void 0 ? void 0 : element.ownerDocument;
      };
      _isInert = function isInert(node2, lookUp) {
        var _node$getAttribute;
        if (lookUp === void 0) {
          lookUp = true;
        }
        var inertAtt = node2 === null || node2 === void 0 ? void 0 : (_node$getAttribute = node2.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node2, "inert");
        var inert = inertAtt === "" || inertAtt === "true";
        var result = inert || lookUp && node2 && // closest does not exist on shadow roots, so we fall back to a manual
        // lookup upward, in case it is not defined.
        (typeof node2.closest === "function" ? node2.closest("[inert]") : _isInert(node2.parentNode));
        return result;
      };
      isContentEditable = function isContentEditable2(node2) {
        var _node$getAttribute2;
        var attValue = node2 === null || node2 === void 0 ? void 0 : (_node$getAttribute2 = node2.getAttribute) === null || _node$getAttribute2 === void 0 ? void 0 : _node$getAttribute2.call(node2, "contenteditable");
        return attValue === "" || attValue === "true";
      };
      getCandidates = function getCandidates2(el2, includeContainer, filter) {
        if (_isInert(el2)) {
          return [];
        }
        var candidates = Array.prototype.slice.apply(el2.querySelectorAll(candidateSelector));
        if (includeContainer && matches.call(el2, candidateSelector)) {
          candidates.unshift(el2);
        }
        candidates = candidates.filter(filter);
        return candidates;
      };
      _getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options2) {
        var candidates = [];
        var elementsToCheck = Array.from(elements);
        while (elementsToCheck.length) {
          var element = elementsToCheck.shift();
          if (_isInert(element, false)) {
            continue;
          }
          if (element.tagName === "SLOT") {
            var assigned = element.assignedElements();
            var content = assigned.length ? assigned : element.children;
            var nestedCandidates = _getCandidatesIteratively(content, true, options2);
            if (options2.flatten) {
              candidates.push.apply(candidates, nestedCandidates);
            } else {
              candidates.push({
                scopeParent: element,
                candidates: nestedCandidates
              });
            }
          } else {
            var validCandidate = matches.call(element, candidateSelector);
            if (validCandidate && options2.filter(element) && (includeContainer || !elements.includes(element))) {
              candidates.push(element);
            }
            var shadowRoot = element.shadowRoot || // check for an undisclosed shadow
            typeof options2.getShadowRoot === "function" && options2.getShadowRoot(element);
            var validShadowRoot = !_isInert(shadowRoot, false) && (!options2.shadowRootFilter || options2.shadowRootFilter(element));
            if (shadowRoot && validShadowRoot) {
              var _nestedCandidates = _getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options2);
              if (options2.flatten) {
                candidates.push.apply(candidates, _nestedCandidates);
              } else {
                candidates.push({
                  scopeParent: element,
                  candidates: _nestedCandidates
                });
              }
            } else {
              elementsToCheck.unshift.apply(elementsToCheck, element.children);
            }
          }
        }
        return candidates;
      };
      hasTabIndex = function hasTabIndex2(node2) {
        return !isNaN(parseInt(node2.getAttribute("tabindex"), 10));
      };
      getTabIndex = function getTabIndex2(node2) {
        if (!node2) {
          throw new Error("No node provided");
        }
        if (node2.tabIndex < 0) {
          if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node2.tagName) || isContentEditable(node2)) && !hasTabIndex(node2)) {
            return 0;
          }
        }
        return node2.tabIndex;
      };
      getSortOrderTabIndex = function getSortOrderTabIndex2(node2, isScope) {
        var tabIndex = getTabIndex(node2);
        if (tabIndex < 0 && isScope && !hasTabIndex(node2)) {
          return 0;
        }
        return tabIndex;
      };
      sortOrderedTabbables = function sortOrderedTabbables2(a2, b2) {
        return a2.tabIndex === b2.tabIndex ? a2.documentOrder - b2.documentOrder : a2.tabIndex - b2.tabIndex;
      };
      isInput = function isInput2(node2) {
        return node2.tagName === "INPUT";
      };
      isHiddenInput = function isHiddenInput2(node2) {
        return isInput(node2) && node2.type === "hidden";
      };
      isDetailsWithSummary = function isDetailsWithSummary2(node2) {
        var r2 = node2.tagName === "DETAILS" && Array.prototype.slice.apply(node2.children).some(function(child) {
          return child.tagName === "SUMMARY";
        });
        return r2;
      };
      getCheckedRadio = function getCheckedRadio2(nodes, form) {
        for (var i2 = 0; i2 < nodes.length; i2++) {
          if (nodes[i2].checked && nodes[i2].form === form) {
            return nodes[i2];
          }
        }
      };
      isTabbableRadio = function isTabbableRadio2(node2) {
        if (!node2.name) {
          return true;
        }
        var radioScope = node2.form || getRootNode(node2);
        var queryRadios = function queryRadios2(name) {
          return radioScope.querySelectorAll('input[type="radio"][name="' + name + '"]');
        };
        var radioSet;
        if (typeof window !== "undefined" && typeof window.CSS !== "undefined" && typeof window.CSS.escape === "function") {
          radioSet = queryRadios(window.CSS.escape(node2.name));
        } else {
          try {
            radioSet = queryRadios(node2.name);
          } catch (err) {
            console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s", err.message);
            return false;
          }
        }
        var checked = getCheckedRadio(radioSet, node2.form);
        return !checked || checked === node2;
      };
      isRadio = function isRadio2(node2) {
        return isInput(node2) && node2.type === "radio";
      };
      isNonTabbableRadio = function isNonTabbableRadio2(node2) {
        return isRadio(node2) && !isTabbableRadio(node2);
      };
      isNodeAttached = function isNodeAttached2(node2) {
        var _nodeRoot;
        var nodeRoot = node2 && getRootNode(node2);
        var nodeRootHost = (_nodeRoot = nodeRoot) === null || _nodeRoot === void 0 ? void 0 : _nodeRoot.host;
        var attached = false;
        if (nodeRoot && nodeRoot !== node2) {
          var _nodeRootHost, _nodeRootHost$ownerDo, _node$ownerDocument;
          attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && (_nodeRootHost$ownerDo = _nodeRootHost.ownerDocument) !== null && _nodeRootHost$ownerDo !== void 0 && _nodeRootHost$ownerDo.contains(nodeRootHost) || node2 !== null && node2 !== void 0 && (_node$ownerDocument = node2.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.contains(node2));
          while (!attached && nodeRootHost) {
            var _nodeRoot2, _nodeRootHost2, _nodeRootHost2$ownerD;
            nodeRoot = getRootNode(nodeRootHost);
            nodeRootHost = (_nodeRoot2 = nodeRoot) === null || _nodeRoot2 === void 0 ? void 0 : _nodeRoot2.host;
            attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && (_nodeRootHost2$ownerD = _nodeRootHost2.ownerDocument) !== null && _nodeRootHost2$ownerD !== void 0 && _nodeRootHost2$ownerD.contains(nodeRootHost));
          }
        }
        return attached;
      };
      isZeroArea = function isZeroArea2(node2) {
        var _node$getBoundingClie = node2.getBoundingClientRect(), width = _node$getBoundingClie.width, height = _node$getBoundingClie.height;
        return width === 0 && height === 0;
      };
      isHidden = function isHidden2(node2, _ref) {
        var displayCheck = _ref.displayCheck, getShadowRoot = _ref.getShadowRoot;
        if (displayCheck === "full-native") {
          if ("checkVisibility" in node2) {
            var visible = node2.checkVisibility({
              // Checking opacity might be desirable for some use cases, but natively,
              // opacity zero elements _are_ focusable and tabbable.
              checkOpacity: false,
              opacityProperty: false,
              contentVisibilityAuto: true,
              visibilityProperty: true,
              // This is an alias for `visibilityProperty`. Contemporary browsers
              // support both. However, this alias has wider browser support (Chrome
              // >= 105 and Firefox >= 106, vs. Chrome >= 121 and Firefox >= 122), so
              // we include it anyway.
              checkVisibilityCSS: true
            });
            return !visible;
          }
        }
        if (getComputedStyle(node2).visibility === "hidden") {
          return true;
        }
        var isDirectSummary = matches.call(node2, "details>summary:first-of-type");
        var nodeUnderDetails = isDirectSummary ? node2.parentElement : node2;
        if (matches.call(nodeUnderDetails, "details:not([open]) *")) {
          return true;
        }
        if (!displayCheck || displayCheck === "full" || // full-native can run this branch when it falls through in case
        // Element#checkVisibility is unsupported
        displayCheck === "full-native" || displayCheck === "legacy-full") {
          if (typeof getShadowRoot === "function") {
            var originalNode = node2;
            while (node2) {
              var parentElement = node2.parentElement;
              var rootNode = getRootNode(node2);
              if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true) {
                return isZeroArea(node2);
              } else if (node2.assignedSlot) {
                node2 = node2.assignedSlot;
              } else if (!parentElement && rootNode !== node2.ownerDocument) {
                node2 = rootNode.host;
              } else {
                node2 = parentElement;
              }
            }
            node2 = originalNode;
          }
          if (isNodeAttached(node2)) {
            return !node2.getClientRects().length;
          }
          if (displayCheck !== "legacy-full") {
            return true;
          }
        } else if (displayCheck === "non-zero-area") {
          return isZeroArea(node2);
        }
        return false;
      };
      isDisabledFromFieldset = function isDisabledFromFieldset2(node2) {
        if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node2.tagName)) {
          var parentNode = node2.parentElement;
          while (parentNode) {
            if (parentNode.tagName === "FIELDSET" && parentNode.disabled) {
              for (var i2 = 0; i2 < parentNode.children.length; i2++) {
                var child = parentNode.children.item(i2);
                if (child.tagName === "LEGEND") {
                  return matches.call(parentNode, "fieldset[disabled] *") ? true : !child.contains(node2);
                }
              }
              return true;
            }
            parentNode = parentNode.parentElement;
          }
        }
        return false;
      };
      isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable2(options2, node2) {
        if (node2.disabled || isHiddenInput(node2) || isHidden(node2, options2) || // For a details element with a summary, the summary element gets the focus
        isDetailsWithSummary(node2) || isDisabledFromFieldset(node2)) {
          return false;
        }
        return true;
      };
      isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable2(options2, node2) {
        if (isNonTabbableRadio(node2) || getTabIndex(node2) < 0 || !isNodeMatchingSelectorFocusable(options2, node2)) {
          return false;
        }
        return true;
      };
      isShadowRootTabbable = function isShadowRootTabbable2(shadowHostNode) {
        var tabIndex = parseInt(shadowHostNode.getAttribute("tabindex"), 10);
        if (isNaN(tabIndex) || tabIndex >= 0) {
          return true;
        }
        return false;
      };
      _sortByOrder = function sortByOrder(candidates) {
        var regularTabbables = [];
        var orderedTabbables = [];
        candidates.forEach(function(item, i2) {
          var isScope = !!item.scopeParent;
          var element = isScope ? item.scopeParent : item;
          var candidateTabindex = getSortOrderTabIndex(element, isScope);
          var elements = isScope ? _sortByOrder(item.candidates) : element;
          if (candidateTabindex === 0) {
            isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);
          } else {
            orderedTabbables.push({
              documentOrder: i2,
              tabIndex: candidateTabindex,
              item,
              isScope,
              content: elements
            });
          }
        });
        return orderedTabbables.sort(sortOrderedTabbables).reduce(function(acc, sortable) {
          sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content);
          return acc;
        }, []).concat(regularTabbables);
      };
      tabbable = function tabbable2(container, options2) {
        options2 = options2 || {};
        var candidates;
        if (options2.getShadowRoot) {
          candidates = _getCandidatesIteratively([container], options2.includeContainer, {
            filter: isNodeMatchingSelectorTabbable.bind(null, options2),
            flatten: false,
            getShadowRoot: options2.getShadowRoot,
            shadowRootFilter: isShadowRootTabbable
          });
        } else {
          candidates = getCandidates(container, options2.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options2));
        }
        return _sortByOrder(candidates);
      };
      focusable = function focusable2(container, options2) {
        options2 = options2 || {};
        var candidates;
        if (options2.getShadowRoot) {
          candidates = _getCandidatesIteratively([container], options2.includeContainer, {
            filter: isNodeMatchingSelectorFocusable.bind(null, options2),
            flatten: true,
            getShadowRoot: options2.getShadowRoot
          });
        } else {
          candidates = getCandidates(container, options2.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options2));
        }
        return candidates;
      };
      isTabbable = function isTabbable2(node2, options2) {
        options2 = options2 || {};
        if (!node2) {
          throw new Error("No node provided");
        }
        if (matches.call(node2, candidateSelector) === false) {
          return false;
        }
        return isNodeMatchingSelectorTabbable(options2, node2);
      };
    }
  });

  // node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs
  function getPlatform() {
    const uaData = navigator.userAgentData;
    if (uaData != null && uaData.platform) {
      return uaData.platform;
    }
    return navigator.platform;
  }
  function getUserAgent() {
    const uaData = navigator.userAgentData;
    if (uaData && Array.isArray(uaData.brands)) {
      return uaData.brands.map((_ref) => {
        let {
          brand,
          version: version2
        } = _ref;
        return brand + "/" + version2;
      }).join(" ");
    }
    return navigator.userAgent;
  }
  function isSafari() {
    return /apple/i.test(navigator.vendor);
  }
  function isAndroid() {
    const re = /android/i;
    return re.test(getPlatform()) || re.test(getUserAgent());
  }
  function isMac() {
    return getPlatform().toLowerCase().startsWith("mac") && !navigator.maxTouchPoints;
  }
  function isJSDOM() {
    return getUserAgent().includes("jsdom/");
  }
  function activeElement(doc) {
    let activeElement2 = doc.activeElement;
    while (((_activeElement = activeElement2) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {
      var _activeElement;
      activeElement2 = activeElement2.shadowRoot.activeElement;
    }
    return activeElement2;
  }
  function contains(parent, child) {
    if (!parent || !child) {
      return false;
    }
    const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();
    if (parent.contains(child)) {
      return true;
    }
    if (rootNode && isShadowRoot(rootNode)) {
      let next2 = child;
      while (next2) {
        if (parent === next2) {
          return true;
        }
        next2 = next2.parentNode || next2.host;
      }
    }
    return false;
  }
  function getTarget(event) {
    if ("composedPath" in event) {
      return event.composedPath()[0];
    }
    return event.target;
  }
  function isEventTargetWithin(event, node2) {
    if (node2 == null) {
      return false;
    }
    if ("composedPath" in event) {
      return event.composedPath().includes(node2);
    }
    const e3 = event;
    return e3.target != null && node2.contains(e3.target);
  }
  function isRootElement(element) {
    return element.matches("html,body");
  }
  function getDocument(node2) {
    return (node2 == null ? void 0 : node2.ownerDocument) || document;
  }
  function isTypeableElement(element) {
    return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
  }
  function isTypeableCombobox(element) {
    if (!element) return false;
    return element.getAttribute("role") === "combobox" && isTypeableElement(element);
  }
  function matchesFocusVisible(element) {
    if (!element || isJSDOM()) return true;
    try {
      return element.matches(":focus-visible");
    } catch (_e) {
      return true;
    }
  }
  function getFloatingFocusElement(floatingElement) {
    if (!floatingElement) {
      return null;
    }
    return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector("[" + FOCUSABLE_ATTRIBUTE + "]") || floatingElement;
  }
  function getNodeChildren(nodes, id) {
    let allChildren = nodes.filter((node2) => {
      var _node$context;
      return node2.parentId === id && ((_node$context = node2.context) == null ? void 0 : _node$context.open);
    });
    let currentChildren = allChildren;
    while (currentChildren.length) {
      currentChildren = nodes.filter((node2) => {
        var _currentChildren;
        return (_currentChildren = currentChildren) == null ? void 0 : _currentChildren.some((n3) => {
          var _node$context2;
          return node2.parentId === n3.id && ((_node$context2 = node2.context) == null ? void 0 : _node$context2.open);
        });
      });
      allChildren = allChildren.concat(currentChildren);
    }
    return allChildren;
  }
  function getNodeAncestors(nodes, id) {
    var _nodes$find;
    let allAncestors = [];
    let currentParentId = (_nodes$find = nodes.find((node2) => node2.id === id)) == null ? void 0 : _nodes$find.parentId;
    while (currentParentId) {
      const currentNode = nodes.find((node2) => node2.id === currentParentId);
      currentParentId = currentNode == null ? void 0 : currentNode.parentId;
      if (currentNode) {
        allAncestors = allAncestors.concat(currentNode);
      }
    }
    return allAncestors;
  }
  function stopEvent(event) {
    event.preventDefault();
    event.stopPropagation();
  }
  function isReactEvent(event) {
    return "nativeEvent" in event;
  }
  function isVirtualClick(event) {
    if (event.mozInputSource === 0 && event.isTrusted) {
      return true;
    }
    if (isAndroid() && event.pointerType) {
      return event.type === "click" && event.buttons === 1;
    }
    return event.detail === 0 && !event.pointerType;
  }
  function isVirtualPointerEvent(event) {
    if (isJSDOM()) return false;
    return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "mouse" || // iOS VoiceOver returns 0.333• for width/height.
    event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "touch";
  }
  function isMouseLikePointerType(pointerType, strict) {
    const values = ["mouse", "pen"];
    if (!strict) {
      values.push("", void 0);
    }
    return values.includes(pointerType);
  }
  function useLatestRef(value) {
    const ref = React16.useRef(value);
    index(() => {
      ref.current = value;
    });
    return ref;
  }
  function useEffectEvent(callback) {
    const ref = React16.useRef(() => {
      if (true) {
        throw new Error("Cannot call an event handler while rendering.");
      }
    });
    useSafeInsertionEffect(() => {
      ref.current = callback;
    });
    return React16.useCallback(function() {
      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
      return ref.current == null ? void 0 : ref.current(...args);
    }, []);
  }
  function isDifferentGridRow(index3, cols, prevRow) {
    return Math.floor(index3 / cols) !== prevRow;
  }
  function isIndexOutOfListBounds(listRef, index3) {
    return index3 < 0 || index3 >= listRef.current.length;
  }
  function getMinListIndex(listRef, disabledIndices) {
    return findNonDisabledListIndex(listRef, {
      disabledIndices
    });
  }
  function getMaxListIndex(listRef, disabledIndices) {
    return findNonDisabledListIndex(listRef, {
      decrement: true,
      startingIndex: listRef.current.length,
      disabledIndices
    });
  }
  function findNonDisabledListIndex(listRef, _temp) {
    let {
      startingIndex = -1,
      decrement = false,
      disabledIndices,
      amount = 1
    } = _temp === void 0 ? {} : _temp;
    let index3 = startingIndex;
    do {
      index3 += decrement ? -amount : amount;
    } while (index3 >= 0 && index3 <= listRef.current.length - 1 && isListIndexDisabled(listRef, index3, disabledIndices));
    return index3;
  }
  function getGridNavigatedIndex(listRef, _ref) {
    let {
      event,
      orientation,
      loop,
      rtl,
      cols,
      disabledIndices,
      minIndex,
      maxIndex,
      prevIndex,
      stopEvent: stop = false
    } = _ref;
    let nextIndex = prevIndex;
    if (event.key === ARROW_UP) {
      stop && stopEvent(event);
      if (prevIndex === -1) {
        nextIndex = maxIndex;
      } else {
        nextIndex = findNonDisabledListIndex(listRef, {
          startingIndex: nextIndex,
          amount: cols,
          decrement: true,
          disabledIndices
        });
        if (loop && (prevIndex - cols < minIndex || nextIndex < 0)) {
          const col = prevIndex % cols;
          const maxCol = maxIndex % cols;
          const offset5 = maxIndex - (maxCol - col);
          if (maxCol === col) {
            nextIndex = maxIndex;
          } else {
            nextIndex = maxCol > col ? offset5 : offset5 - cols;
          }
        }
      }
      if (isIndexOutOfListBounds(listRef, nextIndex)) {
        nextIndex = prevIndex;
      }
    }
    if (event.key === ARROW_DOWN) {
      stop && stopEvent(event);
      if (prevIndex === -1) {
        nextIndex = minIndex;
      } else {
        nextIndex = findNonDisabledListIndex(listRef, {
          startingIndex: prevIndex,
          amount: cols,
          disabledIndices
        });
        if (loop && prevIndex + cols > maxIndex) {
          nextIndex = findNonDisabledListIndex(listRef, {
            startingIndex: prevIndex % cols - cols,
            amount: cols,
            disabledIndices
          });
        }
      }
      if (isIndexOutOfListBounds(listRef, nextIndex)) {
        nextIndex = prevIndex;
      }
    }
    if (orientation === "both") {
      const prevRow = floor(prevIndex / cols);
      if (event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT)) {
        stop && stopEvent(event);
        if (prevIndex % cols !== cols - 1) {
          nextIndex = findNonDisabledListIndex(listRef, {
            startingIndex: prevIndex,
            disabledIndices
          });
          if (loop && isDifferentGridRow(nextIndex, cols, prevRow)) {
            nextIndex = findNonDisabledListIndex(listRef, {
              startingIndex: prevIndex - prevIndex % cols - 1,
              disabledIndices
            });
          }
        } else if (loop) {
          nextIndex = findNonDisabledListIndex(listRef, {
            startingIndex: prevIndex - prevIndex % cols - 1,
            disabledIndices
          });
        }
        if (isDifferentGridRow(nextIndex, cols, prevRow)) {
          nextIndex = prevIndex;
        }
      }
      if (event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT)) {
        stop && stopEvent(event);
        if (prevIndex % cols !== 0) {
          nextIndex = findNonDisabledListIndex(listRef, {
            startingIndex: prevIndex,
            decrement: true,
            disabledIndices
          });
          if (loop && isDifferentGridRow(nextIndex, cols, prevRow)) {
            nextIndex = findNonDisabledListIndex(listRef, {
              startingIndex: prevIndex + (cols - prevIndex % cols),
              decrement: true,
              disabledIndices
            });
          }
        } else if (loop) {
          nextIndex = findNonDisabledListIndex(listRef, {
            startingIndex: prevIndex + (cols - prevIndex % cols),
            decrement: true,
            disabledIndices
          });
        }
        if (isDifferentGridRow(nextIndex, cols, prevRow)) {
          nextIndex = prevIndex;
        }
      }
      const lastRow = floor(maxIndex / cols) === prevRow;
      if (isIndexOutOfListBounds(listRef, nextIndex)) {
        if (loop && lastRow) {
          nextIndex = event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT) ? maxIndex : findNonDisabledListIndex(listRef, {
            startingIndex: prevIndex - prevIndex % cols - 1,
            disabledIndices
          });
        } else {
          nextIndex = prevIndex;
        }
      }
    }
    return nextIndex;
  }
  function createGridCellMap(sizes2, cols, dense) {
    const cellMap = [];
    let startIndex = 0;
    sizes2.forEach((_ref2, index3) => {
      let {
        width,
        height
      } = _ref2;
      if (width > cols) {
        if (true) {
          throw new Error("[Floating UI]: Invalid grid - item width at index " + index3 + " is greater than grid columns");
        }
      }
      let itemPlaced = false;
      if (dense) {
        startIndex = 0;
      }
      while (!itemPlaced) {
        const targetCells = [];
        for (let i2 = 0; i2 < width; i2++) {
          for (let j = 0; j < height; j++) {
            targetCells.push(startIndex + i2 + j * cols);
          }
        }
        if (startIndex % cols + width <= cols && targetCells.every((cell) => cellMap[cell] == null)) {
          targetCells.forEach((cell) => {
            cellMap[cell] = index3;
          });
          itemPlaced = true;
        } else {
          startIndex++;
        }
      }
    });
    return [...cellMap];
  }
  function getGridCellIndexOfCorner(index3, sizes2, cellMap, cols, corner) {
    if (index3 === -1) return -1;
    const firstCellIndex = cellMap.indexOf(index3);
    const sizeItem = sizes2[index3];
    switch (corner) {
      case "tl":
        return firstCellIndex;
      case "tr":
        if (!sizeItem) {
          return firstCellIndex;
        }
        return firstCellIndex + sizeItem.width - 1;
      case "bl":
        if (!sizeItem) {
          return firstCellIndex;
        }
        return firstCellIndex + (sizeItem.height - 1) * cols;
      case "br":
        return cellMap.lastIndexOf(index3);
    }
  }
  function getGridCellIndices(indices, cellMap) {
    return cellMap.flatMap((index3, cellIndex) => indices.includes(index3) ? [cellIndex] : []);
  }
  function isListIndexDisabled(listRef, index3, disabledIndices) {
    if (typeof disabledIndices === "function") {
      return disabledIndices(index3);
    } else if (disabledIndices) {
      return disabledIndices.includes(index3);
    }
    const element = listRef.current[index3];
    return element == null || element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true";
  }
  function getTabbableIn(container, dir) {
    const list = tabbable(container, getTabbableOptions());
    const len = list.length;
    if (len === 0) return;
    const active = activeElement(getDocument(container));
    const index3 = list.indexOf(active);
    const nextIndex = index3 === -1 ? dir === 1 ? 0 : len - 1 : index3 + dir;
    return list[nextIndex];
  }
  function getNextTabbable(referenceElement) {
    return getTabbableIn(getDocument(referenceElement).body, 1) || referenceElement;
  }
  function getPreviousTabbable(referenceElement) {
    return getTabbableIn(getDocument(referenceElement).body, -1) || referenceElement;
  }
  function isOutsideEvent(event, container) {
    const containerElement = container || event.currentTarget;
    const relatedTarget = event.relatedTarget;
    return !relatedTarget || !contains(containerElement, relatedTarget);
  }
  function disableFocusInside(container) {
    const tabbableElements = tabbable(container, getTabbableOptions());
    tabbableElements.forEach((element) => {
      element.dataset.tabindex = element.getAttribute("tabindex") || "";
      element.setAttribute("tabindex", "-1");
    });
  }
  function enableFocusInside(container) {
    const elements = container.querySelectorAll("[data-tabindex]");
    elements.forEach((element) => {
      const tabindex = element.dataset.tabindex;
      delete element.dataset.tabindex;
      if (tabindex) {
        element.setAttribute("tabindex", tabindex);
      } else {
        element.removeAttribute("tabindex");
      }
    });
  }
  var React16, import_react29, FOCUSABLE_ATTRIBUTE, TYPEABLE_SELECTOR, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, ARROW_DOWN, isClient, noop3, index, SafeReact, useInsertionEffect3, useSafeInsertionEffect, getTabbableOptions;
  var init_floating_ui_react_utils = __esm({
    "node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs"() {
      init_floating_ui_utils_dom();
      React16 = __toESM(require_react(), 1);
      import_react29 = __toESM(require_react(), 1);
      init_floating_ui_utils();
      init_index_esm();
      FOCUSABLE_ATTRIBUTE = "data-floating-ui-focusable";
      TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
      ARROW_LEFT = "ArrowLeft";
      ARROW_RIGHT = "ArrowRight";
      ARROW_UP = "ArrowUp";
      ARROW_DOWN = "ArrowDown";
      isClient = typeof document !== "undefined";
      noop3 = function noop4() {
      };
      index = isClient ? import_react29.useLayoutEffect : noop3;
      SafeReact = {
        ...React16
      };
      useInsertionEffect3 = SafeReact.useInsertionEffect;
      useSafeInsertionEffect = useInsertionEffect3 || ((fn) => fn());
      getTabbableOptions = () => ({
        getShadowRoot: true,
        displayCheck: (
          // JSDOM does not support the `tabbable` library. To solve this we can
          // check if `ResizeObserver` is a real function (not polyfilled), which
          // determines if the current environment is JSDOM-like.
          typeof ResizeObserver === "function" && ResizeObserver.toString().includes("[native code]") ? "full" : "none"
        )
      });
    }
  });

  // node_modules/@floating-ui/core/dist/floating-ui.core.mjs
  function computeCoordsFromPlacement(_ref, placement, rtl) {
    let {
      reference,
      floating
    } = _ref;
    const sideAxis = getSideAxis(placement);
    const alignmentAxis = getAlignmentAxis(placement);
    const alignLength = getAxisLength(alignmentAxis);
    const side = getSide(placement);
    const isVertical = sideAxis === "y";
    const commonX = reference.x + reference.width / 2 - floating.width / 2;
    const commonY = reference.y + reference.height / 2 - floating.height / 2;
    const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;
    let coords2;
    switch (side) {
      case "top":
        coords2 = {
          x: commonX,
          y: reference.y - floating.height
        };
        break;
      case "bottom":
        coords2 = {
          x: commonX,
          y: reference.y + reference.height
        };
        break;
      case "right":
        coords2 = {
          x: reference.x + reference.width,
          y: commonY
        };
        break;
      case "left":
        coords2 = {
          x: reference.x - floating.width,
          y: commonY
        };
        break;
      default:
        coords2 = {
          x: reference.x,
          y: reference.y
        };
    }
    switch (getAlignment(placement)) {
      case "start":
        coords2[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);
        break;
      case "end":
        coords2[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);
        break;
    }
    return coords2;
  }
  async function detectOverflow(state, options2) {
    var _await$platform$isEle;
    if (options2 === void 0) {
      options2 = {};
    }
    const {
      x,
      y,
      platform: platform2,
      rects,
      elements,
      strategy
    } = state;
    const {
      boundary = "clippingAncestors",
      rootBoundary = "viewport",
      elementContext = "floating",
      altBoundary = false,
      padding = 0
    } = evaluate(options2, state);
    const paddingObject = getPaddingObject(padding);
    const altContext = elementContext === "floating" ? "reference" : "floating";
    const element = elements[altBoundary ? altContext : elementContext];
    const clippingClientRect = rectToClientRect(await platform2.getClippingRect({
      element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)),
      boundary,
      rootBoundary,
      strategy
    }));
    const rect = elementContext === "floating" ? {
      x,
      y,
      width: rects.floating.width,
      height: rects.floating.height
    } : rects.reference;
    const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating));
    const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) ? await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || {
      x: 1,
      y: 1
    } : {
      x: 1,
      y: 1
    };
    const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({
      elements,
      rect,
      offsetParent,
      strategy
    }) : rect);
    return {
      top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
      bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
      left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
      right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
    };
  }
  async function convertValueToCoords(state, options2) {
    const {
      placement,
      platform: platform2,
      elements
    } = state;
    const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));
    const side = getSide(placement);
    const alignment = getAlignment(placement);
    const isVertical = getSideAxis(placement) === "y";
    const mainAxisMulti = originSides.has(side) ? -1 : 1;
    const crossAxisMulti = rtl && isVertical ? -1 : 1;
    const rawValue = evaluate(options2, state);
    let {
      mainAxis,
      crossAxis,
      alignmentAxis
    } = typeof rawValue === "number" ? {
      mainAxis: rawValue,
      crossAxis: 0,
      alignmentAxis: null
    } : {
      mainAxis: rawValue.mainAxis || 0,
      crossAxis: rawValue.crossAxis || 0,
      alignmentAxis: rawValue.alignmentAxis
    };
    if (alignment && typeof alignmentAxis === "number") {
      crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis;
    }
    return isVertical ? {
      x: crossAxis * crossAxisMulti,
      y: mainAxis * mainAxisMulti
    } : {
      x: mainAxis * mainAxisMulti,
      y: crossAxis * crossAxisMulti
    };
  }
  var MAX_RESET_COUNT, computePosition, flip, originSides, offset, shift, size;
  var init_floating_ui_core = __esm({
    "node_modules/@floating-ui/core/dist/floating-ui.core.mjs"() {
      init_floating_ui_utils();
      init_floating_ui_utils();
      MAX_RESET_COUNT = 50;
      computePosition = async (reference, floating, config) => {
        const {
          placement = "bottom",
          strategy = "absolute",
          middleware: middleware2 = [],
          platform: platform2
        } = config;
        const platformWithDetectOverflow = platform2.detectOverflow ? platform2 : {
          ...platform2,
          detectOverflow
        };
        const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(floating));
        let rects = await platform2.getElementRects({
          reference,
          floating,
          strategy
        });
        let {
          x,
          y
        } = computeCoordsFromPlacement(rects, placement, rtl);
        let statefulPlacement = placement;
        let resetCount = 0;
        const middlewareData = {};
        for (let i2 = 0; i2 < middleware2.length; i2++) {
          const currentMiddleware = middleware2[i2];
          if (!currentMiddleware) {
            continue;
          }
          const {
            name,
            fn
          } = currentMiddleware;
          const {
            x: nextX,
            y: nextY,
            data: data2,
            reset
          } = await fn({
            x,
            y,
            initialPlacement: placement,
            placement: statefulPlacement,
            strategy,
            middlewareData,
            rects,
            platform: platformWithDetectOverflow,
            elements: {
              reference,
              floating
            }
          });
          x = nextX != null ? nextX : x;
          y = nextY != null ? nextY : y;
          middlewareData[name] = {
            ...middlewareData[name],
            ...data2
          };
          if (reset && resetCount < MAX_RESET_COUNT) {
            resetCount++;
            if (typeof reset === "object") {
              if (reset.placement) {
                statefulPlacement = reset.placement;
              }
              if (reset.rects) {
                rects = reset.rects === true ? await platform2.getElementRects({
                  reference,
                  floating,
                  strategy
                }) : reset.rects;
              }
              ({
                x,
                y
              } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
            }
            i2 = -1;
          }
        }
        return {
          x,
          y,
          placement: statefulPlacement,
          strategy,
          middlewareData
        };
      };
      flip = function(options2) {
        if (options2 === void 0) {
          options2 = {};
        }
        return {
          name: "flip",
          options: options2,
          async fn(state) {
            var _middlewareData$arrow, _middlewareData$flip;
            const {
              placement,
              middlewareData,
              rects,
              initialPlacement,
              platform: platform2,
              elements
            } = state;
            const {
              mainAxis: checkMainAxis = true,
              crossAxis: checkCrossAxis = true,
              fallbackPlacements: specifiedFallbackPlacements,
              fallbackStrategy = "bestFit",
              fallbackAxisSideDirection = "none",
              flipAlignment = true,
              ...detectOverflowOptions
            } = evaluate(options2, state);
            if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
              return {};
            }
            const side = getSide(placement);
            const initialSideAxis = getSideAxis(initialPlacement);
            const isBasePlacement = getSide(initialPlacement) === initialPlacement;
            const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));
            const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
            const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== "none";
            if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
              fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
            }
            const placements2 = [initialPlacement, ...fallbackPlacements];
            const overflow = await platform2.detectOverflow(state, detectOverflowOptions);
            const overflows = [];
            let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
            if (checkMainAxis) {
              overflows.push(overflow[side]);
            }
            if (checkCrossAxis) {
              const sides2 = getAlignmentSides(placement, rects, rtl);
              overflows.push(overflow[sides2[0]], overflow[sides2[1]]);
            }
            overflowsData = [...overflowsData, {
              placement,
              overflows
            }];
            if (!overflows.every((side2) => side2 <= 0)) {
              var _middlewareData$flip2, _overflowsData$filter;
              const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
              const nextPlacement = placements2[nextIndex];
              if (nextPlacement) {
                const ignoreCrossAxisOverflow = checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false;
                if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis
                // overflows the main axis.
                overflowsData.every((d2) => getSideAxis(d2.placement) === initialSideAxis ? d2.overflows[0] > 0 : true)) {
                  return {
                    data: {
                      index: nextIndex,
                      overflows: overflowsData
                    },
                    reset: {
                      placement: nextPlacement
                    }
                  };
                }
              }
              let resetPlacement = (_overflowsData$filter = overflowsData.filter((d2) => d2.overflows[0] <= 0).sort((a2, b2) => a2.overflows[1] - b2.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;
              if (!resetPlacement) {
                switch (fallbackStrategy) {
                  case "bestFit": {
                    var _overflowsData$filter2;
                    const placement2 = (_overflowsData$filter2 = overflowsData.filter((d2) => {
                      if (hasFallbackAxisSideDirection) {
                        const currentSideAxis = getSideAxis(d2.placement);
                        return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal
                        // reading directions favoring greater width.
                        currentSideAxis === "y";
                      }
                      return true;
                    }).map((d2) => [d2.placement, d2.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a2, b2) => a2[1] - b2[1])[0]) == null ? void 0 : _overflowsData$filter2[0];
                    if (placement2) {
                      resetPlacement = placement2;
                    }
                    break;
                  }
                  case "initialPlacement":
                    resetPlacement = initialPlacement;
                    break;
                }
              }
              if (placement !== resetPlacement) {
                return {
                  reset: {
                    placement: resetPlacement
                  }
                };
              }
            }
            return {};
          }
        };
      };
      originSides = /* @__PURE__ */ new Set(["left", "top"]);
      offset = function(options2) {
        if (options2 === void 0) {
          options2 = 0;
        }
        return {
          name: "offset",
          options: options2,
          async fn(state) {
            var _middlewareData$offse, _middlewareData$arrow;
            const {
              x,
              y,
              placement,
              middlewareData
            } = state;
            const diffCoords = await convertValueToCoords(state, options2);
            if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
              return {};
            }
            return {
              x: x + diffCoords.x,
              y: y + diffCoords.y,
              data: {
                ...diffCoords,
                placement
              }
            };
          }
        };
      };
      shift = function(options2) {
        if (options2 === void 0) {
          options2 = {};
        }
        return {
          name: "shift",
          options: options2,
          async fn(state) {
            const {
              x,
              y,
              placement,
              platform: platform2
            } = state;
            const {
              mainAxis: checkMainAxis = true,
              crossAxis: checkCrossAxis = false,
              limiter = {
                fn: (_ref) => {
                  let {
                    x: x2,
                    y: y2
                  } = _ref;
                  return {
                    x: x2,
                    y: y2
                  };
                }
              },
              ...detectOverflowOptions
            } = evaluate(options2, state);
            const coords2 = {
              x,
              y
            };
            const overflow = await platform2.detectOverflow(state, detectOverflowOptions);
            const crossAxis = getSideAxis(getSide(placement));
            const mainAxis = getOppositeAxis(crossAxis);
            let mainAxisCoord = coords2[mainAxis];
            let crossAxisCoord = coords2[crossAxis];
            if (checkMainAxis) {
              const minSide = mainAxis === "y" ? "top" : "left";
              const maxSide = mainAxis === "y" ? "bottom" : "right";
              const min2 = mainAxisCoord + overflow[minSide];
              const max2 = mainAxisCoord - overflow[maxSide];
              mainAxisCoord = clamp2(min2, mainAxisCoord, max2);
            }
            if (checkCrossAxis) {
              const minSide = crossAxis === "y" ? "top" : "left";
              const maxSide = crossAxis === "y" ? "bottom" : "right";
              const min2 = crossAxisCoord + overflow[minSide];
              const max2 = crossAxisCoord - overflow[maxSide];
              crossAxisCoord = clamp2(min2, crossAxisCoord, max2);
            }
            const limitedCoords = limiter.fn({
              ...state,
              [mainAxis]: mainAxisCoord,
              [crossAxis]: crossAxisCoord
            });
            return {
              ...limitedCoords,
              data: {
                x: limitedCoords.x - x,
                y: limitedCoords.y - y,
                enabled: {
                  [mainAxis]: checkMainAxis,
                  [crossAxis]: checkCrossAxis
                }
              }
            };
          }
        };
      };
      size = function(options2) {
        if (options2 === void 0) {
          options2 = {};
        }
        return {
          name: "size",
          options: options2,
          async fn(state) {
            var _state$middlewareData, _state$middlewareData2;
            const {
              placement,
              rects,
              platform: platform2,
              elements
            } = state;
            const {
              apply = () => {
              },
              ...detectOverflowOptions
            } = evaluate(options2, state);
            const overflow = await platform2.detectOverflow(state, detectOverflowOptions);
            const side = getSide(placement);
            const alignment = getAlignment(placement);
            const isYAxis = getSideAxis(placement) === "y";
            const {
              width,
              height
            } = rects.floating;
            let heightSide;
            let widthSide;
            if (side === "top" || side === "bottom") {
              heightSide = side;
              widthSide = alignment === (await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)) ? "start" : "end") ? "left" : "right";
            } else {
              widthSide = side;
              heightSide = alignment === "end" ? "top" : "bottom";
            }
            const maximumClippingHeight = height - overflow.top - overflow.bottom;
            const maximumClippingWidth = width - overflow.left - overflow.right;
            const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
            const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
            const noShift = !state.middlewareData.shift;
            let availableHeight = overflowAvailableHeight;
            let availableWidth = overflowAvailableWidth;
            if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {
              availableWidth = maximumClippingWidth;
            }
            if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {
              availableHeight = maximumClippingHeight;
            }
            if (noShift && !alignment) {
              const xMin = max(overflow.left, 0);
              const xMax = max(overflow.right, 0);
              const yMin = max(overflow.top, 0);
              const yMax = max(overflow.bottom, 0);
              if (isYAxis) {
                availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));
              } else {
                availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));
              }
            }
            await apply({
              ...state,
              availableWidth,
              availableHeight
            });
            const nextDimensions = await platform2.getDimensions(elements.floating);
            if (width !== nextDimensions.width || height !== nextDimensions.height) {
              return {
                reset: {
                  rects: true
                }
              };
            }
            return {};
          }
        };
      };
    }
  });

  // node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
  function getCssDimensions(element) {
    const css3 = getComputedStyle2(element);
    let width = parseFloat(css3.width) || 0;
    let height = parseFloat(css3.height) || 0;
    const hasOffset = isHTMLElement(element);
    const offsetWidth = hasOffset ? element.offsetWidth : width;
    const offsetHeight = hasOffset ? element.offsetHeight : height;
    const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
    if (shouldFallback) {
      width = offsetWidth;
      height = offsetHeight;
    }
    return {
      width,
      height,
      $: shouldFallback
    };
  }
  function unwrapElement(element) {
    return !isElement(element) ? element.contextElement : element;
  }
  function getScale(element) {
    const domElement = unwrapElement(element);
    if (!isHTMLElement(domElement)) {
      return createCoords(1);
    }
    const rect = domElement.getBoundingClientRect();
    const {
      width,
      height,
      $: $2
    } = getCssDimensions(domElement);
    let x = ($2 ? round(rect.width) : rect.width) / width;
    let y = ($2 ? round(rect.height) : rect.height) / height;
    if (!x || !Number.isFinite(x)) {
      x = 1;
    }
    if (!y || !Number.isFinite(y)) {
      y = 1;
    }
    return {
      x,
      y
    };
  }
  function getVisualOffsets(element) {
    const win = getWindow(element);
    if (!isWebKit() || !win.visualViewport) {
      return noOffsets;
    }
    return {
      x: win.visualViewport.offsetLeft,
      y: win.visualViewport.offsetTop
    };
  }
  function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
    if (isFixed === void 0) {
      isFixed = false;
    }
    if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {
      return false;
    }
    return isFixed;
  }
  function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
    if (includeScale === void 0) {
      includeScale = false;
    }
    if (isFixedStrategy === void 0) {
      isFixedStrategy = false;
    }
    const clientRect = element.getBoundingClientRect();
    const domElement = unwrapElement(element);
    let scale = createCoords(1);
    if (includeScale) {
      if (offsetParent) {
        if (isElement(offsetParent)) {
          scale = getScale(offsetParent);
        }
      } else {
        scale = getScale(element);
      }
    }
    const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
    let x = (clientRect.left + visualOffsets.x) / scale.x;
    let y = (clientRect.top + visualOffsets.y) / scale.y;
    let width = clientRect.width / scale.x;
    let height = clientRect.height / scale.y;
    if (domElement) {
      const win = getWindow(domElement);
      const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
      let currentWin = win;
      let currentIFrame = getFrameElement(currentWin);
      while (currentIFrame && offsetParent && offsetWin !== currentWin) {
        const iframeScale = getScale(currentIFrame);
        const iframeRect = currentIFrame.getBoundingClientRect();
        const css3 = getComputedStyle2(currentIFrame);
        const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css3.paddingLeft)) * iframeScale.x;
        const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css3.paddingTop)) * iframeScale.y;
        x *= iframeScale.x;
        y *= iframeScale.y;
        width *= iframeScale.x;
        height *= iframeScale.y;
        x += left;
        y += top;
        currentWin = getWindow(currentIFrame);
        currentIFrame = getFrameElement(currentWin);
      }
    }
    return rectToClientRect({
      width,
      height,
      x,
      y
    });
  }
  function getWindowScrollBarX(element, rect) {
    const leftScroll = getNodeScroll(element).scrollLeft;
    if (!rect) {
      return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
    }
    return rect.left + leftScroll;
  }
  function getHTMLOffset(documentElement, scroll) {
    const htmlRect = documentElement.getBoundingClientRect();
    const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
    const y = htmlRect.top + scroll.scrollTop;
    return {
      x,
      y
    };
  }
  function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
    let {
      elements,
      rect,
      offsetParent,
      strategy
    } = _ref;
    const isFixed = strategy === "fixed";
    const documentElement = getDocumentElement(offsetParent);
    const topLayer = elements ? isTopLayer(elements.floating) : false;
    if (offsetParent === documentElement || topLayer && isFixed) {
      return rect;
    }
    let scroll = {
      scrollLeft: 0,
      scrollTop: 0
    };
    let scale = createCoords(1);
    const offsets = createCoords(0);
    const isOffsetParentAnElement = isHTMLElement(offsetParent);
    if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
      if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
        scroll = getNodeScroll(offsetParent);
      }
      if (isOffsetParentAnElement) {
        const offsetRect = getBoundingClientRect(offsetParent);
        scale = getScale(offsetParent);
        offsets.x = offsetRect.x + offsetParent.clientLeft;
        offsets.y = offsetRect.y + offsetParent.clientTop;
      }
    }
    const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
    return {
      width: rect.width * scale.x,
      height: rect.height * scale.y,
      x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,
      y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
    };
  }
  function getClientRects(element) {
    return Array.from(element.getClientRects());
  }
  function getDocumentRect(element) {
    const html = getDocumentElement(element);
    const scroll = getNodeScroll(element);
    const body = element.ownerDocument.body;
    const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
    const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
    let x = -scroll.scrollLeft + getWindowScrollBarX(element);
    const y = -scroll.scrollTop;
    if (getComputedStyle2(body).direction === "rtl") {
      x += max(html.clientWidth, body.clientWidth) - width;
    }
    return {
      width,
      height,
      x,
      y
    };
  }
  function getViewportRect(element, strategy) {
    const win = getWindow(element);
    const html = getDocumentElement(element);
    const visualViewport = win.visualViewport;
    let width = html.clientWidth;
    let height = html.clientHeight;
    let x = 0;
    let y = 0;
    if (visualViewport) {
      width = visualViewport.width;
      height = visualViewport.height;
      const visualViewportBased = isWebKit();
      if (!visualViewportBased || visualViewportBased && strategy === "fixed") {
        x = visualViewport.offsetLeft;
        y = visualViewport.offsetTop;
      }
    }
    const windowScrollbarX = getWindowScrollBarX(html);
    if (windowScrollbarX <= 0) {
      const doc = html.ownerDocument;
      const body = doc.body;
      const bodyStyles = getComputedStyle(body);
      const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
      const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
      if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
        width -= clippingStableScrollbarWidth;
      }
    } else if (windowScrollbarX <= SCROLLBAR_MAX) {
      width += windowScrollbarX;
    }
    return {
      width,
      height,
      x,
      y
    };
  }
  function getInnerBoundingClientRect(element, strategy) {
    const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
    const top = clientRect.top + element.clientTop;
    const left = clientRect.left + element.clientLeft;
    const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);
    const width = element.clientWidth * scale.x;
    const height = element.clientHeight * scale.y;
    const x = left * scale.x;
    const y = top * scale.y;
    return {
      width,
      height,
      x,
      y
    };
  }
  function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
    let rect;
    if (clippingAncestor === "viewport") {
      rect = getViewportRect(element, strategy);
    } else if (clippingAncestor === "document") {
      rect = getDocumentRect(getDocumentElement(element));
    } else if (isElement(clippingAncestor)) {
      rect = getInnerBoundingClientRect(clippingAncestor, strategy);
    } else {
      const visualOffsets = getVisualOffsets(element);
      rect = {
        x: clippingAncestor.x - visualOffsets.x,
        y: clippingAncestor.y - visualOffsets.y,
        width: clippingAncestor.width,
        height: clippingAncestor.height
      };
    }
    return rectToClientRect(rect);
  }
  function hasFixedPositionAncestor(element, stopNode) {
    const parentNode = getParentNode(element);
    if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {
      return false;
    }
    return getComputedStyle2(parentNode).position === "fixed" || hasFixedPositionAncestor(parentNode, stopNode);
  }
  function getClippingElementAncestors(element, cache2) {
    const cachedResult = cache2.get(element);
    if (cachedResult) {
      return cachedResult;
    }
    let result = getOverflowAncestors(element, [], false).filter((el2) => isElement(el2) && getNodeName(el2) !== "body");
    let currentContainingBlockComputedStyle = null;
    const elementIsFixed = getComputedStyle2(element).position === "fixed";
    let currentNode = elementIsFixed ? getParentNode(element) : element;
    while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
      const computedStyle = getComputedStyle2(currentNode);
      const currentNodeIsContaining = isContainingBlock(currentNode);
      if (!currentNodeIsContaining && computedStyle.position === "fixed") {
        currentContainingBlockComputedStyle = null;
      }
      const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === "absolute" || currentContainingBlockComputedStyle.position === "fixed") || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
      if (shouldDropCurrentNode) {
        result = result.filter((ancestor) => ancestor !== currentNode);
      } else {
        currentContainingBlockComputedStyle = computedStyle;
      }
      currentNode = getParentNode(currentNode);
    }
    cache2.set(element, result);
    return result;
  }
  function getClippingRect(_ref) {
    let {
      element,
      boundary,
      rootBoundary,
      strategy
    } = _ref;
    const elementClippingAncestors = boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
    const clippingAncestors = [...elementClippingAncestors, rootBoundary];
    const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
    let top = firstRect.top;
    let right = firstRect.right;
    let bottom = firstRect.bottom;
    let left = firstRect.left;
    for (let i2 = 1; i2 < clippingAncestors.length; i2++) {
      const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i2], strategy);
      top = max(rect.top, top);
      right = min(rect.right, right);
      bottom = min(rect.bottom, bottom);
      left = max(rect.left, left);
    }
    return {
      width: right - left,
      height: bottom - top,
      x: left,
      y: top
    };
  }
  function getDimensions(element) {
    const {
      width,
      height
    } = getCssDimensions(element);
    return {
      width,
      height
    };
  }
  function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
    const isOffsetParentAnElement = isHTMLElement(offsetParent);
    const documentElement = getDocumentElement(offsetParent);
    const isFixed = strategy === "fixed";
    const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
    let scroll = {
      scrollLeft: 0,
      scrollTop: 0
    };
    const offsets = createCoords(0);
    function setLeftRTLScrollbarOffset() {
      offsets.x = getWindowScrollBarX(documentElement);
    }
    if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
      if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
        scroll = getNodeScroll(offsetParent);
      }
      if (isOffsetParentAnElement) {
        const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
        offsets.x = offsetRect.x + offsetParent.clientLeft;
        offsets.y = offsetRect.y + offsetParent.clientTop;
      } else if (documentElement) {
        setLeftRTLScrollbarOffset();
      }
    }
    if (isFixed && !isOffsetParentAnElement && documentElement) {
      setLeftRTLScrollbarOffset();
    }
    const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
    const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
    const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
    return {
      x,
      y,
      width: rect.width,
      height: rect.height
    };
  }
  function isStaticPositioned(element) {
    return getComputedStyle2(element).position === "static";
  }
  function getTrueOffsetParent(element, polyfill) {
    if (!isHTMLElement(element) || getComputedStyle2(element).position === "fixed") {
      return null;
    }
    if (polyfill) {
      return polyfill(element);
    }
    let rawOffsetParent = element.offsetParent;
    if (getDocumentElement(element) === rawOffsetParent) {
      rawOffsetParent = rawOffsetParent.ownerDocument.body;
    }
    return rawOffsetParent;
  }
  function getOffsetParent(element, polyfill) {
    const win = getWindow(element);
    if (isTopLayer(element)) {
      return win;
    }
    if (!isHTMLElement(element)) {
      let svgOffsetParent = getParentNode(element);
      while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
        if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {
          return svgOffsetParent;
        }
        svgOffsetParent = getParentNode(svgOffsetParent);
      }
      return win;
    }
    let offsetParent = getTrueOffsetParent(element, polyfill);
    while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {
      offsetParent = getTrueOffsetParent(offsetParent, polyfill);
    }
    if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {
      return win;
    }
    return offsetParent || getContainingBlock(element) || win;
  }
  function isRTL(element) {
    return getComputedStyle2(element).direction === "rtl";
  }
  function rectsAreEqual(a2, b2) {
    return a2.x === b2.x && a2.y === b2.y && a2.width === b2.width && a2.height === b2.height;
  }
  function observeMove(element, onMove) {
    let io = null;
    let timeoutId;
    const root2 = getDocumentElement(element);
    function cleanup2() {
      var _io;
      clearTimeout(timeoutId);
      (_io = io) == null || _io.disconnect();
      io = null;
    }
    function refresh(skip, threshold) {
      if (skip === void 0) {
        skip = false;
      }
      if (threshold === void 0) {
        threshold = 1;
      }
      cleanup2();
      const elementRectForRootMargin = element.getBoundingClientRect();
      const {
        left,
        top,
        width,
        height
      } = elementRectForRootMargin;
      if (!skip) {
        onMove();
      }
      if (!width || !height) {
        return;
      }
      const insetTop = floor(top);
      const insetRight = floor(root2.clientWidth - (left + width));
      const insetBottom = floor(root2.clientHeight - (top + height));
      const insetLeft = floor(left);
      const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
      const options2 = {
        rootMargin,
        threshold: max(0, min(1, threshold)) || 1
      };
      let isFirstUpdate = true;
      function handleObserve(entries) {
        const ratio = entries[0].intersectionRatio;
        if (ratio !== threshold) {
          if (!isFirstUpdate) {
            return refresh();
          }
          if (!ratio) {
            timeoutId = setTimeout(() => {
              refresh(false, 1e-7);
            }, 1e3);
          } else {
            refresh(false, ratio);
          }
        }
        if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
          refresh();
        }
        isFirstUpdate = false;
      }
      try {
        io = new IntersectionObserver(handleObserve, {
          ...options2,
          // Handle <iframe>s
          root: root2.ownerDocument
        });
      } catch (_e) {
        io = new IntersectionObserver(handleObserve, options2);
      }
      io.observe(element);
    }
    refresh(true);
    return cleanup2;
  }
  function autoUpdate(reference, floating, update, options2) {
    if (options2 === void 0) {
      options2 = {};
    }
    const {
      ancestorScroll = true,
      ancestorResize = true,
      elementResize = typeof ResizeObserver === "function",
      layoutShift = typeof IntersectionObserver === "function",
      animationFrame = false
    } = options2;
    const referenceEl = unwrapElement(reference);
    const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];
    ancestors.forEach((ancestor) => {
      ancestorScroll && ancestor.addEventListener("scroll", update, {
        passive: true
      });
      ancestorResize && ancestor.addEventListener("resize", update);
    });
    const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
    let reobserveFrame = -1;
    let resizeObserver = null;
    if (elementResize) {
      resizeObserver = new ResizeObserver((_ref) => {
        let [firstEntry] = _ref;
        if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
          resizeObserver.unobserve(floating);
          cancelAnimationFrame(reobserveFrame);
          reobserveFrame = requestAnimationFrame(() => {
            var _resizeObserver;
            (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
          });
        }
        update();
      });
      if (referenceEl && !animationFrame) {
        resizeObserver.observe(referenceEl);
      }
      if (floating) {
        resizeObserver.observe(floating);
      }
    }
    let frameId;
    let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
    if (animationFrame) {
      frameLoop();
    }
    function frameLoop() {
      const nextRefRect = getBoundingClientRect(reference);
      if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
        update();
      }
      prevRefRect = nextRefRect;
      frameId = requestAnimationFrame(frameLoop);
    }
    update();
    return () => {
      var _resizeObserver2;
      ancestors.forEach((ancestor) => {
        ancestorScroll && ancestor.removeEventListener("scroll", update);
        ancestorResize && ancestor.removeEventListener("resize", update);
      });
      cleanupIo == null || cleanupIo();
      (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
      resizeObserver = null;
      if (animationFrame) {
        cancelAnimationFrame(frameId);
      }
    };
  }
  var noOffsets, SCROLLBAR_MAX, getElementRects, platform, offset2, shift2, flip2, size2, computePosition2;
  var init_floating_ui_dom = __esm({
    "node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs"() {
      init_floating_ui_core();
      init_floating_ui_utils();
      init_floating_ui_utils_dom();
      init_floating_ui_utils_dom();
      noOffsets = /* @__PURE__ */ createCoords(0);
      SCROLLBAR_MAX = 25;
      getElementRects = async function(data2) {
        const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
        const getDimensionsFn = this.getDimensions;
        const floatingDimensions = await getDimensionsFn(data2.floating);
        return {
          reference: getRectRelativeToOffsetParent(data2.reference, await getOffsetParentFn(data2.floating), data2.strategy),
          floating: {
            x: 0,
            y: 0,
            width: floatingDimensions.width,
            height: floatingDimensions.height
          }
        };
      };
      platform = {
        convertOffsetParentRelativeRectToViewportRelativeRect,
        getDocumentElement,
        getClippingRect,
        getOffsetParent,
        getElementRects,
        getClientRects,
        getDimensions,
        getScale,
        isElement,
        isRTL
      };
      offset2 = offset;
      shift2 = shift;
      flip2 = flip;
      size2 = size;
      computePosition2 = (reference, floating, options2) => {
        const cache2 = /* @__PURE__ */ new Map();
        const mergedOptions = {
          platform,
          ...options2
        };
        const platformWithCache = {
          ...mergedOptions.platform,
          _c: cache2
        };
        return computePosition(reference, floating, {
          ...mergedOptions,
          platform: platformWithCache
        });
      };
    }
  });

  // node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs
  function deepEqual(a2, b2) {
    if (a2 === b2) {
      return true;
    }
    if (typeof a2 !== typeof b2) {
      return false;
    }
    if (typeof a2 === "function" && a2.toString() === b2.toString()) {
      return true;
    }
    let length2;
    let i2;
    let keys2;
    if (a2 && b2 && typeof a2 === "object") {
      if (Array.isArray(a2)) {
        length2 = a2.length;
        if (length2 !== b2.length) return false;
        for (i2 = length2; i2-- !== 0; ) {
          if (!deepEqual(a2[i2], b2[i2])) {
            return false;
          }
        }
        return true;
      }
      keys2 = Object.keys(a2);
      length2 = keys2.length;
      if (length2 !== Object.keys(b2).length) {
        return false;
      }
      for (i2 = length2; i2-- !== 0; ) {
        if (!{}.hasOwnProperty.call(b2, keys2[i2])) {
          return false;
        }
      }
      for (i2 = length2; i2-- !== 0; ) {
        const key = keys2[i2];
        if (key === "_owner" && a2.$$typeof) {
          continue;
        }
        if (!deepEqual(a2[key], b2[key])) {
          return false;
        }
      }
      return true;
    }
    return a2 !== a2 && b2 !== b2;
  }
  function getDPR(element) {
    if (typeof window === "undefined") {
      return 1;
    }
    const win = element.ownerDocument.defaultView || window;
    return win.devicePixelRatio || 1;
  }
  function roundByDPR(element, value) {
    const dpr = getDPR(element);
    return Math.round(value * dpr) / dpr;
  }
  function useLatestRef2(value) {
    const ref = React17.useRef(value);
    index2(() => {
      ref.current = value;
    });
    return ref;
  }
  function useFloating(options2) {
    if (options2 === void 0) {
      options2 = {};
    }
    const {
      placement = "bottom",
      strategy = "absolute",
      middleware: middleware2 = [],
      platform: platform2,
      elements: {
        reference: externalReference,
        floating: externalFloating
      } = {},
      transform = true,
      whileElementsMounted,
      open
    } = options2;
    const [data2, setData] = React17.useState({
      x: 0,
      y: 0,
      strategy,
      placement,
      middlewareData: {},
      isPositioned: false
    });
    const [latestMiddleware, setLatestMiddleware] = React17.useState(middleware2);
    if (!deepEqual(latestMiddleware, middleware2)) {
      setLatestMiddleware(middleware2);
    }
    const [_reference, _setReference] = React17.useState(null);
    const [_floating, _setFloating] = React17.useState(null);
    const setReference = React17.useCallback((node2) => {
      if (node2 !== referenceRef.current) {
        referenceRef.current = node2;
        _setReference(node2);
      }
    }, []);
    const setFloating = React17.useCallback((node2) => {
      if (node2 !== floatingRef.current) {
        floatingRef.current = node2;
        _setFloating(node2);
      }
    }, []);
    const referenceEl = externalReference || _reference;
    const floatingEl = externalFloating || _floating;
    const referenceRef = React17.useRef(null);
    const floatingRef = React17.useRef(null);
    const dataRef = React17.useRef(data2);
    const hasWhileElementsMounted = whileElementsMounted != null;
    const whileElementsMountedRef = useLatestRef2(whileElementsMounted);
    const platformRef = useLatestRef2(platform2);
    const openRef = useLatestRef2(open);
    const update = React17.useCallback(() => {
      if (!referenceRef.current || !floatingRef.current) {
        return;
      }
      const config = {
        placement,
        strategy,
        middleware: latestMiddleware
      };
      if (platformRef.current) {
        config.platform = platformRef.current;
      }
      computePosition2(referenceRef.current, floatingRef.current, config).then((data3) => {
        const fullData = {
          ...data3,
          // The floating element's position may be recomputed while it's closed
          // but still mounted (such as when transitioning out). To ensure
          // `isPositioned` will be `false` initially on the next open, avoid
          // setting it to `true` when `open === false` (must be specified).
          isPositioned: openRef.current !== false
        };
        if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {
          dataRef.current = fullData;
          ReactDOM.flushSync(() => {
            setData(fullData);
          });
        }
      });
    }, [latestMiddleware, placement, strategy, platformRef, openRef]);
    index2(() => {
      if (open === false && dataRef.current.isPositioned) {
        dataRef.current.isPositioned = false;
        setData((data3) => ({
          ...data3,
          isPositioned: false
        }));
      }
    }, [open]);
    const isMountedRef = React17.useRef(false);
    index2(() => {
      isMountedRef.current = true;
      return () => {
        isMountedRef.current = false;
      };
    }, []);
    index2(() => {
      if (referenceEl) referenceRef.current = referenceEl;
      if (floatingEl) floatingRef.current = floatingEl;
      if (referenceEl && floatingEl) {
        if (whileElementsMountedRef.current) {
          return whileElementsMountedRef.current(referenceEl, floatingEl, update);
        }
        update();
      }
    }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);
    const refs = React17.useMemo(() => ({
      reference: referenceRef,
      floating: floatingRef,
      setReference,
      setFloating
    }), [setReference, setFloating]);
    const elements = React17.useMemo(() => ({
      reference: referenceEl,
      floating: floatingEl
    }), [referenceEl, floatingEl]);
    const floatingStyles = React17.useMemo(() => {
      const initialStyles = {
        position: strategy,
        left: 0,
        top: 0
      };
      if (!elements.floating) {
        return initialStyles;
      }
      const x = roundByDPR(elements.floating, data2.x);
      const y = roundByDPR(elements.floating, data2.y);
      if (transform) {
        return {
          ...initialStyles,
          transform: "translate(" + x + "px, " + y + "px)",
          ...getDPR(elements.floating) >= 1.5 && {
            willChange: "transform"
          }
        };
      }
      return {
        position: strategy,
        left: x,
        top: y
      };
    }, [strategy, transform, elements.floating, data2.x, data2.y]);
    return React17.useMemo(() => ({
      ...data2,
      update,
      refs,
      elements,
      floatingStyles
    }), [data2, update, refs, elements, floatingStyles]);
  }
  var React17, import_react30, ReactDOM, isClient2, noop5, index2, offset3, shift3, flip3, size3;
  var init_floating_ui_react_dom = __esm({
    "node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs"() {
      init_floating_ui_dom();
      init_floating_ui_dom();
      React17 = __toESM(require_react(), 1);
      import_react30 = __toESM(require_react(), 1);
      ReactDOM = __toESM(require_react_dom(), 1);
      isClient2 = typeof document !== "undefined";
      noop5 = function noop6() {
      };
      index2 = isClient2 ? import_react30.useLayoutEffect : noop5;
      offset3 = (options2, deps) => {
        const result = offset2(options2);
        return {
          name: result.name,
          fn: result.fn,
          options: [options2, deps]
        };
      };
      shift3 = (options2, deps) => {
        const result = shift2(options2);
        return {
          name: result.name,
          fn: result.fn,
          options: [options2, deps]
        };
      };
      flip3 = (options2, deps) => {
        const result = flip2(options2);
        return {
          name: result.name,
          fn: result.fn,
          options: [options2, deps]
        };
      };
      size3 = (options2, deps) => {
        const result = size2(options2);
        return {
          name: result.name,
          fn: result.fn,
          options: [options2, deps]
        };
      };
    }
  });

  // node_modules/@floating-ui/react/dist/floating-ui.react.mjs
  function useMergeRefs(refs) {
    const cleanupRef = React18.useRef(void 0);
    const refEffect = React18.useCallback((instance2) => {
      const cleanups = refs.map((ref) => {
        if (ref == null) {
          return;
        }
        if (typeof ref === "function") {
          const refCallback = ref;
          const refCleanup = refCallback(instance2);
          return typeof refCleanup === "function" ? refCleanup : () => {
            refCallback(null);
          };
        }
        ref.current = instance2;
        return () => {
          ref.current = null;
        };
      });
      return () => {
        cleanups.forEach((refCleanup) => refCleanup == null ? void 0 : refCleanup());
      };
    }, refs);
    return React18.useMemo(() => {
      if (refs.every((ref) => ref == null)) {
        return null;
      }
      return (value) => {
        if (cleanupRef.current) {
          cleanupRef.current();
          cleanupRef.current = void 0;
        }
        if (value != null) {
          cleanupRef.current = refEffect(value);
        }
      };
    }, refs);
  }
  function sortByDocumentPosition(a2, b2) {
    const position2 = a2.compareDocumentPosition(b2);
    if (position2 & Node.DOCUMENT_POSITION_FOLLOWING || position2 & Node.DOCUMENT_POSITION_CONTAINED_BY) {
      return -1;
    }
    if (position2 & Node.DOCUMENT_POSITION_PRECEDING || position2 & Node.DOCUMENT_POSITION_CONTAINS) {
      return 1;
    }
    return 0;
  }
  function FloatingList(props) {
    const {
      children,
      elementsRef,
      labelsRef
    } = props;
    const [nodes, setNodes] = React18.useState(() => /* @__PURE__ */ new Set());
    const register3 = React18.useCallback((node2) => {
      setNodes((prevSet) => new Set(prevSet).add(node2));
    }, []);
    const unregister = React18.useCallback((node2) => {
      setNodes((prevSet) => {
        const set = new Set(prevSet);
        set.delete(node2);
        return set;
      });
    }, []);
    const map = React18.useMemo(() => {
      const newMap = /* @__PURE__ */ new Map();
      const sortedNodes = Array.from(nodes.keys()).sort(sortByDocumentPosition);
      sortedNodes.forEach((node2, index3) => {
        newMap.set(node2, index3);
      });
      return newMap;
    }, [nodes]);
    return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(FloatingListContext.Provider, {
      value: React18.useMemo(() => ({
        register: register3,
        unregister,
        map,
        elementsRef,
        labelsRef
      }), [register3, unregister, map, elementsRef, labelsRef]),
      children
    });
  }
  function useListItem(props) {
    if (props === void 0) {
      props = {};
    }
    const {
      label
    } = props;
    const {
      register: register3,
      unregister,
      map,
      elementsRef,
      labelsRef
    } = React18.useContext(FloatingListContext);
    const [index3, setIndex] = React18.useState(null);
    const componentRef = React18.useRef(null);
    const ref = React18.useCallback((node2) => {
      componentRef.current = node2;
      if (index3 !== null) {
        elementsRef.current[index3] = node2;
        if (labelsRef) {
          var _node$textContent;
          const isLabelDefined = label !== void 0;
          labelsRef.current[index3] = isLabelDefined ? label : (_node$textContent = node2 == null ? void 0 : node2.textContent) != null ? _node$textContent : null;
        }
      }
    }, [index3, elementsRef, labelsRef, label]);
    index(() => {
      const node2 = componentRef.current;
      if (node2) {
        register3(node2);
        return () => {
          unregister(node2);
        };
      }
    }, [register3, unregister]);
    index(() => {
      const index4 = componentRef.current ? map.get(componentRef.current) : null;
      if (index4 != null) {
        setIndex(index4);
      }
    }, [map]);
    return React18.useMemo(() => ({
      ref,
      index: index3 == null ? -1 : index3
    }), [index3, ref]);
  }
  function renderJsx(render, computedProps) {
    if (typeof render === "function") {
      return render(computedProps);
    }
    if (render) {
      return /* @__PURE__ */ React18.cloneElement(render, computedProps);
    }
    return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", {
      ...computedProps
    });
  }
  function useFloatingId() {
    const [id, setId] = React18.useState(() => serverHandoffComplete ? genId() : void 0);
    index(() => {
      if (id == null) {
        setId(genId());
      }
    }, []);
    React18.useEffect(() => {
      serverHandoffComplete = true;
    }, []);
    return id;
  }
  function error() {
    var _devMessageSet3;
    for (var _len2 = arguments.length, messages = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
      messages[_key2] = arguments[_key2];
    }
    const message = "Floating UI: " + messages.join(" ");
    if (!((_devMessageSet3 = devMessageSet) != null && _devMessageSet3.has(message))) {
      var _devMessageSet4;
      (_devMessageSet4 = devMessageSet) == null || _devMessageSet4.add(message);
      console.error(message);
    }
  }
  function createEventEmitter() {
    const map = /* @__PURE__ */ new Map();
    return {
      emit(event, data2) {
        var _map$get;
        (_map$get = map.get(event)) == null || _map$get.forEach((listener) => listener(data2));
      },
      on(event, listener) {
        if (!map.has(event)) {
          map.set(event, /* @__PURE__ */ new Set());
        }
        map.get(event).add(listener);
      },
      off(event, listener) {
        var _map$get2;
        (_map$get2 = map.get(event)) == null || _map$get2.delete(listener);
      }
    };
  }
  function useFloatingNodeId(customParentId) {
    const id = useId();
    const tree = useFloatingTree();
    const reactParentId = useFloatingParentNodeId();
    const parentId = customParentId || reactParentId;
    index(() => {
      if (!id) return;
      const node2 = {
        id,
        parentId
      };
      tree == null || tree.addNode(node2);
      return () => {
        tree == null || tree.removeNode(node2);
      };
    }, [tree, id, parentId]);
    return id;
  }
  function FloatingNode(props) {
    const {
      children,
      id
    } = props;
    const parentId = useFloatingParentNodeId();
    return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(FloatingNodeContext.Provider, {
      value: React18.useMemo(() => ({
        id,
        parentId
      }), [id, parentId]),
      children
    });
  }
  function FloatingTree(props) {
    const {
      children
    } = props;
    const nodesRef = React18.useRef([]);
    const addNode = React18.useCallback((node2) => {
      nodesRef.current = [...nodesRef.current, node2];
    }, []);
    const removeNode = React18.useCallback((node2) => {
      nodesRef.current = nodesRef.current.filter((n3) => n3 !== node2);
    }, []);
    const [events] = React18.useState(() => createEventEmitter());
    return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(FloatingTreeContext.Provider, {
      value: React18.useMemo(() => ({
        nodesRef,
        addNode,
        removeNode,
        events
      }), [addNode, removeNode, events]),
      children
    });
  }
  function createAttribute(name) {
    return "data-floating-ui-" + name;
  }
  function clearTimeoutIfSet(timeoutRef) {
    if (timeoutRef.current !== -1) {
      clearTimeout(timeoutRef.current);
      timeoutRef.current = -1;
    }
  }
  function getDelay(value, prop, pointerType) {
    if (pointerType && !isMouseLikePointerType(pointerType)) {
      return 0;
    }
    if (typeof value === "number") {
      return value;
    }
    if (typeof value === "function") {
      const result = value();
      if (typeof result === "number") {
        return result;
      }
      return result == null ? void 0 : result[prop];
    }
    return value == null ? void 0 : value[prop];
  }
  function getRestMs(value) {
    if (typeof value === "function") {
      return value();
    }
    return value;
  }
  function useHover(context, props) {
    if (props === void 0) {
      props = {};
    }
    const {
      open,
      onOpenChange,
      dataRef,
      events,
      elements
    } = context;
    const {
      enabled: enabled2 = true,
      delay = 0,
      handleClose = null,
      mouseOnly = false,
      restMs = 0,
      move = true
    } = props;
    const tree = useFloatingTree();
    const parentId = useFloatingParentNodeId();
    const handleCloseRef = useLatestRef(handleClose);
    const delayRef = useLatestRef(delay);
    const openRef = useLatestRef(open);
    const restMsRef = useLatestRef(restMs);
    const pointerTypeRef = React18.useRef();
    const timeoutRef = React18.useRef(-1);
    const handlerRef = React18.useRef();
    const restTimeoutRef = React18.useRef(-1);
    const blockMouseMoveRef = React18.useRef(true);
    const performedPointerEventsMutationRef = React18.useRef(false);
    const unbindMouseMoveRef = React18.useRef(() => {
    });
    const restTimeoutPendingRef = React18.useRef(false);
    const isHoverOpen = useEffectEvent(() => {
      var _dataRef$current$open;
      const type2 = (_dataRef$current$open = dataRef.current.openEvent) == null ? void 0 : _dataRef$current$open.type;
      return (type2 == null ? void 0 : type2.includes("mouse")) && type2 !== "mousedown";
    });
    React18.useEffect(() => {
      if (!enabled2) return;
      function onOpenChange2(_ref) {
        let {
          open: open2
        } = _ref;
        if (!open2) {
          clearTimeoutIfSet(timeoutRef);
          clearTimeoutIfSet(restTimeoutRef);
          blockMouseMoveRef.current = true;
          restTimeoutPendingRef.current = false;
        }
      }
      events.on("openchange", onOpenChange2);
      return () => {
        events.off("openchange", onOpenChange2);
      };
    }, [enabled2, events]);
    React18.useEffect(() => {
      if (!enabled2) return;
      if (!handleCloseRef.current) return;
      if (!open) return;
      function onLeave(event) {
        if (isHoverOpen()) {
          onOpenChange(false, event, "hover");
        }
      }
      const html = getDocument(elements.floating).documentElement;
      html.addEventListener("mouseleave", onLeave);
      return () => {
        html.removeEventListener("mouseleave", onLeave);
      };
    }, [elements.floating, open, onOpenChange, enabled2, handleCloseRef, isHoverOpen]);
    const closeWithDelay = React18.useCallback(function(event, runElseBranch, reason) {
      if (runElseBranch === void 0) {
        runElseBranch = true;
      }
      if (reason === void 0) {
        reason = "hover";
      }
      const closeDelay = getDelay(delayRef.current, "close", pointerTypeRef.current);
      if (closeDelay && !handlerRef.current) {
        clearTimeoutIfSet(timeoutRef);
        timeoutRef.current = window.setTimeout(() => onOpenChange(false, event, reason), closeDelay);
      } else if (runElseBranch) {
        clearTimeoutIfSet(timeoutRef);
        onOpenChange(false, event, reason);
      }
    }, [delayRef, onOpenChange]);
    const cleanupMouseMoveHandler = useEffectEvent(() => {
      unbindMouseMoveRef.current();
      handlerRef.current = void 0;
    });
    const clearPointerEvents = useEffectEvent(() => {
      if (performedPointerEventsMutationRef.current) {
        const body = getDocument(elements.floating).body;
        body.style.pointerEvents = "";
        body.removeAttribute(safePolygonIdentifier);
        performedPointerEventsMutationRef.current = false;
      }
    });
    const isClickLikeOpenEvent = useEffectEvent(() => {
      return dataRef.current.openEvent ? ["click", "mousedown"].includes(dataRef.current.openEvent.type) : false;
    });
    React18.useEffect(() => {
      if (!enabled2) return;
      function onReferenceMouseEnter(event) {
        clearTimeoutIfSet(timeoutRef);
        blockMouseMoveRef.current = false;
        if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current) || getRestMs(restMsRef.current) > 0 && !getDelay(delayRef.current, "open")) {
          return;
        }
        const openDelay = getDelay(delayRef.current, "open", pointerTypeRef.current);
        if (openDelay) {
          timeoutRef.current = window.setTimeout(() => {
            if (!openRef.current) {
              onOpenChange(true, event, "hover");
            }
          }, openDelay);
        } else if (!open) {
          onOpenChange(true, event, "hover");
        }
      }
      function onReferenceMouseLeave(event) {
        if (isClickLikeOpenEvent()) {
          clearPointerEvents();
          return;
        }
        unbindMouseMoveRef.current();
        const doc = getDocument(elements.floating);
        clearTimeoutIfSet(restTimeoutRef);
        restTimeoutPendingRef.current = false;
        if (handleCloseRef.current && dataRef.current.floatingContext) {
          if (!open) {
            clearTimeoutIfSet(timeoutRef);
          }
          handlerRef.current = handleCloseRef.current({
            ...dataRef.current.floatingContext,
            tree,
            x: event.clientX,
            y: event.clientY,
            onClose() {
              clearPointerEvents();
              cleanupMouseMoveHandler();
              if (!isClickLikeOpenEvent()) {
                closeWithDelay(event, true, "safe-polygon");
              }
            }
          });
          const handler = handlerRef.current;
          doc.addEventListener("mousemove", handler);
          unbindMouseMoveRef.current = () => {
            doc.removeEventListener("mousemove", handler);
          };
          return;
        }
        const shouldClose = pointerTypeRef.current === "touch" ? !contains(elements.floating, event.relatedTarget) : true;
        if (shouldClose) {
          closeWithDelay(event);
        }
      }
      function onScrollMouseLeave(event) {
        if (isClickLikeOpenEvent()) return;
        if (!dataRef.current.floatingContext) return;
        handleCloseRef.current == null || handleCloseRef.current({
          ...dataRef.current.floatingContext,
          tree,
          x: event.clientX,
          y: event.clientY,
          onClose() {
            clearPointerEvents();
            cleanupMouseMoveHandler();
            if (!isClickLikeOpenEvent()) {
              closeWithDelay(event);
            }
          }
        })(event);
      }
      function onFloatingMouseEnter() {
        clearTimeoutIfSet(timeoutRef);
      }
      function onFloatingMouseLeave(event) {
        if (!isClickLikeOpenEvent()) {
          closeWithDelay(event, false);
        }
      }
      if (isElement(elements.domReference)) {
        const reference2 = elements.domReference;
        const floating = elements.floating;
        if (open) {
          reference2.addEventListener("mouseleave", onScrollMouseLeave);
        }
        if (move) {
          reference2.addEventListener("mousemove", onReferenceMouseEnter, {
            once: true
          });
        }
        reference2.addEventListener("mouseenter", onReferenceMouseEnter);
        reference2.addEventListener("mouseleave", onReferenceMouseLeave);
        if (floating) {
          floating.addEventListener("mouseleave", onScrollMouseLeave);
          floating.addEventListener("mouseenter", onFloatingMouseEnter);
          floating.addEventListener("mouseleave", onFloatingMouseLeave);
        }
        return () => {
          if (open) {
            reference2.removeEventListener("mouseleave", onScrollMouseLeave);
          }
          if (move) {
            reference2.removeEventListener("mousemove", onReferenceMouseEnter);
          }
          reference2.removeEventListener("mouseenter", onReferenceMouseEnter);
          reference2.removeEventListener("mouseleave", onReferenceMouseLeave);
          if (floating) {
            floating.removeEventListener("mouseleave", onScrollMouseLeave);
            floating.removeEventListener("mouseenter", onFloatingMouseEnter);
            floating.removeEventListener("mouseleave", onFloatingMouseLeave);
          }
        };
      }
    }, [elements, enabled2, context, mouseOnly, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open, openRef, tree, delayRef, handleCloseRef, dataRef, isClickLikeOpenEvent, restMsRef]);
    index(() => {
      var _handleCloseRef$curre;
      if (!enabled2) return;
      if (open && (_handleCloseRef$curre = handleCloseRef.current) != null && (_handleCloseRef$curre = _handleCloseRef$curre.__options) != null && _handleCloseRef$curre.blockPointerEvents && isHoverOpen()) {
        performedPointerEventsMutationRef.current = true;
        const floatingEl = elements.floating;
        if (isElement(elements.domReference) && floatingEl) {
          var _tree$nodesRef$curren;
          const body = getDocument(elements.floating).body;
          body.setAttribute(safePolygonIdentifier, "");
          const ref = elements.domReference;
          const parentFloating = tree == null || (_tree$nodesRef$curren = tree.nodesRef.current.find((node2) => node2.id === parentId)) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.context) == null ? void 0 : _tree$nodesRef$curren.elements.floating;
          if (parentFloating) {
            parentFloating.style.pointerEvents = "";
          }
          body.style.pointerEvents = "none";
          ref.style.pointerEvents = "auto";
          floatingEl.style.pointerEvents = "auto";
          return () => {
            body.style.pointerEvents = "";
            ref.style.pointerEvents = "";
            floatingEl.style.pointerEvents = "";
          };
        }
      }
    }, [enabled2, open, parentId, elements, tree, handleCloseRef, isHoverOpen]);
    index(() => {
      if (!open) {
        pointerTypeRef.current = void 0;
        restTimeoutPendingRef.current = false;
        cleanupMouseMoveHandler();
        clearPointerEvents();
      }
    }, [open, cleanupMouseMoveHandler, clearPointerEvents]);
    React18.useEffect(() => {
      return () => {
        cleanupMouseMoveHandler();
        clearTimeoutIfSet(timeoutRef);
        clearTimeoutIfSet(restTimeoutRef);
        clearPointerEvents();
      };
    }, [enabled2, elements.domReference, cleanupMouseMoveHandler, clearPointerEvents]);
    const reference = React18.useMemo(() => {
      function setPointerRef(event) {
        pointerTypeRef.current = event.pointerType;
      }
      return {
        onPointerDown: setPointerRef,
        onPointerEnter: setPointerRef,
        onMouseMove(event) {
          const {
            nativeEvent
          } = event;
          function handleMouseMove() {
            if (!blockMouseMoveRef.current && !openRef.current) {
              onOpenChange(true, nativeEvent, "hover");
            }
          }
          if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current)) {
            return;
          }
          if (open || getRestMs(restMsRef.current) === 0) {
            return;
          }
          if (restTimeoutPendingRef.current && event.movementX ** 2 + event.movementY ** 2 < 2) {
            return;
          }
          clearTimeoutIfSet(restTimeoutRef);
          if (pointerTypeRef.current === "touch") {
            handleMouseMove();
          } else {
            restTimeoutPendingRef.current = true;
            restTimeoutRef.current = window.setTimeout(handleMouseMove, getRestMs(restMsRef.current));
          }
        }
      };
    }, [mouseOnly, onOpenChange, open, openRef, restMsRef]);
    return React18.useMemo(() => enabled2 ? {
      reference
    } : {}, [enabled2, reference]);
  }
  function enqueueFocus(el2, options2) {
    if (options2 === void 0) {
      options2 = {};
    }
    const {
      preventScroll = false,
      cancelPrevious = true,
      sync = false
    } = options2;
    cancelPrevious && cancelAnimationFrame(rafId);
    const exec = () => el2 == null ? void 0 : el2.focus({
      preventScroll
    });
    if (sync) {
      exec();
    } else {
      rafId = requestAnimationFrame(exec);
    }
  }
  function getDocument2(node2) {
    return (node2 == null ? void 0 : node2.ownerDocument) || document;
  }
  function getCounterMap(control) {
    if (control === "inert") return counters.inert;
    if (control === "aria-hidden") return counters["aria-hidden"];
    return counters.none;
  }
  function applyAttributeToOthers(uncorrectedAvoidElements, body, ariaHidden, inert) {
    const markerName = "data-floating-ui-inert";
    const controlAttribute = inert ? "inert" : ariaHidden ? "aria-hidden" : null;
    const avoidElements = correctElements(body, uncorrectedAvoidElements);
    const elementsToKeep = /* @__PURE__ */ new Set();
    const elementsToStop = new Set(avoidElements);
    const hiddenElements = [];
    if (!markerMap[markerName]) {
      markerMap[markerName] = /* @__PURE__ */ new WeakMap();
    }
    const markerCounter = markerMap[markerName];
    avoidElements.forEach(keep);
    deep(body);
    elementsToKeep.clear();
    function keep(el2) {
      if (!el2 || elementsToKeep.has(el2)) {
        return;
      }
      elementsToKeep.add(el2);
      el2.parentNode && keep(el2.parentNode);
    }
    function deep(parent) {
      if (!parent || elementsToStop.has(parent)) {
        return;
      }
      [].forEach.call(parent.children, (node2) => {
        if (getNodeName(node2) === "script") return;
        if (elementsToKeep.has(node2)) {
          deep(node2);
        } else {
          const attr2 = controlAttribute ? node2.getAttribute(controlAttribute) : null;
          const alreadyHidden = attr2 !== null && attr2 !== "false";
          const counterMap = getCounterMap(controlAttribute);
          const counterValue = (counterMap.get(node2) || 0) + 1;
          const markerValue = (markerCounter.get(node2) || 0) + 1;
          counterMap.set(node2, counterValue);
          markerCounter.set(node2, markerValue);
          hiddenElements.push(node2);
          if (counterValue === 1 && alreadyHidden) {
            uncontrolledElementsSet.add(node2);
          }
          if (markerValue === 1) {
            node2.setAttribute(markerName, "");
          }
          if (!alreadyHidden && controlAttribute) {
            node2.setAttribute(controlAttribute, controlAttribute === "inert" ? "" : "true");
          }
        }
      });
    }
    lockCount$1++;
    return () => {
      hiddenElements.forEach((element) => {
        const counterMap = getCounterMap(controlAttribute);
        const currentCounterValue = counterMap.get(element) || 0;
        const counterValue = currentCounterValue - 1;
        const markerValue = (markerCounter.get(element) || 0) - 1;
        counterMap.set(element, counterValue);
        markerCounter.set(element, markerValue);
        if (!counterValue) {
          if (!uncontrolledElementsSet.has(element) && controlAttribute) {
            element.removeAttribute(controlAttribute);
          }
          uncontrolledElementsSet.delete(element);
        }
        if (!markerValue) {
          element.removeAttribute(markerName);
        }
      });
      lockCount$1--;
      if (!lockCount$1) {
        counters.inert = /* @__PURE__ */ new WeakMap();
        counters["aria-hidden"] = /* @__PURE__ */ new WeakMap();
        counters.none = /* @__PURE__ */ new WeakMap();
        uncontrolledElementsSet = /* @__PURE__ */ new WeakSet();
        markerMap = {};
      }
    };
  }
  function markOthers(avoidElements, ariaHidden, inert) {
    if (ariaHidden === void 0) {
      ariaHidden = false;
    }
    if (inert === void 0) {
      inert = false;
    }
    const body = getDocument2(avoidElements[0]).body;
    return applyAttributeToOthers(avoidElements.concat(Array.from(body.querySelectorAll("[aria-live]"))), body, ariaHidden, inert);
  }
  function useFloatingPortalNode(props) {
    if (props === void 0) {
      props = {};
    }
    const {
      id,
      root: root2
    } = props;
    const uniqueId = useId();
    const portalContext = usePortalContext();
    const [portalNode, setPortalNode] = React18.useState(null);
    const portalNodeRef = React18.useRef(null);
    index(() => {
      return () => {
        portalNode == null || portalNode.remove();
        queueMicrotask(() => {
          portalNodeRef.current = null;
        });
      };
    }, [portalNode]);
    index(() => {
      if (!uniqueId) return;
      if (portalNodeRef.current) return;
      const existingIdRoot = id ? document.getElementById(id) : null;
      if (!existingIdRoot) return;
      const subRoot = document.createElement("div");
      subRoot.id = uniqueId;
      subRoot.setAttribute(attr, "");
      existingIdRoot.appendChild(subRoot);
      portalNodeRef.current = subRoot;
      setPortalNode(subRoot);
    }, [id, uniqueId]);
    index(() => {
      if (root2 === null) return;
      if (!uniqueId) return;
      if (portalNodeRef.current) return;
      let container = root2 || (portalContext == null ? void 0 : portalContext.portalNode);
      if (container && !isElement(container)) container = container.current;
      container = container || document.body;
      let idWrapper = null;
      if (id) {
        idWrapper = document.createElement("div");
        idWrapper.id = id;
        container.appendChild(idWrapper);
      }
      const subRoot = document.createElement("div");
      subRoot.id = uniqueId;
      subRoot.setAttribute(attr, "");
      container = idWrapper || container;
      container.appendChild(subRoot);
      portalNodeRef.current = subRoot;
      setPortalNode(subRoot);
    }, [id, root2, uniqueId, portalContext]);
    return portalNode;
  }
  function FloatingPortal(props) {
    const {
      children,
      id,
      root: root2,
      preserveTabOrder = true
    } = props;
    const portalNode = useFloatingPortalNode({
      id,
      root: root2
    });
    const [focusManagerState, setFocusManagerState] = React18.useState(null);
    const beforeOutsideRef = React18.useRef(null);
    const afterOutsideRef = React18.useRef(null);
    const beforeInsideRef = React18.useRef(null);
    const afterInsideRef = React18.useRef(null);
    const modal = focusManagerState == null ? void 0 : focusManagerState.modal;
    const open = focusManagerState == null ? void 0 : focusManagerState.open;
    const shouldRenderGuards = (
      // The FocusManager and therefore floating element are currently open/
      // rendered.
      !!focusManagerState && // Guards are only for non-modal focus management.
      !focusManagerState.modal && // Don't render if unmount is transitioning.
      focusManagerState.open && preserveTabOrder && !!(root2 || portalNode)
    );
    React18.useEffect(() => {
      if (!portalNode || !preserveTabOrder || modal) {
        return;
      }
      function onFocus(event) {
        if (portalNode && isOutsideEvent(event)) {
          const focusing = event.type === "focusin";
          const manageFocus = focusing ? enableFocusInside : disableFocusInside;
          manageFocus(portalNode);
        }
      }
      portalNode.addEventListener("focusin", onFocus, true);
      portalNode.addEventListener("focusout", onFocus, true);
      return () => {
        portalNode.removeEventListener("focusin", onFocus, true);
        portalNode.removeEventListener("focusout", onFocus, true);
      };
    }, [portalNode, preserveTabOrder, modal]);
    React18.useEffect(() => {
      if (!portalNode) return;
      if (open) return;
      enableFocusInside(portalNode);
    }, [open, portalNode]);
    return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(PortalContext2.Provider, {
      value: React18.useMemo(() => ({
        preserveTabOrder,
        beforeOutsideRef,
        afterOutsideRef,
        beforeInsideRef,
        afterInsideRef,
        portalNode,
        setFocusManagerState
      }), [preserveTabOrder, portalNode]),
      children: [shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(FocusGuard, {
        "data-type": "outside",
        ref: beforeOutsideRef,
        onFocus: (event) => {
          if (isOutsideEvent(event, portalNode)) {
            var _beforeInsideRef$curr;
            (_beforeInsideRef$curr = beforeInsideRef.current) == null || _beforeInsideRef$curr.focus();
          } else {
            const domReference = focusManagerState ? focusManagerState.domReference : null;
            const prevTabbable = getPreviousTabbable(domReference);
            prevTabbable == null || prevTabbable.focus();
          }
        }
      }), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", {
        "aria-owns": portalNode.id,
        style: HIDDEN_STYLES
      }), portalNode && /* @__PURE__ */ ReactDOM2.createPortal(children, portalNode), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(FocusGuard, {
        "data-type": "outside",
        ref: afterOutsideRef,
        onFocus: (event) => {
          if (isOutsideEvent(event, portalNode)) {
            var _afterInsideRef$curre;
            (_afterInsideRef$curre = afterInsideRef.current) == null || _afterInsideRef$curre.focus();
          } else {
            const domReference = focusManagerState ? focusManagerState.domReference : null;
            const nextTabbable = getNextTabbable(domReference);
            nextTabbable == null || nextTabbable.focus();
            (focusManagerState == null ? void 0 : focusManagerState.closeOnFocusOut) && (focusManagerState == null ? void 0 : focusManagerState.onOpenChange(false, event.nativeEvent, "focus-out"));
          }
        }
      })]
    });
  }
  function useLiteMergeRefs(refs) {
    return React18.useMemo(() => {
      return (value) => {
        refs.forEach((ref) => {
          if (ref) {
            ref.current = value;
          }
        });
      };
    }, refs);
  }
  function addPreviouslyFocusedElement(element) {
    previouslyFocusedElements = previouslyFocusedElements.filter((el2) => el2.isConnected);
    if (element && getNodeName(element) !== "body") {
      previouslyFocusedElements.push(element);
      if (previouslyFocusedElements.length > LIST_LIMIT) {
        previouslyFocusedElements = previouslyFocusedElements.slice(-20);
      }
    }
  }
  function getPreviouslyFocusedElement() {
    return previouslyFocusedElements.slice().reverse().find((el2) => el2.isConnected);
  }
  function getFirstTabbableElement(container) {
    const tabbableOptions = getTabbableOptions();
    if (isTabbable(container, tabbableOptions)) {
      return container;
    }
    return tabbable(container, tabbableOptions)[0] || container;
  }
  function handleTabIndex(floatingFocusElement, orderRef) {
    var _floatingFocusElement;
    if (!orderRef.current.includes("floating") && !((_floatingFocusElement = floatingFocusElement.getAttribute("role")) != null && _floatingFocusElement.includes("dialog"))) {
      return;
    }
    const options2 = getTabbableOptions();
    const focusableElements = focusable(floatingFocusElement, options2);
    const tabbableContent = focusableElements.filter((element) => {
      const dataTabIndex = element.getAttribute("data-tabindex") || "";
      return isTabbable(element, options2) || element.hasAttribute("data-tabindex") && !dataTabIndex.startsWith("-");
    });
    const tabIndex = floatingFocusElement.getAttribute("tabindex");
    if (orderRef.current.includes("floating") || tabbableContent.length === 0) {
      if (tabIndex !== "0") {
        floatingFocusElement.setAttribute("tabindex", "0");
      }
    } else if (tabIndex !== "-1" || floatingFocusElement.hasAttribute("data-tabindex") && floatingFocusElement.getAttribute("data-tabindex") !== "-1") {
      floatingFocusElement.setAttribute("tabindex", "-1");
      floatingFocusElement.setAttribute("data-tabindex", "-1");
    }
  }
  function FloatingFocusManager(props) {
    const {
      context,
      children,
      disabled: disabled2 = false,
      order = ["content"],
      guards: _guards = true,
      initialFocus = 0,
      returnFocus = true,
      restoreFocus = false,
      modal = true,
      visuallyHiddenDismiss = false,
      closeOnFocusOut = true,
      outsideElementsInert = false,
      getInsideElements: _getInsideElements = () => []
    } = props;
    const {
      open,
      onOpenChange,
      events,
      dataRef,
      elements: {
        domReference,
        floating
      }
    } = context;
    const getNodeId = useEffectEvent(() => {
      var _dataRef$current$floa;
      return (_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.nodeId;
    });
    const getInsideElements = useEffectEvent(_getInsideElements);
    const ignoreInitialFocus = typeof initialFocus === "number" && initialFocus < 0;
    const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;
    const inertSupported = supportsInert();
    const guards = inertSupported ? _guards : true;
    const useInert = !guards || inertSupported && outsideElementsInert;
    const orderRef = useLatestRef(order);
    const initialFocusRef = useLatestRef(initialFocus);
    const returnFocusRef = useLatestRef(returnFocus);
    const tree = useFloatingTree();
    const portalContext = usePortalContext();
    const startDismissButtonRef = React18.useRef(null);
    const endDismissButtonRef = React18.useRef(null);
    const preventReturnFocusRef = React18.useRef(false);
    const isPointerDownRef = React18.useRef(false);
    const tabbableIndexRef = React18.useRef(-1);
    const isInsidePortal = portalContext != null;
    const floatingFocusElement = getFloatingFocusElement(floating);
    const getTabbableContent = useEffectEvent(function(container) {
      if (container === void 0) {
        container = floatingFocusElement;
      }
      return container ? tabbable(container, getTabbableOptions()) : [];
    });
    const getTabbableElements = useEffectEvent((container) => {
      const content = getTabbableContent(container);
      return orderRef.current.map((type2) => {
        if (domReference && type2 === "reference") {
          return domReference;
        }
        if (floatingFocusElement && type2 === "floating") {
          return floatingFocusElement;
        }
        return content;
      }).filter(Boolean).flat();
    });
    React18.useEffect(() => {
      if (disabled2) return;
      if (!modal) return;
      function onKeyDown(event) {
        if (event.key === "Tab") {
          if (contains(floatingFocusElement, activeElement(getDocument(floatingFocusElement))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {
            stopEvent(event);
          }
          const els = getTabbableElements();
          const target2 = getTarget(event);
          if (orderRef.current[0] === "reference" && target2 === domReference) {
            stopEvent(event);
            if (event.shiftKey) {
              enqueueFocus(els[els.length - 1]);
            } else {
              enqueueFocus(els[1]);
            }
          }
          if (orderRef.current[1] === "floating" && target2 === floatingFocusElement && event.shiftKey) {
            stopEvent(event);
            enqueueFocus(els[0]);
          }
        }
      }
      const doc = getDocument(floatingFocusElement);
      doc.addEventListener("keydown", onKeyDown);
      return () => {
        doc.removeEventListener("keydown", onKeyDown);
      };
    }, [disabled2, domReference, floatingFocusElement, modal, orderRef, isUntrappedTypeableCombobox, getTabbableContent, getTabbableElements]);
    React18.useEffect(() => {
      if (disabled2) return;
      if (!floating) return;
      function handleFocusIn(event) {
        const target2 = getTarget(event);
        const tabbableContent = getTabbableContent();
        const tabbableIndex = tabbableContent.indexOf(target2);
        if (tabbableIndex !== -1) {
          tabbableIndexRef.current = tabbableIndex;
        }
      }
      floating.addEventListener("focusin", handleFocusIn);
      return () => {
        floating.removeEventListener("focusin", handleFocusIn);
      };
    }, [disabled2, floating, getTabbableContent]);
    React18.useEffect(() => {
      if (disabled2) return;
      if (!closeOnFocusOut) return;
      function handlePointerDown() {
        isPointerDownRef.current = true;
        setTimeout(() => {
          isPointerDownRef.current = false;
        });
      }
      function handleFocusOutside(event) {
        const relatedTarget = event.relatedTarget;
        const currentTarget = event.currentTarget;
        const target2 = getTarget(event);
        queueMicrotask(() => {
          const nodeId = getNodeId();
          const movedToUnrelatedNode = !(contains(domReference, relatedTarget) || contains(floating, relatedTarget) || contains(relatedTarget, floating) || contains(portalContext == null ? void 0 : portalContext.portalNode, relatedTarget) || relatedTarget != null && relatedTarget.hasAttribute(createAttribute("focus-guard")) || tree && (getNodeChildren(tree.nodesRef.current, nodeId).find((node2) => {
            var _node$context, _node$context2;
            return contains((_node$context = node2.context) == null ? void 0 : _node$context.elements.floating, relatedTarget) || contains((_node$context2 = node2.context) == null ? void 0 : _node$context2.elements.domReference, relatedTarget);
          }) || getNodeAncestors(tree.nodesRef.current, nodeId).find((node2) => {
            var _node$context3, _node$context4, _node$context5;
            return [(_node$context3 = node2.context) == null ? void 0 : _node$context3.elements.floating, getFloatingFocusElement((_node$context4 = node2.context) == null ? void 0 : _node$context4.elements.floating)].includes(relatedTarget) || ((_node$context5 = node2.context) == null ? void 0 : _node$context5.elements.domReference) === relatedTarget;
          })));
          if (currentTarget === domReference && floatingFocusElement) {
            handleTabIndex(floatingFocusElement, orderRef);
          }
          if (restoreFocus && currentTarget !== domReference && !(target2 != null && target2.isConnected) && activeElement(getDocument(floatingFocusElement)) === getDocument(floatingFocusElement).body) {
            if (isHTMLElement(floatingFocusElement)) {
              floatingFocusElement.focus();
            }
            const prevTabbableIndex = tabbableIndexRef.current;
            const tabbableContent = getTabbableContent();
            const nodeToFocus = tabbableContent[prevTabbableIndex] || tabbableContent[tabbableContent.length - 1] || floatingFocusElement;
            if (isHTMLElement(nodeToFocus)) {
              nodeToFocus.focus();
            }
          }
          if (dataRef.current.insideReactTree) {
            dataRef.current.insideReactTree = false;
            return;
          }
          if ((isUntrappedTypeableCombobox ? true : !modal) && relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current && // Fix React 18 Strict Mode returnFocus due to double rendering.
          relatedTarget !== getPreviouslyFocusedElement()) {
            preventReturnFocusRef.current = true;
            onOpenChange(false, event, "focus-out");
          }
        });
      }
      if (floating && isHTMLElement(domReference)) {
        domReference.addEventListener("focusout", handleFocusOutside);
        domReference.addEventListener("pointerdown", handlePointerDown);
        floating.addEventListener("focusout", handleFocusOutside);
        return () => {
          domReference.removeEventListener("focusout", handleFocusOutside);
          domReference.removeEventListener("pointerdown", handlePointerDown);
          floating.removeEventListener("focusout", handleFocusOutside);
        };
      }
    }, [disabled2, domReference, floating, floatingFocusElement, modal, tree, portalContext, onOpenChange, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox, getNodeId, orderRef, dataRef]);
    const beforeGuardRef = React18.useRef(null);
    const afterGuardRef = React18.useRef(null);
    const mergedBeforeGuardRef = useLiteMergeRefs([beforeGuardRef, portalContext == null ? void 0 : portalContext.beforeInsideRef]);
    const mergedAfterGuardRef = useLiteMergeRefs([afterGuardRef, portalContext == null ? void 0 : portalContext.afterInsideRef]);
    React18.useEffect(() => {
      var _portalContext$portal, _ancestors$find;
      if (disabled2) return;
      if (!floating) return;
      const portalNodes = Array.from((portalContext == null || (_portalContext$portal = portalContext.portalNode) == null ? void 0 : _portalContext$portal.querySelectorAll("[" + createAttribute("portal") + "]")) || []);
      const ancestors = tree ? getNodeAncestors(tree.nodesRef.current, getNodeId()) : [];
      const ancestorFloatingNodes = tree && !modal ? ancestors.map((node2) => {
        var _node$context6;
        return (_node$context6 = node2.context) == null ? void 0 : _node$context6.elements.floating;
      }) : [];
      const rootAncestorComboboxDomReference = (_ancestors$find = ancestors.find((node2) => {
        var _node$context7;
        return isTypeableCombobox(((_node$context7 = node2.context) == null ? void 0 : _node$context7.elements.domReference) || null);
      })) == null || (_ancestors$find = _ancestors$find.context) == null ? void 0 : _ancestors$find.elements.domReference;
      const insideElements = [floating, rootAncestorComboboxDomReference, ...portalNodes, ...ancestorFloatingNodes, ...getInsideElements(), startDismissButtonRef.current, endDismissButtonRef.current, beforeGuardRef.current, afterGuardRef.current, portalContext == null ? void 0 : portalContext.beforeOutsideRef.current, portalContext == null ? void 0 : portalContext.afterOutsideRef.current, orderRef.current.includes("reference") || isUntrappedTypeableCombobox ? domReference : null].filter((x) => x != null);
      const cleanup2 = modal || isUntrappedTypeableCombobox ? markOthers(insideElements, !useInert, useInert) : markOthers(insideElements);
      return () => {
        cleanup2();
      };
    }, [disabled2, domReference, floating, modal, orderRef, portalContext, isUntrappedTypeableCombobox, guards, useInert, tree, getNodeId, getInsideElements]);
    index(() => {
      if (disabled2 || !isHTMLElement(floatingFocusElement)) return;
      const doc = getDocument(floatingFocusElement);
      const previouslyFocusedElement = activeElement(doc);
      queueMicrotask(() => {
        const focusableElements = getTabbableElements(floatingFocusElement);
        const initialFocusValue = initialFocusRef.current;
        const elToFocus = (typeof initialFocusValue === "number" ? focusableElements[initialFocusValue] : initialFocusValue.current) || floatingFocusElement;
        const focusAlreadyInsideFloatingEl = contains(floatingFocusElement, previouslyFocusedElement);
        if (!ignoreInitialFocus && !focusAlreadyInsideFloatingEl && open) {
          enqueueFocus(elToFocus, {
            preventScroll: elToFocus === floatingFocusElement
          });
        }
      });
    }, [disabled2, open, floatingFocusElement, ignoreInitialFocus, getTabbableElements, initialFocusRef]);
    index(() => {
      if (disabled2 || !floatingFocusElement) return;
      const doc = getDocument(floatingFocusElement);
      const previouslyFocusedElement = activeElement(doc);
      addPreviouslyFocusedElement(previouslyFocusedElement);
      function onOpenChange2(_ref) {
        let {
          reason,
          event,
          nested
        } = _ref;
        if (["hover", "safe-polygon"].includes(reason) && event.type === "mouseleave") {
          preventReturnFocusRef.current = true;
        }
        if (reason !== "outside-press") return;
        if (nested) {
          preventReturnFocusRef.current = false;
        } else if (isVirtualClick(event) || isVirtualPointerEvent(event)) {
          preventReturnFocusRef.current = false;
        } else {
          let isPreventScrollSupported = false;
          document.createElement("div").focus({
            get preventScroll() {
              isPreventScrollSupported = true;
              return false;
            }
          });
          if (isPreventScrollSupported) {
            preventReturnFocusRef.current = false;
          } else {
            preventReturnFocusRef.current = true;
          }
        }
      }
      events.on("openchange", onOpenChange2);
      const fallbackEl = doc.createElement("span");
      fallbackEl.setAttribute("tabindex", "-1");
      fallbackEl.setAttribute("aria-hidden", "true");
      Object.assign(fallbackEl.style, HIDDEN_STYLES);
      if (isInsidePortal && domReference) {
        domReference.insertAdjacentElement("afterend", fallbackEl);
      }
      function getReturnElement() {
        if (typeof returnFocusRef.current === "boolean") {
          const el2 = domReference || getPreviouslyFocusedElement();
          return el2 && el2.isConnected ? el2 : fallbackEl;
        }
        return returnFocusRef.current.current || fallbackEl;
      }
      return () => {
        events.off("openchange", onOpenChange2);
        const activeEl = activeElement(doc);
        const isFocusInsideFloatingTree = contains(floating, activeEl) || tree && getNodeChildren(tree.nodesRef.current, getNodeId()).some((node2) => {
          var _node$context8;
          return contains((_node$context8 = node2.context) == null ? void 0 : _node$context8.elements.floating, activeEl);
        });
        const returnElement = getReturnElement();
        queueMicrotask(() => {
          const tabbableReturnElement = getFirstTabbableElement(returnElement);
          if (
            // eslint-disable-next-line react-hooks/exhaustive-deps
            returnFocusRef.current && !preventReturnFocusRef.current && isHTMLElement(tabbableReturnElement) && // If the focus moved somewhere else after mount, avoid returning focus
            // since it likely entered a different element which should be
            // respected: https://github.com/floating-ui/floating-ui/issues/2607
            (tabbableReturnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)
          ) {
            tabbableReturnElement.focus({
              preventScroll: true
            });
          }
          fallbackEl.remove();
        });
      };
    }, [disabled2, floating, floatingFocusElement, returnFocusRef, dataRef, events, tree, isInsidePortal, domReference, getNodeId]);
    React18.useEffect(() => {
      queueMicrotask(() => {
        preventReturnFocusRef.current = false;
      });
    }, [disabled2]);
    index(() => {
      if (disabled2) return;
      if (!portalContext) return;
      portalContext.setFocusManagerState({
        modal,
        closeOnFocusOut,
        open,
        onOpenChange,
        domReference
      });
      return () => {
        portalContext.setFocusManagerState(null);
      };
    }, [disabled2, portalContext, modal, open, onOpenChange, closeOnFocusOut, domReference]);
    index(() => {
      if (disabled2) return;
      if (!floatingFocusElement) return;
      handleTabIndex(floatingFocusElement, orderRef);
    }, [disabled2, floatingFocusElement, orderRef]);
    function renderDismissButton(location) {
      if (disabled2 || !visuallyHiddenDismiss || !modal) {
        return null;
      }
      return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(VisuallyHiddenDismiss, {
        ref: location === "start" ? startDismissButtonRef : endDismissButtonRef,
        onClick: (event) => onOpenChange(false, event.nativeEvent),
        children: typeof visuallyHiddenDismiss === "string" ? visuallyHiddenDismiss : "Dismiss"
      });
    }
    const shouldRenderGuards = !disabled2 && guards && (modal ? !isUntrappedTypeableCombobox : true) && (isInsidePortal || modal);
    return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, {
      children: [shouldRenderGuards && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(FocusGuard, {
        "data-type": "inside",
        ref: mergedBeforeGuardRef,
        onFocus: (event) => {
          if (modal) {
            const els = getTabbableElements();
            enqueueFocus(order[0] === "reference" ? els[0] : els[els.length - 1]);
          } else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {
            preventReturnFocusRef.current = false;
            if (isOutsideEvent(event, portalContext.portalNode)) {
              const nextTabbable = getNextTabbable(domReference);
              nextTabbable == null || nextTabbable.focus();
            } else {
              var _portalContext$before;
              (_portalContext$before = portalContext.beforeOutsideRef.current) == null || _portalContext$before.focus();
            }
          }
        }
      }), !isUntrappedTypeableCombobox && renderDismissButton("start"), children, renderDismissButton("end"), shouldRenderGuards && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(FocusGuard, {
        "data-type": "inside",
        ref: mergedAfterGuardRef,
        onFocus: (event) => {
          if (modal) {
            enqueueFocus(getTabbableElements()[0]);
          } else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {
            if (closeOnFocusOut) {
              preventReturnFocusRef.current = true;
            }
            if (isOutsideEvent(event, portalContext.portalNode)) {
              const prevTabbable = getPreviousTabbable(domReference);
              prevTabbable == null || prevTabbable.focus();
            } else {
              var _portalContext$afterO;
              (_portalContext$afterO = portalContext.afterOutsideRef.current) == null || _portalContext$afterO.focus();
            }
          }
        }
      })]
    });
  }
  function isButtonTarget(event) {
    return isHTMLElement(event.target) && event.target.tagName === "BUTTON";
  }
  function isAnchorTarget(event) {
    return isHTMLElement(event.target) && event.target.tagName === "A";
  }
  function isSpaceIgnored(element) {
    return isTypeableElement(element);
  }
  function useClick(context, props) {
    if (props === void 0) {
      props = {};
    }
    const {
      open,
      onOpenChange,
      dataRef,
      elements: {
        domReference
      }
    } = context;
    const {
      enabled: enabled2 = true,
      event: eventOption = "click",
      toggle = true,
      ignoreMouse = false,
      keyboardHandlers = true,
      stickIfOpen = true
    } = props;
    const pointerTypeRef = React18.useRef();
    const didKeyDownRef = React18.useRef(false);
    const reference = React18.useMemo(() => ({
      onPointerDown(event) {
        pointerTypeRef.current = event.pointerType;
      },
      onMouseDown(event) {
        const pointerType = pointerTypeRef.current;
        if (event.button !== 0) return;
        if (eventOption === "click") return;
        if (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;
        if (open && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === "mousedown" : true)) {
          onOpenChange(false, event.nativeEvent, "click");
        } else {
          event.preventDefault();
          onOpenChange(true, event.nativeEvent, "click");
        }
      },
      onClick(event) {
        const pointerType = pointerTypeRef.current;
        if (eventOption === "mousedown" && pointerTypeRef.current) {
          pointerTypeRef.current = void 0;
          return;
        }
        if (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;
        if (open && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === "click" : true)) {
          onOpenChange(false, event.nativeEvent, "click");
        } else {
          onOpenChange(true, event.nativeEvent, "click");
        }
      },
      onKeyDown(event) {
        pointerTypeRef.current = void 0;
        if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event)) {
          return;
        }
        if (event.key === " " && !isSpaceIgnored(domReference)) {
          event.preventDefault();
          didKeyDownRef.current = true;
        }
        if (isAnchorTarget(event)) {
          return;
        }
        if (event.key === "Enter") {
          if (open && toggle) {
            onOpenChange(false, event.nativeEvent, "click");
          } else {
            onOpenChange(true, event.nativeEvent, "click");
          }
        }
      },
      onKeyUp(event) {
        if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event) || isSpaceIgnored(domReference)) {
          return;
        }
        if (event.key === " " && didKeyDownRef.current) {
          didKeyDownRef.current = false;
          if (open && toggle) {
            onOpenChange(false, event.nativeEvent, "click");
          } else {
            onOpenChange(true, event.nativeEvent, "click");
          }
        }
      }
    }), [dataRef, domReference, eventOption, ignoreMouse, keyboardHandlers, onOpenChange, open, stickIfOpen, toggle]);
    return React18.useMemo(() => enabled2 ? {
      reference
    } : {}, [enabled2, reference]);
  }
  function useDismiss(context, props) {
    if (props === void 0) {
      props = {};
    }
    const {
      open,
      onOpenChange,
      elements,
      dataRef
    } = context;
    const {
      enabled: enabled2 = true,
      escapeKey = true,
      outsidePress: unstable_outsidePress = true,
      outsidePressEvent = "pointerdown",
      referencePress = false,
      referencePressEvent = "pointerdown",
      ancestorScroll = false,
      bubbles,
      capture
    } = props;
    const tree = useFloatingTree();
    const outsidePressFn = useEffectEvent(typeof unstable_outsidePress === "function" ? unstable_outsidePress : () => false);
    const outsidePress = typeof unstable_outsidePress === "function" ? outsidePressFn : unstable_outsidePress;
    const endedOrStartedInsideRef = React18.useRef(false);
    const {
      escapeKey: escapeKeyBubbles,
      outsidePress: outsidePressBubbles
    } = normalizeProp(bubbles);
    const {
      escapeKey: escapeKeyCapture,
      outsidePress: outsidePressCapture
    } = normalizeProp(capture);
    const isComposingRef = React18.useRef(false);
    const blurTimeoutRef = React18.useRef(-1);
    const closeOnEscapeKeyDown = useEffectEvent((event) => {
      var _dataRef$current$floa;
      if (!open || !enabled2 || !escapeKey || event.key !== "Escape") {
        return;
      }
      if (isComposingRef.current) {
        return;
      }
      const nodeId = (_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.nodeId;
      const children = tree ? getNodeChildren(tree.nodesRef.current, nodeId) : [];
      if (!escapeKeyBubbles) {
        event.stopPropagation();
        if (children.length > 0) {
          let shouldDismiss = true;
          children.forEach((child) => {
            var _child$context;
            if ((_child$context = child.context) != null && _child$context.open && !child.context.dataRef.current.__escapeKeyBubbles) {
              shouldDismiss = false;
              return;
            }
          });
          if (!shouldDismiss) {
            return;
          }
        }
      }
      onOpenChange(false, isReactEvent(event) ? event.nativeEvent : event, "escape-key");
    });
    const closeOnEscapeKeyDownCapture = useEffectEvent((event) => {
      var _getTarget2;
      const callback = () => {
        var _getTarget;
        closeOnEscapeKeyDown(event);
        (_getTarget = getTarget(event)) == null || _getTarget.removeEventListener("keydown", callback);
      };
      (_getTarget2 = getTarget(event)) == null || _getTarget2.addEventListener("keydown", callback);
    });
    const closeOnPressOutside = useEffectEvent((event) => {
      var _dataRef$current$floa2;
      const insideReactTree = dataRef.current.insideReactTree;
      dataRef.current.insideReactTree = false;
      const endedOrStartedInside = endedOrStartedInsideRef.current;
      endedOrStartedInsideRef.current = false;
      if (outsidePressEvent === "click" && endedOrStartedInside) {
        return;
      }
      if (insideReactTree) {
        return;
      }
      if (typeof outsidePress === "function" && !outsidePress(event)) {
        return;
      }
      const target2 = getTarget(event);
      const inertSelector = "[" + createAttribute("inert") + "]";
      const markers = getDocument(elements.floating).querySelectorAll(inertSelector);
      let targetRootAncestor = isElement(target2) ? target2 : null;
      while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {
        const nextParent = getParentNode(targetRootAncestor);
        if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {
          break;
        }
        targetRootAncestor = nextParent;
      }
      if (markers.length && isElement(target2) && !isRootElement(target2) && // Clicked on a direct ancestor (e.g. FloatingOverlay).
      !contains(target2, elements.floating) && // If the target root element contains none of the markers, then the
      // element was injected after the floating element rendered.
      Array.from(markers).every((marker) => !contains(targetRootAncestor, marker))) {
        return;
      }
      if (isHTMLElement(target2) && floating) {
        const lastTraversableNode = isLastTraversableNode(target2);
        const style = getComputedStyle2(target2);
        const scrollRe = /auto|scroll/;
        const isScrollableX = lastTraversableNode || scrollRe.test(style.overflowX);
        const isScrollableY = lastTraversableNode || scrollRe.test(style.overflowY);
        const canScrollX = isScrollableX && target2.clientWidth > 0 && target2.scrollWidth > target2.clientWidth;
        const canScrollY = isScrollableY && target2.clientHeight > 0 && target2.scrollHeight > target2.clientHeight;
        const isRTL2 = style.direction === "rtl";
        const pressedVerticalScrollbar = canScrollY && (isRTL2 ? event.offsetX <= target2.offsetWidth - target2.clientWidth : event.offsetX > target2.clientWidth);
        const pressedHorizontalScrollbar = canScrollX && event.offsetY > target2.clientHeight;
        if (pressedVerticalScrollbar || pressedHorizontalScrollbar) {
          return;
        }
      }
      const nodeId = (_dataRef$current$floa2 = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa2.nodeId;
      const targetIsInsideChildren = tree && getNodeChildren(tree.nodesRef.current, nodeId).some((node2) => {
        var _node$context;
        return isEventTargetWithin(event, (_node$context = node2.context) == null ? void 0 : _node$context.elements.floating);
      });
      if (isEventTargetWithin(event, elements.floating) || isEventTargetWithin(event, elements.domReference) || targetIsInsideChildren) {
        return;
      }
      const children = tree ? getNodeChildren(tree.nodesRef.current, nodeId) : [];
      if (children.length > 0) {
        let shouldDismiss = true;
        children.forEach((child) => {
          var _child$context2;
          if ((_child$context2 = child.context) != null && _child$context2.open && !child.context.dataRef.current.__outsidePressBubbles) {
            shouldDismiss = false;
            return;
          }
        });
        if (!shouldDismiss) {
          return;
        }
      }
      onOpenChange(false, event, "outside-press");
    });
    const closeOnPressOutsideCapture = useEffectEvent((event) => {
      var _getTarget4;
      const callback = () => {
        var _getTarget3;
        closeOnPressOutside(event);
        (_getTarget3 = getTarget(event)) == null || _getTarget3.removeEventListener(outsidePressEvent, callback);
      };
      (_getTarget4 = getTarget(event)) == null || _getTarget4.addEventListener(outsidePressEvent, callback);
    });
    React18.useEffect(() => {
      if (!open || !enabled2) {
        return;
      }
      dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;
      dataRef.current.__outsidePressBubbles = outsidePressBubbles;
      let compositionTimeout = -1;
      function onScroll(event) {
        onOpenChange(false, event, "ancestor-scroll");
      }
      function handleCompositionStart() {
        window.clearTimeout(compositionTimeout);
        isComposingRef.current = true;
      }
      function handleCompositionEnd() {
        compositionTimeout = window.setTimeout(
          () => {
            isComposingRef.current = false;
          },
          // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.
          // Only apply to WebKit for the test to remain 0ms.
          isWebKit() ? 5 : 0
        );
      }
      const doc = getDocument(elements.floating);
      if (escapeKey) {
        doc.addEventListener("keydown", escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);
        doc.addEventListener("compositionstart", handleCompositionStart);
        doc.addEventListener("compositionend", handleCompositionEnd);
      }
      outsidePress && doc.addEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);
      let ancestors = [];
      if (ancestorScroll) {
        if (isElement(elements.domReference)) {
          ancestors = getOverflowAncestors(elements.domReference);
        }
        if (isElement(elements.floating)) {
          ancestors = ancestors.concat(getOverflowAncestors(elements.floating));
        }
        if (!isElement(elements.reference) && elements.reference && elements.reference.contextElement) {
          ancestors = ancestors.concat(getOverflowAncestors(elements.reference.contextElement));
        }
      }
      ancestors = ancestors.filter((ancestor) => {
        var _doc$defaultView;
        return ancestor !== ((_doc$defaultView = doc.defaultView) == null ? void 0 : _doc$defaultView.visualViewport);
      });
      ancestors.forEach((ancestor) => {
        ancestor.addEventListener("scroll", onScroll, {
          passive: true
        });
      });
      return () => {
        if (escapeKey) {
          doc.removeEventListener("keydown", escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);
          doc.removeEventListener("compositionstart", handleCompositionStart);
          doc.removeEventListener("compositionend", handleCompositionEnd);
        }
        outsidePress && doc.removeEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);
        ancestors.forEach((ancestor) => {
          ancestor.removeEventListener("scroll", onScroll);
        });
        window.clearTimeout(compositionTimeout);
      };
    }, [dataRef, elements, escapeKey, outsidePress, outsidePressEvent, open, onOpenChange, ancestorScroll, enabled2, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, escapeKeyCapture, closeOnEscapeKeyDownCapture, closeOnPressOutside, outsidePressCapture, closeOnPressOutsideCapture]);
    React18.useEffect(() => {
      dataRef.current.insideReactTree = false;
    }, [dataRef, outsidePress, outsidePressEvent]);
    const reference = React18.useMemo(() => ({
      onKeyDown: closeOnEscapeKeyDown,
      ...referencePress && {
        [bubbleHandlerKeys[referencePressEvent]]: (event) => {
          onOpenChange(false, event.nativeEvent, "reference-press");
        },
        ...referencePressEvent !== "click" && {
          onClick(event) {
            onOpenChange(false, event.nativeEvent, "reference-press");
          }
        }
      }
    }), [closeOnEscapeKeyDown, onOpenChange, referencePress, referencePressEvent]);
    const floating = React18.useMemo(() => ({
      onKeyDown: closeOnEscapeKeyDown,
      onMouseDown() {
        endedOrStartedInsideRef.current = true;
      },
      onMouseUp() {
        endedOrStartedInsideRef.current = true;
      },
      [captureHandlerKeys[outsidePressEvent]]: () => {
        dataRef.current.insideReactTree = true;
      },
      onBlurCapture() {
        if (tree) return;
        clearTimeoutIfSet(blurTimeoutRef);
        dataRef.current.insideReactTree = true;
        blurTimeoutRef.current = window.setTimeout(() => {
          dataRef.current.insideReactTree = false;
        });
      }
    }), [closeOnEscapeKeyDown, outsidePressEvent, dataRef, tree]);
    return React18.useMemo(() => enabled2 ? {
      reference,
      floating
    } : {}, [enabled2, reference, floating]);
  }
  function useFloatingRootContext(options2) {
    const {
      open = false,
      onOpenChange: onOpenChangeProp,
      elements: elementsProp
    } = options2;
    const floatingId = useId();
    const dataRef = React18.useRef({});
    const [events] = React18.useState(() => createEventEmitter());
    const nested = useFloatingParentNodeId() != null;
    if (true) {
      const optionDomReference = elementsProp.reference;
      if (optionDomReference && !isElement(optionDomReference)) {
        error("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `refs.setPositionReference()`", "instead.");
      }
    }
    const [positionReference, setPositionReference] = React18.useState(elementsProp.reference);
    const onOpenChange = useEffectEvent((open2, event, reason) => {
      dataRef.current.openEvent = open2 ? event : void 0;
      events.emit("openchange", {
        open: open2,
        event,
        reason,
        nested
      });
      onOpenChangeProp == null || onOpenChangeProp(open2, event, reason);
    });
    const refs = React18.useMemo(() => ({
      setPositionReference
    }), []);
    const elements = React18.useMemo(() => ({
      reference: positionReference || elementsProp.reference || null,
      floating: elementsProp.floating || null,
      domReference: elementsProp.reference
    }), [positionReference, elementsProp.reference, elementsProp.floating]);
    return React18.useMemo(() => ({
      dataRef,
      open,
      onOpenChange,
      elements,
      events,
      floatingId,
      refs
    }), [open, onOpenChange, elements, events, floatingId, refs]);
  }
  function useFloating2(options2) {
    if (options2 === void 0) {
      options2 = {};
    }
    const {
      nodeId
    } = options2;
    const internalRootContext = useFloatingRootContext({
      ...options2,
      elements: {
        reference: null,
        floating: null,
        ...options2.elements
      }
    });
    const rootContext = options2.rootContext || internalRootContext;
    const computedElements = rootContext.elements;
    const [_domReference, setDomReference] = React18.useState(null);
    const [positionReference, _setPositionReference] = React18.useState(null);
    const optionDomReference = computedElements == null ? void 0 : computedElements.domReference;
    const domReference = optionDomReference || _domReference;
    const domReferenceRef = React18.useRef(null);
    const tree = useFloatingTree();
    index(() => {
      if (domReference) {
        domReferenceRef.current = domReference;
      }
    }, [domReference]);
    const position2 = useFloating({
      ...options2,
      elements: {
        ...computedElements,
        ...positionReference && {
          reference: positionReference
        }
      }
    });
    const setPositionReference = React18.useCallback((node2) => {
      const computedPositionReference = isElement(node2) ? {
        getBoundingClientRect: () => node2.getBoundingClientRect(),
        getClientRects: () => node2.getClientRects(),
        contextElement: node2
      } : node2;
      _setPositionReference(computedPositionReference);
      position2.refs.setReference(computedPositionReference);
    }, [position2.refs]);
    const setReference = React18.useCallback((node2) => {
      if (isElement(node2) || node2 === null) {
        domReferenceRef.current = node2;
        setDomReference(node2);
      }
      if (isElement(position2.refs.reference.current) || position2.refs.reference.current === null || // Don't allow setting virtual elements using the old technique back to
      // `null` to support `positionReference` + an unstable `reference`
      // callback ref.
      node2 !== null && !isElement(node2)) {
        position2.refs.setReference(node2);
      }
    }, [position2.refs]);
    const refs = React18.useMemo(() => ({
      ...position2.refs,
      setReference,
      setPositionReference,
      domReference: domReferenceRef
    }), [position2.refs, setReference, setPositionReference]);
    const elements = React18.useMemo(() => ({
      ...position2.elements,
      domReference
    }), [position2.elements, domReference]);
    const context = React18.useMemo(() => ({
      ...position2,
      ...rootContext,
      refs,
      elements,
      nodeId
    }), [position2, refs, elements, nodeId, rootContext]);
    index(() => {
      rootContext.dataRef.current.floatingContext = context;
      const node2 = tree == null ? void 0 : tree.nodesRef.current.find((node3) => node3.id === nodeId);
      if (node2) {
        node2.context = context;
      }
    });
    return React18.useMemo(() => ({
      ...position2,
      context,
      refs,
      elements
    }), [position2, refs, elements, context]);
  }
  function isMacSafari() {
    return isMac() && isSafari();
  }
  function useFocus(context, props) {
    if (props === void 0) {
      props = {};
    }
    const {
      open,
      onOpenChange,
      events,
      dataRef,
      elements
    } = context;
    const {
      enabled: enabled2 = true,
      visibleOnly = true
    } = props;
    const blockFocusRef = React18.useRef(false);
    const timeoutRef = React18.useRef(-1);
    const keyboardModalityRef = React18.useRef(true);
    React18.useEffect(() => {
      if (!enabled2) return;
      const win = getWindow(elements.domReference);
      function onBlur() {
        if (!open && isHTMLElement(elements.domReference) && elements.domReference === activeElement(getDocument(elements.domReference))) {
          blockFocusRef.current = true;
        }
      }
      function onKeyDown() {
        keyboardModalityRef.current = true;
      }
      function onPointerDown() {
        keyboardModalityRef.current = false;
      }
      win.addEventListener("blur", onBlur);
      if (isMacSafari()) {
        win.addEventListener("keydown", onKeyDown, true);
        win.addEventListener("pointerdown", onPointerDown, true);
      }
      return () => {
        win.removeEventListener("blur", onBlur);
        if (isMacSafari()) {
          win.removeEventListener("keydown", onKeyDown, true);
          win.removeEventListener("pointerdown", onPointerDown, true);
        }
      };
    }, [elements.domReference, open, enabled2]);
    React18.useEffect(() => {
      if (!enabled2) return;
      function onOpenChange2(_ref) {
        let {
          reason
        } = _ref;
        if (reason === "reference-press" || reason === "escape-key") {
          blockFocusRef.current = true;
        }
      }
      events.on("openchange", onOpenChange2);
      return () => {
        events.off("openchange", onOpenChange2);
      };
    }, [events, enabled2]);
    React18.useEffect(() => {
      return () => {
        clearTimeoutIfSet(timeoutRef);
      };
    }, []);
    const reference = React18.useMemo(() => ({
      onMouseLeave() {
        blockFocusRef.current = false;
      },
      onFocus(event) {
        if (blockFocusRef.current) return;
        const target2 = getTarget(event.nativeEvent);
        if (visibleOnly && isElement(target2)) {
          if (isMacSafari() && !event.relatedTarget) {
            if (!keyboardModalityRef.current && !isTypeableElement(target2)) {
              return;
            }
          } else if (!matchesFocusVisible(target2)) {
            return;
          }
        }
        onOpenChange(true, event.nativeEvent, "focus");
      },
      onBlur(event) {
        blockFocusRef.current = false;
        const relatedTarget = event.relatedTarget;
        const nativeEvent = event.nativeEvent;
        const movedToFocusGuard = isElement(relatedTarget) && relatedTarget.hasAttribute(createAttribute("focus-guard")) && relatedTarget.getAttribute("data-type") === "outside";
        timeoutRef.current = window.setTimeout(() => {
          var _dataRef$current$floa;
          const activeEl = activeElement(elements.domReference ? elements.domReference.ownerDocument : document);
          if (!relatedTarget && activeEl === elements.domReference) return;
          if (contains((_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.refs.floating.current, activeEl) || contains(elements.domReference, activeEl) || movedToFocusGuard) {
            return;
          }
          onOpenChange(false, nativeEvent, "focus");
        });
      }
    }), [dataRef, elements.domReference, onOpenChange, visibleOnly]);
    return React18.useMemo(() => enabled2 ? {
      reference
    } : {}, [enabled2, reference]);
  }
  function mergeProps(userProps, propsList, elementKey) {
    const map = /* @__PURE__ */ new Map();
    const isItem = elementKey === "item";
    let domUserProps = userProps;
    if (isItem && userProps) {
      const {
        [ACTIVE_KEY]: _3,
        [SELECTED_KEY]: __,
        ...validProps
      } = userProps;
      domUserProps = validProps;
    }
    return {
      ...elementKey === "floating" && {
        tabIndex: -1,
        [FOCUSABLE_ATTRIBUTE2]: ""
      },
      ...domUserProps,
      ...propsList.map((value) => {
        const propsOrGetProps = value ? value[elementKey] : null;
        if (typeof propsOrGetProps === "function") {
          return userProps ? propsOrGetProps(userProps) : null;
        }
        return propsOrGetProps;
      }).concat(userProps).reduce((acc, props) => {
        if (!props) {
          return acc;
        }
        Object.entries(props).forEach((_ref) => {
          let [key, value] = _ref;
          if (isItem && [ACTIVE_KEY, SELECTED_KEY].includes(key)) {
            return;
          }
          if (key.indexOf("on") === 0) {
            if (!map.has(key)) {
              map.set(key, []);
            }
            if (typeof value === "function") {
              var _map$get;
              (_map$get = map.get(key)) == null || _map$get.push(value);
              acc[key] = function() {
                var _map$get2;
                for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
                  args[_key] = arguments[_key];
                }
                return (_map$get2 = map.get(key)) == null ? void 0 : _map$get2.map((fn) => fn(...args)).find((val) => val !== void 0);
              };
            }
          } else {
            acc[key] = value;
          }
        });
        return acc;
      }, {})
    };
  }
  function useInteractions(propsList) {
    if (propsList === void 0) {
      propsList = [];
    }
    const referenceDeps = propsList.map((key) => key == null ? void 0 : key.reference);
    const floatingDeps = propsList.map((key) => key == null ? void 0 : key.floating);
    const itemDeps = propsList.map((key) => key == null ? void 0 : key.item);
    const getReferenceProps = React18.useCallback(
      (userProps) => mergeProps(userProps, propsList, "reference"),
      // eslint-disable-next-line react-hooks/exhaustive-deps
      referenceDeps
    );
    const getFloatingProps = React18.useCallback(
      (userProps) => mergeProps(userProps, propsList, "floating"),
      // eslint-disable-next-line react-hooks/exhaustive-deps
      floatingDeps
    );
    const getItemProps = React18.useCallback(
      (userProps) => mergeProps(userProps, propsList, "item"),
      // eslint-disable-next-line react-hooks/exhaustive-deps
      itemDeps
    );
    return React18.useMemo(() => ({
      getReferenceProps,
      getFloatingProps,
      getItemProps
    }), [getReferenceProps, getFloatingProps, getItemProps]);
  }
  function useRole(context, props) {
    var _elements$domReferenc, _componentRoleToAriaR;
    if (props === void 0) {
      props = {};
    }
    const {
      open,
      elements,
      floatingId: defaultFloatingId
    } = context;
    const {
      enabled: enabled2 = true,
      role = "dialog"
    } = props;
    const defaultReferenceId = useId();
    const referenceId = ((_elements$domReferenc = elements.domReference) == null ? void 0 : _elements$domReferenc.id) || defaultReferenceId;
    const floatingId = React18.useMemo(() => {
      var _getFloatingFocusElem;
      return ((_getFloatingFocusElem = getFloatingFocusElement(elements.floating)) == null ? void 0 : _getFloatingFocusElem.id) || defaultFloatingId;
    }, [elements.floating, defaultFloatingId]);
    const ariaRole = (_componentRoleToAriaR = componentRoleToAriaRoleMap.get(role)) != null ? _componentRoleToAriaR : role;
    const parentId = useFloatingParentNodeId();
    const isNested = parentId != null;
    const reference = React18.useMemo(() => {
      if (ariaRole === "tooltip" || role === "label") {
        return {
          ["aria-" + (role === "label" ? "labelledby" : "describedby")]: open ? floatingId : void 0
        };
      }
      return {
        "aria-expanded": open ? "true" : "false",
        "aria-haspopup": ariaRole === "alertdialog" ? "dialog" : ariaRole,
        "aria-controls": open ? floatingId : void 0,
        ...ariaRole === "listbox" && {
          role: "combobox"
        },
        ...ariaRole === "menu" && {
          id: referenceId
        },
        ...ariaRole === "menu" && isNested && {
          role: "menuitem"
        },
        ...role === "select" && {
          "aria-autocomplete": "none"
        },
        ...role === "combobox" && {
          "aria-autocomplete": "list"
        }
      };
    }, [ariaRole, floatingId, isNested, open, referenceId, role]);
    const floating = React18.useMemo(() => {
      const floatingProps = {
        id: floatingId,
        ...ariaRole && {
          role: ariaRole
        }
      };
      if (ariaRole === "tooltip" || role === "label") {
        return floatingProps;
      }
      return {
        ...floatingProps,
        ...ariaRole === "menu" && {
          "aria-labelledby": referenceId
        }
      };
    }, [ariaRole, floatingId, referenceId, role]);
    const item = React18.useCallback((_ref) => {
      let {
        active,
        selected
      } = _ref;
      const commonProps = {
        role: "option",
        ...active && {
          id: floatingId + "-fui-option"
        }
      };
      switch (role) {
        case "select":
          return {
            ...commonProps,
            "aria-selected": active && selected
          };
        case "combobox": {
          return {
            ...commonProps,
            "aria-selected": selected
          };
        }
      }
      return {};
    }, [floatingId, role]);
    return React18.useMemo(() => enabled2 ? {
      reference,
      floating,
      item
    } : {}, [enabled2, reference, floating, item]);
  }
  function execWithArgsOrReturn(valueOrFn, args) {
    return typeof valueOrFn === "function" ? valueOrFn(args) : valueOrFn;
  }
  function useDelayUnmount(open, durationMs) {
    const [isMounted, setIsMounted] = React18.useState(open);
    if (open && !isMounted) {
      setIsMounted(true);
    }
    React18.useEffect(() => {
      if (!open && isMounted) {
        const timeout = setTimeout(() => setIsMounted(false), durationMs);
        return () => clearTimeout(timeout);
      }
    }, [open, isMounted, durationMs]);
    return isMounted;
  }
  function useTransitionStatus(context, props) {
    if (props === void 0) {
      props = {};
    }
    const {
      open,
      elements: {
        floating
      }
    } = context;
    const {
      duration = 250
    } = props;
    const isNumberDuration = typeof duration === "number";
    const closeDuration = (isNumberDuration ? duration : duration.close) || 0;
    const [status, setStatus] = React18.useState("unmounted");
    const isMounted = useDelayUnmount(open, closeDuration);
    if (!isMounted && status === "close") {
      setStatus("unmounted");
    }
    index(() => {
      if (!floating) return;
      if (open) {
        setStatus("initial");
        const frame = requestAnimationFrame(() => {
          ReactDOM2.flushSync(() => {
            setStatus("open");
          });
        });
        return () => {
          cancelAnimationFrame(frame);
        };
      }
      setStatus("close");
    }, [open, floating]);
    return {
      isMounted,
      status
    };
  }
  function useTransitionStyles(context, props) {
    if (props === void 0) {
      props = {};
    }
    const {
      initial: unstable_initial = {
        opacity: 0
      },
      open: unstable_open,
      close: unstable_close,
      common: unstable_common,
      duration = 250
    } = props;
    const placement = context.placement;
    const side = placement.split("-")[0];
    const fnArgs = React18.useMemo(() => ({
      side,
      placement
    }), [side, placement]);
    const isNumberDuration = typeof duration === "number";
    const openDuration = (isNumberDuration ? duration : duration.open) || 0;
    const closeDuration = (isNumberDuration ? duration : duration.close) || 0;
    const [styles2, setStyles] = React18.useState(() => ({
      ...execWithArgsOrReturn(unstable_common, fnArgs),
      ...execWithArgsOrReturn(unstable_initial, fnArgs)
    }));
    const {
      isMounted,
      status
    } = useTransitionStatus(context, {
      duration
    });
    const initialRef = useLatestRef(unstable_initial);
    const openRef = useLatestRef(unstable_open);
    const closeRef = useLatestRef(unstable_close);
    const commonRef = useLatestRef(unstable_common);
    index(() => {
      const initialStyles = execWithArgsOrReturn(initialRef.current, fnArgs);
      const closeStyles = execWithArgsOrReturn(closeRef.current, fnArgs);
      const commonStyles = execWithArgsOrReturn(commonRef.current, fnArgs);
      const openStyles = execWithArgsOrReturn(openRef.current, fnArgs) || Object.keys(initialStyles).reduce((acc, key) => {
        acc[key] = "";
        return acc;
      }, {});
      if (status === "initial") {
        setStyles((styles3) => ({
          transitionProperty: styles3.transitionProperty,
          ...commonStyles,
          ...initialStyles
        }));
      }
      if (status === "open") {
        setStyles({
          transitionProperty: Object.keys(openStyles).map(camelCaseToKebabCase).join(","),
          transitionDuration: openDuration + "ms",
          ...commonStyles,
          ...openStyles
        });
      }
      if (status === "close") {
        const styles3 = closeStyles || initialStyles;
        setStyles({
          transitionProperty: Object.keys(styles3).map(camelCaseToKebabCase).join(","),
          transitionDuration: closeDuration + "ms",
          ...commonStyles,
          ...styles3
        });
      }
    }, [closeDuration, closeRef, initialRef, openRef, commonRef, openDuration, status, fnArgs]);
    return {
      isMounted,
      styles: styles2
    };
  }
  var React18, import_jsx_runtime11, ReactDOM2, FloatingListContext, FOCUSABLE_ATTRIBUTE2, ACTIVE_KEY, SELECTED_KEY, ARROW_LEFT2, ARROW_RIGHT2, ARROW_UP2, ARROW_DOWN2, CompositeContext, horizontalKeys, verticalKeys, allKeys, Composite, CompositeItem, SafeReact2, serverHandoffComplete, count, genId, useReactId, useId, devMessageSet, FloatingNodeContext, FloatingTreeContext, useFloatingParentNodeId, useFloatingTree, safePolygonIdentifier, rafId, counters, uncontrolledElementsSet, markerMap, lockCount$1, supportsInert, unwrapHost, correctElements, HIDDEN_STYLES, FocusGuard, PortalContext2, attr, usePortalContext, LIST_LIMIT, previouslyFocusedElements, VisuallyHiddenDismiss, bubbleHandlerKeys, captureHandlerKeys, normalizeProp, componentRoleToAriaRoleMap, camelCaseToKebabCase;
  var init_floating_ui_react = __esm({
    "node_modules/@floating-ui/react/dist/floating-ui.react.mjs"() {
      React18 = __toESM(require_react(), 1);
      init_floating_ui_react_utils();
      import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1);
      init_floating_ui_utils_dom();
      init_index_esm();
      ReactDOM2 = __toESM(require_react_dom(), 1);
      init_floating_ui_react_dom();
      init_floating_ui_react_dom();
      FloatingListContext = /* @__PURE__ */ React18.createContext({
        register: () => {
        },
        unregister: () => {
        },
        map: /* @__PURE__ */ new Map(),
        elementsRef: {
          current: []
        }
      });
      FOCUSABLE_ATTRIBUTE2 = "data-floating-ui-focusable";
      ACTIVE_KEY = "active";
      SELECTED_KEY = "selected";
      ARROW_LEFT2 = "ArrowLeft";
      ARROW_RIGHT2 = "ArrowRight";
      ARROW_UP2 = "ArrowUp";
      ARROW_DOWN2 = "ArrowDown";
      CompositeContext = /* @__PURE__ */ React18.createContext({
        activeIndex: 0,
        onNavigate: () => {
        }
      });
      horizontalKeys = [ARROW_LEFT2, ARROW_RIGHT2];
      verticalKeys = [ARROW_UP2, ARROW_DOWN2];
      allKeys = [...horizontalKeys, ...verticalKeys];
      Composite = /* @__PURE__ */ React18.forwardRef(function Composite2(props, forwardedRef) {
        const {
          render,
          orientation = "both",
          loop = true,
          rtl = false,
          cols = 1,
          disabledIndices,
          activeIndex: externalActiveIndex,
          onNavigate: externalSetActiveIndex,
          itemSizes,
          dense = false,
          ...domProps
        } = props;
        const [internalActiveIndex, internalSetActiveIndex] = React18.useState(0);
        const activeIndex = externalActiveIndex != null ? externalActiveIndex : internalActiveIndex;
        const onNavigate = useEffectEvent(externalSetActiveIndex != null ? externalSetActiveIndex : internalSetActiveIndex);
        const elementsRef = React18.useRef([]);
        const renderElementProps = render && typeof render !== "function" ? render.props : {};
        const contextValue = React18.useMemo(() => ({
          activeIndex,
          onNavigate
        }), [activeIndex, onNavigate]);
        const isGrid = cols > 1;
        function handleKeyDown(event) {
          if (!allKeys.includes(event.key)) return;
          let nextIndex = activeIndex;
          const minIndex = getMinListIndex(elementsRef, disabledIndices);
          const maxIndex = getMaxListIndex(elementsRef, disabledIndices);
          const horizontalEndKey = rtl ? ARROW_LEFT2 : ARROW_RIGHT2;
          const horizontalStartKey = rtl ? ARROW_RIGHT2 : ARROW_LEFT2;
          if (isGrid) {
            const sizes2 = itemSizes || Array.from({
              length: elementsRef.current.length
            }, () => ({
              width: 1,
              height: 1
            }));
            const cellMap = createGridCellMap(sizes2, cols, dense);
            const minGridIndex = cellMap.findIndex((index3) => index3 != null && !isListIndexDisabled(elementsRef, index3, disabledIndices));
            const maxGridIndex = cellMap.reduce((foundIndex, index3, cellIndex) => index3 != null && !isListIndexDisabled(elementsRef, index3, disabledIndices) ? cellIndex : foundIndex, -1);
            const maybeNextIndex = cellMap[getGridNavigatedIndex({
              current: cellMap.map((itemIndex) => itemIndex ? elementsRef.current[itemIndex] : null)
            }, {
              event,
              orientation,
              loop,
              rtl,
              cols,
              // treat undefined (empty grid spaces) as disabled indices so we
              // don't end up in them
              disabledIndices: getGridCellIndices([...(typeof disabledIndices !== "function" ? disabledIndices : null) || elementsRef.current.map((_3, index3) => isListIndexDisabled(elementsRef, index3, disabledIndices) ? index3 : void 0), void 0], cellMap),
              minIndex: minGridIndex,
              maxIndex: maxGridIndex,
              prevIndex: getGridCellIndexOfCorner(
                activeIndex > maxIndex ? minIndex : activeIndex,
                sizes2,
                cellMap,
                cols,
                // use a corner matching the edge closest to the direction we're
                // moving in so we don't end up in the same item. Prefer
                // top/left over bottom/right.
                event.key === ARROW_DOWN2 ? "bl" : event.key === horizontalEndKey ? "tr" : "tl"
              )
            })];
            if (maybeNextIndex != null) {
              nextIndex = maybeNextIndex;
            }
          }
          const toEndKeys = {
            horizontal: [horizontalEndKey],
            vertical: [ARROW_DOWN2],
            both: [horizontalEndKey, ARROW_DOWN2]
          }[orientation];
          const toStartKeys = {
            horizontal: [horizontalStartKey],
            vertical: [ARROW_UP2],
            both: [horizontalStartKey, ARROW_UP2]
          }[orientation];
          const preventedKeys = isGrid ? allKeys : {
            horizontal: horizontalKeys,
            vertical: verticalKeys,
            both: allKeys
          }[orientation];
          if (nextIndex === activeIndex && [...toEndKeys, ...toStartKeys].includes(event.key)) {
            if (loop && nextIndex === maxIndex && toEndKeys.includes(event.key)) {
              nextIndex = minIndex;
            } else if (loop && nextIndex === minIndex && toStartKeys.includes(event.key)) {
              nextIndex = maxIndex;
            } else {
              nextIndex = findNonDisabledListIndex(elementsRef, {
                startingIndex: nextIndex,
                decrement: toStartKeys.includes(event.key),
                disabledIndices
              });
            }
          }
          if (nextIndex !== activeIndex && !isIndexOutOfListBounds(elementsRef, nextIndex)) {
            var _elementsRef$current$;
            event.stopPropagation();
            if (preventedKeys.includes(event.key)) {
              event.preventDefault();
            }
            onNavigate(nextIndex);
            (_elementsRef$current$ = elementsRef.current[nextIndex]) == null || _elementsRef$current$.focus();
          }
        }
        const computedProps = {
          ...domProps,
          ...renderElementProps,
          ref: forwardedRef,
          "aria-orientation": orientation === "both" ? void 0 : orientation,
          onKeyDown(e3) {
            domProps.onKeyDown == null || domProps.onKeyDown(e3);
            renderElementProps.onKeyDown == null || renderElementProps.onKeyDown(e3);
            handleKeyDown(e3);
          }
        };
        return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(CompositeContext.Provider, {
          value: contextValue,
          children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(FloatingList, {
            elementsRef,
            children: renderJsx(render, computedProps)
          })
        });
      });
      CompositeItem = /* @__PURE__ */ React18.forwardRef(function CompositeItem2(props, forwardedRef) {
        const {
          render,
          ...domProps
        } = props;
        const renderElementProps = render && typeof render !== "function" ? render.props : {};
        const {
          activeIndex,
          onNavigate
        } = React18.useContext(CompositeContext);
        const {
          ref,
          index: index3
        } = useListItem();
        const mergedRef = useMergeRefs([ref, forwardedRef, renderElementProps.ref]);
        const isActive = activeIndex === index3;
        const computedProps = {
          ...domProps,
          ...renderElementProps,
          ref: mergedRef,
          tabIndex: isActive ? 0 : -1,
          "data-active": isActive ? "" : void 0,
          onFocus(e3) {
            domProps.onFocus == null || domProps.onFocus(e3);
            renderElementProps.onFocus == null || renderElementProps.onFocus(e3);
            onNavigate(index3);
          }
        };
        return renderJsx(render, computedProps);
      });
      SafeReact2 = {
        ...React18
      };
      serverHandoffComplete = false;
      count = 0;
      genId = () => (
        // Ensure the id is unique with multiple independent versions of Floating UI
        // on <React 18
        "floating-ui-" + Math.random().toString(36).slice(2, 6) + count++
      );
      useReactId = SafeReact2.useId;
      useId = useReactId || useFloatingId;
      if (true) {
        devMessageSet = /* @__PURE__ */ new Set();
      }
      FloatingNodeContext = /* @__PURE__ */ React18.createContext(null);
      FloatingTreeContext = /* @__PURE__ */ React18.createContext(null);
      useFloatingParentNodeId = () => {
        var _React$useContext;
        return ((_React$useContext = React18.useContext(FloatingNodeContext)) == null ? void 0 : _React$useContext.id) || null;
      };
      useFloatingTree = () => React18.useContext(FloatingTreeContext);
      safePolygonIdentifier = /* @__PURE__ */ createAttribute("safe-polygon");
      rafId = 0;
      counters = {
        inert: /* @__PURE__ */ new WeakMap(),
        "aria-hidden": /* @__PURE__ */ new WeakMap(),
        none: /* @__PURE__ */ new WeakMap()
      };
      uncontrolledElementsSet = /* @__PURE__ */ new WeakSet();
      markerMap = {};
      lockCount$1 = 0;
      supportsInert = () => typeof HTMLElement !== "undefined" && "inert" in HTMLElement.prototype;
      unwrapHost = (node2) => node2 && (node2.host || unwrapHost(node2.parentNode));
      correctElements = (parent, targets) => targets.map((target2) => {
        if (parent.contains(target2)) {
          return target2;
        }
        const correctedTarget = unwrapHost(target2);
        if (parent.contains(correctedTarget)) {
          return correctedTarget;
        }
        return null;
      }).filter((x) => x != null);
      HIDDEN_STYLES = {
        border: 0,
        clip: "rect(0 0 0 0)",
        height: "1px",
        margin: "-1px",
        overflow: "hidden",
        padding: 0,
        position: "fixed",
        whiteSpace: "nowrap",
        width: "1px",
        top: 0,
        left: 0
      };
      FocusGuard = /* @__PURE__ */ React18.forwardRef(function FocusGuard2(props, ref) {
        const [role, setRole] = React18.useState();
        index(() => {
          if (isSafari()) {
            setRole("button");
          }
        }, []);
        const restProps = {
          ref,
          tabIndex: 0,
          // Role is only for VoiceOver
          role,
          "aria-hidden": role ? void 0 : true,
          [createAttribute("focus-guard")]: "",
          style: HIDDEN_STYLES
        };
        return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", {
          ...props,
          ...restProps
        });
      });
      PortalContext2 = /* @__PURE__ */ React18.createContext(null);
      attr = /* @__PURE__ */ createAttribute("portal");
      usePortalContext = () => React18.useContext(PortalContext2);
      LIST_LIMIT = 20;
      previouslyFocusedElements = [];
      VisuallyHiddenDismiss = /* @__PURE__ */ React18.forwardRef(function VisuallyHiddenDismiss2(props, ref) {
        return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("button", {
          ...props,
          type: "button",
          ref,
          tabIndex: -1,
          style: HIDDEN_STYLES
        });
      });
      bubbleHandlerKeys = {
        pointerdown: "onPointerDown",
        mousedown: "onMouseDown",
        click: "onClick"
      };
      captureHandlerKeys = {
        pointerdown: "onPointerDownCapture",
        mousedown: "onMouseDownCapture",
        click: "onClickCapture"
      };
      normalizeProp = (normalizable) => {
        var _normalizable$escapeK, _normalizable$outside;
        return {
          escapeKey: typeof normalizable === "boolean" ? normalizable : (_normalizable$escapeK = normalizable == null ? void 0 : normalizable.escapeKey) != null ? _normalizable$escapeK : false,
          outsidePress: typeof normalizable === "boolean" ? normalizable : (_normalizable$outside = normalizable == null ? void 0 : normalizable.outsidePress) != null ? _normalizable$outside : true
        };
      };
      componentRoleToAriaRoleMap = /* @__PURE__ */ new Map([["select", "listbox"], ["combobox", "listbox"], ["label", false]]);
      camelCaseToKebabCase = (str) => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($2, ofs) => (ofs ? "-" : "") + $2.toLowerCase());
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/contexts/index.js
  var contexts_exports = {};
  __export(contexts_exports, {
    FlowMetadataProvider: () => FlowMetadataProvider,
    useCardState: () => useCardState,
    useFlowMetadata: () => useFlowMetadata,
    withCardStateProvider: () => withCardStateProvider,
    withFloatingTree: () => withFloatingTree
  });
  var import_react31, CardStateCtx, _useCardState, CardStateProvider, useCardState, withCardStateProvider, FlowMetadataCtx, useFlowMetadata, FlowMetadataProvider, withFloatingTree;
  var init_contexts = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/contexts/index.js"() {
      init_RouteContext();
      init_makeLocalizable();
      import_react31 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_floating_ui_react();
      [CardStateCtx, _useCardState] = createContextAndHook("CardState");
      CardStateProvider = (props) => {
        const { translateError } = useLocalizations();
        const router = useRouter();
        const [state, setState] = import_react31.default.useState(() => ({
          status: "idle",
          metadata: void 0,
          error: translateError(window?.Clerk?.__internal_last_error || void 0)
        }));
        import_react31.default.useEffect(() => {
          const error2 = window?.Clerk?.__internal_last_error;
          if (error2) setState((s2) => ({
            ...s2,
            error: translateError(error2)
          }));
        }, [
          translateError,
          setState,
          router.currentPath
        ]);
        const value = import_react31.default.useMemo(() => ({ value: {
          state,
          setState
        } }), [state, setState]);
        return /* @__PURE__ */ jsx2(CardStateCtx.Provider, {
          value,
          children: props.children
        });
      };
      useCardState = () => {
        const { state, setState } = _useCardState();
        const { translateError } = useLocalizations();
        const setIdle = (metadata) => setState((s2) => ({
          ...s2,
          status: "idle",
          metadata
        }));
        const setError = (metadata) => setState((s2) => ({
          ...s2,
          error: translateError(metadata)
        }));
        const setLoading = (metadata) => setState((s2) => ({
          ...s2,
          status: "loading",
          metadata
        }));
        const runAsync = async (cb, metadata) => {
          setLoading(metadata);
          return (typeof cb === "function" ? cb() : cb).then((res) => {
            return res;
          }).finally(() => setIdle(metadata));
        };
        return {
          setIdle,
          setError,
          setLoading,
          runAsync,
          loadingMetadata: state.status === "loading" ? state.metadata : void 0,
          error: state.error ? state.error : void 0,
          isLoading: state.status === "loading",
          isIdle: state.status === "idle",
          state
        };
      };
      withCardStateProvider = (Component) => {
        return (props) => {
          return /* @__PURE__ */ jsx2(CardStateProvider, { children: /* @__PURE__ */ jsx2(Component, { ...props }) });
        };
      };
      [FlowMetadataCtx, useFlowMetadata] = createContextAndHook("FlowMetadata");
      FlowMetadataProvider = (props) => {
        const { flow, part } = props;
        const value = import_react31.default.useMemo(() => ({ value: props }), [flow, part]);
        return /* @__PURE__ */ jsx2(FlowMetadataCtx.Provider, {
          value,
          children: props.children
        });
      };
      withFloatingTree = (Component) => {
        return (props) => {
          if (useFloatingParentNodeId() == null) return /* @__PURE__ */ jsx2(FloatingTree, { children: /* @__PURE__ */ jsx2(Component, { ...props }) });
          return /* @__PURE__ */ jsx2(Component, { ...props });
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/customizables/makeCustomizable.js
  var import_react34, makeCustomizable;
  var init_makeCustomizable = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/customizables/makeCustomizable.js"() {
      init_AppearanceContext();
      init_classGeneration();
      import_react34 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      makeCustomizable = (Component, options2) => {
        const { defaultStyles, defaultDescriptor } = options2 || {};
        const customizableComponent = import_react34.default.forwardRef((props, ref) => {
          const { elementDescriptor, elementId, sx, className, ...restProps } = props;
          const { parsedElements } = useAppearance();
          const descriptors2 = [defaultDescriptor, ...Array.isArray(elementDescriptor) ? elementDescriptor : [elementDescriptor]].filter((s2) => s2);
          if (!descriptors2.length) return /* @__PURE__ */ jsx2(Component, {
            css: sx,
            ...restProps,
            className,
            ref
          });
          const generatedStyles = generateClassName(parsedElements, descriptors2, elementId, props);
          const generatedClassname = appendEmojiSeparator(generatedStyles.className, className);
          generatedStyles.css.unshift(defaultStyles, sx);
          return /* @__PURE__ */ jsx2(Component, {
            elementId,
            css: generatedStyles.css,
            className: generatedClassname,
            ...restProps,
            ref
          });
        });
        customizableComponent.displayName = `Customizable${Component.displayName || Component.name || "Component"}`.replace("_", "");
        return customizableComponent;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/InvisibleRootBox.js
  var import_react35, _InvisibleRootBox, InvisibleRootBox;
  var init_InvisibleRootBox = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/InvisibleRootBox.js"() {
      init_makeCustomizable();
      import_react35 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      _InvisibleRootBox = import_react35.default.memo((props) => {
        const [showSpan, setShowSpan] = import_react35.default.useState(true);
        const parentRef = import_react35.default.useRef(null);
        import_react35.default.useEffect(() => {
          const parent = parentRef.current;
          if (!parent) return;
          if (showSpan) setShowSpan(false);
          parent.setAttribute("class", props.className);
          if ("isFlowReady" in props) parent.setAttribute("data-component-status", props.isFlowReady ? "ready" : "awaiting-data");
        }, [props.className, props.isFlowReady]);
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [props.children, showSpan && /* @__PURE__ */ jsx2("span", {
          ref: (el2) => parentRef.current = el2 ? el2.parentElement : parentRef.current,
          "aria-hidden": true,
          style: { display: "none" }
        })] });
      });
      InvisibleRootBox = makeCustomizable(_InvisibleRootBox, { defaultStyles: (t2) => ({
        boxSizing: "border-box",
        width: "fit-content",
        fontFamily: t2.fonts.$main,
        fontStyle: t2.fontStyles.$normal
      }) });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/customizables/Flow.js
  var import_react36, Root, Part, Flow;
  var init_Flow = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/customizables/Flow.js"() {
      init_InternalThemeProvider();
      init_elementDescriptors();
      init_classGeneration();
      init_contexts();
      init_InvisibleRootBox();
      import_react36 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      Root = (props) => {
        return /* @__PURE__ */ jsx2(FlowMetadataProvider, {
          flow: props.flow,
          children: /* @__PURE__ */ jsx2(InternalThemeProvider, { children: /* @__PURE__ */ jsx2(InvisibleRootBox, {
            elementDescriptor: descriptors.rootBox,
            className: generateFlowClassname(props),
            ...props
          }) })
        });
      };
      Part = (props) => {
        const { flow } = useFlowMetadata();
        return /* @__PURE__ */ jsx2(FlowMetadataProvider, {
          flow,
          part: props.part,
          children: /* @__PURE__ */ jsx2(InternalThemeProvider, { children: props.children })
        });
      };
      Flow = {
        Root,
        Part
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/CoreClientContext.js
  function useCoreSignIn() {
    const client = useClientBase();
    if (!client) throw new Error("Client must be defined before calling useCoreSignIn. This is a bug in Clerk, please report it to support@clerk.com");
    return client.signIn;
  }
  function useCoreSignUp() {
    const client = useClientBase();
    if (!client) throw new Error("Client must be defined before calling useCoreSignUp. This is a bug in Clerk, please report it to support@clerk.com");
    return client.signUp;
  }
  var init_CoreClientContext = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/CoreClientContext.js"() {
      init_react();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/exclamation-triangle.js
  function _extends2() {
    return _extends2 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends2.apply(null, arguments);
  }
  var React$13, _path, SvgExclamationTriangle, exclamation_triangle_default;
  var init_exclamation_triangle = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/exclamation-triangle.js"() {
      React$13 = __toESM(require_react(), 1);
      SvgExclamationTriangle = function SvgExclamationTriangle$1(props) {
        return /* @__PURE__ */ React$13.createElement("svg", _extends2({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path || (_path = /* @__PURE__ */ React$13.createElement("path", {
          fillRule: "evenodd",
          d: "M8.866 3.012a.988.988 0 0 0-1.732 0L2.13 12.004c-.372.67.106 1.496.866 1.496h10.01c.76 0 1.238-.827.866-1.496zm-1.66 5.74a.798.798 0 0 0 1.593 0l.14-2.254a.94.94 0 1 0-1.875 0zm.046 2.498a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0",
          clipRule: "evenodd"
        })));
      };
      exclamation_triangle_default = SvgExclamationTriangle;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/switch-arrows.js
  function _extends3() {
    return _extends3 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends3.apply(null, arguments);
  }
  var React$14, _path2, SvgSwitchArrows, switch_arrows_default;
  var init_switch_arrows = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/switch-arrows.js"() {
      React$14 = __toESM(require_react(), 1);
      SvgSwitchArrows = function SvgSwitchArrows$1(props) {
        return /* @__PURE__ */ React$14.createElement("svg", _extends3({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 18 20"
        }, props), _path2 || (_path2 = /* @__PURE__ */ React$14.createElement("path", { d: "M6.6 4a1.2 1.2 0 0 0 0 2.4h6.7l-1.55 1.55a1.2 1.2 0 0 0 1.7 1.7l3.6-3.6a1.2 1.2 0 0 0 0-1.7l-3.6-3.6a1.2 1.2 0 1 0-1.7 1.7L13.3 4zm4.8 12a1.2 1.2 0 1 0 0-2.4H4.7l1.55-1.55a1.2 1.2 0 1 0-1.7-1.7l-3.6 3.6a1.2 1.2 0 0 0 0 1.7l3.6 3.6a1.2 1.2 0 1 0 1.7-1.7L4.7 16z" })));
      };
      switch_arrows_default = SvgSwitchArrows;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/tick-shield.js
  function _extends4() {
    return _extends4 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends4.apply(null, arguments);
  }
  var React$15, _path3, SvgTickShield, tick_shield_default;
  var init_tick_shield = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/tick-shield.js"() {
      React$15 = __toESM(require_react(), 1);
      SvgTickShield = function SvgTickShield$1(props) {
        return /* @__PURE__ */ React$15.createElement("svg", _extends4({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path3 || (_path3 = /* @__PURE__ */ React$15.createElement("path", {
          fillRule: "evenodd",
          d: "M13.748 2.91a.5.5 0 0 1 .124.083c.088.082.14.193.126.31v4.054a7.6 7.6 0 0 1-1.227 4.147c-.99 1.52-3.778 3.038-4.563 3.445a.45.45 0 0 1-.416 0c-.785-.407-3.576-1.925-4.565-3.445A7.6 7.6 0 0 1 2 7.357V3.303a.43.43 0 0 1 .14-.31.48.48 0 0 1 .334-.13h.027c2.162 0 4.132-.655 5.148-1.714A.49.49 0 0 1 8.004 1c.137 0 .266.054.355.149 1.016 1.056 2.99 1.714 5.148 1.714h.027q.115 0 .214.046m-2.695 3.097a.75.75 0 0 0-1.106-1.014c-.9.983-1.363 1.624-2.013 2.787-.218.39-.442.876-.626 1.305l-1.242-1.43a.75.75 0 0 0-1.132.982l2.042 2.355a.75.75 0 0 0 1.269-.228v-.003l.005-.011.018-.046a22 22 0 0 1 .305-.762c.199-.474.447-1.03.67-1.43.594-1.062.988-1.608 1.81-2.505",
          clipRule: "evenodd"
        })));
      };
      tick_shield_default = SvgTickShield;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/styledSystem/animations.js
  var spinning, dropdownSlideInScaleAndFade, modalSlideAndFade, fadeIn, fadeOut, inAnimation, inDelayAnimation, notificationAnimation, outAnimation, textInSmall, textInBig, blockBigIn, expandIn, navbarSlideIn, animations;
  var init_animations = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/styledSystem/animations.js"() {
      init_emotion_react_browser_esm();
      spinning = keyframes`
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }`;
      dropdownSlideInScaleAndFade = keyframes`
  0% {
    opacity: 0;
    transform: scaleY(1) translateY(-6px);
  }
  100% {
    opacity: 1;
    transform: scaleY(1)  translateY(0px);
  }
`;
      modalSlideAndFade = keyframes`
  0% {
    opacity: 0;
    transform: translateY(0.5rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
`;
      fadeIn = keyframes`
  0% { opacity: 0; }
  100% { opacity: 1; }
`;
      fadeOut = keyframes`
  0% { opacity: 1; }
  100% { opacity: 0; }
`;
      inAnimation = keyframes`
  0% {
    opacity: 0;
    transform: translateY(-5px);
    max-height: 0;
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
    max-height: 6rem;
  }
`;
      inDelayAnimation = keyframes`
  0% {
    opacity: 0;
    transform: translateY(-5px);
    max-height: 0;
  }
  50% {
    opacity: 0;
    transform: translateY(-5px);
    max-height: 0;
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
    max-height: 6rem;
  }
`;
      notificationAnimation = keyframes`
  0% {
    opacity: 0;
    transform: translateY(5px) scale(.5);
  }

  50% {
    opacity: 1;
    transform: translateY(0px) scale(1.2);
  }

  100% {
    opacity: 1;
    transform: translateY(0px) scale(1);
  }
`;
      outAnimation = keyframes`
  0% {
    opacity:1;
    transform: translateY(0px);
    max-height: 6rem;
    visibility: visible;
  }
  100% {
    opacity: 0;
    transform: translateY(5px);
    max-height: 0;
    visibility: visible;
  }
`;
      textInSmall = keyframes`
  0% {opacity: 0;max-height: 0;}
  100% {opacity: 1;max-height: 3rem;}
`;
      textInBig = keyframes`
  0% {opacity: 0;max-height: 0;}
  100% {opacity: 1;max-height: 8rem;}
`;
      blockBigIn = keyframes`
  0% {opacity: 0;max-height: 0;}
  99% {opacity: 1;max-height: 10rem;}
  100% {opacity: 1;max-height: unset;}
`;
      expandIn = (max2) => keyframes`
  0% {opacity: 0;max-height: 0;}
  99% {opacity: 1;max-height: ${max2};}
  100% {opacity: 1;max-height: unset;}
`;
      navbarSlideIn = keyframes`
  0% {opacity: 0; transform: translateX(-100%);}
  100% {opacity: 1; transform: translateX(0);}
`;
      animations = {
        spinning,
        dropdownSlideInScaleAndFade,
        modalSlideAndFade,
        fadeIn,
        fadeOut,
        textInSmall,
        textInBig,
        blockBigIn,
        expandIn,
        navbarSlideIn,
        inAnimation,
        inDelayAnimation,
        outAnimation,
        notificationAnimation
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/createInfiniteAccessProxy.js
  var createInfiniteAccessProxy;
  var init_createInfiniteAccessProxy = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/createInfiniteAccessProxy.js"() {
      createInfiniteAccessProxy = () => {
        const get3 = (_3, prop) => {
          if (prop === Symbol.toPrimitive) return () => "";
          else if (prop in Object.getPrototypeOf("")) return (args) => Object.getPrototypeOf("")[prop].call("", args);
          return prop === Symbol.toPrimitive ? () => "" : proxy;
        };
        const proxy = new Proxy({}, { get: get3 });
        return proxy;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/styledSystem/createVariants.js
  var createVariants, getPropsWithoutVariants, applyBaseRules, applyVariantRules, applyCompoundVariantRules, sanitizeCssVariables, calculateVariantsToBeApplied, conditionMatches;
  var init_createVariants = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/styledSystem/createVariants.js"() {
      init_createInfiniteAccessProxy();
      init_utils4();
      createVariants = (configFn) => {
        const applyVariants22 = (props = {}) => (theme) => {
          const { base: base2, variants = {}, compoundVariants = [], defaultVariants = {} } = configFn(theme, props);
          const variantsToApply = calculateVariantsToBeApplied(variants, props, defaultVariants);
          const computedStyles = {};
          applyBaseRules(computedStyles, base2);
          applyVariantRules(computedStyles, variantsToApply, variants);
          applyCompoundVariantRules(computedStyles, variantsToApply, compoundVariants);
          sanitizeCssVariables(computedStyles);
          return computedStyles;
        };
        const fakeProxyTheme = createInfiniteAccessProxy();
        const variantKeys = Object.keys(configFn(fakeProxyTheme, fakeProxyTheme).variants || {});
        const filterProps19 = (props) => getPropsWithoutVariants(props, variantKeys);
        return {
          applyVariants: applyVariants22,
          filterProps: filterProps19
        };
      };
      getPropsWithoutVariants = (props, variants) => {
        const res = { ...props };
        for (const key of variants) delete res[key];
        return res;
      };
      applyBaseRules = (computedStyles, base2) => {
        if (base2 && typeof base2 === "object") Object.assign(computedStyles, base2);
      };
      applyVariantRules = (computedStyles, variantsToApply, variants) => {
        for (const key in variantsToApply) fastDeepMergeAndReplace(variants[key][variantsToApply[key]], computedStyles);
      };
      applyCompoundVariantRules = (computedStyles, variantsToApply, compoundVariants) => {
        for (const compoundVariant of compoundVariants) if (conditionMatches(compoundVariant, variantsToApply)) fastDeepMergeAndReplace(compoundVariant.styles, computedStyles);
      };
      sanitizeCssVariables = (computedStyles) => {
        for (const key in computedStyles) if (key.startsWith("var(")) {
          computedStyles[key.slice(4, -1)] = computedStyles[key];
          delete computedStyles[key];
        }
      };
      calculateVariantsToBeApplied = (variants, props, defaultVariants) => {
        const variantsToApply = {};
        for (const key in variants) if (key in props) variantsToApply[key] = props[key];
        else if (key in defaultVariants) variantsToApply[key] = defaultVariants[key];
        return variantsToApply;
      };
      conditionMatches = ({ condition }, variants) => {
        for (const key in condition) if (condition[key] !== variants[key]) return false;
        return true;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/applyDataStateProps.js
  var applyDataStateProps;
  var init_applyDataStateProps = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/applyDataStateProps.js"() {
      applyDataStateProps = (props) => {
        const { hasError, isDisabled, isLoading, isOpen, isActive, ...rest } = props;
        return {
          "data-error": hasError || void 0,
          "data-disabled": isDisabled || void 0,
          "data-loading": isLoading || void 0,
          "data-open": isOpen || void 0,
          "data-active": isActive || void 0,
          ...rest
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Box.js
  var import_react39, applyVariants, Box;
  var init_Box = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Box.js"() {
      init_createVariants();
      init_applyDataStateProps();
      import_react39 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ({ applyVariants } = createVariants(() => ({
        base: { boxSizing: "border-box" },
        variants: {}
      })));
      Box = import_react39.default.forwardRef((props, ref) => {
        const { as: As = "div", ...rest } = props;
        return /* @__PURE__ */ jsx2(As, {
          ...applyDataStateProps(rest),
          css: applyVariants(props),
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/gapPropertyCompat.js
  var createFlexGapPropertyIosCompat;
  var init_gapPropertyCompat = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/gapPropertyCompat.js"() {
      createFlexGapPropertyIosCompat = (val, dir) => {
        if (navigator?.userAgent?.match(/(iphone|ipad).+(os).*(\s13_).+safari/i)) return { '& > *:not([hidden]):not([style*="visibility: hidden"]) + *:not([hidden]):not([style*="visibility: hidden"])': {
          marginInlineStart: dir === "row" ? val : void 0,
          marginTop: dir === "col" ? val : void 0
        } };
        return { gap: val };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Flex.js
  var import_react40, applyVariants2, filterProps2, Flex, Col;
  var init_Flex = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Flex.js"() {
      init_createVariants();
      init_Box();
      init_gapPropertyCompat();
      import_react40 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ({ applyVariants: applyVariants2, filterProps: filterProps2 } = createVariants((theme, props) => {
        const dir = props.flexDirection === "col" || props.flexDirection === "colReverse" || props.direction === "col" || props.direction === "colReverse" ? "col" : "row";
        return {
          base: { display: "flex" },
          variants: {
            direction: {
              row: { flexDirection: "row" },
              col: { flexDirection: "column" },
              rowReverse: { flexDirection: "row-reverse" },
              columnReverse: { flexDirection: "column-reverse" }
            },
            align: {
              start: { alignItems: "flex-start" },
              center: { alignItems: "center" },
              end: { alignItems: "flex-end" },
              stretch: { alignItems: "stretch" },
              baseline: { alignItems: "baseline" }
            },
            justify: {
              start: { justifyContent: "flex-start" },
              center: { justifyContent: "center" },
              end: { justifyContent: "flex-end" },
              between: { justifyContent: "space-between" }
            },
            wrap: {
              noWrap: { flexWrap: "nowrap" },
              wrap: { flexWrap: "wrap" },
              wrapReverse: { flexWrap: "wrap-reverse" }
            },
            gap: {
              1: createFlexGapPropertyIosCompat(theme.space.$1, dir),
              2: createFlexGapPropertyIosCompat(theme.space.$2, dir),
              3: createFlexGapPropertyIosCompat(theme.space.$3, dir),
              4: createFlexGapPropertyIosCompat(theme.space.$4, dir),
              5: createFlexGapPropertyIosCompat(theme.space.$5, dir),
              6: createFlexGapPropertyIosCompat(theme.space.$6, dir),
              7: createFlexGapPropertyIosCompat(theme.space.$7, dir),
              8: createFlexGapPropertyIosCompat(theme.space.$8, dir),
              9: createFlexGapPropertyIosCompat(theme.space.$9, dir)
            },
            center: { true: {
              justifyContent: "center",
              alignItems: "center"
            } }
          },
          defaultVariants: {
            direction: "row",
            align: "stretch",
            justify: "start",
            wrap: "noWrap"
          }
        };
      }));
      Flex = import_react40.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2(Box, {
          ...filterProps2(props),
          css: applyVariants2(props),
          ref
        });
      });
      Col = import_react40.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2(Flex, {
          ...props,
          direction: "col",
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/styledSystem/common.js
  var textVariants, borderVariants, borderColor, focusRingStyles, focusRing, disabled, centeredFlex, unstyledScrollbar, maxHeightScroller, mergedColorsBackground, mutedBackground, visuallyHidden, common;
  var init_common = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/styledSystem/common.js"() {
      init_cssVariables();
      init_colors();
      textVariants = (t2) => {
        const base2 = {
          fontFamily: "inherit",
          letterSpacing: t2.letterSpacings.$normal
        };
        return {
          h1: {
            ...base2,
            fontWeight: t2.fontWeights.$semibold,
            fontSize: t2.fontSizes.$xl,
            lineHeight: t2.lineHeights.$extraSmall
          },
          h2: {
            ...base2,
            fontWeight: t2.fontWeights.$bold,
            fontSize: t2.fontSizes.$lg,
            lineHeight: t2.lineHeights.$medium
          },
          h3: {
            ...base2,
            fontWeight: t2.fontWeights.$bold,
            fontSize: t2.fontSizes.$md,
            lineHeight: t2.lineHeights.$small
          },
          subtitle: {
            ...base2,
            fontWeight: t2.fontWeights.$medium,
            fontSize: t2.fontSizes.$md,
            lineHeight: t2.lineHeights.$small
          },
          body: {
            ...base2,
            fontWeight: t2.fontWeights.$normal,
            fontSize: t2.fontSizes.$md,
            lineHeight: t2.lineHeights.$small
          },
          caption: {
            ...base2,
            fontWeight: t2.fontWeights.$medium,
            fontSize: t2.fontSizes.$xs,
            lineHeight: t2.lineHeights.$large
          },
          buttonLarge: {
            ...base2,
            fontWeight: t2.fontWeights.$medium,
            fontSize: t2.fontSizes.$md,
            lineHeight: t2.lineHeights.$small,
            fontFamily: t2.fonts.$buttons
          },
          buttonSmall: {
            ...base2,
            fontWeight: t2.fontWeights.$medium,
            fontSize: t2.fontSizes.$sm,
            lineHeight: t2.lineHeights.$extraSmall,
            fontFamily: t2.fonts.$buttons
          }
        };
      };
      borderVariants = (t2, props) => {
        const hoverBorderColor = !props?.hasError ? t2.colors.$borderAlpha300 : t2.colors.$dangerAlpha500;
        const hoverBoxShadow = t2.shadows.$input.replace("{{color}}", !props?.hasError ? t2.colors.$borderAlpha150 : t2.colors.$dangerAlpha200);
        const hoverStyles = props?.hoverStyles === false ? {} : { "&:hover": {
          WebkitTapHighlightColor: "transparent",
          borderColor: hoverBorderColor,
          boxShadow: hoverBoxShadow
        } };
        const focusStyles = props?.focusRing === false ? {} : { "&:focus": {
          borderColor: hoverBorderColor,
          WebkitTapHighlightColor: "transparent",
          boxShadow: [hoverBoxShadow, t2.shadows.$focusRing.replace("{{color}}", !props?.hasError ? t2.colors.$borderAlpha150 : t2.colors.$dangerAlpha200)].toString()
        } };
        const borderColor$1 = !props?.hasError ? !props?.hasWarning ? t2.colors.$borderAlpha150 : t2.colors.$warningAlpha300 : t2.colors.$dangerAlpha500;
        const boxShadow = !props?.hasError ? !props?.hasWarning ? t2.colors.$borderAlpha100 : t2.colors.$warningAlpha50 : t2.colors.$borderAlpha150;
        return { normal: {
          borderRadius: t2.radii.$md,
          borderWidth: t2.borderWidths.$normal,
          borderStyle: t2.borderStyles.$solid,
          borderColor: borderColor$1,
          boxShadow: t2.shadows.$input.replace("{{color}}", boxShadow),
          transitionProperty: t2.transitionProperty.$common,
          transitionTimingFunction: t2.transitionTiming.$common,
          transitionDuration: t2.transitionDuration.$focusRing,
          ...hoverStyles,
          ...focusStyles
        } };
      };
      borderColor = (t2, props) => {
        return { borderColor: props?.hasError ? t2.colors.$dangerAlpha500 : t2.colors.$borderAlpha150 };
      };
      focusRingStyles = (t2) => {
        return {
          "&::-moz-focus-inner": { border: "0" },
          WebkitTapHighlightColor: "transparent",
          boxShadow: t2.shadows.$focusRing.replace("{{color}}", t2.colors.$colorRing),
          transitionProperty: t2.transitionProperty.$common,
          transitionTimingFunction: t2.transitionTiming.$common,
          transitionDuration: t2.transitionDuration.$focusRing
        };
      };
      focusRing = (t2) => {
        return { "&:focus": { ...focusRingStyles(t2) } };
      };
      disabled = (t2) => {
        return { "&:disabled,&[data-disabled]": {
          cursor: "not-allowed",
          pointerEvents: "none",
          opacity: t2.opacity.$disabled
        } };
      };
      centeredFlex = (display = "flex") => ({
        display,
        justifyContent: "center",
        alignItems: "center"
      });
      unstyledScrollbar = (t2) => {
        const baseStyles = {
          "::-webkit-scrollbar": {
            background: t2.colors.$neutralAlpha50,
            width: "6px",
            height: "6px"
          },
          "::-webkit-scrollbar-thumb": {
            background: t2.colors.$neutralAlpha600,
            borderRadius: t2.radii.$sm,
            transition: `background-color ${t2.transitionDuration.$fast} ${t2.transitionTiming.$common}`
          },
          "::-webkit-scrollbar-thumb:hover": { background: t2.colors.$neutralAlpha700 },
          "::-webkit-scrollbar-track": { background: t2.colors.$neutralAlpha50 }
        };
        baseStyles["@supports not selector(::-webkit-scrollbar)"] = {
          scrollbarColor: `${t2.colors.$neutralAlpha600} ${t2.colors.$neutralAlpha50}`,
          scrollbarWidth: "thin"
        };
        return baseStyles;
      };
      maxHeightScroller = (t2) => ({
        height: "100%",
        overflowY: "auto",
        ...unstyledScrollbar(t2)
      });
      mergedColorsBackground = (colorBack, colorFront) => {
        return `linear-gradient(${colorFront},${colorFront}), linear-gradient(${colorBack}, ${colorBack})`;
      };
      mutedBackground = (t2) => {
        return clerkCssVar("color-muted", t2.colors.$colorMuted || mergedColorsBackground(colors$2.setAlpha(t2.colors.$colorBackground, 1), t2.colors.$neutralAlpha50));
      };
      visuallyHidden = () => ({
        clip: "rect(0 0 0 0)",
        clipPath: "inset(50%)",
        height: "1px",
        overflow: "hidden",
        position: "absolute",
        whiteSpace: "nowrap",
        width: "1px"
      });
      common = {
        textVariants,
        borderVariants,
        focusRingStyles,
        focusRing,
        disabled,
        borderColor,
        centeredFlex,
        maxHeightScroller,
        mutedBackground,
        unstyledScrollbar,
        mergedColorsBackground,
        visuallyHidden
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Alert.js
  var applyVariants3, filterProps3, Alert;
  var init_Alert = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Alert.js"() {
      init_createVariants();
      init_common();
      init_Flex();
      init_emotion_react_jsx_runtime_browser_esm();
      ({ applyVariants: applyVariants3, filterProps: filterProps3 } = createVariants((theme) => ({
        base: {
          padding: `${theme.space.$3} ${theme.space.$4}`,
          backgroundColor: theme.colors.$neutralAlpha50,
          ...common.borderVariants(theme, { hoverStyles: false }).normal
        },
        variants: { colorScheme: {
          danger: {
            color: theme.colors.$danger500,
            backgroundColor: theme.colors.$dangerAlpha50,
            ...common.borderVariants(theme, { hasError: true }).normal
          },
          info: {
            color: theme.colors.$neutralAlpha150,
            background: theme.colors.$neutralAlpha50
          },
          warning: {
            backgroundColor: theme.colors.$warningAlpha100,
            ...common.borderVariants(theme, {
              hasWarning: true,
              hoverStyles: false
            }).normal
          }
        } },
        defaultVariants: { colorScheme: "warning" }
      })));
      Alert = (props) => {
        return /* @__PURE__ */ jsx2(Flex, {
          align: "center",
          justify: "start",
          ...filterProps3(props),
          css: applyVariants3(props),
          children: props.children
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/information-circle.js
  function _extends5() {
    return _extends5 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends5.apply(null, arguments);
  }
  var React$16, _path4, SvgInformationCircle, information_circle_default;
  var init_information_circle = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/information-circle.js"() {
      React$16 = __toESM(require_react(), 1);
      SvgInformationCircle = function SvgInformationCircle$1(props) {
        return /* @__PURE__ */ React$16.createElement("svg", _extends5({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 16 16"
        }, props), _path4 || (_path4 = /* @__PURE__ */ React$16.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M14.4 8A6.4 6.4 0 1 1 1.6 8a6.4 6.4 0 0 1 12.8 0M8.8 4.8a.8.8 0 1 1-1.6 0 .8.8 0 0 1 1.6 0M7.2 7.2a.8.8 0 1 0 0 1.6v2.4a.8.8 0 0 0 .8.8h.8a.8.8 0 0 0 0-1.6V8a.8.8 0 0 0-.8-.8z",
          clipRule: "evenodd"
        })));
      };
      information_circle_default = SvgInformationCircle;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/AlertIcon.js
  var applyVariants4, filterProps4, AlertIcon;
  var init_AlertIcon = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/AlertIcon.js"() {
      init_exclamation_triangle();
      init_information_circle();
      init_createVariants();
      init_emotion_react_jsx_runtime_browser_esm();
      ({ applyVariants: applyVariants4, filterProps: filterProps4 } = createVariants((theme) => ({
        base: {
          marginInlineEnd: theme.space.$2x5,
          width: theme.sizes.$4,
          height: theme.sizes.$4
        },
        variants: { colorScheme: {
          danger: { color: theme.colors.$danger500 },
          warning: { color: theme.colors.$warning500 },
          success: { color: theme.colors.$success500 },
          primary: { color: theme.colors.$primary500 },
          info: { color: theme.colors.$colorMutedForeground }
        } }
      })));
      AlertIcon = (props) => {
        const { variant, ...rest } = props;
        const Icon3 = {
          warning: exclamation_triangle_default,
          danger: exclamation_triangle_default,
          primary: information_circle_default,
          info: information_circle_default
        }[variant];
        return /* @__PURE__ */ jsx2(Icon3, {
          ...filterProps4(rest),
          css: applyVariants4(props)
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/styledSystem/createCssVariables.js
  var createCssVariables;
  var init_createCssVariables = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/styledSystem/createCssVariables.js"() {
      init_fromEntries();
      createCssVariables = (...names) => {
        return fromEntries(names.map((name) => [name, `var(--${name})`]));
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Badge.js
  var vars, applyVariants5, filterProps5, Badge;
  var init_Badge = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Badge.js"() {
      init_createVariants();
      init_createCssVariables();
      init_common();
      init_Flex();
      init_emotion_react_jsx_runtime_browser_esm();
      vars = createCssVariables("accent", "bg", "borderColor");
      ({ applyVariants: applyVariants5, filterProps: filterProps5 } = createVariants((theme) => ({
        base: {
          color: vars.accent,
          flexShrink: 0,
          backgroundColor: vars.bg,
          boxShadow: theme.shadows.$badge,
          borderWidth: theme.borderWidths.$normal,
          borderStyle: theme.borderStyles.$solid,
          borderColor: vars.borderColor,
          borderRadius: theme.radii.$sm,
          padding: `${theme.space.$0x25} ${theme.space.$1x5}`,
          display: "inline-flex",
          marginInlineEnd: "1px"
        },
        variants: {
          textVariant: { ...common.textVariants(theme) },
          colorScheme: {
            primary: {
              [vars.accent]: theme.colors.$borderAlpha600,
              [vars.bg]: theme.colors.$borderAlpha50,
              [vars.borderColor]: theme.colors.$borderAlpha150
            },
            secondary: {
              [vars.accent]: theme.colors.$colorPrimaryForeground,
              [vars.bg]: theme.colors.$primary500,
              [vars.borderColor]: theme.colors.$primary500
            },
            danger: {
              [vars.accent]: theme.colors.$danger500,
              [vars.bg]: theme.colors.$dangerAlpha50,
              [vars.borderColor]: theme.colors.$dangerAlpha300
            },
            success: {
              [vars.accent]: theme.colors.$success500,
              [vars.bg]: theme.colors.$successAlpha50,
              [vars.borderColor]: theme.colors.$successAlpha300
            },
            warning: {
              [vars.accent]: theme.colors.$warning500,
              [vars.bg]: theme.colors.$warningAlpha50,
              [vars.borderColor]: theme.colors.$warningAlpha300
            }
          }
        },
        defaultVariants: {
          colorScheme: "primary",
          textVariant: "caption"
        }
      })));
      Badge = (props) => {
        return /* @__PURE__ */ jsx2(Flex, {
          ...filterProps5(props),
          center: true,
          as: "span",
          css: applyVariants5(props),
          "data-color": props.colorScheme || "primary"
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/arrow-right-button.js
  var React$17, _path5, SvgArrowRightButton, arrow_right_button_default;
  var init_arrow_right_button = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/arrow-right-button.js"() {
      React$17 = __toESM(require_react(), 1);
      SvgArrowRightButton = function SvgArrowRightButton$1(props) {
        return /* @__PURE__ */ React$17.createElement("svg", props, _path5 || (_path5 = /* @__PURE__ */ React$17.createElement("path", {
          fill: "currentColor",
          stroke: "currentColor",
          strokeLinecap: "round",
          strokeLinejoin: "round",
          strokeWidth: 1.5,
          d: "m7.25 5-3.5-2.25v4.5z"
        })));
      };
      arrow_right_button_default = SvgArrowRightButton;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Button.js
  var import_react41, vars2, applyVariants6, filterProps6, ButtonChildrenWithArrow, Button, SimpleButton;
  var init_Button = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Button.js"() {
      init_arrow_right_button();
      init_createVariants();
      init_createCssVariables();
      init_common();
      init_applyDataStateProps();
      init_Flex();
      init_elementDescriptors();
      init_customizables();
      import_react41 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      vars2 = createCssVariables("accent", "accentHover", "accentContrast", "alpha", "border");
      ({ applyVariants: applyVariants6, filterProps: filterProps6 } = createVariants((theme, props) => {
        return {
          base: {
            margin: 0,
            padding: 0,
            borderWidth: 0,
            outline: 0,
            userSelect: "none",
            cursor: "pointer",
            backgroundColor: "unset",
            color: "currentColor",
            borderRadius: theme.radii.$md,
            position: "relative",
            isolation: "isolate",
            ...common.centeredFlex("inline-flex"),
            ...common.disabled(theme),
            transitionProperty: theme.transitionProperty.$common,
            transitionDuration: theme.transitionDuration.$controls
          },
          variants: {
            textVariant: common.textVariants(theme),
            size: {
              iconLg: { width: theme.sizes.$13 },
              xs: { padding: `${theme.space.$1} ${theme.space.$3}` },
              sm: { padding: `${theme.space.$1x5} ${theme.space.$3}` },
              md: { padding: `${theme.space.$2x5} ${theme.space.$5}` }
            },
            colorScheme: {
              primary: {
                [vars2.accent]: theme.colors.$primary500,
                [vars2.accentHover]: theme.colors.$primaryHover,
                [vars2.border]: theme.colors.$primary500,
                [vars2.accentContrast]: theme.colors.$colorPrimaryForeground,
                [vars2.alpha]: theme.colors.$neutralAlpha50
              },
              secondary: {
                [vars2.accent]: theme.colors.$colorBackground,
                [vars2.accentHover]: `color-mix(in srgb, ${vars2.accent}, ${theme.colors.$neutralAlpha50})`,
                [vars2.border]: theme.colors.$primary500,
                [vars2.accentContrast]: theme.colors.$colorForeground,
                [vars2.alpha]: theme.colors.$neutralAlpha50
              },
              neutral: {
                [vars2.accent]: theme.colors.$neutralAlpha600,
                [vars2.accentHover]: theme.colors.$neutralAlpha700,
                [vars2.border]: theme.colors.$neutralAlpha200,
                [vars2.accentContrast]: theme.colors.$white,
                [vars2.alpha]: theme.colors.$neutralAlpha50
              },
              danger: {
                [vars2.accent]: theme.colors.$danger500,
                [vars2.accentHover]: theme.colors.$danger600,
                [vars2.accentContrast]: theme.colors.$white,
                [vars2.border]: theme.colors.$danger500,
                [vars2.alpha]: theme.colors.$dangerAlpha50
              }
            },
            variant: {
              solid: {
                backgroundColor: vars2.accent,
                color: vars2.accentContrast,
                borderWidth: theme.borderWidths.$normal,
                borderStyle: theme.borderStyles.$solid,
                borderColor: vars2.accent,
                "&:hover": { backgroundColor: vars2.accentHover },
                "&:focus": props.hoverAsFocus ? { backgroundColor: vars2.accentHover } : void 0
              },
              outline: {
                borderWidth: theme.borderWidths.$normal,
                borderStyle: theme.borderStyles.$solid,
                borderColor: theme.colors.$borderAlpha150,
                color: theme.colors.$neutralAlpha600,
                "&:hover": { backgroundColor: theme.colors.$neutralAlpha50 },
                "&:focus": props.hoverAsFocus ? {
                  backgroundColor: theme.colors.$neutralAlpha50,
                  borderColor: theme.colors.$borderAlpha300
                } : void 0
              },
              bordered: {
                borderWidth: theme.borderWidths.$normal,
                borderStyle: theme.borderStyles.$solid,
                borderColor: theme.colors.$borderAlpha150,
                color: vars2.accentContrast,
                backgroundColor: vars2.accent,
                "&:hover": { backgroundColor: vars2.accentHover },
                "&:focus": props.hoverAsFocus ? {
                  backgroundColor: vars2.accentHover,
                  borderColor: theme.colors.$borderAlpha300
                } : void 0
              },
              ghost: {
                color: vars2.accent,
                "&:hover": {
                  backgroundColor: vars2.alpha,
                  color: vars2.accentHover
                },
                "&:focus": props.hoverAsFocus ? {
                  backgroundColor: vars2.alpha,
                  color: vars2.accentHover
                } : void 0
              },
              link: {
                minHeight: "fit-content",
                height: "fit-content",
                width: "fit-content",
                textTransform: "none",
                padding: 0,
                color: theme.colors.$primary500,
                "&:hover": { textDecoration: "underline" },
                "&:focus": props.hoverAsFocus ? { textDecoration: "underline" } : void 0
              },
              linkDanger: {
                minHeight: "fit-content",
                height: "fit-content",
                width: "fit-content",
                textTransform: "none",
                padding: 0,
                color: theme.colors.$danger500,
                "&:hover": { textDecoration: "underline" },
                "&:focus": props.hoverAsFocus ? { textDecoration: "underline" } : void 0
              },
              unstyled: {},
              roundWrapper: {
                padding: 0,
                margin: 0,
                height: "unset",
                width: "unset",
                minHeight: "unset"
              }
            },
            block: { true: { width: "100%" } },
            focusRing: { true: { ...common.focusRing(theme) } }
          },
          defaultVariants: {
            textVariant: "buttonLarge",
            variant: "solid",
            colorScheme: "primary",
            size: "sm",
            focusRing: true
          }
        };
      }));
      ButtonChildrenWithArrow = ({ children }) => {
        return /* @__PURE__ */ jsxs2(Flex, {
          align: "center",
          as: "span",
          children: [children, /* @__PURE__ */ jsx2(Icon, {
            elementDescriptor: descriptors.buttonArrowIcon,
            icon: arrow_right_button_default,
            sx: (t2) => ({
              marginInlineStart: t2.space.$2,
              width: t2.sizes.$2x5,
              height: t2.sizes.$2x5,
              opacity: t2.opacity.$inactive,
              '[dir="rtl"] &': { transform: "scaleX(-1)" }
            })
          })]
        });
      };
      Button = import_react41.default.forwardRef((props, ref) => {
        const parsedProps = {
          ...props,
          isDisabled: props.isDisabled || props.isLoading
        };
        const { isLoading, isDisabled, hoverAsFocus, loadingText, children, hasArrow, onClick: onClickProp, ...rest } = filterProps6(parsedProps);
        const onClick = (e3) => {
          if (rest.type !== "submit") e3.preventDefault();
          return onClickProp?.(e3);
        };
        return /* @__PURE__ */ jsxs2("button", {
          ...applyDataStateProps(rest),
          type: void 0,
          onClick,
          disabled: isDisabled,
          "data-variant": props.variant || "solid",
          "data-color": props.colorScheme || "primary",
          css: applyVariants6(parsedProps),
          ref,
          children: [isLoading && /* @__PURE__ */ jsxs2(Flex, {
            as: "span",
            gap: 2,
            center: true,
            css: { position: "relative" },
            children: [/* @__PURE__ */ jsx2(Spinner, {
              "aria-label": loadingText || "Loading",
              elementDescriptor: descriptors.spinner,
              sx: { position: loadingText ? void 0 : "absolute" }
            }), loadingText || /* @__PURE__ */ jsx2("span", {
              style: {
                display: "inline-flex",
                visibility: "hidden"
              },
              children
            })]
          }), !isLoading && (hasArrow ? /* @__PURE__ */ jsx2(ButtonChildrenWithArrow, { children }) : children)]
        });
      });
      SimpleButton = import_react41.default.forwardRef((props, ref) => {
        const parsedProps = {
          ...props,
          isDisabled: props.isDisabled || props.isLoading
        };
        const { loadingText, isDisabled, hoverAsFocus, children, onClick: onClickProp, ...rest } = filterProps6(parsedProps);
        const onClick = (e3) => {
          if (rest.type !== "submit") e3.preventDefault();
          return onClickProp?.(e3);
        };
        return /* @__PURE__ */ jsx2("button", {
          ...applyDataStateProps(rest),
          type: void 0,
          onClick,
          css: applyVariants6(parsedProps),
          disabled: isDisabled,
          "data-variant": props.variant || "solid",
          "data-color": props.colorScheme || "primary",
          ref,
          children
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Dl.js
  var import_react42, Dl;
  var init_Dl = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Dl.js"() {
      init_Box();
      import_react42 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      Dl = import_react42.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2(Box, {
          as: "dl",
          css: { margin: 0 },
          ...props,
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Dd.js
  var import_react43, Dd;
  var init_Dd = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Dd.js"() {
      init_Box();
      import_react43 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      Dd = import_react43.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2(Box, {
          as: "dd",
          css: { margin: 0 },
          ...props,
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Dt.js
  var import_react44, Dt;
  var init_Dt = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Dt.js"() {
      init_Box();
      import_react44 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      Dt = import_react44.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2(Box, {
          as: "dt",
          css: { margin: 0 },
          ...props,
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Form.js
  var import_react45, Form;
  var init_Form = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Form.js"() {
      init_Flex();
      import_react45 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      Form = import_react45.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2(Flex, {
          direction: "col",
          as: "form",
          ...props,
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Text.js
  var import_react46, applyVariants7, filterProps7, Text;
  var init_Text = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Text.js"() {
      init_createVariants();
      init_common();
      init_applyDataStateProps();
      import_react46 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ({ applyVariants: applyVariants7, filterProps: filterProps7 } = createVariants((theme) => {
        return {
          base: {
            boxSizing: "border-box",
            margin: 0,
            fontSize: "inherit",
            ...common.disabled(theme)
          },
          variants: {
            variant: common.textVariants(theme),
            colorScheme: {
              body: { color: theme.colors.$colorForeground },
              onPrimaryBg: { color: theme.colors.$colorPrimaryForeground },
              danger: { color: theme.colors.$danger500 },
              success: { color: theme.colors.$success500 },
              warning: { color: theme.colors.$warning500 },
              secondary: { color: theme.colors.$colorMutedForeground },
              inherit: { color: "inherit" }
            },
            truncate: { true: {
              textOverflow: "ellipsis",
              whiteSpace: "nowrap",
              overflow: "hidden"
            } }
          },
          defaultVariants: {
            variant: "body",
            colorScheme: "inherit"
          }
        };
      }));
      Text = import_react46.default.forwardRef((props, ref) => {
        const { as: As = "p", ...rest } = props;
        return /* @__PURE__ */ jsx2(As, {
          ...applyDataStateProps(filterProps7(rest)),
          "data-variant": props.variant || "body",
          "data-color": props.colorScheme || "inherit",
          css: applyVariants7(props),
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/exclamation-circle.js
  function _extends6() {
    return _extends6 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends6.apply(null, arguments);
  }
  var React$18, _path6, SvgExclamationCircle, exclamation_circle_default;
  var init_exclamation_circle = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/exclamation-circle.js"() {
      React$18 = __toESM(require_react(), 1);
      SvgExclamationCircle = function SvgExclamationCircle$1(props) {
        return /* @__PURE__ */ React$18.createElement("svg", _extends6({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 14 14"
        }, props), _path6 || (_path6 = /* @__PURE__ */ React$18.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M13.4 7A6.4 6.4 0 1 1 .6 7a6.4 6.4 0 0 1 12.8 0m-5.6 3.2a.8.8 0 1 1-1.6 0 .8.8 0 0 1 1.6 0M7 3a.8.8 0 0 0-.8.8V7a.8.8 0 0 0 1.6 0V3.8A.8.8 0 0 0 7 3",
          clipRule: "evenodd"
        })));
      };
      exclamation_circle_default = SvgExclamationCircle;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useDebounce.js
  function useDebounce(value, delayInMs) {
    const [debouncedValue, setDebouncedValue] = (0, import_react47.useState)(value);
    const [timeoutState, setTimeoutState] = (0, import_react47.useState)(void 0);
    (0, import_react47.useEffect)(() => {
      const handleDebounce = () => {
        if (timeoutState) {
          clearTimeout(timeoutState);
          setTimeoutState(void 0);
        }
        setTimeoutState(setTimeout(() => {
          setDebouncedValue(value);
          setTimeoutState(void 0);
        }, delayInMs || 500));
      };
      handleDebounce();
      return () => {
        if (timeoutState) {
          clearTimeout(timeoutState);
          setTimeoutState(void 0);
        }
      };
    }, [JSON.stringify(value), delayInMs]);
    return debouncedValue;
  }
  var import_react47;
  var init_useDebounce = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useDebounce.js"() {
      import_react47 = __toESM(require_react(), 1);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/useFormControl.js
  var import_react48, emailTransformer, applyTransformers, useFormControl, buildRequest, useFormControlFeedback;
  var init_useFormControl = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/useFormControl.js"() {
      init_useDebounce();
      init_makeLocalizable();
      import_react48 = __toESM(require_react(), 1);
      emailTransformer = (v) => v.trim();
      applyTransformers = (v, transformers) => {
        let value = v;
        for (let i2 = 0; i2 < transformers.length; i2++) value = transformers[i2](value);
        return value;
      };
      useFormControl = (id, initialState, opts) => {
        const options2 = opts || {
          type: "text",
          label: "",
          isRequired: false,
          placeholder: "",
          options: [],
          defaultChecked: false
        };
        const transformers = [];
        if (options2.transformer) transformers.push(options2.transformer);
        if (options2.type === "email") transformers.push(emailTransformer);
        const { translateError, t: t2 } = useLocalizations();
        const [value, setValueInternal] = (0, import_react48.useState)(applyTransformers(initialState, transformers));
        const [isFocused, setFocused] = (0, import_react48.useState)(false);
        const [checked, setCheckedInternal] = (0, import_react48.useState)(options2?.defaultChecked || false);
        const [hasPassedComplexity, setHasPassedComplexity] = (0, import_react48.useState)(false);
        const [feedback, setFeedback] = (0, import_react48.useState)({
          message: "",
          type: "info"
        });
        const onChange = (event) => {
          if (options2?.type === "checkbox") return setCheckedInternal(event.target.checked);
          return setValueInternal(applyTransformers(event.target.value || "", transformers));
        };
        const setValue = (val) => setValueInternal(val || "");
        const setChecked = (checked$1) => setCheckedInternal(checked$1);
        const setError = (error2) => {
          setFeedback({
            message: translateError(error2),
            type: "error"
          });
        };
        const setSuccess = (message) => {
          setFeedback({
            message,
            type: "success"
          });
        };
        const setWarning = (warning) => {
          setFeedback({
            message: translateError(warning),
            type: "warning"
          });
        };
        const setInfo = (info) => {
          setFeedback({
            message: info,
            type: "info"
          });
        };
        const clearFeedback = () => {
          setFeedback({
            message: "",
            type: "info"
          });
        };
        const onFocus = () => {
          setFocused(true);
        };
        const onBlur = () => {
          setFocused(false);
        };
        const { defaultChecked, validatePassword: validatePasswordProp, buildErrorMessage, ...restOpts } = options2;
        const props = {
          id,
          name: id,
          value,
          checked,
          setSuccess,
          setError,
          onChange,
          onBlur,
          onFocus,
          setWarning,
          feedback: feedback.message || t2(options2.infoText),
          feedbackType: feedback.type,
          setInfo,
          clearFeedback,
          hasPassedComplexity,
          setHasPassedComplexity,
          validatePassword: options2.type === "password" ? options2.validatePassword : void 0,
          isFocused,
          ...restOpts
        };
        return {
          props,
          ...props,
          buildErrorMessage,
          setError,
          setValue,
          setChecked
        };
      };
      buildRequest = (fieldStates) => {
        const request = {};
        fieldStates.forEach((x) => {
          request[x.id] = x.type !== "checkbox" ? x.value : x.checked;
        });
        return request;
      };
      useFormControlFeedback = (opts) => {
        const { feedback = "", delayInMs = 100, feedbackType = "info", isFocused = false } = opts || {};
        const shouldHide = isFocused ? false : ["info", "warning"].includes(feedbackType);
        return { debounced: useDebounce({
          feedback: shouldHide ? "" : feedback,
          feedbackType: shouldHide ? "info" : feedbackType
        }, delayInMs) };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/hooks/useFormField.js
  var import_react49, FormFieldContext, useFormField, FormFieldContextProvider, sanitizeInputProps;
  var init_useFormField = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/hooks/useFormField.js"() {
      init_useFormControl();
      import_react49 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      [FormFieldContext, , useFormField] = createContextAndHook("FormFieldContext");
      FormFieldContextProvider = (props) => {
        const { id: propsId, isRequired = false, isDisabled = false, setError, setSuccess, setWarning, setHasPassedComplexity, setInfo, clearFeedback, children, feedbackType, feedback, isFocused, ...rest } = props;
        const id = `${propsId}-field`;
        const { debounced } = useFormControlFeedback({
          feedback,
          feedbackType,
          isFocused
        });
        const hasError = debounced.feedbackType === "error";
        const feedbackMessageId = debounced.feedback ? debounced.feedbackType === "error" ? `error-${propsId}` : `${propsId}-${debounced.feedbackType}-feedback` : "";
        const value = import_react49.default.useMemo(() => ({
          isRequired,
          isDisabled,
          hasError,
          id,
          fieldId: propsId,
          feedbackMessageId,
          setError,
          setSuccess,
          setWarning,
          setInfo,
          clearFeedback,
          setHasPassedComplexity,
          feedbackType,
          feedback,
          isFocused
        }), [
          isRequired,
          hasError,
          id,
          propsId,
          feedbackMessageId,
          isDisabled,
          setError,
          setSuccess,
          setWarning,
          setInfo,
          clearFeedback,
          setHasPassedComplexity,
          feedbackType,
          feedback,
          isFocused
        ]);
        return /* @__PURE__ */ jsx2(FormFieldContext.Provider, {
          value: { value: {
            ...value,
            ...rest,
            debouncedFeedback: debounced
          } },
          children: props.children
        });
      };
      sanitizeInputProps = (obj, keep) => {
        const { radioOptions, validatePassword, hasPassedComplexity, isFocused, feedback, feedbackType, setHasPassedComplexity, setWarning, setSuccess, setError, setInfo, feedbackMessageId, fieldId, label, clearFeedback, infoText, debouncedFeedback, ignorePasswordManager, transformer, ...inputProps } = obj;
        keep?.forEach((key) => {
          inputProps[key] = obj[key];
        });
        return inputProps;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/FormErrorText.js
  var import_react51, applyVariants8, FormErrorText;
  var init_FormErrorText = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/FormErrorText.js"() {
      init_exclamation_circle();
      init_createVariants();
      init_animations();
      init_useFormField();
      init_Text();
      init_customizables();
      import_react51 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ({ applyVariants: applyVariants8 } = createVariants((theme) => ({
        base: {
          marginTop: theme.sizes.$1x5,
          animation: `${animations.textInSmall} ${theme.transitionDuration.$fast}`,
          display: "flex",
          gap: theme.sizes.$1,
          position: "absolute",
          top: "0",
          textAlign: "start"
        },
        variants: {}
      })));
      FormErrorText = (0, import_react51.forwardRef)((props, ref) => {
        const { hasError } = useFormField() || {};
        if (!hasError && !props.children) return null;
        const { children, ...rest } = props;
        return /* @__PURE__ */ jsxs2(Text, {
          ref,
          colorScheme: "danger",
          ...rest,
          css: applyVariants8(props),
          children: [/* @__PURE__ */ jsx2(Icon, {
            colorScheme: "danger",
            icon: exclamation_circle_default
          }), children]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/check-circle.js
  function _extends7() {
    return _extends7 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends7.apply(null, arguments);
  }
  var React$19, _path7, SvgCheckCircle, check_circle_default;
  var init_check_circle = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/check-circle.js"() {
      React$19 = __toESM(require_react(), 1);
      SvgCheckCircle = function SvgCheckCircle$1(props) {
        return /* @__PURE__ */ React$19.createElement("svg", _extends7({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 20 20"
        }, props), _path7 || (_path7 = /* @__PURE__ */ React$19.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16m3.7-9.3a1 1 0 0 0-1.4-1.4L9 10.58l-1.3-1.3a1 1 0 0 0-1.4 1.42l2 2a1 1 0 0 0 1.4 0z",
          clipRule: "evenodd"
        })));
      };
      check_circle_default = SvgCheckCircle;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/FormSuccessText.js
  var import_react52, applyVariants9, FormSuccessText;
  var init_FormSuccessText = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/FormSuccessText.js"() {
      init_check_circle();
      init_createVariants();
      init_animations();
      init_Text();
      init_customizables();
      import_react52 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ({ applyVariants: applyVariants9 } = createVariants((theme) => ({
        base: {
          marginTop: theme.sizes.$1x5,
          animation: `${animations.textInSmall} ${theme.transitionDuration.$fast}`,
          display: "flex",
          gap: theme.sizes.$1,
          position: "absolute",
          top: "0",
          textAlign: "start"
        },
        variants: {}
      })));
      FormSuccessText = (0, import_react52.forwardRef)((props, ref) => {
        const { children, ...rest } = props;
        return /* @__PURE__ */ jsxs2(Text, {
          ref,
          colorScheme: "secondary",
          ...rest,
          css: applyVariants9(props),
          children: [/* @__PURE__ */ jsx2(Icon, {
            colorScheme: "success",
            icon: check_circle_default
          }), children]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/FormInfoText.js
  var import_react53, FormInfoText;
  var init_FormInfoText = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/FormInfoText.js"() {
      init_useFormField();
      init_Text();
      init_FormSuccessText();
      import_react53 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      FormInfoText = (0, import_react53.forwardRef)((props, ref) => {
        const { hasError } = useFormField() || {};
        if (!hasError && !props.children) return null;
        return /* @__PURE__ */ jsx2(Text, {
          ref,
          colorScheme: "secondary",
          ...props,
          css: applyVariants9(props)
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/FormLabel.js
  var import_react54, applyVariants10, FormLabel;
  var init_FormLabel = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/FormLabel.js"() {
      init_createVariants();
      init_common();
      init_applyDataStateProps();
      init_useFormField();
      import_react54 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ({ applyVariants: applyVariants10 } = createVariants((theme) => ({
        base: {
          color: theme.colors.$colorForeground,
          ...common.textVariants(theme).subtitle,
          ...common.disabled(theme)
        },
        variants: {}
      })));
      FormLabel = (props) => {
        const { id: fieldHtmlId } = useFormField();
        const { isRequired, htmlFor: htmlForProp, ...rest } = props;
        return /* @__PURE__ */ jsx2("label", {
          ...applyDataStateProps(rest),
          htmlFor: htmlForProp ?? fieldHtmlId,
          css: applyVariants10(props),
          children: props.children
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/FormWarningText.js
  var import_react55, FormWarningText;
  var init_FormWarningText = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/FormWarningText.js"() {
      init_exclamation_circle();
      init_Text();
      init_FormSuccessText();
      init_customizables();
      import_react55 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      FormWarningText = (0, import_react55.forwardRef)((props, ref) => {
        const { children, ...rest } = props;
        return /* @__PURE__ */ jsxs2(Text, {
          ref,
          colorScheme: "secondary",
          ...rest,
          css: applyVariants9(props),
          children: [/* @__PURE__ */ jsx2(Icon, {
            colorScheme: "warning",
            icon: exclamation_circle_default
          }), children]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Grid.js
  var import_react56, applyVariants11, filterProps8, Grid;
  var init_Grid = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Grid.js"() {
      init_createVariants();
      init_Box();
      import_react56 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ({ applyVariants: applyVariants11, filterProps: filterProps8 } = createVariants((theme) => ({
        base: { display: "grid" },
        variants: {
          align: {
            start: { alignItems: "flex-start" },
            center: { alignItems: "center" },
            end: { alignItems: "flex-end" },
            stretch: { alignItems: "stretch" },
            baseline: { alignItems: "baseline" }
          },
          justify: {
            start: { justifyContent: "flex-start" },
            center: { justifyContent: "center" },
            end: { justifyContent: "flex-end" },
            between: { justifyContent: "space-between" },
            around: { justifyContent: "space-around" },
            stretch: { justifyContent: "stretch" }
          },
          columns: {
            1: { gridTemplateColumns: "1fr" },
            2: { gridTemplateColumns: "repeat(2, 1fr)" },
            3: { gridTemplateColumns: "repeat(3, 1fr)" },
            4: { gridTemplateColumns: "repeat(4, 1fr)" },
            6: { gridTemplateColumns: "repeat(6, 1fr)" }
          },
          gap: {
            1: { gap: theme.space.$1 },
            2: { gap: theme.space.$2 },
            3: { gap: theme.space.$3 },
            4: { gap: theme.space.$4 },
            5: { gap: theme.space.$5 },
            6: { gap: theme.space.$6 },
            7: { gap: theme.space.$7 },
            8: { gap: theme.space.$8 },
            9: { gap: theme.space.$9 }
          }
        },
        defaultVariants: {
          align: "stretch",
          justify: "stretch",
          wrap: "noWrap"
        }
      })));
      Grid = import_react56.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2(Box, {
          ...filterProps8(props),
          css: applyVariants11(props),
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Heading.js
  var applyVariants12, filterProps9, Heading;
  var init_Heading = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Heading.js"() {
      init_createVariants();
      init_common();
      init_emotion_react_jsx_runtime_browser_esm();
      ({ applyVariants: applyVariants12, filterProps: filterProps9 } = createVariants((theme) => ({
        base: {
          boxSizing: "border-box",
          color: `${theme.colors.$colorForeground}`,
          margin: 0
        },
        variants: { textVariant: { ...common.textVariants(theme) } },
        defaultVariants: {
          as: "h1",
          textVariant: "h1"
        }
      })));
      Heading = (props) => {
        const { as: As = "h1", ...rest } = props;
        return /* @__PURE__ */ jsx2(As, {
          ...filterProps9(rest),
          css: applyVariants12(props)
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Icon.js
  var import_react57, applyVariants13, filterProps10, Icon2;
  var init_Icon = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Icon.js"() {
      init_createVariants();
      import_react57 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ({ applyVariants: applyVariants13, filterProps: filterProps10 } = createVariants((theme) => ({
        base: { flexShrink: 0 },
        variants: {
          size: {
            xs: {
              width: theme.sizes.$2x5,
              height: theme.sizes.$2x5
            },
            sm: {
              width: theme.sizes.$3,
              height: theme.sizes.$3
            },
            md: {
              width: theme.sizes.$4,
              height: theme.sizes.$4
            },
            lg: {
              width: theme.sizes.$5,
              height: theme.sizes.$5
            }
          },
          colorScheme: {
            success: { color: theme.colors.$success500 },
            danger: { color: theme.colors.$danger500 },
            warning: { color: theme.colors.$warning500 },
            neutral: { color: theme.colors.$neutralAlpha400 }
          }
        },
        defaultVariants: { size: "md" }
      })));
      Icon2 = (props) => {
        const { icon: Icon$1, ...rest } = props;
        return /* @__PURE__ */ jsx2(Icon$1, {
          ...filterProps10(rest),
          css: applyVariants13(props)
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Image.js
  var import_react58, Image;
  var init_Image = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Image.js"() {
      init_applyDataStateProps();
      import_react58 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      Image = import_react58.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2("img", {
          crossOrigin: "anonymous",
          ...applyDataStateProps(props),
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/styledSystem/breakpoints.js
  var breakpoints, deviceQueries, mqu;
  var init_breakpoints = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/styledSystem/breakpoints.js"() {
      init_fromEntries();
      breakpoints = Object.freeze({
        xs: "21em",
        sm: "30em",
        md: "48em",
        lg: "62em",
        xl: "80em",
        "2xl": "96em"
      });
      deviceQueries = { ios: "@supports (-webkit-touch-callout: none)" };
      mqu = {
        ...deviceQueries,
        ...fromEntries(Object.entries(breakpoints).map(([k, v]) => [k, `@media (max-width: ${v})`]))
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/hooks/useInput.js
  function useInput(callback) {
    const ref = import_react59.default.useRef(null);
    function onChange(e3) {
      e3.persist();
      if (typeof callback === "function") callback(e3);
    }
    return {
      onChange,
      ref
    };
  }
  var import_react59;
  var init_useInput = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/hooks/useInput.js"() {
      import_react59 = __toESM(require_react(), 1);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Input.js
  var import_react60, applyVariants14, filterProps11, Input, DivInput, CheckboxInput, RadioInput, Textarea;
  var init_Input = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Input.js"() {
      init_localizationKeys();
      init_makeLocalizable();
      init_createVariants();
      init_common();
      init_breakpoints();
      init_useFormField();
      init_useInput();
      import_react60 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ({ applyVariants: applyVariants14, filterProps: filterProps11 } = createVariants((theme, props) => ({
        base: {
          boxSizing: "border-box",
          margin: 0,
          padding: `${theme.space.$1x5} ${theme.space.$3}`,
          backgroundColor: theme.colors.$colorInput,
          color: theme.colors.$colorInputForeground,
          outline: "transparent solid 2px",
          outlineOffset: "2px",
          maxHeight: theme.sizes.$9,
          width: props.type === "checkbox" ? theme.sizes.$4 : "100%",
          aspectRatio: props.type === "checkbox" ? "1/1" : "unset",
          accentColor: theme.colors.$primary500,
          ...common.textVariants(theme).body,
          ...common.disabled(theme),
          [mqu.ios]: {
            fontSize: theme.fontSizes.$lg,
            '&:not([type="checkbox"]):not([type="radio"])': { WebkitAppearance: "none" }
          },
          ":autofill": { animationName: "onAutoFillStart" },
          "::placeholder": { color: theme.colors.$colorMutedForeground }
        },
        variants: { variant: {
          default: { ...common.borderVariants(theme, props).normal },
          unstyled: {
            borderWidth: 0,
            boxShadow: "unset",
            backgroundColor: "transparent"
          }
        } },
        defaultVariants: { variant: "default" }
      })));
      Input = import_react60.default.forwardRef((props, ref) => {
        const fieldControl = useFormField() || {};
        const { t: t2 } = useLocalizations();
        const { feedbackMessageId, ignorePasswordManager, feedbackType, ...fieldControlProps } = sanitizeInputProps(fieldControl, [
          "feedbackMessageId",
          "ignorePasswordManager",
          "feedbackType"
        ]);
        const propsWithoutVariants = filterProps11({
          ...props,
          hasError: props.hasError || fieldControlProps.hasError
        });
        const { onChange } = useInput(propsWithoutVariants.onChange);
        const { isDisabled, hasError, focusRing: focusRing2, isRequired, type: type2, ...rest } = propsWithoutVariants;
        const _disabled = isDisabled || fieldControlProps.isDisabled;
        const _required = isRequired || fieldControlProps.isRequired;
        const _hasError = hasError || fieldControlProps.hasError;
        const typeProps = type2 === "email" ? {
          type: "text",
          pattern: "^.*@[a-zA-Z0-9\\-]+\\.[a-zA-Z0-9\\-\\.]+$",
          inputMode: "email",
          title: t2(localizationKeys("formFieldInput__emailAddress_format"))
        } : { type: type2 || "text" };
        const passwordManagerProps = ignorePasswordManager ? { "data-1p-ignore": true } : void 0;
        return /* @__PURE__ */ jsx2("input", {
          ...rest,
          ...typeProps,
          ...passwordManagerProps,
          ref,
          onChange,
          disabled: isDisabled,
          required: _required,
          id: props.id || fieldControlProps.id,
          "aria-invalid": _hasError,
          "aria-describedby": feedbackMessageId || void 0,
          "aria-required": _required,
          "aria-disabled": _disabled,
          "data-feedback": feedbackType,
          "data-variant": props.variant || "default",
          css: applyVariants14(props)
        });
      });
      DivInput = import_react60.default.forwardRef((props, ref) => {
        const { feedbackType } = sanitizeInputProps(useFormField() || {}, ["feedbackType", "data-active"]);
        const { isDisabled, hasError, focusRing: focusRing2, isRequired, ...rest } = filterProps11({
          ...props,
          hasError: props.hasError
        });
        return /* @__PURE__ */ jsx2("div", {
          ...rest,
          ref,
          id: props.id,
          "aria-invalid": hasError,
          "data-feedback": feedbackType,
          "data-variant": props.variant || "default",
          "data-focus-within": focusRing2,
          css: applyVariants14(props)
        });
      });
      CheckboxInput = import_react60.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2(Input, {
          ...props,
          type: "checkbox",
          ref
        });
      });
      RadioInput = import_react60.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2(Input, {
          ...props,
          type: "radio",
          ref
        });
      });
      Textarea = import_react60.default.forwardRef((props, ref) => {
        const { isDisabled, hasError, focusRing: focusRing2, isRequired, ...rest } = props;
        const _disabled = isDisabled || props.isDisabled;
        const _required = isRequired || props.isRequired;
        const _hasError = hasError || props.hasError;
        return /* @__PURE__ */ jsx2("textarea", {
          ...rest,
          ref,
          disabled: _disabled,
          required: _required,
          "aria-invalid": _hasError,
          "aria-required": _required,
          css: applyVariants14(props)
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Link.js
  var import_react61, applyVariants15, filterProps12, Link;
  var init_Link = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Link.js"() {
      init_createVariants();
      init_common();
      init_applyDataStateProps();
      import_react61 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      init_url();
      ({ applyVariants: applyVariants15, filterProps: filterProps12 } = createVariants((theme) => ({
        base: {
          boxSizing: "border-box",
          display: "inline-flex",
          alignItems: "center",
          margin: 0,
          cursor: "pointer",
          ...common.disabled(theme),
          textDecoration: "none",
          "&:hover": { textDecoration: "underline" }
        },
        variants: {
          variant: common.textVariants(theme),
          colorScheme: {
            primary: {
              color: theme.colors.$primary500,
              "&:hover": { color: theme.colors.$primary400 },
              "&:active": { color: theme.colors.$primary600 }
            },
            danger: {
              color: theme.colors.$danger500,
              "&:hover": { color: theme.colors.$danger400 },
              "&:active": { color: theme.colors.$danger600 }
            },
            neutral: { color: theme.colors.$colorMutedForeground },
            inherit: { color: "inherit" }
          },
          focusRing: { true: { "&:focus": {
            outline: "none",
            ...common.focusRing(theme)
          } } }
        },
        defaultVariants: {
          colorScheme: "primary",
          variant: "body",
          focusRing: false
        }
      })));
      Link = (props) => {
        const { isExternal, children, href, onClick, ...rest } = props;
        const sanitizedHref = sanitizeHref(href);
        const onClickHandler = onClick ? (e3) => {
          if (!sanitizedHref) e3.preventDefault();
          onClick(e3);
        } : void 0;
        return /* @__PURE__ */ jsx2("a", {
          ...applyDataStateProps(filterProps12(rest)),
          onClick: onClickHandler,
          href: sanitizedHref || "",
          target: sanitizedHref && isExternal ? "_blank" : void 0,
          rel: sanitizedHref && isExternal ? "noopener noreferrer" : void 0,
          css: applyVariants15(props),
          children
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/NotificationBadge.js
  var vars3, applyVariants16, filterProps13, NotificationBadge;
  var init_NotificationBadge = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/NotificationBadge.js"() {
      init_createVariants();
      init_createCssVariables();
      init_common();
      init_Flex();
      init_emotion_react_jsx_runtime_browser_esm();
      vars3 = createCssVariables("accent", "bg", "borderColor");
      ({ applyVariants: applyVariants16, filterProps: filterProps13 } = createVariants((theme) => ({
        base: {
          color: vars3.accent,
          background: vars3.bg,
          borderWidth: theme.borderWidths.$normal,
          borderStyle: theme.borderStyles.$solid,
          borderRadius: theme.radii.$lg,
          borderColor: vars3.borderColor,
          height: theme.space.$4,
          minWidth: theme.space.$5,
          padding: `${theme.space.$0x5} ${theme.space.$1}`,
          display: "inline-flex"
        },
        variants: {
          textVariant: { ...common.textVariants(theme) },
          colorScheme: {
            primary: {
              [vars3.accent]: theme.colors.$colorPrimaryForeground,
              [vars3.bg]: `linear-gradient(180deg, ${theme.colors.$whiteAlpha300} 0%, ${theme.colors.$transparent} 100%), ${theme.colors.$primary500}`,
              borderWidth: 0
            },
            outline: {
              [vars3.accent]: theme.colors.$neutralAlpha600,
              [vars3.bg]: "transparent",
              [vars3.borderColor]: theme.colors.$borderAlpha150
            }
          }
        },
        defaultVariants: {
          colorScheme: "primary",
          textVariant: "caption"
        }
      })));
      NotificationBadge = (props) => {
        return /* @__PURE__ */ jsx2(Flex, {
          ...filterProps13(props),
          center: true,
          as: "span",
          css: [applyVariants16(props), { lineHeight: 0 }]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Span.js
  var import_react62, Span;
  var init_Span = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Span.js"() {
      import_react62 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      Span = import_react62.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2("span", {
          ...props,
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Spinner.js
  var size4, thickness, speed, applyVariants17, filterProps14, Spinner2;
  var init_Spinner = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Spinner.js"() {
      init_createVariants();
      init_createCssVariables();
      init_animations();
      init_emotion_react_jsx_runtime_browser_esm();
      ({ size: size4, thickness, speed } = createCssVariables("speed", "size", "thickness"));
      ({ applyVariants: applyVariants17, filterProps: filterProps14 } = createVariants((theme) => {
        return {
          base: {
            display: "inline-block",
            borderRadius: "99999px",
            borderTop: `${thickness} solid currentColor`,
            borderRight: `${thickness} solid currentColor`,
            borderBottomWidth: thickness,
            borderLeftWidth: thickness,
            borderBottomStyle: "solid",
            borderLeftStyle: "solid",
            borderBottomColor: theme.colors.$transparent,
            borderLeftColor: theme.colors.$transparent,
            opacity: 1,
            animation: `${animations.spinning} ${speed} linear 0s infinite normal none running`,
            width: [size4],
            height: [size4],
            minWidth: [size4],
            minHeight: [size4]
          },
          variants: {
            colorScheme: {
              primary: {
                borderTopColor: theme.colors.$primary500,
                borderRightColor: theme.colors.$primary500,
                opacity: 1
              },
              neutral: {
                borderTopColor: theme.colors.$borderAlpha700,
                borderRightColor: theme.colors.$borderAlpha700,
                opacity: 1
              }
            },
            thickness: {
              sm: { [thickness]: theme.sizes.$0x5 },
              md: { [thickness]: theme.sizes.$1 }
            },
            size: {
              xs: { [size4]: theme.sizes.$3 },
              sm: { [size4]: theme.sizes.$4 },
              md: { [size4]: theme.sizes.$5 },
              lg: { [size4]: theme.sizes.$6 },
              xl: { [size4]: theme.sizes.$8 }
            },
            speed: {
              slow: { [speed]: "600ms" },
              normal: { [speed]: "400ms" }
            }
          },
          defaultVariants: {
            speed: "normal",
            thickness: "sm",
            size: "sm"
          }
        };
      }));
      Spinner2 = (props) => {
        return /* @__PURE__ */ jsx2("span", {
          ...filterProps14(props),
          css: applyVariants17(props),
          "aria-busy": true,
          "aria-live": "polite"
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Table.js
  var import_react63, applyVariants18, filterProps15, Table;
  var init_Table = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Table.js"() {
      init_createVariants();
      init_common();
      init_Box();
      import_react63 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ({ applyVariants: applyVariants18, filterProps: filterProps15 } = createVariants((theme) => {
        return {
          base: {
            borderSpacing: "0",
            borderCollapse: "separate",
            borderWidth: theme.borderWidths.$normal,
            borderStyle: theme.borderStyles.$solid,
            borderColor: theme.colors.$borderAlpha150,
            borderRadius: theme.radii.$lg,
            width: "100%",
            ">:not([hidden])~:not([hidden])": {
              borderBottomWidth: "0px",
              borderTopWidth: "1px",
              borderStyle: "solid",
              borderInlineStartWidth: "0px",
              borderInlineEndWidth: "0px",
              borderColor: theme.colors.$borderAlpha150
            },
            "td:not(:first-of-type)": { paddingInlineStart: theme.space.$2 },
            "th:not(:first-of-type)": { paddingInlineStart: theme.space.$2 },
            "tr > td": {
              borderTopWidth: theme.borderWidths.$normal,
              borderTopStyle: theme.borderStyles.$solid,
              borderTopColor: theme.colors.$borderAlpha150,
              paddingBottom: theme.space.$2,
              paddingTop: theme.space.$2,
              paddingInlineStart: theme.space.$4,
              paddingInlineEnd: theme.space.$4
            },
            "tbody > :not([hidden])~:not([hidden])": {
              borderBottomWidth: "0px",
              borderTopWidth: "1px",
              borderStyle: "solid",
              borderInlineStartWidth: "0px",
              borderInlineEndWidth: "0px",
              borderColor: theme.colors.$borderAlpha150
            },
            "tr:hover td:first-of-type": { borderEndStartRadius: theme.radii.$lg },
            "tr:hover td:last-of-type": { borderEndEndRadius: theme.radii.$lg },
            "tr > th:first-of-type": { paddingInlineStart: theme.space.$5 },
            "thead::after": {
              content: '""',
              display: "block"
            }
          },
          variants: { tableHeadVisuallyHidden: { true: {
            thead: { ...common.visuallyHidden() },
            "tr:first-of-type td": { borderTop: "none" }
          } } }
        };
      }));
      Table = import_react63.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2(Box, {
          as: "table",
          ...filterProps15(props),
          css: applyVariants18(props),
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Tbody.js
  var import_react64, Tbody;
  var init_Tbody = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Tbody.js"() {
      init_Box();
      import_react64 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      Tbody = import_react64.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2(Box, {
          as: "tbody",
          ...props,
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Td.js
  var import_react65, applyVariants19, filterProps16, Td;
  var init_Td = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Td.js"() {
      init_createVariants();
      init_Box();
      import_react65 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ({ applyVariants: applyVariants19, filterProps: filterProps16 } = createVariants((theme) => ({
        base: {
          fontSize: theme.fontSizes.$xs,
          fontWeight: theme.fontWeights.$normal,
          color: theme.colors.$colorForeground
        },
        variants: {}
      })));
      Td = import_react65.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2(Box, {
          as: "td",
          ...filterProps16(props),
          css: applyVariants19(props),
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Th.js
  var import_react66, applyVariants20, filterProps17, Th;
  var init_Th = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Th.js"() {
      init_createVariants();
      init_colors();
      init_Box();
      import_react66 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ({ applyVariants: applyVariants20, filterProps: filterProps17 } = createVariants((theme) => ({
        base: {
          textAlign: "start",
          fontSize: theme.fontSizes.$sm,
          fontWeight: theme.fontWeights.$normal,
          color: colors$2.setAlpha(theme.colors.$colorForeground, 0.62),
          padding: `${theme.space.$2} ${theme.space.$4}`
        },
        variants: {}
      })));
      Th = import_react66.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2(Box, {
          as: "th",
          ...filterProps17(props),
          css: applyVariants20(props),
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Thead.js
  var import_react67, Thead;
  var init_Thead = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Thead.js"() {
      init_Box();
      import_react67 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      Thead = import_react67.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2(Box, {
          as: "thead",
          ...props,
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Tr.js
  var import_react68, Tr;
  var init_Tr = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Tr.js"() {
      init_Box();
      import_react68 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      Tr = import_react68.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2(Box, {
          as: "tr",
          ...props,
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/primitives/Hr.js
  var import_react69, applyVariants21, filterProps18, Hr;
  var init_Hr = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/primitives/Hr.js"() {
      init_createVariants();
      init_Box();
      import_react69 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ({ applyVariants: applyVariants21, filterProps: filterProps18 } = createVariants((theme) => ({
        base: {
          border: "none",
          height: theme.space.$px,
          backgroundColor: theme.colors.$neutralAlpha100
        },
        variants: {}
      })));
      Hr = import_react69.default.forwardRef((props, ref) => {
        return /* @__PURE__ */ jsx2(Box, {
          as: "hr",
          ...filterProps18(props),
          css: applyVariants21(props),
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/customizables/makeResponsive.js
  var import_react70, BASE_IMAGE_WIDTH, makeResponsive, CLERK_IMAGE_URL_BASES, isClerkImage, generateSrcSet, generateSrc;
  var init_makeResponsive = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/customizables/makeResponsive.js"() {
      import_react70 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      init_url();
      BASE_IMAGE_WIDTH = 80;
      makeResponsive = (Component) => {
        const responsiveComponent = import_react70.default.forwardRef((props, ref) => {
          const { src, size: size5 = BASE_IMAGE_WIDTH, xDescriptors = [1, 2], ...restProps } = props;
          const shouldOptimize = isClerkImage(src);
          return /* @__PURE__ */ jsx2(Component, {
            srcSet: shouldOptimize ? generateSrcSet({
              src,
              width: size5,
              xDescriptors
            }) : void 0,
            src: shouldOptimize ? generateSrc({
              src,
              width: size5 * 2
            }) : src,
            ...restProps,
            ref
          });
        });
        responsiveComponent.displayName = `Responsive${Component.displayName || Component.name || "Component"}`.replace("_", "");
        return responsiveComponent;
      };
      CLERK_IMAGE_URL_BASES = [
        "https://img.clerk.com/",
        "https://img.clerkstage.dev/",
        "https://img.lclclerk.com/"
      ];
      isClerkImage = (src) => {
        return !!CLERK_IMAGE_URL_BASES.some((base2) => src?.includes(base2));
      };
      generateSrcSet = ({ src, width, xDescriptors }) => {
        if (!src) return "";
        return xDescriptors.map((i2) => `${generateSrc({
          src,
          width: width * i2
        })} ${i2}x`).toString();
      };
      generateSrc = ({ src, width }) => {
        if (!isValidUrl(src) || isDataUri(src)) return src;
        if (typeof src !== "string") return src;
        const newSrc = new URL(src);
        if (width) newSrc.searchParams.append("width", width?.toString());
        return newSrc.href;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/customizables/sanitizeDomProps.js
  var import_react71, sanitizeDomProps;
  var init_sanitizeDomProps = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/customizables/sanitizeDomProps.js"() {
      import_react71 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      sanitizeDomProps = (Component) => {
        return import_react71.default.forwardRef((props, ref) => {
          const { elementId, elementDescriptor, localizationKey, getContainer, ...restProps } = props;
          return /* @__PURE__ */ jsx2(Component, {
            ...restProps,
            ref
          });
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/customizables/index.js
  var customizables_exports = {};
  __export(customizables_exports, {
    Alert: () => Alert2,
    AlertIcon: () => AlertIcon2,
    AppearanceProvider: () => AppearanceProvider,
    Badge: () => Badge2,
    Box: () => Box2,
    Button: () => Button2,
    CheckboxInput: () => CheckboxInput2,
    Col: () => Col2,
    Dd: () => Dd2,
    Dl: () => Dl2,
    Dt: () => Dt2,
    Flex: () => Flex2,
    Form: () => Form2,
    FormErrorText: () => FormErrorText2,
    FormInfoText: () => FormInfoText2,
    FormLabel: () => FormLabel2,
    FormSuccessText: () => FormSuccessText2,
    FormWarningText: () => FormWarningText2,
    Grid: () => Grid2,
    Heading: () => Heading2,
    Icon: () => Icon,
    Image: () => Image2,
    Input: () => Input2,
    Link: () => Link2,
    NotificationBadge: () => NotificationBadge2,
    OTPInputSegment: () => OTPInputSegment,
    RadioInput: () => RadioInput2,
    SimpleButton: () => SimpleButton2,
    Span: () => Span2,
    Spinner: () => Spinner,
    Table: () => Table2,
    Tbody: () => Tbody2,
    Td: () => Td2,
    Text: () => Text2,
    Th: () => Th2,
    Thead: () => Thead2,
    Tr: () => Tr2
  });
  var Box2, Flex2, Col2, Grid2, Button2, SimpleButton2, Heading2, Link2, Text2, Image2, Alert2, AlertIcon2, Input2, OTPInputSegment, CheckboxInput2, RadioInput2, FormLabel2, FormErrorText2, FormSuccessText2, FormWarningText2, FormInfoText2, Form2, Icon, Spinner, Badge2, NotificationBadge2, Table2, Thead2, Tbody2, Tr2, Th2, Td2, Dl2, Dd2, Dt2, Span2, Hr2;
  var init_customizables = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/customizables/index.js"() {
      init_makeLocalizable();
      init_Box();
      init_Flex();
      init_Alert();
      init_AlertIcon();
      init_Badge();
      init_Button();
      init_Dl();
      init_Dd();
      init_Dt();
      init_Form();
      init_Text();
      init_FormErrorText();
      init_FormSuccessText();
      init_FormInfoText();
      init_FormLabel();
      init_FormWarningText();
      init_Grid();
      init_Heading();
      init_Icon();
      init_Image();
      init_Input();
      init_Link();
      init_NotificationBadge();
      init_Span();
      init_Spinner();
      init_Table();
      init_Tbody();
      init_Td();
      init_Th();
      init_Thead();
      init_Tr();
      init_Hr();
      init_elementDescriptors();
      init_AppearanceContext();
      init_makeCustomizable();
      init_makeResponsive();
      init_sanitizeDomProps();
      Box2 = makeCustomizable(sanitizeDomProps(Box));
      Flex2 = makeCustomizable(sanitizeDomProps(Flex));
      Col2 = makeCustomizable(sanitizeDomProps(Col));
      Grid2 = makeCustomizable(sanitizeDomProps(Grid));
      Button2 = makeCustomizable(makeLocalizable(sanitizeDomProps(Button)), { defaultDescriptor: descriptors.button });
      SimpleButton2 = makeCustomizable(makeLocalizable(sanitizeDomProps(SimpleButton)), { defaultDescriptor: descriptors.button });
      Heading2 = makeCustomizable(makeLocalizable(sanitizeDomProps(Heading)));
      Link2 = makeCustomizable(makeLocalizable(sanitizeDomProps(Link)));
      Text2 = makeCustomizable(makeLocalizable(sanitizeDomProps(Text)));
      Image2 = makeCustomizable(sanitizeDomProps(makeResponsive(Image)));
      Alert2 = makeCustomizable(sanitizeDomProps(Alert));
      AlertIcon2 = makeCustomizable(sanitizeDomProps(AlertIcon));
      Input2 = makeCustomizable(sanitizeDomProps(Input), { defaultDescriptor: descriptors.input });
      OTPInputSegment = makeCustomizable(sanitizeDomProps(DivInput), { defaultDescriptor: descriptors.input });
      CheckboxInput2 = makeCustomizable(sanitizeDomProps(CheckboxInput), { defaultDescriptor: descriptors.checkbox });
      RadioInput2 = makeCustomizable(sanitizeDomProps(RadioInput), { defaultDescriptor: descriptors.radio });
      FormLabel2 = makeCustomizable(makeLocalizable(sanitizeDomProps(FormLabel)));
      FormErrorText2 = makeCustomizable(makeLocalizable(sanitizeDomProps(FormErrorText)));
      FormSuccessText2 = makeCustomizable(makeLocalizable(sanitizeDomProps(FormSuccessText)));
      FormWarningText2 = makeCustomizable(makeLocalizable(sanitizeDomProps(FormWarningText)));
      FormInfoText2 = makeCustomizable(makeLocalizable(sanitizeDomProps(FormInfoText)));
      Form2 = makeCustomizable(sanitizeDomProps(Form));
      Icon = makeCustomizable(sanitizeDomProps(Icon2));
      Spinner = makeCustomizable(sanitizeDomProps(Spinner2));
      Badge2 = makeCustomizable(makeLocalizable(sanitizeDomProps(Badge)), { defaultDescriptor: descriptors.badge });
      NotificationBadge2 = makeCustomizable(makeLocalizable(sanitizeDomProps(NotificationBadge)), { defaultDescriptor: descriptors.notificationBadge });
      Table2 = makeCustomizable(sanitizeDomProps(Table), { defaultDescriptor: descriptors.table });
      Thead2 = makeCustomizable(sanitizeDomProps(Thead), { defaultDescriptor: descriptors.tableHead });
      Tbody2 = makeCustomizable(sanitizeDomProps(Tbody), { defaultDescriptor: descriptors.tableBody });
      Tr2 = makeCustomizable(sanitizeDomProps(Tr), { defaultDescriptor: descriptors.tableRow });
      Th2 = makeCustomizable(makeLocalizable(sanitizeDomProps(Th)), { defaultDescriptor: descriptors.tableHeaderCell });
      Td2 = makeCustomizable(makeLocalizable(sanitizeDomProps(Td)), { defaultDescriptor: descriptors.tableBodyCell });
      Dl2 = makeCustomizable(makeLocalizable(sanitizeDomProps(Dl)));
      Dd2 = makeCustomizable(makeLocalizable(sanitizeDomProps(Dd)));
      Dt2 = makeCustomizable(makeLocalizable(sanitizeDomProps(Dt)));
      Span2 = makeCustomizable(makeLocalizable(sanitizeDomProps(Span)));
      Hr2 = makeCustomizable(sanitizeDomProps(Hr));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/RouterLink.js
  var RouterLink;
  var init_RouterLink = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/RouterLink.js"() {
      init_RouteContext();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      RouterLink = (props) => {
        const { to, onClick: onClickProp, ...rest } = props;
        const router = useRouter();
        const toUrl = router.resolve(to || router.indexPath);
        const onClick = (e3) => {
          e3.preventDefault();
          if (onClickProp && !to) return onClickProp(e3);
          return router.navigate(toUrl.href);
        };
        return /* @__PURE__ */ jsx2(Link2, {
          ...rest,
          onClick,
          href: toUrl.href
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Card/CardAction.js
  var import_react72, CardAction, CardActionText, CardActionLink;
  var init_CardAction = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Card/CardAction.js"() {
      init_elementDescriptors();
      init_customizables();
      init_RouterLink();
      import_react72 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      CardAction = (props) => {
        const { elementId, sx, ...rest } = props;
        return /* @__PURE__ */ jsx2(Flex2, {
          elementDescriptor: descriptors.footerAction,
          elementId: descriptors.footerAction.setId(elementId),
          ...rest,
          gap: 1,
          sx: [(t2) => ({ margin: `${t2.space.$none} auto` }), sx]
        });
      };
      CardActionText = (props) => {
        return /* @__PURE__ */ jsx2(Text2, {
          elementDescriptor: descriptors.footerActionText,
          ...props,
          as: "span",
          variant: "body",
          colorScheme: "secondary"
        });
      };
      CardActionLink = (props) => {
        return /* @__PURE__ */ jsx2(RouterLink, {
          elementDescriptor: descriptors.footerActionLink,
          ...props,
          colorScheme: "primary",
          variant: "buttonLarge"
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Alert.js
  var Alert$1;
  var init_Alert2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Alert.js"() {
      init_elementDescriptors();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      Alert$1 = (props) => {
        const { children, title, subtitle, variant = "warning", ...rest } = props;
        if (!children && !title && !subtitle) return null;
        const textColorScheme = variant === "danger" ? "danger" : variant === "warning" ? "warning" : "secondary";
        return /* @__PURE__ */ jsxs2(Alert2, {
          elementDescriptor: descriptors.alert,
          elementId: descriptors.alert.setId(variant),
          colorScheme: variant,
          align: "start",
          ...rest,
          sx: [rest.sx],
          children: [/* @__PURE__ */ jsx2(AlertIcon2, {
            elementId: descriptors.alert.setId(variant),
            elementDescriptor: descriptors.alertIcon,
            variant,
            colorScheme: variant,
            sx: { flexShrink: "0" }
          }), /* @__PURE__ */ jsxs2(Col2, {
            elementDescriptor: descriptors.alertTextContainer,
            elementId: descriptors.alertTextContainer.setId(variant),
            gap: 1,
            sx: { textAlign: "start" },
            children: [/* @__PURE__ */ jsx2(Text2, {
              elementDescriptor: descriptors.alertText,
              elementId: descriptors.alert.setId(variant),
              colorScheme: textColorScheme,
              variant: subtitle ? "h3" : "body",
              localizationKey: title,
              children
            }), subtitle && /* @__PURE__ */ jsx2(Text2, {
              elementDescriptor: descriptors.alertText,
              elementId: descriptors.alert.setId(variant),
              colorScheme: textColorScheme,
              variant: "body",
              localizationKey: subtitle
            })]
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/usePrefersReducedMotion.js
  function usePrefersReducedMotion() {
    const [prefersReducedMotion, setPrefersReducedMotion] = (0, import_react73.useState)(getInitialValue);
    (0, import_react73.useEffect)(() => {
      const mediaQueryList = window.matchMedia(mediaQueryNoPreference);
      setPrefersReducedMotion(!window.matchMedia(mediaQueryNoPreference).matches);
      const listener = (event) => {
        setPrefersReducedMotion(!event.matches);
      };
      const addListenerCompat = (event, handler) => {
        if ("addEventListener" in mediaQueryList) return mediaQueryList.addEventListener(event, handler);
        else return mediaQueryList.addListener(handler);
      };
      const removeListenerCompat = (event, handler) => {
        if ("addEventListener" in mediaQueryList) return mediaQueryList.removeEventListener(event, handler);
        else return mediaQueryList.removeListener(handler);
      };
      addListenerCompat("change", listener);
      return () => removeListenerCompat("change", listener);
    }, []);
    return prefersReducedMotion;
  }
  var import_react73, mediaQueryNoPreference, getInitialValue;
  var init_usePrefersReducedMotion = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/usePrefersReducedMotion.js"() {
      import_react73 = __toESM(require_react(), 1);
      mediaQueryNoPreference = "(prefers-reduced-motion: no-preference)";
      getInitialValue = () => {
        if (typeof window === "undefined") return true;
        return !window.matchMedia(mediaQueryNoPreference).matches;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Collapsible.js
  function Collapsible({ open, children, sx }) {
    const prefersReducedMotion = usePrefersReducedMotion();
    const { animations: animations3 } = useAppearance().parsedOptions;
    const isMotionSafe = !prefersReducedMotion && animations3;
    const [shouldRender, setShouldRender] = (0, import_react74.useState)(open);
    const [isExpanded, setIsExpanded] = (0, import_react74.useState)(false);
    (0, import_react74.useEffect)(() => {
      if (open) {
        setShouldRender(true);
        const frame = requestAnimationFrame(() => setIsExpanded(true));
        return () => cancelAnimationFrame(frame);
      }
      setIsExpanded(false);
      if (!isMotionSafe) setShouldRender(false);
    }, [open, isMotionSafe]);
    function handleTransitionEnd(e3) {
      if (e3.target !== e3.currentTarget) return;
      if (!open) setShouldRender(false);
    }
    const isAnimating = shouldRender && !(open && isExpanded);
    if (!shouldRender) return null;
    return /* @__PURE__ */ jsx2(Box2, {
      elementDescriptor: descriptors.collapsible,
      onTransitionEnd: handleTransitionEnd,
      sx: [(t2) => ({
        display: "grid",
        gridTemplateRows: isExpanded ? "1fr" : "0fr",
        opacity: isExpanded ? 1 : 0,
        transition: isMotionSafe ? `grid-template-rows ${t2.transitionDuration.$fast} ease-out, opacity ${t2.transitionDuration.$fast} ease-out` : "none"
      }), sx],
      inert: !open ? "" : void 0,
      children: /* @__PURE__ */ jsx2(Box2, {
        elementDescriptor: descriptors.collapsibleInner,
        sx: (t2) => ({
          overflow: "hidden",
          minHeight: 0,
          "--cl-collapsible-mask-size": isAnimating ? "0.5rem" : "0px",
          maskImage: "linear-gradient(to bottom, black, black calc(100% - var(--cl-collapsible-mask-size)), transparent)",
          transition: isMotionSafe ? `--cl-collapsible-mask-size ${t2.transitionDuration.$slow}` : "none"
        }),
        children
      })
    });
  }
  var import_react74;
  var init_Collapsible = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Collapsible.js"() {
      init_usePrefersReducedMotion();
      init_elementDescriptors();
      init_AppearanceContext();
      init_customizables();
      import_react74 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      if (typeof CSS !== "undefined" && "registerProperty" in CSS) try {
        CSS.registerProperty({
          name: "--cl-collapsible-mask-size",
          syntax: "<length>",
          initialValue: "0px",
          inherits: false
        });
      } catch {
      }
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Card/CardAlert.js
  var import_react75, CardAlert;
  var init_CardAlert = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Card/CardAlert.js"() {
      init_Alert2();
      init_Collapsible();
      import_react75 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      CardAlert = import_react75.default.memo((props) => {
        return /* @__PURE__ */ jsx2(Collapsible, {
          open: Boolean(props.children),
          children: /* @__PURE__ */ jsx2(Alert$1, {
            variant: "danger",
            ...props
          })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/logo-mark-new.js
  function _extends8() {
    return _extends8 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends8.apply(null, arguments);
  }
  var React$110, _ellipse, _path8, _path22, _path32, SvgLogoMarkNew, logo_mark_new_default;
  var init_logo_mark_new = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/logo-mark-new.js"() {
      React$110 = __toESM(require_react(), 1);
      SvgLogoMarkNew = function SvgLogoMarkNew$1(props) {
        return /* @__PURE__ */ React$110.createElement("svg", _extends8({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 50 14"
        }, props), _ellipse || (_ellipse = /* @__PURE__ */ React$110.createElement("ellipse", {
          cx: 7.889,
          cy: 7,
          fill: "currentColor",
          rx: 2.187,
          ry: 2.188
        })), _path8 || (_path8 = /* @__PURE__ */ React$110.createElement("path", {
          fill: "currentColor",
          d: "M11.83 12.18a.415.415 0 0 1-.05.64A6.97 6.97 0 0 1 7.888 14a6.97 6.97 0 0 1-3.891-1.18.415.415 0 0 1-.051-.64l1.598-1.6a.47.47 0 0 1 .55-.074 3.9 3.9 0 0 0 1.794.431 3.9 3.9 0 0 0 1.792-.43.47.47 0 0 1 .551.074z"
        })), _path22 || (_path22 = /* @__PURE__ */ React$110.createElement("path", {
          fill: "currentColor",
          d: "M11.78 1.18a.415.415 0 0 1 .05.64l-1.598 1.6a.47.47 0 0 1-.55.073 3.937 3.937 0 0 0-5.3 5.3.47.47 0 0 1-.074.55L2.71 10.942a.415.415 0 0 1-.641-.051 7 7 0 0 1 9.71-9.71",
          opacity: 0.5
        })), _path32 || (_path32 = /* @__PURE__ */ React$110.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M23.749 1.422c0-.06.049-.11.109-.11h1.64c.06 0 .11.05.11.11v11.156a.11.11 0 0 1-.11.11h-1.64a.11.11 0 0 1-.11-.11zm-2.316 8.9a.11.11 0 0 0-.15.004 2.9 2.9 0 0 1-.884.569c-.36.148-.747.222-1.137.219-.33.01-.658-.047-.965-.166a2.4 2.4 0 0 1-.817-.527c-.424-.432-.668-1.05-.668-1.785 0-1.473.98-2.48 2.45-2.48.394-.005.785.074 1.144.234.325.144.617.35.86.607.04.044.11.049.155.01l1.108-.959a.107.107 0 0 0 .01-.152c-.832-.93-2.138-1.412-3.379-1.412-2.499 0-4.27 1.686-4.27 4.166 0 1.227.44 2.26 1.182 2.99.743.728 1.801 1.157 3.022 1.157 1.53 0 2.763-.587 3.485-1.34a.107.107 0 0 0-.009-.155zm13.212-1.14a.11.11 0 0 1-.107.096H28.79a.106.106 0 0 0-.104.132c.286 1.06 1.138 1.701 2.302 1.701a2.6 2.6 0 0 0 1.136-.236 2.55 2.55 0 0 0 .862-.645.08.08 0 0 1 .112-.01l1.155 1.006c.044.039.05.105.013.15-.698.823-1.828 1.42-3.38 1.42-2.386 0-4.185-1.651-4.185-4.162 0-1.232.424-2.264 1.13-2.994.373-.375.82-.67 1.314-.87a4 4 0 0 1 1.557-.285c2.419 0 3.983 1.701 3.983 4.05a7 7 0 0 1-.04.647m-5.924-1.524a.104.104 0 0 0 .103.133h3.821c.07 0 .123-.066.103-.134-.26-.901-.921-1.503-1.947-1.503a2.1 2.1 0 0 0-.88.16 2.1 2.1 0 0 0-.733.507 2.24 2.24 0 0 0-.467.837m11.651-3.172c.061-.001.11.048.11.109v1.837a.11.11 0 0 1-.117.109 7 7 0 0 0-.455-.024c-1.43 0-2.27 1.007-2.27 2.329v3.732a.11.11 0 0 1-.11.11h-1.64a.11.11 0 0 1-.11-.11v-7.87c0-.06.049-.109.11-.109h1.64c.06 0 .11.05.11.11v1.104a.011.011 0 0 0 .02.007c.64-.857 1.587-1.333 2.587-1.333zm4.444 4.81a.035.035 0 0 1 .056.006l2.075 3.334a.11.11 0 0 0 .093.052h1.865a.11.11 0 0 0 .093-.168L46.152 7.93a.11.11 0 0 1 .012-.131l2.742-3.026a.11.11 0 0 0-.081-.183h-1.946a.11.11 0 0 0-.08.036l-3.173 3.458a.11.11 0 0 1-.19-.074V1.422a.11.11 0 0 0-.11-.11h-1.64a.11.11 0 0 0-.11.11v11.156c0 .06.05.11.11.11h1.64a.11.11 0 0 0 .11-.11v-1.755a.1.1 0 0 1 .03-.075z",
          clipRule: "evenodd"
        })));
      };
      logo_mark_new_default = SvgLogoMarkNew;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useDevMode.js
  function useDevMode() {
    const { displayConfig, isDevelopmentOrStaging } = useEnvironment();
    const isDevelopment3 = isDevelopmentOrStaging();
    const { unsafe_disableDevelopmentModeWarnings = false } = useAppearance().parsedOptions;
    const developmentUiDisabled = isDevelopment3 && unsafe_disableDevelopmentModeWarnings;
    return { showDevModeNotice: (0, import_react76.useMemo)(() => !developmentUiDisabled && displayConfig.showDevModeWarning, [developmentUiDisabled, displayConfig]) };
  }
  var import_react76;
  var init_useDevMode = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useDevMode.js"() {
      init_EnvironmentContext();
      init_AppearanceContext();
      import_react76 = __toESM(require_react(), 1);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/DevModeNotice.js
  var DevModeOverlay, DevModeNotice;
  var init_DevModeNotice = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/DevModeNotice.js"() {
      init_customizables();
      init_useDevMode();
      init_emotion_react_jsx_runtime_browser_esm();
      DevModeOverlay = (props) => {
        const { gradient = 60 } = props;
        const { showDevModeNotice } = useDevMode();
        if (!showDevModeNotice) return null;
        return /* @__PURE__ */ jsx2(Box2, { sx: (t2) => ({
          userSelect: "none",
          pointerEvents: "none",
          inset: 0,
          position: "absolute",
          background: `repeating-linear-gradient(-45deg,${t2.colors.$warningAlpha100},${t2.colors.$warningAlpha100} 6px,${t2.colors.$warningAlpha150} 6px,${t2.colors.$warningAlpha150} 12px)`,
          maskImage: `linear-gradient(transparent ${gradient}%, black)`
        }) });
      };
      DevModeNotice = (props) => {
        const { sx } = props;
        const { showDevModeNotice } = useDevMode();
        if (!showDevModeNotice) return null;
        return /* @__PURE__ */ jsx2(Text2, {
          sx: [(t2) => ({
            color: t2.colors.$warning500,
            fontWeight: t2.fontWeights.$semibold,
            padding: t2.space.$1x5
          }), sx],
          children: "Development mode"
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Card/CardClerkAndPagesTag.js
  var import_react77, CardClerkAndPagesTag, LogoMarkIconLink;
  var init_CardClerkAndPagesTag = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Card/CardClerkAndPagesTag.js"() {
      init_EnvironmentContext();
      init_logo_mark_new();
      init_customizables();
      init_useDevMode();
      init_DevModeNotice();
      init_Card();
      import_react77 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      CardClerkAndPagesTag = import_react77.default.memo(import_react77.default.forwardRef((props, ref) => {
        const { sx, outerSx, withFooterPages = false, withDevOverlay = false, devModeNoticeSx, ...rest } = props;
        const { displayConfig } = useEnvironment();
        const { showDevModeNotice } = useDevMode();
        if (!(displayConfig.branded || withFooterPages) && !showDevModeNotice) return null;
        return /* @__PURE__ */ jsxs2(Box2, {
          sx: [{
            width: "100%",
            position: "relative",
            isolation: "isolate"
          }, outerSx],
          children: [withDevOverlay && /* @__PURE__ */ jsx2(DevModeOverlay, { gradient: 0 }), /* @__PURE__ */ jsxs2(Col2, {
            sx: (t2) => ({
              gap: displayConfig.branded || withFooterPages ? t2.space.$2 : 0,
              marginInline: "auto",
              width: "100%",
              justifyContent: "center",
              alignItems: "center",
              zIndex: 1,
              position: "relative"
            }),
            children: [(displayConfig.branded || withFooterPages) && /* @__PURE__ */ jsxs2(Flex2, {
              sx: [{
                ":has(div:only-child)": { justifyContent: "center" },
                justifyContent: "space-between",
                width: "100%"
              }, sx],
              ...rest,
              ref,
              children: [displayConfig.branded && /* @__PURE__ */ jsx2(Flex2, {
                gap: 1,
                align: "center",
                justify: "center",
                sx: (t2) => ({ color: t2.colors.$colorMutedForeground }),
                children: /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Text2, {
                  variant: "buttonSmall",
                  children: "Secured by"
                }), /* @__PURE__ */ jsx2(LogoMarkIconLink, {})] })
              }), withFooterPages && /* @__PURE__ */ jsx2(Card.FooterLinks, {})]
            }), /* @__PURE__ */ jsx2(DevModeNotice, { sx: devModeNoticeSx })]
          })]
        });
      }));
      LogoMarkIconLink = () => {
        return /* @__PURE__ */ jsx2(Link2, {
          href: "https://go.clerk.com/components",
          colorScheme: "inherit",
          isExternal: true,
          "aria-label": "Clerk logo",
          children: /* @__PURE__ */ jsx2(Icon, {
            icon: logo_mark_new_default,
            sx: (theme) => ({
              width: theme.sizes.$12,
              height: theme.sizes.$3x5
            })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/close.js
  function _extends9() {
    return _extends9 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends9.apply(null, arguments);
  }
  var React$111, _path9, SvgClose, close_default;
  var init_close = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/close.js"() {
      React$111 = __toESM(require_react(), 1);
      SvgClose = function SvgClose$1(props) {
        return /* @__PURE__ */ React$111.createElement("svg", _extends9({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 10 10"
        }, props), _path9 || (_path9 = /* @__PURE__ */ React$111.createElement("path", {
          fill: "currentColor",
          d: "M1.791.722a.756.756 0 0 0-1.07 1.07L3.932 5 .72 8.209a.756.756 0 1 0 1.07 1.07L5 6.068l3.209 3.21a.756.756 0 0 0 1.07-1.07L6.068 5l3.21-3.209a.756.756 0 1 0-1.07-1.07L5 3.932z"
        })));
      };
      close_default = SvgClose;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/IconButton.js
  var import_react78, IconButton;
  var init_IconButton = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/IconButton.js"() {
      init_makeLocalizable();
      init_customizables();
      import_react78 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      IconButton = (props) => {
        const { children, icon: icon2, localizationKey, iconElementDescriptor, ...rest } = props;
        const { t: t2 } = useLocalizations();
        const content = t2(localizationKey);
        const _icon = (0, import_react78.isValidElement)(icon2) ? (0, import_react78.cloneElement)(icon2, {
          "aria-hidden": true,
          focusable: false
        }) : /* @__PURE__ */ jsx2(Icon, {
          elementDescriptor: iconElementDescriptor,
          icon: icon2,
          size: "md"
        });
        return /* @__PURE__ */ jsx2(Button2, {
          ...rest,
          children: /* @__PURE__ */ jsxs2(Fragment3, { children: [_icon, content || children] })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/usePopover.js
  var import_react79, usePopover;
  var init_usePopover = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/usePopover.js"() {
      import_react79 = __toESM(require_react(), 1);
      init_floating_ui_react();
      usePopover = (props = {}) => {
        const { bubbles = false, shoudFlip = true, outsidePress, adjustToReferenceWidth = false, referenceElement, canCloseModal } = props;
        const [isOpen, setIsOpen] = import_react79.default.useState(props.defaultOpen || false);
        const nodeId = useFloatingNodeId();
        const { update, refs, strategy, x, y, context } = useFloating2({
          open: isOpen,
          onOpenChange: setIsOpen,
          elements: { reference: referenceElement?.current },
          nodeId,
          whileElementsMounted: props.autoUpdate === false ? void 0 : autoUpdate,
          placement: props.placement || "bottom-start",
          middleware: [
            offset3(props.offset || 6),
            shoudFlip && flip3(),
            shift3(),
            size3({ apply({ elements }) {
              if (adjustToReferenceWidth) {
                const reference = elements.reference;
                elements.floating.style.width = reference ? `${reference?.offsetWidth}px` : "";
              }
            } })
          ]
        });
        useDismiss(context, {
          enabled: canCloseModal !== false,
          bubbles,
          outsidePress
        });
        (0, import_react79.useEffect)(() => {
          if (props.defaultOpen) update();
        }, []);
        const toggle = import_react79.default.useCallback(() => setIsOpen((o3) => !o3), [setIsOpen]);
        const open = import_react79.default.useCallback(() => setIsOpen(true), [setIsOpen]);
        const close = import_react79.default.useCallback(() => setIsOpen(false), [setIsOpen]);
        return {
          reference: refs.setReference,
          floating: refs.setFloating,
          toggle,
          open,
          nodeId,
          close,
          isOpen,
          styles: {
            position: strategy,
            top: y ?? 0,
            left: x ?? 0
          },
          context
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useScrollLock.js
  function getPlatform2() {
    const uaData = navigator.userAgentData;
    if (uaData?.platform) return uaData.platform;
    return navigator.platform;
  }
  function enableScrollLock() {
    const isIOS = /iP(hone|ad|od)|iOS/.test(getPlatform2());
    const bodyStyle = document.body.style;
    const paddingProp = Math.round(document.documentElement.getBoundingClientRect().left) + document.documentElement.scrollLeft ? "paddingLeft" : "paddingRight";
    const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
    const scrollX2 = bodyStyle.left ? parseFloat(bodyStyle.left) : window.scrollX;
    const scrollY2 = bodyStyle.top ? parseFloat(bodyStyle.top) : window.scrollY;
    bodyStyle.overflow = "hidden";
    if (scrollbarWidth) bodyStyle[paddingProp] = `${scrollbarWidth}px`;
    if (isIOS) {
      const offsetLeft = window.visualViewport?.offsetLeft || 0;
      const offsetTop = window.visualViewport?.offsetTop || 0;
      Object.assign(bodyStyle, {
        position: "fixed",
        top: `${-(scrollY2 - Math.floor(offsetTop))}px`,
        left: `${-(scrollX2 - Math.floor(offsetLeft))}px`,
        right: "0"
      });
    }
    return () => {
      Object.assign(bodyStyle, {
        overflow: "",
        [paddingProp]: ""
      });
      if (isIOS) {
        Object.assign(bodyStyle, {
          position: "",
          top: "",
          left: "",
          right: ""
        });
        window.scrollTo(scrollX2, scrollY2);
      }
    };
  }
  function useScrollLock() {
    return {
      enableScrollLock: () => {
        lockCount++;
        if (lockCount === 1) cleanup = enableScrollLock();
      },
      disableScrollLock: () => {
        lockCount--;
        if (lockCount === 0) cleanup();
      }
    };
  }
  var lockCount, cleanup;
  var init_useScrollLock = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useScrollLock.js"() {
      lockCount = 0;
      cleanup = () => {
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Popover.js
  var import_react81, Popover;
  var init_Popover = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Popover.js"() {
      import_react81 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_floating_ui_react();
      Popover = (props) => {
        const { context, initialFocus, outsideElementsInert = false, order = ["reference", "content"], nodeId, isOpen, portal = true, root: root2, children } = props;
        const portalRoot = usePortalRoot();
        const effectiveRoot = root2 ?? portalRoot?.() ?? void 0;
        if (portal) return /* @__PURE__ */ jsx2(FloatingNode, {
          id: nodeId,
          children: /* @__PURE__ */ jsx2(FloatingPortal, {
            root: effectiveRoot,
            children: isOpen && /* @__PURE__ */ jsx2(FloatingFocusManager, {
              context,
              initialFocus,
              outsideElementsInert,
              order,
              children: /* @__PURE__ */ jsx2(Fragment3, { children })
            })
          })
        });
        return /* @__PURE__ */ jsx2(FloatingNode, {
          id: nodeId,
          children: isOpen && /* @__PURE__ */ jsx2(FloatingFocusManager, {
            context,
            initialFocus,
            order,
            children: /* @__PURE__ */ jsx2(Fragment3, { children })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Modal.js
  var Modal_exports = {};
  __export(Modal_exports, {
    Modal: () => Modal,
    useUnsafeModalContext: () => useUnsafeModalContext
  });
  var import_react84, ModalContext, _, useUnsafeModalContext, Modal;
  var init_Modal = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Modal.js"() {
      init_usePopover();
      init_useScrollLock();
      init_animations();
      init_breakpoints();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Popover();
      import_react84 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      [ModalContext, _, useUnsafeModalContext] = createContextAndHook("ModalContext");
      Modal = withFloatingTree((props) => {
        const { disableScrollLock, enableScrollLock: enableScrollLock2 } = useScrollLock();
        const { handleClose, handleOpen, contentSx, containerSx, canCloseModal, id, style, portalRoot, initialFocusRef } = props;
        const portalRootFromContext = usePortalRoot();
        const overlayRef = (0, import_react84.useRef)(null);
        const { floating, isOpen, context, nodeId, toggle } = usePopover({
          defaultOpen: true,
          autoUpdate: false,
          outsidePress: (e3) => e3.target === overlayRef.current,
          canCloseModal
        });
        import_react84.default.useEffect(() => {
          if (!isOpen) handleClose?.();
          else handleOpen?.();
        }, [isOpen]);
        const modalCtx = import_react84.default.useMemo(() => ({ value: canCloseModal === false ? {} : { toggle } }), [toggle, canCloseModal]);
        useSafeLayoutEffect(() => {
          enableScrollLock2();
          return () => {
            disableScrollLock();
          };
        }, []);
        return /* @__PURE__ */ jsx2(Popover, {
          nodeId,
          context,
          isOpen,
          outsideElementsInert: true,
          root: portalRoot ?? portalRootFromContext?.() ?? void 0,
          initialFocus: initialFocusRef,
          children: /* @__PURE__ */ jsx2(ModalContext.Provider, {
            value: modalCtx,
            children: /* @__PURE__ */ jsx2(Flex2, {
              id,
              ref: overlayRef,
              elementDescriptor: descriptors.modalBackdrop,
              style,
              sx: [(t2) => ({
                animation: `${animations.fadeIn} 150ms ${t2.transitionTiming.$common}`,
                zIndex: t2.zIndices.$modal,
                backgroundColor: t2.colors.$colorModalBackdrop,
                alignItems: "flex-start",
                justifyContent: "center",
                overflow: "auto",
                width: "100vw",
                height: ["100vh", "-webkit-fill-available"],
                position: "fixed",
                left: 0,
                top: 0
              }), containerSx],
              children: /* @__PURE__ */ jsx2(Flex2, {
                elementDescriptor: descriptors.modalContent,
                ref: floating,
                "aria-modal": "true",
                role: "dialog",
                sx: [(t2) => ({
                  position: "relative",
                  outline: 0,
                  animation: `${animations.modalSlideAndFade} 180ms ${t2.transitionTiming.$easeOut}`,
                  margin: `${t2.space.$16} 0`,
                  [mqu.sm]: { margin: `${t2.space.$10} 0` }
                }), contentSx],
                children: props.children
              })
            })
          })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Card/CardContent.js
  var import_react86, CardContent;
  var init_CardContent = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Card/CardContent.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_close();
      init_makeLocalizable();
      init_elementDescriptors();
      init_classGeneration();
      init_contexts();
      init_customizables();
      init_CardAlert();
      init_IconButton();
      init_Modal();
      import_react86 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      CardContent = import_react86.default.forwardRef((props, ref) => {
        const { children, sx, ...rest } = props;
        const flowMetadata = useFlowMetadata();
        const { toggle } = useUnsafeModalContext();
        const { maintenanceMode } = useEnvironment();
        const card = useCardState();
        const { t: t2 } = useLocalizations();
        return /* @__PURE__ */ jsxs2(Flex2, {
          direction: "col",
          className: generateFlowPartClassname(flowMetadata),
          elementDescriptor: descriptors.card,
          sx: [(t$1) => ({
            backgroundColor: t$1.colors.$colorBackground,
            transitionProperty: t$1.transitionProperty.$common,
            transitionDuration: "200ms",
            textAlign: "center",
            zIndex: t$1.zIndices.$card,
            borderWidth: t$1.borderWidths.$normal,
            borderStyle: t$1.borderStyles.$solid,
            borderColor: t$1.colors.$borderAlpha150,
            borderRadius: t$1.radii.$lg,
            position: "relative",
            padding: `${t$1.space.$8} ${t$1.space.$10}`,
            justifyContent: "center",
            alignContent: "center",
            marginBlockStart: "-1px",
            marginInline: "-1px"
          }), sx],
          gap: 8,
          ref,
          ...rest,
          children: [
            toggle && /* @__PURE__ */ jsx2(IconButton, {
              elementDescriptor: descriptors.modalCloseButton,
              variant: "ghost",
              "aria-label": "Close modal",
              onClick: toggle,
              icon: /* @__PURE__ */ jsx2(Icon, {
                icon: close_default,
                size: "xs"
              }),
              sx: (t$1) => ({
                color: t$1.colors.$colorMutedForeground,
                zIndex: t$1.zIndices.$modal,
                position: "absolute",
                top: t$1.space.$2,
                insetInlineEnd: t$1.space.$2,
                padding: t$1.space.$3
              })
            }),
            maintenanceMode && !card.error && /* @__PURE__ */ jsx2(CardAlert, {
              variant: "warning",
              children: t2(localizationKeys("maintenanceMode"))
            }),
            children
          ]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Card/CardFooter.js
  var import_react87, CardFooter, CardFooterLink, CardFooterLinks;
  var init_CardFooter = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Card/CardFooter.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_common();
      init_breakpoints();
      init_elementDescriptors();
      init_AppearanceContext();
      init_customizables();
      init_useDevMode();
      init_Card();
      import_react87 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      CardFooter = import_react87.default.forwardRef((props, ref) => {
        const { children, isProfileFooter = false, sx, ...rest } = props;
        const { displayConfig } = useEnvironment();
        const { branded } = displayConfig;
        const { showDevModeNotice } = useDevMode();
        const { helpPageUrl, privacyPageUrl, termsPageUrl } = useAppearance().parsedOptions;
        const showSponsorAndLinks = isProfileFooter ? branded : !!(branded || helpPageUrl || privacyPageUrl || termsPageUrl);
        if (!children && !(showSponsorAndLinks || showDevModeNotice)) return null;
        const footerStyles = (t2) => ({
          ">:first-of-type": { padding: `${t2.space.$4} ${t2.space.$8} ${t2.space.$4} ${t2.space.$8}` },
          ">:not(:first-of-type)": {
            padding: `${t2.space.$4} ${t2.space.$8}`,
            borderTopWidth: t2.borderWidths.$normal,
            borderTopStyle: t2.borderStyles.$solid,
            borderTopColor: t2.colors.$borderAlpha100
          }
        });
        const profileCardFooterStyles = (t2) => ({ padding: `${t2.space.$4} ${t2.space.$8}` });
        return /* @__PURE__ */ jsxs2(Flex2, {
          direction: "col",
          align: "center",
          justify: "center",
          elementDescriptor: descriptors.footer,
          sx: [
            (t2) => ({
              marginTop: `calc(${t2.space.$2} * -1)`,
              paddingTop: t2.space.$2,
              background: common.mutedBackground(t2),
              "&:empty": {
                padding: 0,
                marginTop: 0
              }
            }),
            !isProfileFooter && footerStyles,
            sx
          ],
          ...rest,
          ref,
          children: [children, /* @__PURE__ */ jsx2(Card.ClerkAndPagesTag, {
            withFooterPages: showSponsorAndLinks && !isProfileFooter,
            devModeNoticeSx: (t2) => ({ padding: t2.space.$none }),
            outerSx: isProfileFooter ? profileCardFooterStyles : void 0,
            withDevOverlay: true
          })]
        });
      });
      CardFooterLink = (props) => {
        return /* @__PURE__ */ jsx2(Link2, {
          elementDescriptor: descriptors.footerPagesLink,
          ...props,
          colorScheme: "neutral",
          variant: "buttonSmall"
        });
      };
      CardFooterLinks = import_react87.default.memo(() => {
        const { helpPageUrl, privacyPageUrl, termsPageUrl } = useAppearance().parsedOptions;
        if (!helpPageUrl && !privacyPageUrl && !termsPageUrl) return null;
        return /* @__PURE__ */ jsxs2(Flex2, {
          elementDescriptor: descriptors.footerPages,
          justify: "between",
          sx: (t2) => ({
            gap: t2.space.$3,
            [mqu.sm]: { gap: t2.space.$2 }
          }),
          children: [
            helpPageUrl && /* @__PURE__ */ jsx2(CardFooterLink, {
              localizationKey: localizationKeys("footerPageLink__help"),
              elementId: descriptors.footerPagesLink.setId("help"),
              isExternal: true,
              href: helpPageUrl
            }),
            privacyPageUrl && /* @__PURE__ */ jsx2(CardFooterLink, {
              localizationKey: localizationKeys("footerPageLink__privacy"),
              elementId: descriptors.footerPagesLink.setId("privacy"),
              isExternal: true,
              href: privacyPageUrl
            }),
            termsPageUrl && /* @__PURE__ */ jsx2(CardFooterLink, {
              localizationKey: localizationKeys("footerPageLink__terms"),
              elementId: descriptors.footerPagesLink.setId("terms"),
              isExternal: true,
              href: termsPageUrl
            })
          ]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/ApplicationLogo.js
  var import_react88, getContainerHeightForImageRatio, ApplicationLogo;
  var init_ApplicationLogo = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/ApplicationLogo.js"() {
      init_EnvironmentContext();
      init_Link();
      init_elementDescriptors();
      init_AppearanceContext();
      init_customizables();
      init_RouterLink();
      import_react88 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      getContainerHeightForImageRatio = (imageRef, width) => {
        if (!imageRef.current) return `calc(${width} * 2)`;
        const ratio = imageRef.current.naturalWidth / imageRef.current.naturalHeight;
        if (ratio <= 1) return `calc(${width} * 2)`;
        else if (ratio > 1 && ratio <= 2) return `calc((${width} * 2) / ${ratio})`;
        return width;
      };
      ApplicationLogo = (props) => {
        const { src, alt, href, isExternal, sx, ...rest } = props;
        const imageRef = import_react88.default.useRef(null);
        const [loaded, setLoaded] = import_react88.default.useState(false);
        const { logoImageUrl, applicationName, homeUrl } = useEnvironment().displayConfig;
        const { parsedOptions } = useAppearance();
        const imageSrc = src || parsedOptions.logoImageUrl || logoImageUrl;
        const imageAlt = alt || applicationName;
        const logoUrl = href || parsedOptions.logoLinkUrl || homeUrl;
        if (!imageSrc) return null;
        const image = /* @__PURE__ */ jsx2(Image2, {
          ref: imageRef,
          elementDescriptor: descriptors.logoImage,
          alt: imageAlt,
          src: imageSrc,
          size: 200,
          onLoad: () => setLoaded(true),
          sx: {
            display: loaded ? "inline-block" : "none",
            height: "100%",
            width: "100%",
            objectFit: "contain"
          }
        });
        return /* @__PURE__ */ jsx2(Flex2, {
          elementDescriptor: descriptors.logoBox,
          ...rest,
          sx: [(theme) => ({
            height: getContainerHeightForImageRatio(imageRef, theme.sizes.$6),
            justifyContent: "center"
          }), sx],
          children: logoUrl ? isExternal ? /* @__PURE__ */ jsx2(Link, {
            focusRing: true,
            href: logoUrl,
            isExternal: true,
            children: image
          }) : /* @__PURE__ */ jsx2(RouterLink, {
            focusRing: true,
            to: logoUrl,
            children: image
          }) : image
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Card/CardRoot.js
  var import_react89, CardRoot;
  var init_CardRoot = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Card/CardRoot.js"() {
      init_breakpoints();
      init_elementDescriptors();
      init_AppearanceContext();
      init_classGeneration();
      init_contexts();
      init_customizables();
      init_ApplicationLogo();
      import_react89 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      CardRoot = import_react89.default.forwardRef((props, ref) => {
        const { sx, children, ...rest } = props;
        const appearance = useAppearance();
        const flowMetadata = useFlowMetadata();
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [appearance.parsedOptions.logoPlacement === "outside" && /* @__PURE__ */ jsx2(ApplicationLogo, { sx: (t2) => ({
          position: "relative",
          [mqu.sm]: { margin: `0 0 ${t2.space.$7} 0` }
        }) }), /* @__PURE__ */ jsx2(Col2, {
          elementDescriptor: [descriptors.cardBox, props.elementDescriptor],
          className: generateFlowPartClassname(flowMetadata),
          ref,
          sx: [(t2) => ({
            isolation: "isolate",
            maxWidth: `calc(100vw - ${t2.sizes.$10})`,
            width: t2.sizes.$100,
            borderWidth: t2.borderWidths.$normal,
            borderStyle: t2.borderStyles.$solid,
            borderColor: t2.colors.$borderAlpha150,
            borderRadius: t2.radii.$xl,
            color: t2.colors.$colorForeground,
            position: "relative",
            overflow: "hidden"
          }), sx],
          ...rest,
          children
        })] });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Card/index.js
  var Card;
  var init_Card = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Card/index.js"() {
      init_CardAction();
      init_CardAlert();
      init_CardClerkAndPagesTag();
      init_CardContent();
      init_CardFooter();
      init_CardRoot();
      Card = {
        Root: CardRoot,
        Content: CardContent,
        Footer: CardFooter,
        Alert: CardAlert,
        Action: CardAction,
        ActionLink: CardActionLink,
        ActionText: CardActionText,
        FooterLinks: CardFooterLinks,
        ClerkAndPagesTag: CardClerkAndPagesTag
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/arrow-left.js
  function _extends10() {
    return _extends10 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends10.apply(null, arguments);
  }
  var React$112, _path10, SvgArrowLeft, arrow_left_default;
  var init_arrow_left = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/arrow-left.js"() {
      React$112 = __toESM(require_react(), 1);
      SvgArrowLeft = function SvgArrowLeft$1(props) {
        return /* @__PURE__ */ React$112.createElement("svg", _extends10({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          stroke: "currentColor",
          viewBox: "0 0 24 24"
        }, props), _path10 || (_path10 = /* @__PURE__ */ React$112.createElement("path", {
          strokeLinecap: "round",
          strokeLinejoin: "round",
          strokeWidth: 2,
          d: "M20 12H4m6 6-6-6 6-6"
        })));
      };
      arrow_left_default = SvgArrowLeft;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Divider.js
  var Divider, VerticalDivider, DividerLine;
  var init_Divider = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Divider.js"() {
      init_localizationKeys();
      init_elementDescriptors();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      Divider = (props) => {
        const { dividerText, ...rest } = props;
        return /* @__PURE__ */ jsxs2(Flex2, {
          center: true,
          elementDescriptor: descriptors.dividerRow,
          ...rest,
          children: [
            /* @__PURE__ */ jsx2(DividerLine, {}),
            /* @__PURE__ */ jsx2(Text2, {
              localizationKey: !dividerText ? localizationKeys("dividerText") : dividerText,
              elementDescriptor: descriptors.dividerText,
              variant: "body",
              colorScheme: "secondary",
              sx: (t2) => ({ margin: `0 ${t2.space.$4}` })
            }),
            /* @__PURE__ */ jsx2(DividerLine, {})
          ]
        });
      };
      VerticalDivider = (props) => {
        const { sx, ...rest } = props;
        return /* @__PURE__ */ jsx2(Flex2, {
          center: true,
          direction: "col",
          elementDescriptor: descriptors.dividerColumn,
          sx: [(t2) => ({ height: t2.space.$6 }), sx],
          ...rest,
          children: /* @__PURE__ */ jsx2(DividerLine, { vertical: true })
        });
      };
      DividerLine = (props) => {
        const styles2 = props?.vertical ? { width: "1px" } : { height: "1px" };
        return /* @__PURE__ */ jsx2(Flex2, {
          elementDescriptor: descriptors.dividerLine,
          sx: (t2) => ({
            flex: "1",
            backgroundColor: t2.colors.$borderAlpha100,
            ...styles2
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Header.js
  var import_react90, Root2, Title, Subtitle, BackLink, Header;
  var init_Header = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Header.js"() {
      init_arrow_left();
      init_elementDescriptors();
      init_AppearanceContext();
      init_customizables();
      init_ApplicationLogo();
      init_Divider();
      import_react90 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      Root2 = import_react90.default.memo(import_react90.default.forwardRef((props, ref) => {
        const { sx, children, contentSx, gap = 4, showLogo = false, showDivider = false, badgeText, ...rest } = props;
        const logoIsVisible = useAppearance().parsedOptions.logoPlacement === "inside" && showLogo;
        const verticalDividerIsVisible = showDivider && logoIsVisible;
        return /* @__PURE__ */ jsxs2(Col2, {
          ref,
          elementDescriptor: descriptors.header,
          gap,
          sx,
          ...rest,
          children: [
            logoIsVisible && /* @__PURE__ */ jsx2(ApplicationLogo, {}),
            verticalDividerIsVisible && /* @__PURE__ */ jsx2(VerticalDivider, {}),
            badgeText && /* @__PURE__ */ jsx2(Flex2, {
              justify: "center",
              children: /* @__PURE__ */ jsx2(Badge2, { localizationKey: badgeText })
            }),
            /* @__PURE__ */ jsx2(Col2, {
              gap: 1,
              sx: contentSx,
              ...rest,
              children
            })
          ]
        });
      }));
      Title = import_react90.default.memo((props) => {
        const { sx, textVariant = "h2", ...rest } = props;
        return /* @__PURE__ */ jsx2(Heading2, {
          elementDescriptor: descriptors.headerTitle,
          textVariant,
          sx,
          ...rest
        });
      });
      Subtitle = import_react90.default.memo((props) => {
        const { sx, ...rest } = props;
        return /* @__PURE__ */ jsx2(Text2, {
          elementDescriptor: descriptors.headerSubtitle,
          variant: "body",
          colorScheme: "secondary",
          sx: [{ wordWrap: "break-word" }, sx],
          ...rest
        });
      });
      BackLink = import_react90.default.memo((props) => {
        const { sx, children, ...rest } = props;
        return /* @__PURE__ */ jsxs2(Link2, {
          elementDescriptor: descriptors.headerBackLink,
          sx: (t2) => [{
            display: "inline-flex",
            alignItems: "center",
            gap: t2.space.$2,
            width: "fit-content",
            "&:hover": { textDecoration: "none" }
          }, sx],
          ...rest,
          children: [/* @__PURE__ */ jsx2(Icon, {
            icon: arrow_left_default,
            sx: (t2) => ({
              color: t2.colors.$colorForeground,
              '[dir="rtl"] &': { transform: "scaleX(-1)" }
            })
          }), children]
        });
      });
      Header = {
        Root: Root2,
        Title,
        Subtitle,
        BackLink
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/EmailLinkStatusCard.js
  var import_react91, StatusToIcon, statusToColor, EmailLinkStatusCard, StatusRow, StatusIcon;
  var init_EmailLinkStatusCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/EmailLinkStatusCard.js"() {
      init_localizationKeys();
      init_exclamation_triangle();
      init_switch_arrows();
      init_tick_shield();
      init_animations();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      import_react91 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      StatusToIcon = {
        verified: tick_shield_default,
        verified_switch_tab: switch_arrows_default,
        expired: exclamation_triangle_default,
        failed: exclamation_triangle_default,
        client_mismatch: exclamation_triangle_default
      };
      statusToColor = (theme, status) => ({
        verified: theme.colors.$success500,
        verified_switch_tab: theme.colors.$primary500,
        expired: theme.colors.$warning500,
        failed: theme.colors.$danger500,
        client_mismatch: theme.colors.$warning500
      })[status];
      EmailLinkStatusCard = (props) => {
        const card = useCardState();
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "emailLinkStatus",
          children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
            /* @__PURE__ */ jsxs2(Header.Root, { children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: props.title }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: props.subtitle })] }),
            /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
            /* @__PURE__ */ jsx2(Col2, {
              elementDescriptor: descriptors.main,
              children: /* @__PURE__ */ jsx2(StatusRow, { status: props.status })
            })
          ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] })
        });
      };
      StatusRow = (props) => {
        return /* @__PURE__ */ jsx2(Flex2, {
          elementDescriptor: descriptors.verificationLinkStatusBox,
          center: true,
          direction: "col",
          gap: 8,
          children: props.status === "loading" ? /* @__PURE__ */ jsx2(Spinner, {
            size: "xl",
            colorScheme: "primary",
            sx: (theme) => ({ margin: `${theme.space.$12} 0` }),
            elementDescriptor: descriptors.spinner
          }) : /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(StatusIcon, { status: props.status }), /* @__PURE__ */ jsx2(Text2, {
            elementDescriptor: descriptors.verificationLinkStatusText,
            colorScheme: "secondary",
            localizationKey: localizationKeys("signIn.emailLink.unusedTab.title")
          })] })
        });
      };
      StatusIcon = (props) => {
        const { status } = props;
        return /* @__PURE__ */ jsx2(Flex2, {
          elementDescriptor: descriptors.verificationLinkStatusIconBox,
          center: true,
          sx: (theme) => ({
            width: theme.sizes.$24,
            height: theme.sizes.$24,
            borderRadius: theme.radii.$circle,
            backgroundColor: theme.colors.$neutralAlpha100,
            color: statusToColor(theme, status),
            animation: `${animations.dropdownSlideInScaleAndFade} 500ms ease`
          }),
          children: /* @__PURE__ */ jsx2(Icon, {
            elementDescriptor: descriptors.verificationLinkStatusIcon,
            icon: StatusToIcon[status],
            sx: (theme) => ({
              height: theme.sizes.$6,
              width: theme.sizes.$5
            })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/sleep.js
  var sleep;
  var init_sleep = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/sleep.js"() {
      sleep = (ms) => new Promise((r2) => setTimeout(r2, ms));
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/completeSignUpFlow.mjs
  var completeSignUpFlow;
  var init_completeSignUpFlow = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/completeSignUpFlow.mjs"() {
      init_constants_Bta24VLk();
      init_isomorphicAtob_CoF80qYz();
      init_isomorphicBtoa_DWmLcIHi();
      init_keys_ChIG_Ewf();
      init_netlifyCacheHandler_BAoRn8m6();
      init_constants_BulbbNR9();
      init_queryParams_DJX7tUZy();
      completeSignUpFlow = ({ signUp, verifyEmailPath, verifyPhonePath, continuePath, navigate, handleComplete, redirectUrl = "", redirectUrlComplete = "", oidcPrompt }) => {
        if (signUp.status === "complete") return handleComplete && handleComplete();
        else if (signUp.status === "missing_requirements") {
          if (signUp.missingFields.some((mf) => mf === "enterprise_sso")) return signUp.authenticateWithRedirect({
            strategy: "enterprise_sso",
            redirectUrl,
            redirectUrlComplete,
            continueSignUp: true,
            oidcPrompt
          });
          const params = forwardClerkQueryParams();
          if (signUp.unverifiedFields?.includes("email_address") && verifyEmailPath) return navigate(verifyEmailPath, { searchParams: params });
          if (signUp.unverifiedFields?.includes("phone_number") && verifyPhonePath) return navigate(verifyPhonePath, { searchParams: params });
          if (continuePath) return navigate(continuePath, { searchParams: params });
        }
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/EmailLinkVerify.js
  var import_react92, EmailLinkVerify;
  var init_EmailLinkVerify = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/EmailLinkVerify.js"() {
      init_RouteContext();
      init_CoreClientContext();
      init_EmailLinkStatusCard();
      init_sleep();
      init_error();
      import_react92 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_completeSignUpFlow();
      EmailLinkVerify = (props) => {
        const { redirectUrl, redirectUrlComplete, verifyEmailPath, verifyPhonePath, continuePath } = props;
        const { handleEmailLinkVerification } = useClerk();
        const { navigate } = useRouter();
        const signUp = useCoreSignUp();
        const [verificationStatus, setVerificationStatus] = import_react92.default.useState("loading");
        const startVerification = async () => {
          try {
            await sleep(750);
            await handleEmailLinkVerification({
              redirectUrlComplete,
              redirectUrl
            }, navigate);
            setVerificationStatus("verified_switch_tab");
            await sleep(750);
            await completeSignUpFlow({
              signUp,
              verifyEmailPath,
              verifyPhonePath,
              continuePath,
              navigate
            });
          } catch (err) {
            if (isEmailLinkError(err) && (err.code === EmailLinkErrorCodeStatus.Expired || err.code === EmailLinkErrorCodeStatus.ClientMismatch)) {
              setVerificationStatus(err.code);
              return;
            }
            setVerificationStatus(EmailLinkErrorCodeStatus.Failed);
          }
        };
        import_react92.default.useEffect(() => {
          startVerification();
        }, []);
        return /* @__PURE__ */ jsx2(EmailLinkStatusCard, {
          title: props.texts[verificationStatus]?.title || "",
          subtitle: props.texts[verificationStatus]?.subtitle || "",
          status: verificationStatus
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/EmailLinkCompleteFlowCard.js
  var signInLocalizationKeys, signUpLocalizationKeys, SignInEmailLinkFlowComplete, SignUpEmailLinkFlowComplete;
  var init_EmailLinkCompleteFlowCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/EmailLinkCompleteFlowCard.js"() {
      init_localizationKeys();
      init_contexts();
      init_EmailLinkVerify();
      init_emotion_react_jsx_runtime_browser_esm();
      signInLocalizationKeys = {
        verified: {
          title: localizationKeys("signIn.emailLink.verified.title"),
          subtitle: localizationKeys("signIn.emailLink.verified.subtitle")
        },
        verified_switch_tab: {
          title: localizationKeys("signIn.emailLink.verified.title"),
          subtitle: localizationKeys("signIn.emailLink.verifiedSwitchTab.subtitle")
        },
        loading: {
          title: localizationKeys("signIn.emailLink.loading.title"),
          subtitle: localizationKeys("signIn.emailLink.loading.subtitle")
        },
        failed: {
          title: localizationKeys("signIn.emailLink.failed.title"),
          subtitle: localizationKeys("signIn.emailLink.failed.subtitle")
        },
        expired: {
          title: localizationKeys("signIn.emailLink.expired.title"),
          subtitle: localizationKeys("signIn.emailLink.expired.subtitle")
        },
        client_mismatch: {
          title: localizationKeys("signIn.emailLink.clientMismatch.title"),
          subtitle: localizationKeys("signIn.emailLink.clientMismatch.subtitle")
        }
      };
      signUpLocalizationKeys = {
        ...signInLocalizationKeys,
        verified: {
          ...signInLocalizationKeys.verified,
          title: localizationKeys("signUp.emailLink.verified.title")
        },
        verified_switch_tab: {
          ...signInLocalizationKeys.verified_switch_tab,
          title: localizationKeys("signUp.emailLink.verified.title")
        },
        loading: {
          ...signInLocalizationKeys.loading,
          title: localizationKeys("signUp.emailLink.loading.title")
        },
        client_mismatch: {
          ...signInLocalizationKeys.client_mismatch,
          subtitle: localizationKeys("signUp.emailLink.clientMismatch.subtitle")
        }
      };
      SignInEmailLinkFlowComplete = withCardStateProvider((props) => {
        return /* @__PURE__ */ jsx2(EmailLinkVerify, {
          ...props,
          texts: signInLocalizationKeys
        });
      });
      SignUpEmailLinkFlowComplete = withCardStateProvider((props) => {
        return /* @__PURE__ */ jsx2(EmailLinkVerify, {
          ...props,
          texts: signUpLocalizationKeys
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/SessionTasks.js
  var import_react94, SessionTasksContext, useSessionTasksContext, TaskChooseOrganizationContext, useTaskChooseOrganizationContext, TaskResetPasswordContext, useTaskResetPasswordContext, TaskSetupMFAContext, useTaskSetupMFAContext;
  var init_SessionTasks = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/SessionTasks.js"() {
      init_RouteContext();
      init_VirtualRouter();
      import_react94 = __toESM(require_react(), 1);
      init_react();
      init_sessionTasks();
      init_windowNavigate();
      SessionTasksContext = (0, import_react94.createContext)(null);
      useSessionTasksContext = () => {
        const context = (0, import_react94.useContext)(SessionTasksContext);
        const { navigate, basePath, startPath } = useRouter();
        const clerk2 = useClerk();
        if (context === null) throw new Error("Clerk: useSessionTasksContext called outside of the mounted SessionTasks component.");
        const navigateOnSetActive = async ({ session, redirectUrlComplete, decorateUrl }) => {
          const currentTask = session.currentTask;
          if (!currentTask) {
            const decoratedUrl = decorateUrl(redirectUrlComplete);
            if (decoratedUrl !== redirectUrlComplete && /^https?:\/\//.test(decoratedUrl)) {
              windowNavigate(decoratedUrl);
              return;
            }
            return navigate(redirectUrlComplete);
          }
          const customTaskUrl = clerk2.__internal_getOption("taskUrls")?.[currentTask.key];
          if (customTaskUrl) return navigate(customTaskUrl);
          const taskEndpoint = getTaskEndpoint(currentTask);
          if (basePath === VIRTUAL_ROUTER_BASE_PATH) return navigate(`/${basePath + startPath + taskEndpoint}`);
          return navigate(buildTaskUrl(currentTask, { base: clerk2.buildSignInUrl() }));
        };
        return {
          ...context,
          navigateOnSetActive
        };
      };
      TaskChooseOrganizationContext = (0, import_react94.createContext)(null);
      useTaskChooseOrganizationContext = () => {
        const context = (0, import_react94.useContext)(TaskChooseOrganizationContext);
        if (context === null) throw new Error("Clerk: useTaskChooseOrganizationContext called outside of the mounted TaskChooseOrganization component.");
        return context;
      };
      TaskResetPasswordContext = (0, import_react94.createContext)(null);
      useTaskResetPasswordContext = () => {
        const context = (0, import_react94.useContext)(TaskResetPasswordContext);
        if (context === null) throw new Error("Clerk: useTaskResetPasswordContext called outside of the mounted TaskResetPassword component.");
        return context;
      };
      TaskSetupMFAContext = (0, import_react94.createContext)(null);
      useTaskSetupMFAContext = () => {
        const context = (0, import_react94.useContext)(TaskSetupMFAContext);
        if (context === null) throw new Error("Clerk: useTaskSetupMFAContext called outside of the mounted TaskSetupMFA component.");
        return context;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/CaptchaElement.js
  var import_react96, CaptchaElement;
  var init_CaptchaElement = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/CaptchaElement.js"() {
      init_makeLocalizable();
      init_AppearanceContext();
      init_customizables();
      import_react96 = __toESM(require_react(), 1);
      init_constants();
      init_emotion_react_jsx_runtime_browser_esm();
      CaptchaElement = () => {
        const elementRef = (0, import_react96.useRef)(null);
        const maxHeightValueRef = (0, import_react96.useRef)("0");
        const minHeightValueRef = (0, import_react96.useRef)("unset");
        const marginBottomValueRef = (0, import_react96.useRef)("unset");
        const { parsedCaptcha } = useAppearance();
        const { locale } = useLocalizations();
        const captchaTheme = parsedCaptcha?.theme;
        const captchaSize = parsedCaptcha?.size;
        const captchaLanguage = parsedCaptcha?.language || locale?.toLowerCase();
        (0, import_react96.useEffect)(() => {
          if (!elementRef.current) return;
          const observer = new MutationObserver((mutations) => {
            mutations.forEach((mutation) => {
              const target2 = mutation.target;
              if (mutation.type === "attributes" && mutation.attributeName === "style" && elementRef.current) {
                maxHeightValueRef.current = target2.style.maxHeight || "0";
                minHeightValueRef.current = target2.style.minHeight || "unset";
                marginBottomValueRef.current = target2.style.marginBottom || "unset";
              }
            });
          });
          observer.observe(elementRef.current, {
            attributes: true,
            attributeFilter: ["style"]
          });
          return () => observer.disconnect();
        }, []);
        return /* @__PURE__ */ jsx2(Box2, {
          ref: elementRef,
          id: CAPTCHA_ELEMENT_ID,
          style: {
            display: "block",
            alignSelf: "center",
            maxHeight: maxHeightValueRef.current,
            minHeight: minHeightValueRef.current,
            marginBottom: marginBottomValueRef.current
          },
          "data-cl-theme": captchaTheme,
          "data-cl-size": captchaSize,
          "data-cl-language": captchaLanguage
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/LoadingCard.js
  var LoadingCardContainer, LoadingCard;
  var init_LoadingCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/LoadingCard.js"() {
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_CaptchaElement();
      init_emotion_react_jsx_runtime_browser_esm();
      LoadingCardContainer = ({ children }) => {
        return /* @__PURE__ */ jsxs2(Flex2, {
          direction: "col",
          center: true,
          elementDescriptor: descriptors.main,
          gap: 8,
          sx: (theme) => ({
            marginTop: theme.space.$16,
            marginBottom: theme.space.$13
          }),
          children: [/* @__PURE__ */ jsx2(Spinner, {
            size: "xl",
            colorScheme: "primary",
            elementDescriptor: descriptors.spinner
          }), children]
        });
      };
      LoadingCard = withCardStateProvider(() => {
        const card = useCardState();
        return /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
          /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
          /* @__PURE__ */ jsx2(LoadingCardContainer, {}),
          /* @__PURE__ */ jsx2(CaptchaElement, {})
        ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/SignOut.js
  var useSignOutContext;
  var init_SignOut = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/SignOut.js"() {
      init_RouteContext();
      init_react();
      useSignOutContext = () => {
        const { navigate } = useRouter();
        const clerk2 = useClerk();
        const navigateAfterSignOut = () => navigate(clerk2.buildAfterSignOutUrl());
        const navigateAfterMultiSessionSingleSignOutUrl = () => navigate(clerk2.buildAfterMultiSessionSingleSignOutUrl());
        return {
          navigateAfterSignOut,
          navigateAfterMultiSessionSingleSignOutUrl,
          afterSignOutUrl: clerk2.buildAfterSignOutUrl(),
          afterMultiSessionSingleSignOutUrl: clerk2.buildAfterMultiSessionSingleSignOutUrl()
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useMultipleSessions.js
  var useMultipleSessions;
  var init_useMultipleSessions = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useMultipleSessions.js"() {
      init_react();
      useMultipleSessions = (params) => {
        const signedInSessions = useClerk().client.signedInSessions;
        return {
          signedInSessions,
          otherSessions: signedInSessions.filter((s2) => s2.user?.id !== params.user?.id)
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useInView.js
  var import_react99, useInView;
  var init_useInView = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useInView.js"() {
      import_react99 = __toESM(require_react(), 1);
      useInView = (params) => {
        const [inView, setInView] = (0, import_react99.useState)(false);
        const observerRef = (0, import_react99.useRef)(null);
        const thresholds = Array.isArray(params.threshold) ? params.threshold : [params.threshold || 0];
        const internalOnChange = (0, import_react99.useRef)();
        internalOnChange.current = params.onChange;
        return {
          inView,
          ref: (0, import_react99.useCallback)((element) => {
            if (!element) {
              if (observerRef.current) observerRef.current.disconnect();
              return;
            }
            observerRef.current = new IntersectionObserver((entries) => {
              entries.forEach((entry) => {
                const _inView = entry.isIntersecting && thresholds.some((threshold) => entry.intersectionRatio >= threshold);
                setInView(_inView);
                if (internalOnChange.current) internalOnChange.current(_inView, entry);
              });
            }, {
              root: params.root,
              rootMargin: params.rootMargin,
              threshold: thresholds
            });
            observerRef.current.observe(element);
          }, [])
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationSwitcher/utils.js
  var organizationListParams, populateCacheUpdateItem;
  var init_utils5 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationSwitcher/utils.js"() {
      organizationListParams = {
        userMemberships: { infinite: true },
        userInvitations: { infinite: true },
        userSuggestions: {
          infinite: true,
          status: ["pending", "accepted"]
        }
      };
      populateCacheUpdateItem = (updatedItem, itemsInfinitePages, affectTotalCount) => {
        if (typeof itemsInfinitePages === "undefined") return [{
          data: [updatedItem],
          total_count: 1
        }];
        const prevTotalCount = itemsInfinitePages?.[itemsInfinitePages.length - 1]?.total_count || 1;
        return itemsInfinitePages.map((item) => {
          if (typeof item === "undefined") return item;
          const newData = item.data.map((obj) => {
            if (obj.id === updatedItem.id) return { ...updatedItem };
            return obj;
          });
          return {
            ...item,
            data: newData,
            total_count: affectTotalCount === "negative" ? prevTotalCount - 1 : prevTotalCount
          };
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useOrganizationListInView.js
  var useOrganizationListInView;
  var init_useOrganizationListInView = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useOrganizationListInView.js"() {
      init_useInView();
      init_utils5();
      init_react();
      useOrganizationListInView = () => {
        const { userMemberships, userInvitations, userSuggestions } = useOrganizationList(organizationListParams);
        const { ref } = useInView({
          threshold: 0,
          onChange: (inView) => {
            if (!inView) return;
            if (userMemberships.hasNextPage) userMemberships.fetchNext?.();
            else if (userInvitations.hasNextPage) userInvitations.fetchNext?.();
            else userSuggestions.fetchNext?.();
          }
        });
        return {
          userMemberships,
          userInvitations,
          userSuggestions,
          ref
        };
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/componentGuards.mjs
  var isSignedInAndSingleSessionModeEnabled, disabledUserBillingFeature, disabledOrganizationBillingFeature, disabledUserAPIKeysFeature, disabledOrganizationAPIKeysFeature;
  var init_componentGuards = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/componentGuards.mjs"() {
      isSignedInAndSingleSessionModeEnabled = (clerk2, environment) => {
        return !!(clerk2.isSignedIn && environment?.authConfig.singleSessionMode);
      };
      disabledUserBillingFeature = (_3, environment) => {
        return !environment?.commerceSettings.billing.user.enabled;
      };
      disabledOrganizationBillingFeature = (_3, environment) => {
        return !environment?.commerceSettings.billing.organization.enabled;
      };
      disabledUserAPIKeysFeature = (_3, environment) => {
        return !environment?.apiKeysSettings?.user_api_keys_enabled;
      };
      disabledOrganizationAPIKeysFeature = (_3, environment) => {
        return !environment?.apiKeysSettings?.orgs_api_keys_enabled;
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/warnings.mjs
  var formatWarning, createMessageForDisabledOrganizations, createMessageForDisabledBilling, propertyAsFunctionNotSupported, warnings;
  var init_warnings = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/warnings.mjs"() {
      formatWarning = (msg) => {
        return `\u{1F512} Clerk:
${msg.trim()}
(This notice only appears in development)`;
      };
      createMessageForDisabledOrganizations = (componentName) => {
        return formatWarning(`The <${componentName}/> cannot be rendered when the feature is turned off. Visit 'dashboard.clerk.com' to enable the feature. Since the feature is turned off, this is no-op.`);
      };
      createMessageForDisabledBilling = (componentName) => {
        return formatWarning(`The <${componentName}/> component cannot be rendered when billing is disabled. Visit 'https://dashboard.clerk.com/last-active?path=billing/settings' to follow the necessary steps to enable billing. Since billing is disabled, this is no-op.`);
      };
      propertyAsFunctionNotSupported = (property) => {
        return formatWarning(`${property} as a function is not supported in this environment. The value will be ignored. Provide an absolute URL instead.`);
      };
      warnings = {
        proxyUrlAsFunctionNotSupported: propertyAsFunctionNotSupported("proxyUrl"),
        domainAsFunctionNotSupported: propertyAsFunctionNotSupported("domain"),
        cannotRenderComponentWhenSessionExists: "The <SignUp/> and <SignIn/> components cannot render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the Home URL instead.",
        cannotRenderSignUpComponentWhenSessionExists: "The <SignUp/> component cannot render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the value set in `afterSignUp` URL instead.",
        cannotRenderSignUpComponentWhenTaskExists: "The <SignUp/> component cannot render when a user has a pending task, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the task instead.",
        cannotRenderComponentWhenTaskDoesNotExist: "<TaskChooseOrganization/> cannot render unless a session task is pending. Clerk is redirecting to the value set in `redirectUrlComplete` instead.",
        cannotRenderSignInComponentWhenSessionExists: "The <SignIn/> component cannot render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the `afterSignIn` URL instead.",
        cannotRenderSignInComponentWhenTaskExists: "The <SignIn/> component cannot render when a user has a pending task, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, Clerk is redirecting to the task instead.",
        cannotRenderComponentWhenUserDoesNotExist: "<UserProfile/> cannot render unless a user is signed in. Since no user is signed in, this is no-op.",
        cannotRenderComponentWhenOrgDoesNotExist: `<OrganizationProfile/> cannot render unless an organization is active. Since no organization is currently active, this is no-op.`,
        cannotRenderAnyOrganizationComponent: createMessageForDisabledOrganizations,
        cannotRenderAnyBillingComponent: createMessageForDisabledBilling,
        cannotOpenUserProfile: "The UserProfile modal cannot render unless a user is signed in. Since no user is signed in, this is no-op.",
        cannotOpenCheckout: "The Checkout drawer cannot render unless a user is signed in. Since no user is signed in, this is no-op.",
        cannotOpenSignInOrSignUp: "The SignIn or SignUp modals do not render when a user is already signed in, unless the application allows multiple sessions. Since a user is signed in and this application only allows a single session, this is no-op.",
        cannotRenderAPIKeysComponent: "The <APIKeys/> component cannot be rendered when API keys is disabled. Since API keys is disabled, this is no-op.",
        cannotRenderAPIKeysComponentForOrgWhenUnauthorized: "The <APIKeys/> component cannot be rendered for an organization unless a user has the required permissions. Since the user does not have the necessary permissions, this is no-op.",
        cannotRenderAPIKeysComponentForUserWhenDisabled: "The <APIKeys/> component cannot be rendered when user API keys are disabled. Since user API keys are disabled, this is no-op.",
        cannotRenderAPIKeysComponentForOrgWhenDisabled: "The <APIKeys/> component cannot be rendered when organization API keys are disabled. Since organization API keys are disabled, this is no-op.",
        cannotRenderOAuthConsentComponentWhenUserDoesNotExist: "<OAuthConsent/> cannot render unless a user is signed in. Since no user is signed in, this is no-op."
      };
      for (const key of Object.keys(warnings)) {
        const item = warnings[key];
        if (typeof item !== "function") warnings[key] = formatWarning(item);
      }
    }
  });

  // node_modules/@clerk/shared/dist/runtime/keys.mjs
  var init_keys = __esm({
    "node_modules/@clerk/shared/dist/runtime/keys.mjs"() {
      init_constants_Bta24VLk();
      init_isomorphicAtob_CoF80qYz();
      init_isomorphicBtoa_DWmLcIHi();
      init_keys_ChIG_Ewf();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/withRedirect.js
  function withRedirect(Component, condition, redirectUrl, warning) {
    const displayName = Component.displayName || Component.name || "Component";
    Component.displayName = displayName;
    const HOC = (props) => {
      const { navigate } = useRouter();
      const clerk2 = useClerk();
      const environment = useEnvironment();
      const options2 = useOptions();
      const shouldRedirect = condition(clerk2, environment, options2);
      import_react101.default.useEffect(() => {
        if (shouldRedirect) {
          if (warning && isDevelopmentFromPublishableKey(clerk2.publishableKey)) console.info(warning);
          navigate(redirectUrl({
            clerk: clerk2,
            environment,
            options: options2
          }));
        }
      }, []);
      if (shouldRedirect) return null;
      return /* @__PURE__ */ jsx2(Component, { ...props });
    };
    HOC.displayName = `withRedirect(${displayName})`;
    return HOC;
  }
  var import_react101, withRedirectToAfterSignIn, withRedirectToAfterSignUp, withRedirectToSignInTask, withRedirectToSignUpTask;
  var init_withRedirect = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/withRedirect.js"() {
      init_OptionsContext();
      init_RouteContext();
      init_EnvironmentContext();
      init_SignIn();
      init_SignUp();
      import_react101 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_componentGuards();
      init_warnings();
      init_keys();
      withRedirectToAfterSignIn = (Component) => {
        const displayName = Component.displayName || Component.name || "Component";
        Component.displayName = displayName;
        const HOC = (props) => {
          const signInCtx = useSignInContext();
          return withRedirect(Component, isSignedInAndSingleSessionModeEnabled, ({ clerk: clerk2 }) => signInCtx.afterSignInUrl || clerk2.buildAfterSignInUrl(), warnings.cannotRenderSignInComponentWhenSessionExists)(props);
        };
        HOC.displayName = `withRedirectToAfterSignIn(${displayName})`;
        return HOC;
      };
      withRedirectToAfterSignUp = (Component) => {
        const displayName = Component.displayName || Component.name || "Component";
        Component.displayName = displayName;
        const HOC = (props) => {
          const signUpCtx = useSignUpContext();
          return withRedirect(Component, isSignedInAndSingleSessionModeEnabled, ({ clerk: clerk2 }) => signUpCtx.afterSignUpUrl || clerk2.buildAfterSignUpUrl(), warnings.cannotRenderSignUpComponentWhenSessionExists)(props);
        };
        HOC.displayName = `withRedirectToAfterSignUp(${displayName})`;
        return HOC;
      };
      withRedirectToSignInTask = (Component) => {
        const displayName = Component.displayName || Component.name || "Component";
        Component.displayName = displayName;
        const HOC = (props) => {
          const signInCtx = useSignInContext();
          return withRedirect(Component, (clerk2, environment) => !!environment?.authConfig.singleSessionMode && !!(clerk2.session?.currentTask && signInCtx?.taskUrl), () => signInCtx.taskUrl, void 0)(props);
        };
        HOC.displayName = `withRedirectToSignInTask(${displayName})`;
        return HOC;
      };
      withRedirectToSignUpTask = (Component) => {
        const displayName = Component.displayName || Component.name || "Component";
        Component.displayName = displayName;
        const HOC = (props) => {
          const signUpCtx = useSignUpContext();
          return withRedirect(Component, (clerk2, environment) => !!environment?.authConfig.singleSessionMode && !!(clerk2.session?.currentTask && signUpCtx?.taskUrl), () => signUpCtx.taskUrl, void 0)(props);
        };
        HOC.displayName = `withRedirectToSignUpTask(${displayName})`;
        return HOC;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/shared/withTaskGuard.js
  var withTaskGuard;
  var init_withTaskGuard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/shared/withTaskGuard.js"() {
      init_SessionTasks();
      init_withRedirect();
      init_warnings();
      withTaskGuard = (Component, taskKey) => {
        const displayName = Component.displayName || Component.name || "Component";
        Component.displayName = displayName;
        const HOC = (props) => {
          const ctx = useSessionTasksContext();
          return withRedirect(Component, (clerk2) => !clerk2.session?.currentTask || clerk2.session.currentTask.key !== taskKey && !clerk2.__internal_setActiveInProgress, ({ clerk: clerk2 }) => !clerk2.session ? clerk2.buildSignInUrl() : ctx.redirectUrlComplete ?? clerk2.buildAfterSignInUrl(), warnings.cannotRenderComponentWhenTaskDoesNotExist)(props);
        };
        HOC.displayName = `withTaskGuard(${displayName})`;
        return HOC;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/errorHandler.js
  function setFieldErrors(fieldStates, errors) {
    if (!errors || errors.length < 1) return;
    fieldStates.forEach((field) => {
      let buildErrorMessage = field?.buildErrorMessage;
      if (!buildErrorMessage) buildErrorMessage = getFirstError;
      const errorsArray = errors.filter((err) => {
        return err.meta?.paramName === field.id || snakeToCamel(err.meta?.paramName) === field.id;
      });
      const errorMessage = buildErrorMessage(errorsArray);
      if (errorsArray.length && errorMessage) field.setError(errorMessage);
      else field.clearFeedback();
    });
  }
  function parseErrors2(errors) {
    return (errors || []).reduce((memo4, err) => {
      if (err.meta?.paramName) memo4.fieldErrors.push(err);
      else memo4.globalErrors.push(err);
      return memo4;
    }, {
      fieldErrors: Array(0),
      globalErrors: Array(0)
    });
  }
  var getFirstError, handleError, handleMetamaskError, handleClerkApiError, handleClerkRuntimeError;
  var init_errorHandler = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/errorHandler.js"() {
      init_error();
      init_underscore();
      getFirstError = (err) => err[0];
      handleError = (err, fieldStates, setGlobalError) => {
        if (!isKnownError(err)) throw err;
        if (isMetamaskError(err)) return handleMetamaskError(err, fieldStates, setGlobalError);
        if (isClerkAPIResponseError2(err)) return handleClerkApiError(err, fieldStates, setGlobalError);
        if (isClerkRuntimeError(err) && err.code === "reverification_cancelled") return;
        if (isClerkRuntimeError(err)) return handleClerkRuntimeError(err, fieldStates, setGlobalError);
      };
      handleMetamaskError = (err, _3, setGlobalError) => {
        return setGlobalError?.(err.message);
      };
      handleClerkApiError = (err, fieldStates, setGlobalError) => {
        if (!isClerkAPIResponseError2(err)) return;
        const { fieldErrors, globalErrors } = parseErrors2(err.errors);
        setFieldErrors(fieldStates, fieldErrors);
        if (setGlobalError) {
          setGlobalError(void 0);
          const firstGlobalError = globalErrors[0];
          if (firstGlobalError) setGlobalError(firstGlobalError);
        }
      };
      handleClerkRuntimeError = (err, _3, setGlobalError) => {
        if (!isClerkRuntimeError(err)) return;
        if (setGlobalError) {
          setGlobalError(void 0);
          const firstGlobalError = err;
          if (firstGlobalError) setGlobalError(firstGlobalError);
        }
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useSafeState.js
  function useSafeState(initialState) {
    const [state, _setState] = import_react103.default.useState(initialState);
    const isMountedRef = import_react103.default.useRef(true);
    import_react103.default.useEffect(() => {
      return () => {
        isMountedRef.current = false;
      };
    }, []);
    return [state, import_react103.default.useCallback((currentState) => {
      if (!isMountedRef.current) return;
      _setState(currentState);
    }, [])];
  }
  var import_react103;
  var init_useSafeState = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useSafeState.js"() {
      import_react103 = __toESM(require_react(), 1);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useLoadingStatus.js
  var useLoadingStatus;
  var init_useLoadingStatus = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useLoadingStatus.js"() {
      init_useSafeState();
      useLoadingStatus = (initialState) => {
        const [state, setState] = useSafeState({
          status: "idle",
          metadata: void 0,
          ...initialState
        });
        return {
          status: state.status,
          setIdle: (metadata) => setState({
            status: "idle",
            metadata
          }),
          setError: (metadata) => setState({
            status: "error",
            metadata
          }),
          setLoading: (metadata) => setState({
            status: "loading",
            metadata
          }),
          loadingMetadata: state.status === "loading" ? state.metadata : void 0,
          isLoading: state.status === "loading",
          isIdle: state.status === "idle"
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Actions.js
  var import_react104, Actions, SmallActions, SmallAction, Action;
  var init_Actions = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Actions.js"() {
      init_useLoadingStatus();
      init_makeLocalizable();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      import_react104 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      Actions = (props) => {
        const { sx, ...rest } = props;
        return /* @__PURE__ */ jsx2(Col2, {
          sx: [(t2) => ({
            "> button,div": { border: `0 solid ${t2.colors.$borderAlpha100}` },
            ">:not([hidden],:empty)~:not([hidden],:empty)": {
              borderTopWidth: "1px",
              borderBottomWidth: "0"
            }
          }), sx],
          ...rest
        });
      };
      SmallActions = (props) => {
        return /* @__PURE__ */ jsx2(Col2, { ...props });
      };
      SmallAction = (props) => {
        const { sx, iconBoxSx, iconSx, ...rest } = props;
        return /* @__PURE__ */ jsx2(Action, {
          size: "xs",
          variant: "outline",
          textVariant: "buttonSmall",
          sx: [(t2) => ({
            borderRadius: t2.radii.$lg,
            gap: t2.space.$0x5,
            justifyContent: "center",
            flex: "1 1 0",
            padding: `${t2.space.$1} ${t2.space.$1x5}`
          }), sx],
          iconSx: [(t2) => ({
            width: t2.sizes.$4,
            height: t2.sizes.$4
          }), iconSx],
          iconBoxSx: [{ flex: "unset" }, iconBoxSx],
          ...rest
        });
      };
      Action = (props) => {
        const card = useCardState();
        const status = useLoadingStatus();
        const { t: t2 } = useLocalizations();
        const { icon: icon2, label, onClick: onClickProp, iconElementDescriptor, sx, iconElementId, iconSx, iconBoxElementDescriptor, iconBoxElementId, iconBoxSx, trailing, spinnerSize, ...rest } = props;
        const onClick = async (e3) => {
          card.setLoading();
          status.setLoading();
          try {
            await onClickProp?.(e3);
          } finally {
            card.setIdle();
            status.setIdle();
          }
        };
        return /* @__PURE__ */ jsxs2(Button2, {
          size: "md",
          variant: "ghost",
          colorScheme: "neutral",
          textVariant: "buttonLarge",
          hoverAsFocus: true,
          focusRing: false,
          sx: [(t$1) => ({
            flex: "1",
            borderRadius: 0,
            gap: t$1.space.$4,
            justifyContent: "flex-start"
          }), sx],
          isDisabled: card.isLoading,
          onClick,
          role: "menuitem",
          ...rest,
          children: [
            /* @__PURE__ */ jsx2(Flex2, {
              elementDescriptor: iconBoxElementDescriptor,
              elementId: iconBoxElementId,
              justify: "center",
              as: "span",
              sx: [(t$1) => ({
                flex: `0 0 ${t$1.sizes.$9}`,
                gap: t$1.space.$2,
                alignItems: "center"
              }), iconBoxSx],
              children: status.isLoading ? /* @__PURE__ */ jsx2(Spinner, {
                size: spinnerSize || "xs",
                elementDescriptor: descriptors.spinner,
                sx: (t$1) => ({ marginInlineEnd: t$1.space.$1 })
              }) : /* @__PURE__ */ jsx2(Icon, {
                elementDescriptor: iconElementDescriptor,
                elementId: iconElementId,
                icon: icon2,
                sx: [(t$1) => ({
                  width: t$1.sizes.$4,
                  height: "auto",
                  maxWidth: "100%"
                }), iconSx]
              })
            }),
            label ? t2(label) : null,
            trailing
          ]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/add.js
  function _extends11() {
    return _extends11 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends11.apply(null, arguments);
  }
  var React$113, _circle, _path11, SvgAdd, add_default;
  var init_add = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/add.js"() {
      React$113 = __toESM(require_react(), 1);
      SvgAdd = function SvgAdd$1(props) {
        return /* @__PURE__ */ React$113.createElement("svg", _extends11({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 36 24"
        }, props), _circle || (_circle = /* @__PURE__ */ React$113.createElement("circle", {
          cx: 18,
          cy: 12,
          r: 11.5,
          fillOpacity: 0.1,
          stroke: "currentColor",
          strokeDasharray: "2 2",
          strokeOpacity: 0.4
        })), _path11 || (_path11 = /* @__PURE__ */ React$113.createElement("path", { d: "M18.75 7.75a.75.75 0 1 0-1.5 0v3.5h-3.5a.75.75 0 1 0 0 1.5h3.5v3.5a.75.75 0 1 0 1.5 0v-3.5h3.5a.75.75 0 1 0 0-1.5h-3.5z" })));
      };
      add_default = SvgAdd;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/CreateOrganizationAction.js
  var CreateOrganizationAction;
  var init_CreateOrganizationAction = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/CreateOrganizationAction.js"() {
      init_add();
      init_Actions();
      init_emotion_react_jsx_runtime_browser_esm();
      init_react();
      CreateOrganizationAction = (props) => {
        const { user } = useUser();
        if (!user?.createOrganizationEnabled) return null;
        return /* @__PURE__ */ jsx2(Action, {
          ...props,
          icon: add_default
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/Gate.js
  function withProtect(Component, protectProps) {
    const displayName = Component.displayName || Component.name || "Component";
    const HOC = (props) => {
      return /* @__PURE__ */ jsx2(Protect, {
        ...protectProps,
        children: /* @__PURE__ */ jsx2(Component, { ...props })
      });
    };
    HOC.displayName = `withProtect(${displayName})`;
    return HOC;
  }
  var import_react106, useProtect, Protect;
  var init_Gate = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/Gate.js"() {
      init_RouteContext();
      import_react106 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      useProtect = (params) => {
        const { session } = useSession();
        if (!session?.id) return false;
        if (typeof params === "function") return params(session.checkAuthorization);
        return session.checkAuthorization(params);
      };
      Protect = (protectProps) => {
        const { children, fallback, redirectTo, ...restAuthorizedParams } = protectProps;
        const isAuthorizedUser = useProtect(typeof restAuthorizedParams.condition === "function" ? restAuthorizedParams.condition : restAuthorizedParams);
        const { navigate } = useRouter();
        (0, import_react106.useEffect)(() => {
          if (!isAuthorizedUser && redirectTo) navigate(redirectTo);
        }, [isAuthorizedUser, redirectTo]);
        if (!isAuthorizedUser && fallback) return /* @__PURE__ */ jsx2(Fragment3, { children: fallback });
        if (isAuthorizedUser) return /* @__PURE__ */ jsx2(Fragment3, { children });
        return null;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/roleLocalizationKey.js
  var roleToLocalizationKey, roleLocalizationKey, customRoleLocalizationKey;
  var init_roleLocalizationKey = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/roleLocalizationKey.js"() {
      init_localizationKeys();
      roleToLocalizationKey = {
        basic_member: localizationKeys("membershipRole__basicMember"),
        guest_member: localizationKeys("membershipRole__guestMember"),
        admin: localizationKeys("membershipRole__admin")
      };
      roleLocalizationKey = (role) => {
        if (!role) return;
        return roleToLocalizationKey[role];
      };
      customRoleLocalizationKey = (role) => {
        if (!role) return;
        return localizationKeys(`roles.${role}`);
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useFetchRoles.js
  var getRolesParams, useFetchRoles, useLocalizeCustomRoles;
  var init_useFetchRoles = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useFetchRoles.js"() {
      init_useFetch();
      init_Gate();
      init_makeLocalizable();
      init_roleLocalizationKey();
      init_react();
      getRolesParams = { pageSize: 20 };
      useFetchRoles = (enabled2 = true) => {
        const { organization } = useOrganization();
        const canManageMemberships = useProtect({ permission: "org:sys_memberships:manage" });
        const canReadMemberships = useProtect({ permission: "org:sys_memberships:read" });
        const getRoles = ({ pageSize, initialPage }) => organization.getRoles({
          pageSize,
          initialPage
        });
        const hasSystemPermissions = canManageMemberships || canReadMemberships;
        const { data: data2, isLoading } = useFetch(enabled2 && !!organization?.id && hasSystemPermissions ? getRoles : void 0, {
          ...getRolesParams,
          orgId: organization?.id
        });
        return {
          isLoading,
          hasRoleSetMigration: !!data2?.has_role_set_migration,
          options: data2?.data?.map((role) => ({
            value: role.key,
            label: role.name
          }))
        };
      };
      useLocalizeCustomRoles = () => {
        const { t: t2 } = useLocalizations();
        return { localizeCustomRole: (param) => t2(customRoleLocalizationKey(param)) || t2(roleLocalizationKey(param)) };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Avatar.js
  var import_react109, SPINNER_DELAY_MS, SPINNER_MIN_DURATION_MS, Avatar, InitialsAvatarFallback;
  var init_Avatar = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Avatar.js"() {
      init_common();
      init_elementDescriptors();
      init_customizables();
      import_react109 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      SPINNER_DELAY_MS = 150;
      SPINNER_MIN_DURATION_MS = 400;
      Avatar = (props) => {
        const { size: size5 = () => 26, title, initials, imageUrl, rounded = true, imageFetchSize = 80, sx, boxElementDescriptor, imageElementDescriptor, showLoadingSpinner = false } = props;
        const [error2, setError] = import_react109.default.useState(false);
        const [loaded, setLoaded] = import_react109.default.useState(false);
        const [spinnerVisible, setSpinnerVisible] = import_react109.default.useState(false);
        const spinnerShownAtRef = import_react109.default.useRef(null);
        const loadTimerRef = import_react109.default.useRef(null);
        import_react109.default.useEffect(() => {
          setLoaded(false);
          setError(false);
          setSpinnerVisible(false);
          spinnerShownAtRef.current = null;
          return () => {
            if (loadTimerRef.current) {
              clearTimeout(loadTimerRef.current);
              loadTimerRef.current = null;
            }
          };
        }, [imageUrl]);
        import_react109.default.useEffect(() => {
          if (!showLoadingSpinner || !imageUrl || loaded || error2) return;
          const timer = setTimeout(() => {
            setSpinnerVisible(true);
            spinnerShownAtRef.current = Date.now();
          }, SPINNER_DELAY_MS);
          return () => clearTimeout(timer);
        }, [
          showLoadingSpinner,
          imageUrl,
          loaded,
          error2
        ]);
        const handleImageLoad = import_react109.default.useCallback(() => {
          if (spinnerShownAtRef.current) {
            const remaining = SPINNER_MIN_DURATION_MS - (Date.now() - spinnerShownAtRef.current);
            if (remaining > 0) {
              loadTimerRef.current = setTimeout(() => {
                loadTimerRef.current = null;
                setLoaded(true);
              }, remaining);
              return;
            }
          }
          setLoaded(true);
        }, []);
        const isLoading = showLoadingSpinner && spinnerVisible && imageUrl && !loaded && !error2;
        const ImgOrFallback = initials && (!imageUrl || error2) ? /* @__PURE__ */ jsx2(InitialsAvatarFallback, { initials }) : /* @__PURE__ */ jsx2(Image2, {
          elementDescriptor: [imageElementDescriptor, descriptors.avatarImage],
          title,
          alt: `${title}'s logo`,
          src: imageUrl || "",
          sx: {
            objectFit: "cover",
            width: "100%",
            height: "100%",
            opacity: showLoadingSpinner ? loaded ? 1 : 0 : 1,
            transition: "opacity 0.2s ease-in-out"
          },
          onError: () => setError(true),
          onLoad: handleImageLoad,
          size: imageFetchSize
        });
        return /* @__PURE__ */ jsxs2(Flex2, {
          as: "span",
          elementDescriptor: [boxElementDescriptor, descriptors.avatarBox],
          sx: [(t2) => ({
            flexShrink: 0,
            borderRadius: rounded ? t2.radii.$circle : t2.radii.$avatar,
            overflow: "hidden",
            width: size5(t2),
            height: size5(t2),
            backgroundColor: t2.colors.$avatarBackground,
            backgroundClip: "padding-box",
            position: "relative"
          }), sx],
          children: [
            ImgOrFallback,
            isLoading && /* @__PURE__ */ jsx2(Flex2, {
              as: "span",
              sx: (t2) => ({
                position: "absolute",
                inset: 0,
                alignItems: "center",
                justifyContent: "center",
                backgroundColor: t2.colors.$avatarBackground
              }),
              children: /* @__PURE__ */ jsx2(Spinner, {
                size: "sm",
                colorScheme: "neutral"
              })
            }),
            /* @__PURE__ */ jsx2(Box2, {
              as: "span",
              sx: (t2) => ({
                overflow: "hidden",
                background: t2.colors.$colorShimmer,
                position: "absolute",
                top: 0,
                left: 0,
                width: "25%",
                height: "100%",
                transition: `all ${t2.transitionDuration.$slow} ${t2.transitionTiming.$easeOut}`,
                transform: "var(--cl-shimmer-hover-transform, skewX(-45deg) translateX(-300%))",
                ":after": {
                  display: "block",
                  boxSizing: "border-box",
                  content: "''",
                  position: "absolute",
                  top: 0,
                  left: 0,
                  width: "400%",
                  height: "100%",
                  transform: "var(--cl-shimmer-hover-after-transform, skewX(45deg) translateX(75%))",
                  transition: `all ${t2.transitionDuration.$slow} ${t2.transitionTiming.$easeOut}`,
                  borderWidth: t2.borderWidths.$heavy,
                  borderStyle: t2.borderStyles.$solid,
                  borderColor: t2.colors.$colorShimmer,
                  borderRadius: rounded ? t2.radii.$circle : t2.radii.$avatar
                }
              })
            })
          ]
        });
      };
      InitialsAvatarFallback = (props) => {
        const initials = props.initials;
        return /* @__PURE__ */ jsx2(Text2, {
          as: "span",
          sx: (t2) => ({
            ...common.centeredFlex("inline-flex"),
            width: "100%",
            color: t2.colors.$colorForeground
          }),
          children: initials
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/OrganizationAvatar.js
  var OrganizationAvatar;
  var init_OrganizationAvatar = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/OrganizationAvatar.js"() {
      init_Avatar();
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationAvatar = (props) => {
        const { name = "", imageUrl, showLoadingSpinner, ...rest } = props;
        return /* @__PURE__ */ jsx2(Avatar, {
          title: name,
          initials: (name || " ")[0],
          imageUrl,
          showLoadingSpinner,
          rounded: false,
          ...rest
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/OrganizationPreview.js
  var import_react110, OrganizationPreview;
  var init_OrganizationPreview = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/OrganizationPreview.js"() {
      init_elementDescriptors();
      init_customizables();
      init_useFetchRoles();
      init_OrganizationAvatar();
      import_react110 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationPreview = (props) => {
        const { organization, size: size5 = "md", icon: icon2, rounded = false, badge, sx, user, avatarSx, mainIdentifierSx, mainIdentifierVariant, elementId, ...rest } = props;
        const { localizeCustomRole } = useLocalizeCustomRoles();
        const membership = user?.organizationMemberships.find((membership$1) => membership$1.organization.id === organization.id);
        const unlocalizedRoleLabel = membership?.roleName;
        const roleLabel = localizeCustomRole(membership?.role) || unlocalizedRoleLabel;
        const mainTextSize = mainIdentifierVariant || {
          xs: "subtitle",
          sm: "caption",
          md: "subtitle",
          lg: "h1"
        }[size5];
        return /* @__PURE__ */ jsxs2(Flex2, {
          elementDescriptor: descriptors.organizationPreview,
          elementId: descriptors.organizationPreview.setId(elementId),
          gap: 3,
          align: "center",
          as: "span",
          sx: [{ minWidth: "0" }, sx],
          ...rest,
          children: [/* @__PURE__ */ jsxs2(Flex2, {
            elementDescriptor: descriptors.organizationPreviewAvatarContainer,
            elementId: descriptors.organizationPreviewAvatarContainer.setId(elementId),
            justify: "center",
            as: "span",
            sx: { position: "relative" },
            children: [/* @__PURE__ */ jsx2(OrganizationAvatar, {
              boxElementDescriptor: descriptors.organizationPreviewAvatarBox,
              imageElementDescriptor: descriptors.organizationPreviewAvatarImage,
              ...organization,
              size: (t2) => ({
                xs: t2.sizes.$5,
                sm: t2.sizes.$8,
                md: t2.sizes.$9,
                lg: t2.sizes.$12
              })[size5],
              sx: avatarSx,
              rounded
            }), icon2 && /* @__PURE__ */ jsx2(Flex2, {
              sx: {
                position: "absolute",
                insetInlineStart: 0,
                bottom: 0
              },
              children: icon2
            })]
          }), /* @__PURE__ */ jsxs2(Flex2, {
            elementDescriptor: descriptors.organizationPreviewTextContainer,
            elementId: descriptors.organizationPreviewTextContainer.setId(elementId),
            direction: "col",
            justify: "center",
            as: "span",
            sx: {
              minWidth: "0px",
              textAlign: "start"
            },
            children: [/* @__PURE__ */ jsxs2(Text2, {
              elementDescriptor: descriptors.organizationPreviewMainIdentifier,
              elementId: descriptors.organizationPreviewMainIdentifier.setId(elementId),
              variant: mainTextSize,
              as: "span",
              truncate: true,
              sx: mainIdentifierSx,
              title: organization.name,
              children: [
                organization.name,
                " ",
                badge
              ]
            }), roleLabel && /* @__PURE__ */ jsx2(Text2, {
              elementDescriptor: descriptors.organizationPreviewSecondaryIdentifier,
              elementId: descriptors.organizationPreviewSecondaryIdentifier.setId(elementId),
              as: "span",
              localizationKey: roleLabel,
              truncate: true
            })]
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/switch-arrow-right.js
  function _extends12() {
    return _extends12 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends12.apply(null, arguments);
  }
  var React$114, _path12, SvgSwitchArrowRight, switch_arrow_right_default;
  var init_switch_arrow_right = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/switch-arrow-right.js"() {
      React$114 = __toESM(require_react(), 1);
      SvgSwitchArrowRight = function SvgSwitchArrowRight$1(props) {
        return /* @__PURE__ */ React$114.createElement("svg", _extends12({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path12 || (_path12 = /* @__PURE__ */ React$114.createElement("path", { d: "M9.53 4.47a.75.75 0 0 0-1.06 1.06l1.72 1.72H4a.75.75 0 0 0 0 1.5h6.19l-1.72 1.72a.75.75 0 1 0 1.06 1.06l3-3a.75.75 0 0 0 0-1.06z" })));
      };
      switch_arrow_right_default = SvgSwitchArrowRight;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/PreviewButton.js
  var PreviewButton;
  var init_PreviewButton = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/PreviewButton.js"() {
      init_contexts();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      PreviewButton = (props) => {
        const { sx, children, icon: icon2, iconProps, showIconOnHover = true, ...rest } = props;
        const card = useCardState();
        const { sx: iconSx, ...restIconProps } = iconProps || {};
        return /* @__PURE__ */ jsxs2(Button2, {
          variant: "ghost",
          colorScheme: "neutral",
          focusRing: false,
          block: true,
          hoverAsFocus: true,
          isDisabled: card.isLoading,
          sx: [(t2) => ({
            justifyContent: "space-between",
            padding: `${t2.space.$4} ${t2.space.$5}`,
            borderRadius: 0,
            ...showIconOnHover ? { ":hover > svg": { visibility: "initial" } } : {}
          }), sx],
          ...rest,
          children: [children, icon2 && /* @__PURE__ */ jsx2(Icon, {
            icon: icon2,
            sx: [(t2) => ({
              color: t2.colors.$colorMutedForeground,
              marginInlineStart: t2.space.$2,
              visibility: showIconOnHover ? "hidden" : "initial"
            }), iconSx],
            ...restIconProps
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/organizations/OrganizationPreview.js
  var import_react111, OrganizationPreviewListItems, sharedStyles, sharedMainIdentifierSx, OrganizationPreviewListItem, OrganizationPreviewSpinner, OrganizationPreviewListItemButton, OrganizationPreviewButton;
  var init_OrganizationPreview2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/organizations/OrganizationPreview.js"() {
      init_switch_arrow_right();
      init_common();
      init_elementDescriptors();
      init_customizables();
      init_OrganizationPreview();
      init_PreviewButton();
      import_react111 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationPreviewListItems = ({ elementDescriptor, children }) => {
        return /* @__PURE__ */ jsx2(Col2, {
          elementDescriptor,
          sx: (t2) => ({
            maxHeight: `calc(8 * ${t2.sizes.$12})`,
            overflowY: "auto",
            borderTopWidth: t2.borderWidths.$normal,
            borderTopStyle: t2.borderStyles.$solid,
            borderTopColor: t2.colors.$borderAlpha100,
            ...common.unstyledScrollbar(t2)
          }),
          children
        });
      };
      sharedStyles = (t2) => ({ padding: `${t2.space.$4} ${t2.space.$5}` });
      sharedMainIdentifierSx = (t2) => ({
        color: t2.colors.$colorForeground,
        ":hover": { color: t2.colors.$colorForeground }
      });
      OrganizationPreviewListItem = ({ children, elementId, elementDescriptor, organizationData }) => {
        return /* @__PURE__ */ jsxs2(Flex2, {
          align: "center",
          gap: 2,
          sx: [(t2) => ({
            minHeight: "unset",
            justifyContent: "space-between",
            borderTopWidth: t2.borderWidths.$normal,
            borderTopStyle: t2.borderStyles.$solid,
            borderTopColor: t2.colors.$borderAlpha100
          }), sharedStyles],
          elementDescriptor,
          children: [/* @__PURE__ */ jsx2(OrganizationPreview, {
            elementId,
            mainIdentifierSx: sharedMainIdentifierSx,
            organization: organizationData
          }), children]
        });
      };
      OrganizationPreviewSpinner = (0, import_react111.forwardRef)((_3, ref) => {
        return /* @__PURE__ */ jsx2(Box2, {
          ref,
          sx: (t2) => ({
            width: "100%",
            height: t2.space.$12,
            position: "relative"
          }),
          children: /* @__PURE__ */ jsx2(Box2, {
            sx: {
              margin: "auto",
              position: "absolute",
              left: "50%",
              top: "50%",
              transform: "translateY(-50%) translateX(-50%)"
            },
            children: /* @__PURE__ */ jsx2(Spinner, {
              size: "sm",
              colorScheme: "primary",
              elementDescriptor: descriptors.spinner
            })
          })
        });
      });
      OrganizationPreviewListItemButton = (props) => {
        return /* @__PURE__ */ jsx2(Button2, {
          textVariant: "buttonSmall",
          variant: "outline",
          size: "xs",
          ...props
        });
      };
      OrganizationPreviewButton = (props) => {
        return /* @__PURE__ */ jsx2(PreviewButton, {
          sx: [sharedStyles],
          icon: switch_arrow_right_default,
          ...props
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskChooseOrganization/ChooseOrganizationScreen.js
  var import_react112, ChooseOrganizationScreen, MembershipPreview, InvitationPreview, SuggestionPreview, CreateOrganizationButton;
  var init_ChooseOrganizationScreen = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskChooseOrganization/ChooseOrganizationScreen.js"() {
      init_localizationKeys();
      init_SessionTasks();
      init_makeLocalizable();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_errorHandler();
      init_utils5();
      init_Actions();
      init_CreateOrganizationAction();
      init_OrganizationPreview();
      init_OrganizationPreview2();
      init_useOrganizationListInView();
      init_error();
      import_react112 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      ChooseOrganizationScreen = (props) => {
        const card = useCardState();
        const { user } = useUser();
        const { ref, userMemberships, userSuggestions, userInvitations } = useOrganizationListInView();
        const isLoading = userMemberships?.isLoading || userInvitations?.isLoading || userSuggestions?.isLoading;
        const hasNextPage2 = userMemberships?.hasNextPage || userInvitations?.hasNextPage || userSuggestions?.hasNextPage;
        const userInvitationsData = userInvitations.data?.filter((a2) => !!a2);
        const userSuggestionsData = userSuggestions.data?.filter((a2) => !!a2);
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [
          /* @__PURE__ */ jsxs2(Header.Root, {
            showLogo: true,
            sx: (t2) => ({ padding: `${t2.space.$none} ${t2.space.$8}` }),
            children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("taskChooseOrganization.chooseOrganization.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: user?.createOrganizationEnabled ? localizationKeys("taskChooseOrganization.chooseOrganization.subtitle") : localizationKeys("taskChooseOrganization.chooseOrganization.subtitle__createOrganizationDisabled") })]
          }),
          /* @__PURE__ */ jsx2(Card.Alert, {
            sx: (t2) => ({ margin: `${t2.space.$none} ${t2.space.$8}` }),
            children: card.error
          }),
          /* @__PURE__ */ jsx2(Col2, {
            elementDescriptor: descriptors.main,
            children: /* @__PURE__ */ jsx2(OrganizationPreviewListItems, {
              elementDescriptor: descriptors.taskChooseOrganizationPreviewItems,
              children: /* @__PURE__ */ jsxs2(Actions, {
                role: "menu",
                children: [
                  (userMemberships.count || 0) > 0 && userMemberships.data?.map((inv) => {
                    return /* @__PURE__ */ jsx2(MembershipPreview, { ...inv }, inv.id);
                  }),
                  !userMemberships.hasNextPage && userInvitationsData?.map((inv) => {
                    return /* @__PURE__ */ jsx2(InvitationPreview, { ...inv }, inv.id);
                  }),
                  !userMemberships.hasNextPage && !userInvitations.hasNextPage && userSuggestionsData?.map((inv) => {
                    return /* @__PURE__ */ jsx2(SuggestionPreview, { ...inv }, inv.id);
                  }),
                  (hasNextPage2 || isLoading) && /* @__PURE__ */ jsx2(OrganizationPreviewSpinner, { ref }),
                  /* @__PURE__ */ jsx2(CreateOrganizationButton, { onCreateOrganizationClick: () => {
                    card.setError(void 0);
                    props.onCreateOrganizationClick();
                  } })
                ]
              })
            })
          })
        ] });
      };
      MembershipPreview = (props) => {
        const { user } = useUser();
        const card = useCardState();
        const { navigateOnSetActive } = useSessionTasksContext();
        const { redirectUrlComplete } = useTaskChooseOrganizationContext();
        const { isLoaded, setActive } = useOrganizationList();
        const { t: t2 } = useLocalizations();
        if (!isLoaded) return null;
        const handleOrganizationClicked = (organization) => {
          return card.runAsync(async () => {
            try {
              await setActive({
                organization,
                navigate: async ({ session, decorateUrl }) => {
                  await navigateOnSetActive?.({
                    session,
                    redirectUrlComplete,
                    decorateUrl
                  });
                }
              });
            } catch (err) {
              if (!isClerkAPIResponseError2(err)) {
                handleError(err, [], card.setError);
                return;
              }
              switch (err.errors?.[0]?.code) {
                case "organization_not_found_or_unauthorized":
                case "not_a_member_in_organization":
                  if (user?.createOrganizationEnabled) card.setError(t2(localizationKeys("unstable__errors.organization_not_found_or_unauthorized")));
                  else card.setError(t2(localizationKeys("unstable__errors.organization_not_found_or_unauthorized_with_create_organization_disabled")));
                  break;
                default:
                  handleError(err, [], card.setError);
              }
            }
          });
        };
        return /* @__PURE__ */ jsx2(OrganizationPreviewButton, {
          elementDescriptor: descriptors.taskChooseOrganizationPreviewButton,
          onClick: () => handleOrganizationClicked(props.organization),
          children: /* @__PURE__ */ jsx2(OrganizationPreview, {
            elementId: "taskChooseOrganization",
            mainIdentifierSx: sharedMainIdentifierSx,
            organization: props.organization
          })
        });
      };
      InvitationPreview = (props) => {
        const card = useCardState();
        const { getOrganization } = useClerk();
        const [acceptedOrganization, setAcceptedOrganization] = (0, import_react112.useState)(null);
        const { userInvitations } = useOrganizationList({ userInvitations: organizationListParams.userInvitations });
        const handleAccept = () => {
          return card.runAsync(async () => {
            return [await props.accept(), await getOrganization(props.publicOrganizationData.id)];
          }).then(([updatedItem, organization]) => {
            userInvitations?.setData?.((cachedPages) => populateCacheUpdateItem(updatedItem, cachedPages, "negative"));
            setAcceptedOrganization(organization);
          }).catch((err) => handleError(err, [], card.setError));
        };
        if (acceptedOrganization) return /* @__PURE__ */ jsx2(MembershipPreview, { organization: acceptedOrganization });
        return /* @__PURE__ */ jsx2(OrganizationPreviewListItem, {
          organizationData: props.publicOrganizationData,
          elementId: "taskChooseOrganization",
          elementDescriptor: descriptors.taskChooseOrganizationPreviewItem,
          children: /* @__PURE__ */ jsx2(OrganizationPreviewListItemButton, {
            isLoading: card.isLoading,
            onClick: handleAccept,
            localizationKey: localizationKeys("taskChooseOrganization.chooseOrganization.action__invitationAccept")
          })
        });
      };
      SuggestionPreview = withCardStateProvider((props) => {
        const card = useCardState();
        const { userSuggestions } = useOrganizationList({ userSuggestions: organizationListParams.userSuggestions });
        const handleAccept = () => {
          return card.runAsync(props.accept).then((updatedItem) => userSuggestions?.setData?.((pages) => populateCacheUpdateItem(updatedItem, pages))).catch((err) => handleError(err, [], card.setError));
        };
        return /* @__PURE__ */ jsx2(OrganizationPreviewListItem, {
          organizationData: props.publicOrganizationData,
          elementId: "taskChooseOrganization",
          elementDescriptor: descriptors.taskChooseOrganizationPreviewItem,
          children: props.status === "accepted" ? /* @__PURE__ */ jsx2(Text2, {
            colorScheme: "secondary",
            localizationKey: localizationKeys("taskChooseOrganization.chooseOrganization.suggestionsAcceptedLabel")
          }) : /* @__PURE__ */ jsx2(OrganizationPreviewListItemButton, {
            onClick: handleAccept,
            isLoading: card.isLoading,
            localizationKey: localizationKeys("taskChooseOrganization.chooseOrganization.action__suggestionsAccept")
          })
        });
      });
      CreateOrganizationButton = ({ onCreateOrganizationClick }) => {
        return /* @__PURE__ */ jsx2(CreateOrganizationAction, {
          elementDescriptor: descriptors.taskChooseOrganizationCreateOrganizationActionButton,
          label: localizationKeys("taskChooseOrganization.chooseOrganization.action__createOrganization"),
          onClick: onCreateOrganizationClick,
          sx: (t2) => ({
            borderTopWidth: t2.borderWidths.$normal,
            borderTopStyle: t2.borderStyles.$solid,
            borderTopColor: t2.colors.$borderAlpha100,
            padding: `${t2.space.$5} ${t2.space.$5}`
          }),
          iconSx: (t2) => ({
            width: t2.sizes.$9,
            height: t2.sizes.$6
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/upload.js
  function _extends13() {
    return _extends13 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends13.apply(null, arguments);
  }
  var React$115, _path13, SvgUpload, upload_default;
  var init_upload = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/upload.js"() {
      React$115 = __toESM(require_react(), 1);
      SvgUpload = function SvgUpload$1(props) {
        return /* @__PURE__ */ React$115.createElement("svg", _extends13({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 24 24"
        }, props), _path13 || (_path13 = /* @__PURE__ */ React$115.createElement("path", {
          stroke: "currentColor",
          strokeLinecap: "round",
          strokeLinejoin: "round",
          strokeWidth: 2,
          d: "M21 15v1.2c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V15m14-7-5-5m0 0L7 8m5-5v12"
        })));
      };
      upload_default = SvgUpload;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Badge.js
  var LastAuthenticationStrategyBadge;
  var init_Badge2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Badge.js"() {
      init_localizationKeys();
      init_common();
      init_elementDescriptors();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      LastAuthenticationStrategyBadge = ({ sx, overlay, ...props }) => {
        return /* @__PURE__ */ jsx2(Span2, {
          ...props,
          elementDescriptor: descriptors.lastAuthenticationStrategyBadge,
          localizationKey: localizationKeys("lastAuthenticationStrategy"),
          sx: [(t2) => ({
            ...common.textVariants(t2).caption,
            background: `linear-gradient(${t2.colors.$borderAlpha25}, transparent), ${t2.colors.$colorBackground}`,
            border: `${t2.space.$px} solid ${t2.colors.$borderAlpha150}`,
            borderRadius: t2.radii.$lg,
            color: t2.colors.$colorMutedForeground,
            height: t2.space.$4x5,
            paddingInline: t2.space.$1x5,
            whiteSpace: "nowrap",
            boxShadow: `0 0 0 1px ${t2.colors.$colorBackground}`,
            ...overlay && {
              position: "absolute",
              insetInlineEnd: -1,
              top: -1,
              transform: `translate(${t2.space.$2x5}, calc(-50% - ${t2.space.$0x5}))`,
              pointerEvents: "none",
              '[dir="rtl"] &': { transform: `translate(-${t2.space.$2x5}, calc(-50% - ${t2.space.$0x5}))` }
            }
          }), sx]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/TimerButton.js
  var import_react114, TimerButton;
  var init_TimerButton = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/TimerButton.js"() {
      init_makeLocalizable();
      init_customizables();
      import_react114 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      TimerButton = (props) => {
        const { t: t2 } = useLocalizations();
        const { onClick: onClickProp, throttleTimeInSec = 30, startDisabled, children, localizationKey, showCounter = true, ...rest } = props;
        const [remainingSeconds, setRemainingSeconds] = import_react114.default.useState(0);
        const intervalIdRef = import_react114.default.useRef(void 0);
        useSafeLayoutEffect(() => {
          if (startDisabled) disable();
        }, []);
        (0, import_react114.useEffect)(() => {
          return () => clearInterval(intervalIdRef.current);
        }, []);
        const disable = () => {
          setRemainingSeconds(throttleTimeInSec);
          intervalIdRef.current = window.setInterval(() => {
            setRemainingSeconds((seconds) => {
              if (seconds === 1) clearInterval(intervalIdRef.current);
              return seconds - 1;
            });
          }, 1e3);
        };
        const handleOnClick = (e3) => {
          if (remainingSeconds) return;
          onClickProp?.(e3);
          disable();
        };
        return /* @__PURE__ */ jsxs2(Button2, {
          variant: "link",
          ...rest,
          textVariant: "buttonSmall",
          isDisabled: remainingSeconds > 0 || props.isDisabled,
          onClick: handleOnClick,
          children: [t2(localizationKey) || children, remainingSeconds && showCounter ? ` (${remainingSeconds})` : ""]
        });
      };
    }
  });

  // node_modules/input-otp/dist/index.mjs
  function ht(r2) {
    let s2 = setTimeout(r2, 0), e3 = setTimeout(r2, 10), u2 = setTimeout(r2, 50);
    return [s2, e3, u2];
  }
  function _t(r2) {
    let s2 = U.useRef();
    return U.useEffect(() => {
      s2.current = r2;
    }), s2.current;
  }
  function Tt({ containerRef: r2, inputRef: s2, pushPasswordManagerStrategy: e3, isFocused: u2 }) {
    let [P, D] = S.useState(false), [G, H] = S.useState(false), [F, W] = S.useState(false), Z = S.useMemo(() => e3 === "none" ? false : (e3 === "increase-width" || e3 === "experimental-no-flickering") && P && G, [P, G, e3]), T = S.useCallback(() => {
      let f3 = r2.current, h2 = s2.current;
      if (!f3 || !h2 || F || e3 === "none") return;
      let a2 = f3, B = a2.getBoundingClientRect().left + a2.offsetWidth, A = a2.getBoundingClientRect().top + a2.offsetHeight / 2, z = B - Ot, q = A;
      document.querySelectorAll(xt).length === 0 && document.elementFromPoint(z, q) === f3 || (D(true), W(true));
    }, [r2, s2, F, e3]);
    return S.useEffect(() => {
      let f3 = r2.current;
      if (!f3 || e3 === "none") return;
      function h2() {
        let A = window.innerWidth - f3.getBoundingClientRect().right;
        H(A >= wt);
      }
      h2();
      let a2 = setInterval(h2, 1e3);
      return () => {
        clearInterval(a2);
      };
    }, [r2, e3]), S.useEffect(() => {
      let f3 = u2 || document.activeElement === s2.current;
      if (e3 === "none" || !f3) return;
      let h2 = setTimeout(T, 0), a2 = setTimeout(T, 2e3), B = setTimeout(T, 5e3), A = setTimeout(() => {
        W(true);
      }, 6e3);
      return () => {
        clearTimeout(h2), clearTimeout(a2), clearTimeout(B), clearTimeout(A);
      };
    }, [s2, u2, e3, T]), { hasPWMBadge: P, willPushPWMBadge: Z, PWM_BADGE_SPACE_WIDTH: Gt };
  }
  function $(r2, s2) {
    try {
      r2.insertRule(s2);
    } catch (e3) {
      console.error("input-otp could not insert CSS rule:", s2);
    }
  }
  var n2, U, S, Bt, At, kt, Y, gt, Et, vt, St, bt, Pt, Ot, wt, Gt, xt, jt, Lt, Nt, Kt;
  var init_dist3 = __esm({
    "node_modules/input-otp/dist/index.mjs"() {
      n2 = __toESM(require_react(), 1);
      U = __toESM(require_react(), 1);
      S = __toESM(require_react(), 1);
      Bt = Object.defineProperty;
      At = Object.defineProperties;
      kt = Object.getOwnPropertyDescriptors;
      Y = Object.getOwnPropertySymbols;
      gt = Object.prototype.hasOwnProperty;
      Et = Object.prototype.propertyIsEnumerable;
      vt = (r2, s2, e3) => s2 in r2 ? Bt(r2, s2, { enumerable: true, configurable: true, writable: true, value: e3 }) : r2[s2] = e3;
      St = (r2, s2) => {
        for (var e3 in s2 || (s2 = {})) gt.call(s2, e3) && vt(r2, e3, s2[e3]);
        if (Y) for (var e3 of Y(s2)) Et.call(s2, e3) && vt(r2, e3, s2[e3]);
        return r2;
      };
      bt = (r2, s2) => At(r2, kt(s2));
      Pt = (r2, s2) => {
        var e3 = {};
        for (var u2 in r2) gt.call(r2, u2) && s2.indexOf(u2) < 0 && (e3[u2] = r2[u2]);
        if (r2 != null && Y) for (var u2 of Y(r2)) s2.indexOf(u2) < 0 && Et.call(r2, u2) && (e3[u2] = r2[u2]);
        return e3;
      };
      Ot = 18;
      wt = 40;
      Gt = `${wt}px`;
      xt = ["[data-lastpass-icon-root]", "com-1password-button", "[data-dashlanecreated]", '[style$="2147483647 !important;"]'].join(",");
      jt = n2.createContext({});
      Lt = n2.forwardRef((A, B) => {
        var z = A, { value: r2, onChange: s2, maxLength: e3, textAlign: u2 = "left", pattern: P, placeholder: D, inputMode: G = "numeric", onComplete: H, pushPasswordManagerStrategy: F = "increase-width", pasteTransformer: W, containerClassName: Z, noScriptCSSFallback: T = Nt, render: f3, children: h2 } = z, a2 = Pt(z, ["value", "onChange", "maxLength", "textAlign", "pattern", "placeholder", "inputMode", "onComplete", "pushPasswordManagerStrategy", "pasteTransformer", "containerClassName", "noScriptCSSFallback", "render", "children"]);
        var X, lt, ut, dt, ft;
        let [q, nt] = n2.useState(typeof a2.defaultValue == "string" ? a2.defaultValue : ""), i2 = r2 != null ? r2 : q, I = _t(i2), x = n2.useCallback((t2) => {
          s2 == null || s2(t2), nt(t2);
        }, [s2]), m2 = n2.useMemo(() => P ? typeof P == "string" ? new RegExp(P) : P : null, [P]), l2 = n2.useRef(null), K = n2.useRef(null), J = n2.useRef({ value: i2, onChange: x, isIOS: typeof window != "undefined" && ((lt = (X = window == null ? void 0 : window.CSS) == null ? void 0 : X.supports) == null ? void 0 : lt.call(X, "-webkit-touch-callout", "none")) }), V = n2.useRef({ prev: [(ut = l2.current) == null ? void 0 : ut.selectionStart, (dt = l2.current) == null ? void 0 : dt.selectionEnd, (ft = l2.current) == null ? void 0 : ft.selectionDirection] });
        n2.useImperativeHandle(B, () => l2.current, []), n2.useEffect(() => {
          let t2 = l2.current, o3 = K.current;
          if (!t2 || !o3) return;
          J.current.value !== t2.value && J.current.onChange(t2.value), V.current.prev = [t2.selectionStart, t2.selectionEnd, t2.selectionDirection];
          function d2() {
            if (document.activeElement !== t2) {
              L(null), N(null);
              return;
            }
            let c2 = t2.selectionStart, b2 = t2.selectionEnd, mt = t2.selectionDirection, v = t2.maxLength, C = t2.value, _3 = V.current.prev, g2 = -1, E = -1, w;
            if (C.length !== 0 && c2 !== null && b2 !== null) {
              let Dt3 = c2 === b2, Ht = c2 === C.length && C.length < v;
              if (Dt3 && !Ht) {
                let y = c2;
                if (y === 0) g2 = 0, E = 1, w = "forward";
                else if (y === v) g2 = y - 1, E = y, w = "backward";
                else if (v > 1 && C.length > 1) {
                  let et = 0;
                  if (_3[0] !== null && _3[1] !== null) {
                    w = y < _3[1] ? "backward" : "forward";
                    let Wt = _3[0] === _3[1] && _3[0] < v;
                    w === "backward" && !Wt && (et = -1);
                  }
                  g2 = et + y, E = et + y + 1;
                }
              }
              g2 !== -1 && E !== -1 && g2 !== E && l2.current.setSelectionRange(g2, E, w);
            }
            let pt = g2 !== -1 ? g2 : c2, Rt = E !== -1 ? E : b2, yt = w != null ? w : mt;
            L(pt), N(Rt), V.current.prev = [pt, Rt, yt];
          }
          if (document.addEventListener("selectionchange", d2, { capture: true }), d2(), document.activeElement === t2 && Q(true), !document.getElementById("input-otp-style")) {
            let c2 = document.createElement("style");
            if (c2.id = "input-otp-style", document.head.appendChild(c2), c2.sheet) {
              let b2 = "background: transparent !important; color: transparent !important; border-color: transparent !important; opacity: 0 !important; box-shadow: none !important; -webkit-box-shadow: none !important; -webkit-text-fill-color: transparent !important;";
              $(c2.sheet, "[data-input-otp]::selection { background: transparent !important; color: transparent !important; }"), $(c2.sheet, `[data-input-otp]:autofill { ${b2} }`), $(c2.sheet, `[data-input-otp]:-webkit-autofill { ${b2} }`), $(c2.sheet, "@supports (-webkit-touch-callout: none) { [data-input-otp] { letter-spacing: -.6em !important; font-weight: 100 !important; font-stretch: ultra-condensed; font-optical-sizing: none !important; left: -1px !important; right: 1px !important; } }"), $(c2.sheet, "[data-input-otp] + * { pointer-events: all !important; }");
            }
          }
          let R = () => {
            o3 && o3.style.setProperty("--root-height", `${t2.clientHeight}px`);
          };
          R();
          let p2 = new ResizeObserver(R);
          return p2.observe(t2), () => {
            document.removeEventListener("selectionchange", d2, { capture: true }), p2.disconnect();
          };
        }, []);
        let [ot, rt] = n2.useState(false), [j, Q] = n2.useState(false), [M, L] = n2.useState(null), [k, N] = n2.useState(null);
        n2.useEffect(() => {
          ht(() => {
            var R, p2, c2, b2;
            (R = l2.current) == null || R.dispatchEvent(new Event("input"));
            let t2 = (p2 = l2.current) == null ? void 0 : p2.selectionStart, o3 = (c2 = l2.current) == null ? void 0 : c2.selectionEnd, d2 = (b2 = l2.current) == null ? void 0 : b2.selectionDirection;
            t2 !== null && o3 !== null && (L(t2), N(o3), V.current.prev = [t2, o3, d2]);
          });
        }, [i2, j]), n2.useEffect(() => {
          I !== void 0 && i2 !== I && I.length < e3 && i2.length === e3 && (H == null || H(i2));
        }, [e3, H, I, i2]);
        let O = Tt({ containerRef: K, inputRef: l2, pushPasswordManagerStrategy: F, isFocused: j }), st = n2.useCallback((t2) => {
          let o3 = t2.currentTarget.value.slice(0, e3);
          if (o3.length > 0 && m2 && !m2.test(o3)) {
            t2.preventDefault();
            return;
          }
          typeof I == "string" && o3.length < I.length && document.dispatchEvent(new Event("selectionchange")), x(o3);
        }, [e3, x, I, m2]), at = n2.useCallback(() => {
          var t2;
          if (l2.current) {
            let o3 = Math.min(l2.current.value.length, e3 - 1), d2 = l2.current.value.length;
            (t2 = l2.current) == null || t2.setSelectionRange(o3, d2), L(o3), N(d2);
          }
          Q(true);
        }, [e3]), ct = n2.useCallback((t2) => {
          var g2, E;
          let o3 = l2.current;
          if (!W && (!J.current.isIOS || !t2.clipboardData || !o3)) return;
          let d2 = t2.clipboardData.getData("text/plain"), R = W ? W(d2) : d2;
          t2.preventDefault();
          let p2 = (g2 = l2.current) == null ? void 0 : g2.selectionStart, c2 = (E = l2.current) == null ? void 0 : E.selectionEnd, v = (p2 !== c2 ? i2.slice(0, p2) + R + i2.slice(c2) : i2.slice(0, p2) + R + i2.slice(p2)).slice(0, e3);
          if (v.length > 0 && m2 && !m2.test(v)) return;
          o3.value = v, x(v);
          let C = Math.min(v.length, e3 - 1), _3 = v.length;
          o3.setSelectionRange(C, _3), L(C), N(_3);
        }, [e3, x, m2, i2]), It = n2.useMemo(() => ({ position: "relative", cursor: a2.disabled ? "default" : "text", userSelect: "none", WebkitUserSelect: "none", pointerEvents: "none" }), [a2.disabled]), it = n2.useMemo(() => ({ position: "absolute", inset: 0, width: O.willPushPWMBadge ? `calc(100% + ${O.PWM_BADGE_SPACE_WIDTH})` : "100%", clipPath: O.willPushPWMBadge ? `inset(0 ${O.PWM_BADGE_SPACE_WIDTH} 0 0)` : void 0, height: "100%", display: "flex", textAlign: u2, opacity: "1", color: "transparent", pointerEvents: "all", background: "transparent", caretColor: "transparent", border: "0 solid transparent", outline: "0 solid transparent", boxShadow: "none", lineHeight: "1", letterSpacing: "-.5em", fontSize: "var(--root-height)", fontFamily: "monospace", fontVariantNumeric: "tabular-nums" }), [O.PWM_BADGE_SPACE_WIDTH, O.willPushPWMBadge, u2]), Mt = n2.useMemo(() => n2.createElement("input", bt(St({ autoComplete: a2.autoComplete || "one-time-code" }, a2), { "data-input-otp": true, "data-input-otp-placeholder-shown": i2.length === 0 || void 0, "data-input-otp-mss": M, "data-input-otp-mse": k, inputMode: G, pattern: m2 == null ? void 0 : m2.source, "aria-placeholder": D, style: it, maxLength: e3, value: i2, ref: l2, onPaste: (t2) => {
          var o3;
          ct(t2), (o3 = a2.onPaste) == null || o3.call(a2, t2);
        }, onChange: st, onMouseOver: (t2) => {
          var o3;
          rt(true), (o3 = a2.onMouseOver) == null || o3.call(a2, t2);
        }, onMouseLeave: (t2) => {
          var o3;
          rt(false), (o3 = a2.onMouseLeave) == null || o3.call(a2, t2);
        }, onFocus: (t2) => {
          var o3;
          at(), (o3 = a2.onFocus) == null || o3.call(a2, t2);
        }, onBlur: (t2) => {
          var o3;
          Q(false), (o3 = a2.onBlur) == null || o3.call(a2, t2);
        } })), [st, at, ct, G, it, e3, k, M, a2, m2 == null ? void 0 : m2.source, i2]), tt = n2.useMemo(() => ({ slots: Array.from({ length: e3 }).map((t2, o3) => {
          var c2;
          let d2 = j && M !== null && k !== null && (M === k && o3 === M || o3 >= M && o3 < k), R = i2[o3] !== void 0 ? i2[o3] : null, p2 = i2[0] !== void 0 ? null : (c2 = D == null ? void 0 : D[o3]) != null ? c2 : null;
          return { char: R, placeholderChar: p2, isActive: d2, hasFakeCaret: d2 && R === null };
        }), isFocused: j, isHovering: !a2.disabled && ot }), [j, ot, e3, k, M, a2.disabled, i2]), Ct = n2.useMemo(() => f3 ? f3(tt) : n2.createElement(jt.Provider, { value: tt }, h2), [h2, tt, f3]);
        return n2.createElement(n2.Fragment, null, T !== null && n2.createElement("noscript", null, n2.createElement("style", null, T)), n2.createElement("div", { ref: K, "data-input-otp-container": true, style: It, className: Z }, Ct, n2.createElement("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" } }, Mt)));
      });
      Lt.displayName = "Input";
      Nt = `
[data-input-otp] {
  --nojs-bg: white !important;
  --nojs-fg: black !important;

  background-color: var(--nojs-bg) !important;
  color: var(--nojs-fg) !important;
  caret-color: var(--nojs-fg) !important;
  letter-spacing: .25em !important;
  text-align: center !important;
  border: 1px solid var(--nojs-fg) !important;
  border-radius: 4px !important;
  width: 100% !important;
}
@media (prefers-color-scheme: dark) {
  [data-input-otp] {
    --nojs-bg: black !important;
    --nojs-fg: white !important;
  }
}`;
      Kt = "^\\d+$";
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/CodeControl.js
  function Slot(props) {
    const { isSuccessfullyFilled, ...otpProps } = props;
    const { char: char2, hasFakeCaret, isActive, placeholderChar, ...rest } = otpProps;
    return /* @__PURE__ */ jsxs2(OTPInputSegment, {
      "data-testid": "otp-input-segment",
      ...rest,
      focusRing: isActive,
      variant: "default",
      sx: (t2) => ({
        textAlign: "center",
        ...common.textVariants(t2).h2,
        padding: `${t2.space.$0x5} 0`,
        boxSizing: "border-box",
        display: "flex",
        position: "relative",
        alignItems: "center",
        justifyContent: "center",
        height: t2.space.$10,
        width: t2.space.$10,
        color: t2.colors.$colorInputForeground,
        borderWidth: t2.borderWidths.$normal,
        borderRadius: t2.radii.$md,
        ...isSuccessfullyFilled ? { borderColor: t2.colors.$success500 } : common.borderColor(t2, props),
        backgroundColor: "unset",
        [mqu.sm]: {
          height: t2.space.$8,
          width: t2.space.$8
        }
      }),
      children: [char2 !== null && /* @__PURE__ */ jsx2("div", { children: char2 }), hasFakeCaret && /* @__PURE__ */ jsx2(FakeCaret, {})]
    });
  }
  function FakeCaret() {
    return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2("style", { children: `
        @keyframes caret-blink-animation {
          0%, 50% {
            opacity: 1;
          }
          51%, 100% {
            opacity: 0;
          }
        }
      ` }), /* @__PURE__ */ jsx2(Flex2, {
      align: "center",
      justify: "center",
      sx: () => ({
        animation: "caret-blink-animation 1s infinite",
        pointerEvents: "none",
        position: "absolute",
        inset: 0
      }),
      children: /* @__PURE__ */ jsx2(Box2, { sx: (t2) => ({
        height: t2.space.$4,
        width: t2.space.$px,
        backgroundColor: t2.colors.$colorInputForeground
      }) })
    })] });
  }
  var import_react116, useFieldOTP, useCodeControl, OTPInputContext, useOTPInputContext, OTPRoot, OTPResendButton, OTPCodeControl;
  var init_CodeControl = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/CodeControl.js"() {
      init_useLoadingStatus();
      init_common();
      init_breakpoints();
      init_useFormControl();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_sleep();
      init_errorHandler();
      init_TimerButton();
      import_react116 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_dist3();
      useFieldOTP = (params) => {
        const card = useCardState();
        const { id = "code", onCodeEntryFinished: paramsOnCodeEntryFinished, onResendCodeClicked: paramsOnResendCodeClicked, onResolve: paramsOnResolve } = params;
        const codeControlState = useFormControl(id, "");
        const codeControl = useCodeControl(codeControlState);
        const status = useLoadingStatus();
        const resolve = async (param) => {
          codeControlState.setSuccess("success");
          await sleep(750);
          await paramsOnResolve?.(param);
        };
        const reject = async (err) => {
          handleError(err, [codeControlState], card.setError);
          status.setIdle();
          await sleep(750);
          codeControl.reset();
        };
        codeControl.onCodeEntryFinished((code) => {
          status.setLoading();
          codeControlState.clearFeedback();
          paramsOnCodeEntryFinished(code, resolve, reject);
        });
        const onFakeContinue = () => {
          codeControlState.clearFeedback();
          paramsOnCodeEntryFinished("", resolve, reject);
        };
        const onResendCode = (0, import_react116.useCallback)((e3) => {
          codeControl.reset();
          paramsOnResendCodeClicked?.(e3);
        }, [codeControl, paramsOnResendCodeClicked]);
        return {
          isLoading: status.isLoading,
          otpControl: codeControl,
          onResendCode: paramsOnResendCodeClicked ? onResendCode : void 0,
          onFakeContinue
        };
      };
      useCodeControl = (formControl, options2) => {
        const userOnCodeEnteredCallback = import_react116.default.useRef();
        const defaultValue = formControl.value;
        const { feedback, feedbackType, onChange, clearFeedback } = formControl;
        const { length: length2 = 6 } = options2 || {};
        const [values, setValues] = import_react116.default.useState(() => defaultValue ? defaultValue.split("").slice(0, length2) : Array.from({ length: length2 }, () => ""));
        const onCodeEntryFinished = (cb) => {
          userOnCodeEnteredCallback.current = cb;
        };
        const reset = import_react116.default.useCallback(() => {
          setValues(Array.from({ length: length2 }, () => ""));
        }, [length2]);
        import_react116.default.useEffect(() => {
          if (values.filter((c2) => c2).length === length2) {
            const code = values.map((c2) => c2 || " ").join("");
            userOnCodeEnteredCallback.current?.(code);
          } else {
            const code = values.join("");
            onChange?.({ target: { value: code } });
          }
        }, [values.toString()]);
        return {
          otpInputProps: {
            length: length2,
            values,
            setValues,
            feedback,
            feedbackType,
            clearFeedback
          },
          onCodeEntryFinished,
          reset
        };
      };
      [OTPInputContext, useOTPInputContext] = createContextAndHook("OTPInputContext");
      OTPRoot = ({ children, ...props }) => {
        return /* @__PURE__ */ jsx2(OTPInputContext.Provider, {
          value: { value: props },
          children
        });
      };
      OTPResendButton = () => {
        const { resendButton, onResendCode, isLoading, otpControl } = useOTPInputContext();
        if (!onResendCode) return null;
        return /* @__PURE__ */ jsx2(TimerButton, {
          elementDescriptor: descriptors.formResendCodeLink,
          onClick: onResendCode,
          startDisabled: true,
          isDisabled: otpControl.otpInputProps.feedbackType === "success" || isLoading,
          showCounter: otpControl.otpInputProps.feedbackType !== "success",
          localizationKey: resendButton
        });
      };
      OTPCodeControl = () => {
        const [disabled2, setDisabled] = import_react116.default.useState(false);
        const { otpControl, isLoading, isDisabled } = useOTPInputContext();
        const { feedback, values, setValues, feedbackType, length: length2 } = otpControl.otpInputProps;
        import_react116.default.useEffect(() => {
          if (feedback) setDisabled(true);
        }, [feedback]);
        return /* @__PURE__ */ jsx2(Box2, {
          elementDescriptor: descriptors.otpCodeFieldInputContainer,
          sx: { position: "relative" },
          children: /* @__PURE__ */ jsx2(Lt, {
            autoFocus: true,
            "aria-label": "Enter verification code",
            "aria-required": true,
            maxLength: length2,
            inputMode: "numeric",
            pattern: Kt,
            textAlign: "center",
            value: values.join(""),
            onChange: (newValue) => {
              setValues(newValue.split(""));
            },
            render: ({ slots }) => /* @__PURE__ */ jsx2(Flex2, {
              align: "center",
              elementDescriptor: descriptors.otpCodeFieldInputs,
              gap: 2,
              hasError: feedbackType === "error",
              isLoading,
              role: "group",
              children: slots.map((slot, index3) => /* @__PURE__ */ jsx2(Slot, {
                elementDescriptor: descriptors.otpCodeFieldInput,
                isDisabled: isDisabled || isLoading || disabled2 || feedbackType === "success",
                hasError: feedbackType === "error",
                isSuccessfullyFilled: feedbackType === "success",
                ...slot
              }, index3))
            })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/FormControl.js
  function useFormTextAnimation() {
    const prefersReducedMotion = usePrefersReducedMotion();
    const { animations: appearanceAnimations } = useAppearance().parsedOptions;
    return { getFormTextAnimation: (0, import_react118.useCallback)((enterAnimation, options2) => {
      if (prefersReducedMotion || !appearanceAnimations) return { animation: "none" };
      const inAnimation2 = options2?.inDelay ? animations.inDelayAnimation : animations.inAnimation;
      return (t2) => ({
        animation: `${enterAnimation ? inAnimation2 : animations.outAnimation} ${t2.transitionDuration.$textField} ${t2.transitionTiming.$common}`,
        transitionProperty: "height",
        transitionDuration: t2.transitionDuration.$slow,
        transitionTimingFunction: t2.transitionTiming.$common
      });
    }, [prefersReducedMotion, appearanceAnimations]) };
  }
  var import_react118, useCalculateErrorTextHeight, FormFeedback;
  var init_FormControl = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/FormControl.js"() {
      init_usePrefersReducedMotion();
      init_common();
      init_animations();
      init_elementDescriptors();
      init_AppearanceContext();
      init_customizables();
      import_react118 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      init_underscore();
      useCalculateErrorTextHeight = ({ feedback }) => {
        const [height, setHeight] = (0, import_react118.useState)(0);
        return {
          height,
          calculateHeight: (0, import_react118.useCallback)((element) => {
            if (element) setHeight(element.scrollHeight + element.offsetTop * 2);
          }, [feedback])
        };
      };
      FormFeedback = (props) => {
        const { id, elementDescriptors, sx, feedback, feedbackType = "info", center = false } = props;
        const feedbacksRef = (0, import_react118.useRef)({
          a: void 0,
          b: void 0
        });
        const { getFormTextAnimation } = useFormTextAnimation();
        const defaultElementDescriptors = {
          error: descriptors.formFieldErrorText,
          warning: descriptors.formFieldWarningText,
          info: descriptors.formFieldInfoText,
          success: descriptors.formFieldSuccessText
        };
        const feedbacks = (0, import_react118.useMemo)(() => {
          const oldFeedbacks = feedbacksRef.current;
          let result;
          if (oldFeedbacks.a?.shouldEnter) result = {
            a: {
              ...oldFeedbacks.a,
              shouldEnter: false
            },
            b: {
              feedback,
              feedbackType,
              shouldEnter: true
            }
          };
          else result = {
            a: {
              feedback,
              feedbackType,
              shouldEnter: true
            },
            b: {
              ...oldFeedbacks.b,
              shouldEnter: false
            }
          };
          feedbacksRef.current = result;
          return result;
        }, [feedback, feedbackType]);
        const { calculateHeight: calculateHeightA, height: heightA } = useCalculateErrorTextHeight({ feedback: feedbacks.a?.feedback || "" });
        const { calculateHeight: calculateHeightB, height: heightB } = useCalculateErrorTextHeight({ feedback: feedbacks.b?.feedback || "" });
        const maxHeightRef = (0, import_react118.useRef)(Math.max(heightA, heightB));
        const maxHeight = (0, import_react118.useMemo)(() => {
          const max2 = Math.max(heightA, heightB, maxHeightRef.current);
          maxHeightRef.current = max2;
          return max2;
        }, [heightA, heightB]);
        const getElementProps = (type2) => {
          if (!type2) return {};
          const descriptor = elementDescriptors?.[type2] || defaultElementDescriptors[type2];
          return {
            elementDescriptor: descriptor,
            elementId: id ? descriptor?.setId?.(id) : void 0,
            id: type2 === "error" ? `error-${id}` : `${id}-${type2}-feedback`
          };
        };
        const FormInfoComponent = {
          error: FormErrorText2,
          info: FormInfoText2,
          success: FormSuccessText2,
          warning: FormWarningText2
        };
        const InfoComponentA = FormInfoComponent[feedbacks.a?.feedbackType || "info"];
        const InfoComponentB = FormInfoComponent[feedbacks.b?.feedbackType || "info"];
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Span2, {
          "aria-live": "polite",
          "aria-atomic": "true",
          sx: { ...common.visuallyHidden() },
          children: feedback ? titleize(feedback) : ""
        }), /* @__PURE__ */ jsxs2(Flex2, {
          style: {
            height: feedback ? maxHeight : 0,
            position: "relative"
          },
          center,
          sx: [getFormTextAnimation(!!feedback), sx],
          children: [/* @__PURE__ */ jsx2(InfoComponentA, {
            ...getElementProps(feedbacks.a?.feedbackType),
            ...feedbacks.a?.feedbackType && { "data-testid": `form-feedback-${feedbacks.a.feedbackType}` },
            ref: calculateHeightA,
            sx: [() => ({ visibility: feedbacks.a?.shouldEnter ? "visible" : "hidden" }), getFormTextAnimation(!!feedbacks.a?.shouldEnter, { inDelay: true })],
            localizationKey: titleize(feedbacks.a?.feedback)
          }), /* @__PURE__ */ jsx2(InfoComponentB, {
            ...getElementProps(feedbacks.b?.feedbackType),
            ...feedbacks.b?.feedbackType && { "data-testid": `form-feedback-${feedbacks.b.feedbackType}` },
            ref: calculateHeightB,
            sx: [() => ({ visibility: feedbacks.b?.shouldEnter ? "visible" : "hidden" }), getFormTextAnimation(!!feedbacks.b?.shouldEnter, { inDelay: true })],
            localizationKey: titleize(feedbacks.b?.feedback)
          })]
        })] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/InputGroup.js
  var import_react119, InputGroup;
  var init_InputGroup = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/InputGroup.js"() {
      init_common();
      init_elementDescriptors();
      init_customizables();
      import_react119 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      InputGroup = (0, import_react119.forwardRef)((props, ref) => {
        const { sx, groupPrefix, groupSuffix, ...rest } = props;
        const inputBorder = groupPrefix ? {
          borderStartStartRadius: "0",
          borderEndStartRadius: "0"
        } : {
          borderStartEndRadius: "0",
          borderEndEndRadius: "0"
        };
        const textProps = (t2) => ({
          paddingInline: t2.space.$2,
          borderStartEndRadius: "0",
          borderEndEndRadius: "0",
          width: "fit-content",
          display: "flex",
          alignItems: "center"
        });
        return /* @__PURE__ */ jsxs2(Flex2, {
          elementDescriptor: descriptors.formInputGroup,
          direction: "row",
          hasError: rest.hasError,
          sx: (theme) => ({
            position: "relative",
            zIndex: 1,
            ...common.borderVariants(theme).normal,
            ':focus-within,&[data-focus-within="true"]': { ...common.borderVariants(theme, { focusRing: true }).normal["&:focus"] }
          }),
          children: [
            groupPrefix && /* @__PURE__ */ jsx2(Text2, {
              colorScheme: "secondary",
              sx: textProps,
              children: groupPrefix
            }),
            /* @__PURE__ */ jsx2(Input2, {
              maxLength: 25,
              sx: [{ ...inputBorder }, sx],
              variant: "unstyled",
              ref,
              ...rest
            }),
            groupSuffix && /* @__PURE__ */ jsx2(Text2, {
              colorScheme: "secondary",
              sx: textProps,
              children: groupSuffix
            })
          ]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/ModuleManagerContext.js
  var import_react120, ModuleManagerContext, ModuleManagerProvider, useModuleManager;
  var init_ModuleManagerContext = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/ModuleManagerContext.js"() {
      import_react120 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ModuleManagerContext = import_react120.default.createContext(void 0);
      ModuleManagerProvider = ({ children, moduleManager }) => {
        return /* @__PURE__ */ jsx2(ModuleManagerContext.Provider, {
          value: moduleManager,
          children
        });
      };
      useModuleManager = () => {
        const context = import_react120.default.useContext(ModuleManagerContext);
        if (!context) throw new Error("useModuleManager must be used within a ModuleManagerProvider");
        return context;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/intl.js
  function listFormatSupportedLocalesOf(locale) {
    if (!locale) return false;
    const locales = Array.isArray(locale) ? locale : [locale];
    return Intl.ListFormat.supportedLocalesOf(locales).length === locales.length;
  }
  function canUseListFormat(locale) {
    return "ListFormat" in Intl && listFormatSupportedLocalesOf(locale);
  }
  function numberFormatSupportedLocalesOf(locale) {
    if (!locale) return false;
    try {
      return Intl.NumberFormat.supportedLocalesOf(locale).length > 0;
    } catch {
      return false;
    }
  }
  function canUseNumberFormat(locale) {
    return "NumberFormat" in Intl && numberFormatSupportedLocalesOf(locale);
  }
  function formatToCompactNumber(value, locale) {
    if (!canUseNumberFormat(locale)) return value.toString();
    return new Intl.NumberFormat(locale, { notation: "compact" }).format(value);
  }
  var init_intl = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/intl.js"() {
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/passwordUtils.js
  var mapComplexityErrors, createPasswordError, addFullStop, createListFormat;
  var init_passwordUtils = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/passwordUtils.js"() {
      init_localizationKeys();
      init_intl();
      mapComplexityErrors = (passwordSettings) => {
        return {
          form_password_length_too_long: [
            "unstable__errors.passwordComplexity.maximumLength",
            "length",
            passwordSettings.max_length
          ],
          form_password_length_too_short: [
            "unstable__errors.passwordComplexity.minimumLength",
            "length",
            passwordSettings.min_length
          ],
          form_password_no_uppercase: "unstable__errors.passwordComplexity.requireUppercase",
          form_password_no_lowercase: "unstable__errors.passwordComplexity.requireLowercase",
          form_password_no_number: "unstable__errors.passwordComplexity.requireNumbers",
          form_password_no_special_char: "unstable__errors.passwordComplexity.requireSpecialCharacter"
        };
      };
      createPasswordError = (errors, localizationConfig) => {
        if (!localizationConfig) return errors[0].longMessage;
        const { t: t2, locale, passwordSettings } = localizationConfig;
        if (errors?.[0]?.code === "form_password_size_in_bytes_exceeded" || errors?.[0]?.code === "form_password_pwned" || errors?.[0]?.code === "form_new_password_matches_current") return `${t2(localizationKeys(`unstable__errors.${errors?.[0]?.code}`)) || errors?.[0]?.message}`;
        if (errors?.[0]?.code === "form_password_not_strong_enough") {
          const message = errors[0].meta?.zxcvbn?.suggestions?.map((s2) => {
            return t2(localizationKeys(`unstable__errors.zxcvbn.suggestions.${s2.code}`));
          }).join(" ");
          return `${t2(localizationKeys("unstable__errors.zxcvbn.notEnough"))} ${message}`;
        }
        const minLenErrors = errors.filter((e3) => e3.code === "form_password_length_too_short");
        const messageWithPrefix = createListFormat((minLenErrors.length ? minLenErrors : errors).map((s2) => {
          const localizedKey = mapComplexityErrors(passwordSettings)[s2.code];
          if (Array.isArray(localizedKey)) {
            const [lk, attr2, val] = localizedKey;
            return t2(localizationKeys(lk, { [attr2]: val }));
          }
          return t2(localizationKeys(localizedKey));
        }), locale);
        return addFullStop(`${t2(localizationKeys("unstable__errors.passwordComplexity.sentencePrefix"))} ${messageWithPrefix}`);
      };
      addFullStop = (string2) => {
        return !string2 ? "" : string2.endsWith(".") ? string2 : `${string2}.`;
      };
      createListFormat = (message, locale) => {
        let messageWithPrefix;
        if (canUseListFormat(locale)) messageWithPrefix = new Intl.ListFormat(locale, {
          style: "long",
          type: "conjunction"
        }).format(message);
        else messageWithPrefix = message.join(", ");
        return messageWithPrefix;
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/complexity-DydNJOmy.mjs
  var createTestComplexityCases, validate, createValidateComplexity;
  var init_complexity_DydNJOmy = __esm({
    "node_modules/@clerk/shared/dist/runtime/complexity-DydNJOmy.mjs"() {
      createTestComplexityCases = (config) => {
        let specialCharsRegex;
        if (config.allowed_special_characters) {
          let escaped = config.allowed_special_characters.replace("[", "\\[");
          escaped = escaped.replace("]", "\\]");
          specialCharsRegex = /* @__PURE__ */ new RegExp(`[${escaped}]`);
        } else specialCharsRegex = /[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]/;
        return (password, { minLength, maxLength }) => {
          return {
            max_length: password.length < maxLength,
            min_length: password.length >= minLength,
            require_numbers: /\d/.test(password),
            require_lowercase: /[a-z]/.test(password),
            require_uppercase: /[A-Z]/.test(password),
            require_special_char: specialCharsRegex.test(password)
          };
        };
      };
      validate = (password, config) => {
        const { max_length, min_length, require_special_char, require_lowercase, require_numbers, require_uppercase } = config;
        const testCases = createTestComplexityCases(config)(password, {
          maxLength: config.max_length,
          minLength: config.min_length
        });
        const keys2 = {
          max_length,
          min_length,
          require_special_char,
          require_lowercase,
          require_numbers,
          require_uppercase
        };
        const _validationsFailedMap = /* @__PURE__ */ new Map();
        for (const k in keys2) {
          const key = k;
          if (!keys2[key]) continue;
          if (!testCases[key]) _validationsFailedMap.set(key, true);
        }
        return Object.freeze(Object.fromEntries(_validationsFailedMap));
      };
      createValidateComplexity = (config) => {
        return (password) => validate(password, config);
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/passwords/complexity.mjs
  var init_complexity = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/passwords/complexity.mjs"() {
      init_complexity_DydNJOmy();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/usePasswordComplexity.js
  var import_react121, errorMessages, generateErrorTextUtil;
  var init_usePasswordComplexity = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/usePasswordComplexity.js"() {
      init_localizationKeys();
      init_passwordUtils();
      import_react121 = __toESM(require_react(), 1);
      init_complexity();
      errorMessages = {
        max_length: ["unstable__errors.passwordComplexity.maximumLength", "length"],
        min_length: ["unstable__errors.passwordComplexity.minimumLength", "length"],
        require_numbers: "unstable__errors.passwordComplexity.requireNumbers",
        require_lowercase: "unstable__errors.passwordComplexity.requireLowercase",
        require_uppercase: "unstable__errors.passwordComplexity.requireUppercase",
        require_special_char: "unstable__errors.passwordComplexity.requireSpecialCharacter"
      };
      generateErrorTextUtil = ({ config, failedValidations, locale, t: t2 }) => {
        if (!failedValidations || Object.keys(failedValidations).length === 0) return "";
        const hasMinLengthError = failedValidations?.min_length || false;
        const messageWithPrefix = createListFormat(Object.entries(failedValidations).filter((k) => hasMinLengthError ? k[0] === "min_length" : true).filter(([, v]) => !!v).map(([k]) => {
          const localizedKey = errorMessages[k];
          if (Array.isArray(localizedKey)) {
            const [lk, attr2] = localizedKey;
            return t2(localizationKeys(lk, { [attr2]: config[k] }));
          }
          return t2(localizationKeys(localizedKey));
        }), locale);
        return addFullStop(`${t2(localizationKeys("unstable__errors.passwordComplexity.sentencePrefix"))} ${messageWithPrefix}`);
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/passwords/loadZxcvbn.mjs
  var createLoadZxcvbn;
  var init_loadZxcvbn = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/passwords/loadZxcvbn.mjs"() {
      createLoadZxcvbn = (moduleManager) => {
        const loadZxcvbn = () => {
          return Promise.all([moduleManager.import("@zxcvbn-ts/core"), moduleManager.import("@zxcvbn-ts/language-common")]).then(([coreModule, languageCommonModule]) => {
            if (!coreModule || !languageCommonModule) throw new Error("Failed to load zxcvbn modules");
            const { zxcvbnOptions, zxcvbn } = coreModule;
            const { dictionary, adjacencyGraphs } = languageCommonModule;
            zxcvbnOptions.setOptions({
              dictionary: { ...dictionary },
              graphs: adjacencyGraphs
            });
            return zxcvbn;
          });
        };
        return { loadZxcvbn };
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/strength-DPtAse7d.mjs
  var createValidatePasswordStrength;
  var init_strength_DPtAse7d = __esm({
    "node_modules/@clerk/shared/dist/runtime/strength-DPtAse7d.mjs"() {
      createValidatePasswordStrength = ({ min_zxcvbn_strength, onResult }) => {
        return (zxcvbn) => (password) => {
          const result = zxcvbn(password);
          onResult?.(result);
          if (result.score >= min_zxcvbn_strength && result.score < 3) return {
            state: "pass",
            keys: ["unstable__errors.zxcvbn.couldBeStronger"],
            result
          };
          if (result.score >= min_zxcvbn_strength) return {
            state: "excellent",
            result
          };
          return {
            state: "fail",
            keys: ["unstable__errors.zxcvbn.notEnough", ...result.feedback.suggestions.map((er) => `unstable__errors.zxcvbn.suggestions.${er}`)],
            result
          };
        };
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/passwords/password.mjs
  var createValidatePassword;
  var init_password = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/passwords/password.mjs"() {
      init_runtimeEnvironment_D1yr0yUs();
      init_handleValueOrFn_iAIjw_kJ();
      init_instance_BmZr0cdE();
      init_noop_B7RzLU_c();
      init_createDeferredPromise_CYCAgyvC();
      init_utils_TXJdVJx7();
      init_complexity_DydNJOmy();
      init_strength_DPtAse7d();
      createValidatePassword = (loadZxcvbn, config, callbacks) => {
        const { onValidation = noop, onValidationComplexity = noop } = callbacks || {};
        const { show_zxcvbn, validatePassword: validatePasswordProp } = config;
        const getComplexity = createValidateComplexity(config);
        const getScore = createValidatePasswordStrength(config);
        let result = {};
        return (password, internalCallbacks) => {
          const { onValidation: internalOnValidation = onValidation, onValidationComplexity: internalOnValidationComplexity = onValidationComplexity } = internalCallbacks || {};
          if (!validatePasswordProp) return;
          const failedValidationsComplexity = getComplexity(password);
          internalOnValidationComplexity(Object.keys(failedValidationsComplexity).length === 0);
          result = {
            ...result,
            complexity: failedValidationsComplexity
          };
          if (show_zxcvbn)
            loadZxcvbn().then((zxcvbn) => {
              const strength = getScore(zxcvbn)(password);
              result = {
                ...result,
                strength
              };
              internalOnValidation({
                ...result,
                strength
              });
            });
          if (result.complexity && Object.keys(result.complexity).length === 0 && show_zxcvbn) return;
          internalOnValidation(result);
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/usePassword.js
  var import_react122, usePassword, useConfirmPassword;
  var init_usePassword = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/usePassword.js"() {
      init_ModuleManagerContext();
      init_localizationKeys();
      init_usePasswordComplexity();
      init_makeLocalizable();
      init_utils4();
      import_react122 = __toESM(require_react(), 1);
      init_loadZxcvbn();
      init_password();
      usePassword = (config, callbacks) => {
        const { t: t2, locale } = useLocalizations();
        const moduleManager = useModuleManager();
        const { onValidationError = noop, onValidationSuccess = noop, onValidationWarning = noop, onValidationInfo = noop, onValidationComplexity } = callbacks || {};
        const onValidate = (0, import_react122.useCallback)((res) => {
          if (Object.values(res?.complexity || {}).length > 0) {
            const message = generateErrorTextUtil({
              config,
              t: t2,
              failedValidations: res.complexity,
              locale
            });
            if (res.complexity?.min_length) return onValidationInfo(message);
            return onValidationError(message);
          }
          if (res?.strength?.state === "fail") return onValidationError(res.strength.keys.map((localizationKey) => t2(localizationKeys(localizationKey))).join(" "));
          if (res?.strength?.state === "pass") return onValidationWarning(res.strength.keys.map((localizationKey) => t2(localizationKeys(localizationKey))).join(" "));
          return onValidationSuccess();
        }, [
          callbacks,
          t2,
          locale
        ]);
        return { validatePassword: (0, import_react122.useMemo)(() => {
          const { loadZxcvbn } = createLoadZxcvbn(moduleManager);
          return createValidatePassword(loadZxcvbn, config, {
            onValidation: onValidate,
            onValidationComplexity
          });
        }, [
          onValidate,
          config,
          moduleManager
        ]) };
      };
      useConfirmPassword = ({ passwordField, confirmPasswordField }) => {
        const { t: t2 } = useLocalizations();
        const checkPasswordMatch = (0, import_react122.useCallback)((confirmPassword) => passwordField.value === confirmPassword, [passwordField.value]);
        const isPasswordMatch = (0, import_react122.useMemo)(() => checkPasswordMatch(confirmPasswordField.value), [checkPasswordMatch, confirmPasswordField.value]);
        return {
          setConfirmPasswordFeedback: (0, import_react122.useCallback)((password) => {
            if (checkPasswordMatch(password)) confirmPasswordField.setSuccess(t2(localizationKeys("formFieldError__matchingPasswords")));
            else confirmPasswordField.setError(t2(localizationKeys("formFieldError__notMatchingPasswords")));
          }, [
            confirmPasswordField.setError,
            confirmPasswordField.setSuccess,
            t2,
            checkPasswordMatch
          ]),
          isPasswordMatch
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/eye.js
  function _extends14() {
    return _extends14 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends14.apply(null, arguments);
  }
  var React$116, _path14, _path23, SvgEye, eye_default;
  var init_eye = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/eye.js"() {
      React$116 = __toESM(require_react(), 1);
      SvgEye = function SvgEye$1(props) {
        return /* @__PURE__ */ React$116.createElement("svg", _extends14({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path14 || (_path14 = /* @__PURE__ */ React$116.createElement("path", { d: "M8 9.607c.421 0 .825-.17 1.123-.47a1.617 1.617 0 0 0 0-2.273 1.58 1.58 0 0 0-2.246 0 1.617 1.617 0 0 0 0 2.272c.298.302.702.471 1.123.471" })), _path23 || (_path23 = /* @__PURE__ */ React$116.createElement("path", {
          fillRule: "evenodd",
          d: "M2.07 8.38a1.07 1.07 0 0 1 0-.763 6.4 6.4 0 0 1 2.334-2.99A6.3 6.3 0 0 1 8 3.5c2.704 0 5.014 1.71 5.93 4.12.094.246.093.518 0 .763a6.4 6.4 0 0 1-2.334 2.99A6.3 6.3 0 0 1 8 12.5c-2.704 0-5.013-1.71-5.93-4.12M10.54 8c0 .682-.267 1.336-.743 1.818A2.53 2.53 0 0 1 8 10.571c-.674 0-1.32-.27-1.796-.753A2.59 2.59 0 0 1 5.459 8c0-.682.268-1.336.745-1.818A2.53 2.53 0 0 1 8 5.429c.674 0 1.32.27 1.797.753.476.482.744 1.136.744 1.818",
          clipRule: "evenodd"
        })));
      };
      eye_default = SvgEye;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/eye-slash.js
  function _extends15() {
    return _extends15 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends15.apply(null, arguments);
  }
  var React$117, _path15, _path24, SvgEyeSlash, eye_slash_default;
  var init_eye_slash = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/eye-slash.js"() {
      React$117 = __toESM(require_react(), 1);
      SvgEyeSlash = function SvgEyeSlash$1(props) {
        return /* @__PURE__ */ React$117.createElement("svg", _extends15({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path15 || (_path15 = /* @__PURE__ */ React$117.createElement("path", {
          fillRule: "evenodd",
          d: "M3.732 3.126a.48.48 0 0 0-.662.011.465.465 0 0 0-.012.651l9.211 9.063a.48.48 0 0 0 .527.115.48.48 0 0 0 .263-.26.46.46 0 0 0-.117-.518l-1.108-1.09A6.3 6.3 0 0 0 13.93 8.36a1.02 1.02 0 0 0 0-.74 6.27 6.27 0 0 0-2.333-2.909A6.43 6.43 0 0 0 8 3.613a6.4 6.4 0 0 0-3.014.747zm2.84 2.794.694.682a1.61 1.61 0 0 1 1.858.28A1.54 1.54 0 0 1 9.41 8.71l.693.683a2.47 2.47 0 0 0-.304-3.174 2.573 2.573 0 0 0-3.226-.3",
          clipRule: "evenodd"
        })), _path24 || (_path24 = /* @__PURE__ */ React$117.createElement("path", { d: "m8.476 10.445 1.602 1.576a6.4 6.4 0 0 1-2.077.342c-2.705 0-5.014-1.662-5.931-4.006a1.02 1.02 0 0 1 0-.741c.31-.79.78-1.51 1.382-2.115l2.052 2.02c-.078.4-.054.813.067 1.203.122.39.34.744.632 1.033a2.58 2.58 0 0 0 2.272.688" })));
      };
      eye_slash_default = SvgEyeSlash;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/mergeRefs.js
  var mergeRefs;
  var init_mergeRefs = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/mergeRefs.js"() {
      mergeRefs = (...refs) => {
        return (node2) => {
          for (const _ref of refs) if (_ref) _ref.current = node2;
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/PasswordInput.js
  var import_react123, PasswordInput;
  var init_PasswordInput = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/PasswordInput.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_usePassword();
      init_eye();
      init_eye_slash();
      init_makeLocalizable();
      init_elementDescriptors();
      init_customizables();
      init_IconButton();
      init_mergeRefs();
      import_react123 = __toESM(require_react(), 1);
      init_constants();
      init_emotion_react_jsx_runtime_browser_esm();
      PasswordInput = (0, import_react123.forwardRef)((props, ref) => {
        const [hidden, setHidden] = import_react123.default.useState(true);
        const { id, onChange: onChangeProp, validatePassword: validatePasswordProp = false, setInfo, setSuccess, setWarning, setError, setHasPassedComplexity, tabIndex, ...rest } = props;
        const inputRef = (0, import_react123.useRef)(null);
        const [timeoutState, setTimeoutState] = (0, import_react123.useState)(null);
        const { userSettings: { passwordSettings } } = useEnvironment();
        const { t: t2 } = useLocalizations();
        const { validatePassword } = usePassword({
          ...passwordSettings,
          validatePassword: validatePasswordProp
        }, {
          onValidationSuccess: () => setSuccess(t2(localizationKeys("unstable__errors.zxcvbn.goodPassword"))),
          onValidationError: (message) => setError(message),
          onValidationWarning: (message) => setWarning(message),
          onValidationInfo: (message) => {
            if (!inputRef.current) return;
            if (inputRef.current === document.activeElement) setInfo(message);
            else setError(message);
          },
          onValidationComplexity: (hasPassed) => setHasPassedComplexity(hasPassed)
        });
        const onChange = (e3) => {
          if (timeoutState) clearTimeout(timeoutState);
          setTimeoutState(setTimeout(() => {
            validatePassword(e3.target.value);
          }, DEBOUNCE_MS));
          return onChangeProp?.(e3);
        };
        return /* @__PURE__ */ jsxs2(Flex2, {
          elementDescriptor: descriptors.formFieldInputGroup,
          direction: "col",
          justify: "center",
          sx: { position: "relative" },
          children: [/* @__PURE__ */ jsx2(Input2, {
            ...rest,
            tabIndex,
            onChange,
            onBlur: (e3) => {
              rest.onBlur?.(e3);
              validatePassword(e3.target.value);
            },
            onFocus: (e3) => {
              rest.onFocus?.(e3);
              validatePassword(e3.target.value);
            },
            ref: mergeRefs(ref, inputRef),
            type: hidden ? "password" : "text",
            sx: (theme) => ({ paddingInlineEnd: theme.space.$10 })
          }), /* @__PURE__ */ jsx2(IconButton, {
            elementDescriptor: descriptors.formFieldInputShowPasswordButton,
            iconElementDescriptor: descriptors.formFieldInputShowPasswordIcon,
            "aria-label": `${hidden ? "Show" : "Hide"} password`,
            variant: "ghost",
            size: "xs",
            tabIndex,
            onClick: () => setHidden((s2) => !s2),
            sx: (theme) => ({
              position: "absolute",
              insetInlineEnd: 0,
              marginInlineEnd: theme.space.$1,
              color: theme.colors.$neutralAlpha400
            }),
            icon: hidden ? eye_default : eye_slash_default
          })]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/check.js
  function _extends16() {
    return _extends16 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends16.apply(null, arguments);
  }
  var React$118, _path16, SvgCheck, check_default;
  var init_check = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/check.js"() {
      React$118 = __toESM(require_react(), 1);
      SvgCheck = function SvgCheck$1(props) {
        return /* @__PURE__ */ React$118.createElement("svg", _extends16({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 10 10"
        }, props), _path16 || (_path16 = /* @__PURE__ */ React$118.createElement("path", {
          stroke: "currentColor",
          strokeLinecap: "round",
          strokeLinejoin: "round",
          strokeWidth: 1.25,
          d: "m1 6 3 3 5-8"
        })));
      };
      check_default = SvgCheck;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/chevron-up-down.js
  function _extends17() {
    return _extends17 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends17.apply(null, arguments);
  }
  var React$119, _path17, SvgChevronUpDown, chevron_up_down_default;
  var init_chevron_up_down = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/chevron-up-down.js"() {
      React$119 = __toESM(require_react(), 1);
      SvgChevronUpDown = function SvgChevronUpDown$1(props) {
        return /* @__PURE__ */ React$119.createElement("svg", _extends17({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path17 || (_path17 = /* @__PURE__ */ React$119.createElement("path", { d: "M5.53 9.22a.75.75 0 0 0-1.06 1.06l3 3a.75.75 0 0 0 1.06 0l3-3a.75.75 0 1 0-1.06-1.06L8 11.69zM5.53 6.78a.75.75 0 0 1-1.06-1.06l3-3a.75.75 0 0 1 1.06 0l3 3a.75.75 0 0 1-1.06 1.06L8 4.31z" })));
      };
      chevron_up_down_default = SvgChevronUpDown;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useSearchInput.js
  var import_react124, useSearchInput;
  var init_useSearchInput = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useSearchInput.js"() {
      import_react124 = __toESM(require_react(), 1);
      useSearchInput = (props) => {
        const { items, comparator, searchTermForItem } = props;
        const [searchTerm, setSearchTerm] = import_react124.default.useState("");
        const onChange = (e3) => setSearchTerm(e3.target.value || "");
        const searchTermMap = import_react124.default.useMemo(() => {
          return items.reduce((acc, item) => {
            acc.set(item, searchTermForItem?.(item));
            return acc;
          }, /* @__PURE__ */ new Map());
        }, [items]);
        const filteredItems = import_react124.default.useMemo(() => searchTerm ? items.filter((i2) => comparator(searchTerm, i2, searchTermMap.get(i2))) : items, [items, searchTerm]);
        return {
          searchInputProps: {
            onChange,
            value: searchTerm
          },
          filteredItems
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/chevron-down.js
  function _extends18() {
    return _extends18 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends18.apply(null, arguments);
  }
  var React$120, _path18, SvgChevronDown, chevron_down_default;
  var init_chevron_down = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/chevron-down.js"() {
      React$120 = __toESM(require_react(), 1);
      SvgChevronDown = function SvgChevronDown$1(props) {
        return /* @__PURE__ */ React$120.createElement("svg", _extends18({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path18 || (_path18 = /* @__PURE__ */ React$120.createElement("path", {
          fillRule: "evenodd",
          d: "M4.24 6.2a.75.75 0 0 1 1.06.04l2.698 2.906 2.45-2.655.022-.021.25-.25a.75.75 0 1 1 1.06 1.06l-.24.24-2.989 3.239a.75.75 0 0 1-1.1.001L4.2 7.26A.75.75 0 0 1 4.24 6.2",
          clipRule: "evenodd"
        })));
      };
      chevron_down_default = SvgChevronDown;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Select.js
  var import_react125, SelectStateCtx, useSelectState, defaultRenderOption, defaultButtonRenderOption, Select, SelectRenderOption, SelectSearchbar, SelectNoResults, SelectOptionList, SelectButton;
  var init_Select = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Select.js"() {
      init_usePopover();
      init_useSearchInput();
      init_chevron_down();
      init_colors();
      init_common();
      init_animations();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Popover();
      import_react125 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      [SelectStateCtx, useSelectState] = createContextAndHook("SelectState");
      defaultRenderOption = (option, _index) => {
        return /* @__PURE__ */ jsx2(Flex2, {
          sx: (theme) => ({
            position: "relative",
            width: "100%",
            padding: `${theme.space.$2} ${theme.space.$4}`,
            margin: `0 ${theme.space.$1}`,
            borderRadius: theme.radii.$md,
            '&:hover, &[data-focused="true"]': { background: common.mutedBackground(theme) },
            "&::before": {
              content: '""',
              position: "absolute",
              inset: `calc(${theme.space.$0x5} * -1) calc(${theme.space.$1} * -1)`
            }
          }),
          children: /* @__PURE__ */ jsx2(Text2, {
            truncate: true,
            children: option.label || option.value
          })
        });
      };
      defaultButtonRenderOption = (option) => {
        return option.label || option.value;
      };
      Select = withFloatingTree((props) => {
        const { value, options: options2, onChange, renderOption, noResultsMessage, comparator, placeholder = "Select an option", searchPlaceholder, elementId, children, portal = false, referenceElement = null, ...rest } = props;
        const popoverCtx = usePopover({
          autoUpdate: true,
          adjustToReferenceWidth: !!referenceElement,
          referenceElement
        });
        const togglePopover = popoverCtx.toggle;
        const focusedItemRef = import_react125.default.useRef(null);
        const searchInputCtx = useSearchInput({
          items: options2,
          comparator: comparator || (() => true)
        });
        const select = import_react125.default.useCallback((option) => {
          onChange?.(option);
          togglePopover();
        }, [togglePopover, onChange]);
        const defaultChildren = /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(SelectOptionList, {}), /* @__PURE__ */ jsx2(SelectButton, {})] });
        return /* @__PURE__ */ jsx2(SelectStateCtx.Provider, {
          value: { value: {
            popoverCtx,
            searchInputCtx,
            selectedOption: options2.find((o3) => o3.value === value) || null,
            noResultsMessage,
            focusedItemRef,
            value,
            renderOption: renderOption || defaultRenderOption,
            buttonRenderOption: renderOption || defaultButtonRenderOption,
            placeholder,
            searchPlaceholder,
            comparator,
            select,
            onTriggerClick: togglePopover,
            elementId,
            portal
          } },
          ...rest,
          children: import_react125.default.Children.count(children) ? children : defaultChildren
        });
      });
      SelectRenderOption = import_react125.default.memo(import_react125.default.forwardRef((props, ref) => {
        const { option, renderOption, isSelected, index: index3, handleSelect, isFocused, elementId } = props;
        return /* @__PURE__ */ jsx2(Flex2, {
          ref,
          sx: {
            userSelect: "none",
            cursor: "pointer"
          },
          onClick: () => {
            handleSelect(option);
          },
          children: import_react125.default.cloneElement(renderOption(option, index3, isSelected), {
            elementDescriptor: descriptors.selectOption,
            elementId: descriptors.selectOption.setId(elementId),
            "data-selected": isSelected,
            "data-focused": isFocused
          })
        });
      }));
      SelectSearchbar = (props) => {
        const { sx, ...rest } = props;
        import_react125.default.useEffect(() => {
          return () => props.onChange({ target: { value: "" } });
        }, []);
        const { elementId } = useSelectState();
        return /* @__PURE__ */ jsx2(Flex2, {
          sx: (t2) => ({ padding: t2.space.$0x5 }),
          children: /* @__PURE__ */ jsx2(Input2, {
            elementDescriptor: descriptors.selectSearchInput,
            elementId: descriptors.selectSearchInput.setId(elementId),
            focusRing: false,
            variant: "unstyled",
            sx: [(t2) => ({
              borderRadius: t2.radii.$md,
              backgroundColor: t2.colors.$neutralAlpha100,
              padding: t2.space.$2
            }), sx],
            ...rest
          })
        });
      };
      SelectNoResults = (props) => {
        const { sx, ...rest } = props;
        return /* @__PURE__ */ jsx2(Text2, {
          as: "div",
          sx: [(theme) => ({
            width: "100%",
            padding: `${theme.space.$1} ${theme.space.$2} ${theme.space.$2} ${theme.space.$2}`
          }), sx],
          ...rest
        });
      };
      SelectOptionList = (props) => {
        const { containerSx, sx, footer, onReachEnd, ...rest } = props;
        const { popoverCtx, searchInputCtx, value, renderOption, searchPlaceholder, comparator, focusedItemRef, noResultsMessage, select, onTriggerClick, elementId, portal } = useSelectState();
        const { filteredItems: options2, searchInputProps } = searchInputCtx;
        const [focusedIndex, setFocusedIndex] = (0, import_react125.useState)(0);
        const { isOpen, floating, styles: styles2, nodeId, context } = popoverCtx;
        const containerRef = import_react125.default.useRef(null);
        const scrollToItemOnSelectedIndexChange = () => {
          if (!isOpen) {
            setFocusedIndex(-1);
            return;
          }
          focusedItemRef.current?.scrollIntoView?.({ block: "nearest" });
        };
        import_react125.default.useEffect(scrollToItemOnSelectedIndexChange, [focusedIndex, isOpen]);
        import_react125.default.useEffect(() => setFocusedIndex(0), [options2.length]);
        import_react125.default.useEffect(() => {
          if (!comparator) containerRef?.current?.focus();
          if (isOpen) {
            setFocusedIndex(options2.findIndex((o3) => o3.value === value));
            focusedItemRef.current?.scrollIntoView?.({ block: "nearest" });
            return;
          }
        }, [isOpen]);
        const onKeyDown = (e3) => {
          if (e3.key === "ArrowUp") {
            e3.preventDefault();
            if (isOpen) return setFocusedIndex((i2 = 0) => i2 === 0 ? options2.length - 1 : i2 - 1);
            return onTriggerClick();
          }
          if (e3.key === "ArrowDown") {
            e3.preventDefault();
            if (isOpen) {
              if (onReachEnd && focusedIndex === options2.length - 1) {
                onReachEnd();
                return;
              }
              return setFocusedIndex((i2 = 0) => i2 === options2.length - 1 ? 0 : i2 + 1);
            }
            return onTriggerClick();
          }
          if (e3.key === "Enter" && focusedIndex >= 0) {
            e3.preventDefault();
            return select(options2[focusedIndex]);
          }
        };
        return /* @__PURE__ */ jsx2(Popover, {
          nodeId,
          context,
          isOpen,
          portal: portal || false,
          order: ["content"],
          children: /* @__PURE__ */ jsxs2(Flex2, {
            elementDescriptor: descriptors.selectOptionsContainer,
            elementId: descriptors.selectOptionsContainer.setId(elementId),
            ref: floating,
            onKeyDown,
            direction: "col",
            justify: "start",
            sx: [(theme) => ({
              backgroundColor: colors$2.makeSolid(theme.colors.$colorBackground),
              borderRadius: theme.radii.$lg,
              overflow: "hidden",
              animation: `${animations.dropdownSlideInScaleAndFade} ${theme.transitionDuration.$slower} ${theme.transitionTiming.$slowBezier}`,
              transformOrigin: "top center",
              boxShadow: theme.shadows.$menuShadow,
              zIndex: theme.zIndices.$dropdown
            }), sx],
            style: {
              ...styles2,
              left: styles2.left - 1
            },
            children: [comparator && /* @__PURE__ */ jsx2(SelectSearchbar, {
              placeholder: searchPlaceholder,
              ...searchInputProps
            }), /* @__PURE__ */ jsxs2(Flex2, {
              ref: containerRef,
              direction: "col",
              tabIndex: comparator ? void 0 : 0,
              sx: [(theme) => ({
                gap: theme.space.$0x5,
                outline: "none",
                overflowY: "auto",
                maxHeight: "18vh",
                padding: `${theme.space.$0x5} ${theme.space.$0x5}`
              }), containerSx],
              ...rest,
              children: [
                options2.map((option, index3) => {
                  const isFocused = index3 === focusedIndex;
                  const isSelected = value === option.value;
                  return /* @__PURE__ */ jsx2(SelectRenderOption, {
                    index: index3,
                    ref: isFocused ? focusedItemRef : void 0,
                    option,
                    renderOption,
                    isSelected,
                    isFocused,
                    handleSelect: select,
                    elementId
                  }, option.value);
                }),
                noResultsMessage && options2.length === 0 && /* @__PURE__ */ jsx2(SelectNoResults, { children: noResultsMessage }),
                footer
              ]
            })]
          })
        });
      };
      SelectButton = (props) => {
        const { sx, children, icon: icon2, iconSx, ...rest } = props;
        const { popoverCtx, onTriggerClick, buttonRenderOption, selectedOption, placeholder, elementId } = useSelectState();
        const { reference } = popoverCtx;
        let show = children;
        if (!children) show = selectedOption ? buttonRenderOption(selectedOption) : /* @__PURE__ */ jsx2(Text2, {
          as: "span",
          children: placeholder
        });
        return /* @__PURE__ */ jsxs2(Button2, {
          elementDescriptor: descriptors.selectButton,
          elementId: descriptors.selectButton.setId(elementId),
          ref: reference,
          variant: "outline",
          textVariant: "buttonLarge",
          onClick: onTriggerClick,
          sx: [(theme) => ({
            gap: theme.space.$2,
            paddingInlineStart: theme.space.$3x5,
            paddingInlineEnd: theme.space.$3x5,
            alignItems: "center",
            "> *": { pointerEvents: "none" }
          }), sx],
          ...rest,
          children: [show, /* @__PURE__ */ jsx2(Icon, {
            elementDescriptor: descriptors.selectButtonIcon,
            elementId: descriptors.selectButtonIcon.setId(elementId),
            size: "md",
            icon: icon2 || chevron_down_default,
            sx: iconSx
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/PhoneInput/countryCodeData.js
  var data, UnitedStatesSubAreasSet, CanadaSubAreaSet, SubAreaCodeSets, createEntry, IsoToCountryMap, CodeToCountriesMap;
  var init_countryCodeData = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/PhoneInput/countryCodeData.js"() {
      data = [
        [
          "United States",
          "us",
          "1",
          "(...) ...-....",
          100
        ],
        [
          "United Kingdom",
          "gb",
          "44",
          ".... ......",
          100
        ],
        [
          "India",
          "in",
          "91",
          ".....-.....",
          100
        ],
        [
          "Canada",
          "ca",
          "1",
          "(...) ...-....",
          100
        ],
        [
          "Germany",
          "de",
          "49",
          "... .......",
          100
        ],
        [
          "France",
          "fr",
          "33",
          ". .. .. .. ..",
          100
        ],
        [
          "Russia",
          "ru",
          "7",
          "... ...-..-..",
          100
        ],
        [
          "Afghanistan",
          "af",
          "93"
        ],
        [
          "\xC5land Islands",
          "ax",
          "358"
        ],
        [
          "Albania",
          "al",
          "355"
        ],
        [
          "Algeria",
          "dz",
          "213"
        ],
        [
          "American Samoa",
          "as",
          "1684"
        ],
        [
          "Andorra",
          "ad",
          "376"
        ],
        [
          "Angola",
          "ao",
          "244"
        ],
        [
          "Anguilla",
          "ai",
          "1264"
        ],
        [
          "Antigua and Barbuda",
          "ag",
          "1268"
        ],
        [
          "Argentina",
          "ar",
          "54"
        ],
        [
          "Armenia",
          "am",
          "374"
        ],
        [
          "Aruba",
          "aw",
          "297"
        ],
        [
          "Ascension Island",
          "ac",
          "247"
        ],
        [
          "Australia",
          "au",
          "61",
          "... ... ..."
        ],
        [
          "Austria",
          "at",
          "43"
        ],
        [
          "Azerbaijan",
          "az",
          "994"
        ],
        [
          "Bahamas",
          "bs",
          "1242"
        ],
        [
          "Bahrain",
          "bh",
          "973"
        ],
        [
          "Bangladesh",
          "bd",
          "880"
        ],
        [
          "Barbados",
          "bb",
          "1246"
        ],
        [
          "Belarus",
          "by",
          "375"
        ],
        [
          "Belgium",
          "be",
          "32",
          "... .. .. .."
        ],
        [
          "Belize",
          "bz",
          "501"
        ],
        [
          "Benin",
          "bj",
          "229"
        ],
        [
          "Bermuda",
          "bm",
          "1441"
        ],
        [
          "Bhutan",
          "bt",
          "975"
        ],
        [
          "Bolivia",
          "bo",
          "591"
        ],
        [
          "Bosnia and Herzegovina",
          "ba",
          "387"
        ],
        [
          "Botswana",
          "bw",
          "267"
        ],
        [
          "Brazil",
          "br",
          "55"
        ],
        [
          "British Indian Ocean Territory",
          "io",
          "246"
        ],
        [
          "British Virgin Islands",
          "vg",
          "1284"
        ],
        [
          "Brunei",
          "bn",
          "673"
        ],
        [
          "Bulgaria",
          "bg",
          "359"
        ],
        [
          "Burkina Faso",
          "bf",
          "226"
        ],
        [
          "Burundi",
          "bi",
          "257"
        ],
        [
          "Cambodia",
          "kh",
          "855"
        ],
        [
          "Cameroon",
          "cm",
          "237"
        ],
        [
          "Cape Verde",
          "cv",
          "238"
        ],
        [
          "Caribbean Netherlands",
          "bq",
          "599"
        ],
        [
          "Cayman Islands",
          "ky",
          "1345"
        ],
        [
          "Central African Republic",
          "cf",
          "236"
        ],
        [
          "Chad",
          "td",
          "235"
        ],
        [
          "Chile",
          "cl",
          "56"
        ],
        [
          "China",
          "cn",
          "86",
          "...-....-...."
        ],
        [
          "Colombia",
          "co",
          "57"
        ],
        [
          "Comoros",
          "km",
          "269"
        ],
        [
          "Democratic Republic of the Congo",
          "cd",
          "243"
        ],
        [
          "Republic of the Congo",
          "cg",
          "242"
        ],
        [
          "Cook Islands",
          "ck",
          "682"
        ],
        [
          "Costa Rica",
          "cr",
          "506",
          "....-...."
        ],
        [
          "C\xF4te d\u2019Ivoire",
          "ci",
          "225"
        ],
        [
          "Croatia",
          "hr",
          "385"
        ],
        [
          "Cuba",
          "cu",
          "53"
        ],
        [
          "Cura\xE7ao",
          "cw",
          "599"
        ],
        [
          "Cyprus",
          "cy",
          "357"
        ],
        [
          "Czech Republic",
          "cz",
          "420"
        ],
        [
          "Denmark",
          "dk",
          "45",
          ".. .. .. .."
        ],
        [
          "Djibouti",
          "dj",
          "253"
        ],
        [
          "Dominica",
          "dm",
          "1767"
        ],
        [
          "Dominican Republic",
          "do",
          "1"
        ],
        [
          "Ecuador",
          "ec",
          "593"
        ],
        [
          "Egypt",
          "eg",
          "20"
        ],
        [
          "El Salvador",
          "sv",
          "503",
          "....-...."
        ],
        [
          "Equatorial Guinea",
          "gq",
          "240"
        ],
        [
          "Eritrea",
          "er",
          "291"
        ],
        [
          "Estonia",
          "ee",
          "372"
        ],
        [
          "Ethiopia",
          "et",
          "251"
        ],
        [
          "Falkland Islands",
          "fk",
          "500"
        ],
        [
          "Faroe Islands",
          "fo",
          "298"
        ],
        [
          "Fiji",
          "fj",
          "679"
        ],
        [
          "Finland",
          "fi",
          "358",
          ".. ... .. .."
        ],
        [
          "French Guiana",
          "gf",
          "594"
        ],
        [
          "French Polynesia",
          "pf",
          "689"
        ],
        [
          "Gabon",
          "ga",
          "241"
        ],
        [
          "Gambia",
          "gm",
          "220"
        ],
        [
          "Georgia",
          "ge",
          "995"
        ],
        [
          "Ghana",
          "gh",
          "233"
        ],
        [
          "Gibraltar",
          "gi",
          "350"
        ],
        [
          "Greece",
          "gr",
          "30",
          "... ......."
        ],
        [
          "Greenland",
          "gl",
          "299"
        ],
        [
          "Grenada",
          "gd",
          "1473"
        ],
        [
          "Guadeloupe",
          "gp",
          "590"
        ],
        [
          "Guam",
          "gu",
          "1671"
        ],
        [
          "Guatemala",
          "gt",
          "502",
          "....-...."
        ],
        [
          "Guinea",
          "gn",
          "224"
        ],
        [
          "Guinea-Bissau",
          "gw",
          "245"
        ],
        [
          "Guyana",
          "gy",
          "592"
        ],
        [
          "Haiti",
          "ht",
          "509",
          "....-...."
        ],
        [
          "Honduras",
          "hn",
          "504"
        ],
        [
          "Hong Kong",
          "hk",
          "852",
          ".... ...."
        ],
        [
          "Hungary",
          "hu",
          "36"
        ],
        [
          "Iceland",
          "is",
          "354",
          "... ...."
        ],
        [
          "Indonesia",
          "id",
          "62"
        ],
        [
          "Iran",
          "ir",
          "98"
        ],
        [
          "Iraq",
          "iq",
          "964"
        ],
        [
          "Ireland",
          "ie",
          "353",
          ".. ......."
        ],
        [
          "Israel",
          "il",
          "972"
        ],
        [
          "Italy",
          "it",
          "39",
          "... ......"
        ],
        [
          "Jamaica",
          "jm",
          "1876"
        ],
        [
          "Japan",
          "jp",
          "81",
          "... .. ...."
        ],
        [
          "Jordan",
          "jo",
          "962"
        ],
        [
          "Kazakhstan",
          "kz",
          "7",
          "... ...-..-.."
        ],
        [
          "Kenya",
          "ke",
          "254"
        ],
        [
          "Kiribati",
          "ki",
          "686"
        ],
        [
          "Kosovo",
          "xk",
          "383"
        ],
        [
          "Kuwait",
          "kw",
          "965"
        ],
        [
          "Kyrgyzstan",
          "kg",
          "996"
        ],
        [
          "Laos",
          "la",
          "856"
        ],
        [
          "Latvia",
          "lv",
          "371"
        ],
        [
          "Lebanon",
          "lb",
          "961"
        ],
        [
          "Lesotho",
          "ls",
          "266"
        ],
        [
          "Liberia",
          "lr",
          "231"
        ],
        [
          "Libya",
          "ly",
          "218"
        ],
        [
          "Liechtenstein",
          "li",
          "423"
        ],
        [
          "Lithuania",
          "lt",
          "370"
        ],
        [
          "Luxembourg",
          "lu",
          "352"
        ],
        [
          "Macau",
          "mo",
          "853"
        ],
        [
          "Madagascar",
          "mg",
          "261"
        ],
        [
          "Malawi",
          "mw",
          "265"
        ],
        [
          "Malaysia",
          "my",
          "60",
          "..-....-...."
        ],
        [
          "Maldives",
          "mv",
          "960"
        ],
        [
          "Mali",
          "ml",
          "223"
        ],
        [
          "Malta",
          "mt",
          "356"
        ],
        [
          "Marshall Islands",
          "mh",
          "692"
        ],
        [
          "Martinique",
          "mq",
          "596"
        ],
        [
          "Mauritania",
          "mr",
          "222"
        ],
        [
          "Mauritius",
          "mu",
          "230"
        ],
        [
          "Mayotte",
          "yt",
          "262"
        ],
        [
          "Mexico",
          "mx",
          "52"
        ],
        [
          "Micronesia",
          "fm",
          "691"
        ],
        [
          "Moldova",
          "md",
          "373"
        ],
        [
          "Monaco",
          "mc",
          "377"
        ],
        [
          "Mongolia",
          "mn",
          "976"
        ],
        [
          "Montenegro",
          "me",
          "382"
        ],
        [
          "Montserrat",
          "ms",
          "1664"
        ],
        [
          "Morocco",
          "ma",
          "212"
        ],
        [
          "Mozambique",
          "mz",
          "258"
        ],
        [
          "Myanmar",
          "mm",
          "95"
        ],
        [
          "Namibia",
          "na",
          "264"
        ],
        [
          "Nauru",
          "nr",
          "674"
        ],
        [
          "Nepal",
          "np",
          "977"
        ],
        [
          "Netherlands",
          "nl",
          "31",
          ".. ........"
        ],
        [
          "New Caledonia",
          "nc",
          "687"
        ],
        [
          "New Zealand",
          "nz",
          "64",
          "...-...-...."
        ],
        [
          "Nicaragua",
          "ni",
          "505"
        ],
        [
          "Niger",
          "ne",
          "227"
        ],
        [
          "Nigeria",
          "ng",
          "234"
        ],
        [
          "Niue",
          "nu",
          "683"
        ],
        [
          "Norfolk Island",
          "nf",
          "672"
        ],
        [
          "North Korea",
          "kp",
          "850"
        ],
        [
          "North Macedonia",
          "mk",
          "389"
        ],
        [
          "Northern Mariana Islands",
          "mp",
          "1670"
        ],
        [
          "Norway",
          "no",
          "47",
          "... .. ..."
        ],
        [
          "Oman",
          "om",
          "968"
        ],
        [
          "Pakistan",
          "pk",
          "92",
          "...-......."
        ],
        [
          "Palau",
          "pw",
          "680"
        ],
        [
          "Palestine",
          "ps",
          "970"
        ],
        [
          "Panama",
          "pa",
          "507"
        ],
        [
          "Papua New Guinea",
          "pg",
          "675"
        ],
        [
          "Paraguay",
          "py",
          "595"
        ],
        [
          "Peru",
          "pe",
          "51"
        ],
        [
          "Philippines",
          "ph",
          "63",
          "... ...."
        ],
        [
          "Poland",
          "pl",
          "48",
          "...-...-..."
        ],
        [
          "Portugal",
          "pt",
          "351"
        ],
        [
          "Puerto Rico",
          "pr",
          "1"
        ],
        [
          "Qatar",
          "qa",
          "974"
        ],
        [
          "R\xE9union",
          "re",
          "262"
        ],
        [
          "Romania",
          "ro",
          "40"
        ],
        [
          "Rwanda",
          "rw",
          "250"
        ],
        [
          "Saint Barth\xE9lemy",
          "bl",
          "590"
        ],
        [
          "Saint Helena",
          "sh",
          "290"
        ],
        [
          "Saint Kitts and Nevis",
          "kn",
          "1869"
        ],
        [
          "Saint Lucia",
          "lc",
          "1758"
        ],
        [
          "Saint Martin",
          "mf",
          "590"
        ],
        [
          "Saint Pierre and Miquelon",
          "pm",
          "508"
        ],
        [
          "Saint Vincent and the Grenadines",
          "vc",
          "1784"
        ],
        [
          "Samoa",
          "ws",
          "685"
        ],
        [
          "San Marino",
          "sm",
          "378"
        ],
        [
          "S\xE3o Tom\xE9 and Pr\xEDncipe",
          "st",
          "239"
        ],
        [
          "Saudi Arabia",
          "sa",
          "966"
        ],
        [
          "Senegal",
          "sn",
          "221"
        ],
        [
          "Serbia",
          "rs",
          "381"
        ],
        [
          "Seychelles",
          "sc",
          "248"
        ],
        [
          "Sierra Leone",
          "sl",
          "232"
        ],
        [
          "Singapore",
          "sg",
          "65",
          "....-...."
        ],
        [
          "Sint Maarten",
          "sx",
          "1721"
        ],
        [
          "Slovakia",
          "sk",
          "421"
        ],
        [
          "Slovenia",
          "si",
          "386"
        ],
        [
          "Solomon Islands",
          "sb",
          "677"
        ],
        [
          "Somalia",
          "so",
          "252"
        ],
        [
          "South Africa",
          "za",
          "27"
        ],
        [
          "South Korea",
          "kr",
          "82"
        ],
        [
          "South Sudan",
          "ss",
          "211"
        ],
        [
          "Spain",
          "es",
          "34",
          "... ... ..."
        ],
        [
          "Sri Lanka",
          "lk",
          "94"
        ],
        [
          "Sudan",
          "sd",
          "249"
        ],
        [
          "Suriname",
          "sr",
          "597"
        ],
        [
          "Eswatini",
          "sz",
          "268"
        ],
        [
          "Sweden",
          "se",
          "46",
          ".. ... .. .."
        ],
        [
          "Switzerland",
          "ch",
          "41",
          ".. ... .. .."
        ],
        [
          "Syria",
          "sy",
          "963"
        ],
        [
          "Taiwan",
          "tw",
          "886"
        ],
        [
          "Tajikistan",
          "tj",
          "992"
        ],
        [
          "Tanzania",
          "tz",
          "255"
        ],
        [
          "Thailand",
          "th",
          "66"
        ],
        [
          "Timor-Leste",
          "tl",
          "670"
        ],
        [
          "Togo",
          "tg",
          "228"
        ],
        [
          "Tokelau",
          "tk",
          "690"
        ],
        [
          "Tonga",
          "to",
          "676"
        ],
        [
          "Trinidad and Tobago",
          "tt",
          "1868"
        ],
        [
          "Tunisia",
          "tn",
          "216"
        ],
        [
          "Turkey",
          "tr",
          "90",
          "... ... .. .."
        ],
        [
          "Turkmenistan",
          "tm",
          "993"
        ],
        [
          "Turks and Caicos Islands",
          "tc",
          "1649"
        ],
        [
          "Tuvalu",
          "tv",
          "688"
        ],
        [
          "U.S. Virgin Islands",
          "vi",
          "1340"
        ],
        [
          "Uganda",
          "ug",
          "256"
        ],
        [
          "Ukraine",
          "ua",
          "380"
        ],
        [
          "United Arab Emirates",
          "ae",
          "971"
        ],
        [
          "Uruguay",
          "uy",
          "598"
        ],
        [
          "Uzbekistan",
          "uz",
          "998"
        ],
        [
          "Vanuatu",
          "vu",
          "678"
        ],
        [
          "Vatican City",
          "va",
          "39",
          ".. .... ...."
        ],
        [
          "Venezuela",
          "ve",
          "58"
        ],
        [
          "Vietnam",
          "vn",
          "84"
        ],
        [
          "Wallis and Futuna",
          "wf",
          "681"
        ],
        [
          "Western Sahara",
          "eh",
          "212"
        ],
        [
          "Yemen",
          "ye",
          "967"
        ],
        [
          "Zambia",
          "zm",
          "260"
        ],
        [
          "Zimbabwe",
          "zw",
          "263"
        ]
      ];
      UnitedStatesSubAreasSet = /* @__PURE__ */ new Set([
        "907",
        "205",
        "251",
        "256",
        "334",
        "479",
        "501",
        "870",
        "480",
        "520",
        "602",
        "623",
        "928",
        "209",
        "213",
        "310",
        "323",
        "408",
        "415",
        "510",
        "530",
        "559",
        "562",
        "619",
        "626",
        "650",
        "661",
        "707",
        "714",
        "760",
        "805",
        "818",
        "831",
        "858",
        "909",
        "916",
        "925",
        "949",
        "951",
        "303",
        "719",
        "970",
        "203",
        "860",
        "202",
        "302",
        "239",
        "305",
        "321",
        "352",
        "386",
        "407",
        "561",
        "727",
        "772",
        "813",
        "850",
        "863",
        "904",
        "941",
        "954",
        "229",
        "404",
        "478",
        "706",
        "770",
        "912",
        "808",
        "319",
        "515",
        "563",
        "641",
        "712",
        "208",
        "217",
        "309",
        "312",
        "618",
        "630",
        "708",
        "773",
        "815",
        "847",
        "219",
        "260",
        "317",
        "574",
        "765",
        "812",
        "316",
        "620",
        "785",
        "913",
        "270",
        "502",
        "606",
        "859",
        "225",
        "318",
        "337",
        "504",
        "985",
        "413",
        "508",
        "617",
        "781",
        "978",
        "301",
        "410",
        "207",
        "231",
        "248",
        "269",
        "313",
        "517",
        "586",
        "616",
        "734",
        "810",
        "906",
        "989",
        "218",
        "320",
        "507",
        "612",
        "651",
        "763",
        "952",
        "314",
        "417",
        "573",
        "636",
        "660",
        "816",
        "228",
        "601",
        "662",
        "406",
        "252",
        "336",
        "704",
        "828",
        "910",
        "919",
        "701",
        "308",
        "402",
        "603",
        "201",
        "609",
        "732",
        "856",
        "908",
        "973",
        "505",
        "575",
        "702",
        "775",
        "212",
        "315",
        "516",
        "518",
        "585",
        "607",
        "631",
        "716",
        "718",
        "845",
        "914",
        "216",
        "330",
        "419",
        "440",
        "513",
        "614",
        "740",
        "937",
        "405",
        "580",
        "918",
        "503",
        "541",
        "215",
        "412",
        "570",
        "610",
        "717",
        "724",
        "814",
        "401",
        "803",
        "843",
        "864",
        "605",
        "423",
        "615",
        "731",
        "865",
        "901",
        "931",
        "210",
        "214",
        "254",
        "281",
        "325",
        "361",
        "409",
        "432",
        "512",
        "713",
        "806",
        "817",
        "830",
        "903",
        "915",
        "936",
        "940",
        "956",
        "972",
        "979",
        "435",
        "801",
        "276",
        "434",
        "540",
        "703",
        "757",
        "804",
        "802",
        "206",
        "253",
        "360",
        "425",
        "509",
        "262",
        "414",
        "608",
        "715",
        "920",
        "304",
        "307"
      ]);
      CanadaSubAreaSet = /* @__PURE__ */ new Set([
        "204",
        "226",
        "236",
        "249",
        "250",
        "289",
        "306",
        "343",
        "365",
        "387",
        "403",
        "416",
        "418",
        "431",
        "437",
        "438",
        "450",
        "506",
        "514",
        "519",
        "548",
        "579",
        "581",
        "587",
        "604",
        "613",
        "639",
        "647",
        "672",
        "705",
        "709",
        "742",
        "778",
        "780",
        "782",
        "807",
        "819",
        "825",
        "867",
        "873",
        "902",
        "905"
      ]);
      SubAreaCodeSets = {
        us: UnitedStatesSubAreasSet,
        ca: CanadaSubAreaSet
      };
      createEntry = ([name, iso, code, pattern = "", priority = 0]) => ({
        name,
        iso,
        code,
        pattern,
        priority
      });
      IsoToCountryMap = data.reduce((acc, cur) => acc.set(cur[1], createEntry(cur)), /* @__PURE__ */ new Map());
      CodeToCountriesMap = data.reduce((acc, cur) => {
        const code = cur[2];
        const country = createEntry(cur);
        if (acc.has(code)) acc.get(code)?.push(country);
        else acc.set(code, [country]);
        return acc;
      }, /* @__PURE__ */ new Map());
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/phoneUtils.js
  function getFlagEmojiFromCountryIso(iso, fallbackIso = "us") {
    iso = iso || fallbackIso;
    if (emojiCache[iso]) return emojiCache[iso];
    const codePoints = [...iso.toUpperCase()].map((c2) => c2.codePointAt(0) + OFFSET);
    const res = String.fromCodePoint(...codePoints);
    emojiCache[iso] = res;
    return res;
  }
  function getCountryIsoFromFormattedNumber(formattedNumber, fallbackIso = "us") {
    const number3 = extractDigits(formattedNumber);
    if (!number3 || number3.length < 4) return fallbackIso;
    if (number3.startsWith("1") && phoneNumberBelongsTo("us", number3)) return "us";
    if (number3.startsWith("1") && phoneNumberBelongsTo("ca", number3)) return "ca";
    return getCountryFromPhoneString(number3).country.iso;
  }
  function formatPhoneNumber(phoneNumber, pattern, countryCode) {
    if (!phoneNumber || !pattern) return phoneNumber;
    const digits = [...extractDigits(phoneNumber)].slice(0, maxE164CompliantLength(countryCode));
    if (digits.length <= 3) return digits.join("");
    let res = "";
    for (let i2 = 0; digits.length > 0; i2++) if (i2 > pattern.length - 1) res += digits.shift();
    else res += pattern[i2] === "." ? digits.shift() : pattern[i2];
    return res;
  }
  function extractDigits(formattedPhone) {
    return (formattedPhone || "").replace(/[^\d]/g, "");
  }
  function phoneNumberBelongsTo(iso, phoneWithCode) {
    if (!iso || !IsoToCountryMap.get(iso) || !phoneWithCode) return false;
    const code = phoneWithCode[0];
    const subArea = phoneWithCode.substring(1, 4);
    return code === IsoToCountryMap.get(iso)?.code && phoneWithCode.length - 1 === maxDigitCountForPattern(IsoToCountryMap.get(iso)?.pattern || "") && SubAreaCodeSets[iso].has(subArea);
  }
  function maxDigitCountForPattern(pattern) {
    return (pattern.match(/\./g) || []).length;
  }
  function maxE164CompliantLength(countryCode) {
    countryCode = countryCode || "1";
    return MAX_PHONE_NUMBER_LENGTH - (countryCode.includes("+") ? countryCode : "+" + countryCode).length;
  }
  function parsePhoneString(str) {
    const digits = extractDigits(str);
    const iso = getCountryIsoFromFormattedNumber(digits);
    const pattern = IsoToCountryMap.get(iso)?.pattern || "";
    const code = IsoToCountryMap.get(iso)?.code || "";
    const number3 = digits.slice(code.length);
    return {
      iso,
      pattern,
      code,
      number: number3,
      formattedNumberWithCode: `+${code} ${formatPhoneNumber(number3, pattern, code)}`
    };
  }
  function stringToFormattedPhoneString(str) {
    const parsed = parsePhoneString(str);
    return `+${parsed.code} ${formatPhoneNumber(parsed.number, parsed.pattern, parsed.code)}`;
  }
  function getCountryFromPhoneString(phone) {
    const phoneWithCode = extractDigits(phone);
    const matchingCountries = [];
    for (const i2 of [
      4,
      3,
      2,
      1
    ]) {
      const potentialCode = phoneWithCode.substring(0, i2);
      const countries = CodeToCountriesMap.get(potentialCode) || [];
      if (countries.length) matchingCountries.push(...countries);
    }
    const fallbackCountry = IsoToCountryMap.get("us");
    const country = matchingCountries.sort(byPriority)[0] || fallbackCountry;
    return {
      number: phoneWithCode.slice(country?.code.length || 0),
      country
    };
  }
  function getPreferredPhoneCodeChannelByCountry(phoneNumber, preferredChannels) {
    if (!preferredChannels) return null;
    const { country } = getCountryFromPhoneString(phoneNumber);
    return preferredChannels[country.iso.toUpperCase()] || null;
  }
  var OFFSET, emojiCache, MAX_PHONE_NUMBER_LENGTH, byPriority;
  var init_phoneUtils = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/phoneUtils.js"() {
      init_countryCodeData();
      OFFSET = 127397;
      emojiCache = {};
      MAX_PHONE_NUMBER_LENGTH = 15;
      byPriority = (a2, b2) => {
        return b2.priority - a2.priority;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/PhoneInput/useFormattedPhoneNumber.js
  var import_react127, format, useFormattedPhoneNumber;
  var init_useFormattedPhoneNumber = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/PhoneInput/useFormattedPhoneNumber.js"() {
      init_countryCodeData();
      init_phoneUtils();
      import_react127 = __toESM(require_react(), 1);
      format = (str, iso) => {
        if (!str) return "";
        const country = IsoToCountryMap.get(iso);
        return formatPhoneNumber(str, country?.pattern, country?.code);
      };
      useFormattedPhoneNumber = (props) => {
        const [number3, setNumber] = import_react127.default.useState(() => {
          const { number: number$1 } = parsePhoneString(props.initPhoneWithCode || "");
          return number$1;
        });
        const [iso, setIso] = import_react127.default.useState(parsePhoneString(props.initPhoneWithCode || "").number ? parsePhoneString(props.initPhoneWithCode || "").iso : props.locationBasedCountryIso || "us");
        import_react127.default.useEffect(() => {
          setNumber(extractDigits(number3));
        }, [iso, number3]);
        const numberWithCode = import_react127.default.useMemo(() => {
          if (!number3) return "";
          return "+" + extractDigits(`${IsoToCountryMap.get(iso)?.code || "1"}${number3}`);
        }, [iso, number3]);
        const formattedNumber = import_react127.default.useMemo(() => {
          return format(number3, iso);
        }, [iso, number3]);
        return {
          setNumber,
          setIso,
          setNumberAndIso: import_react127.default.useCallback((str) => {
            const { iso: iso$1, number: number$1 } = parsePhoneString(str);
            setNumber(number$1);
            setIso(iso$1);
          }, [iso, number3]),
          iso,
          number: number3,
          numberWithCode,
          formattedNumber
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/PhoneInput/index.js
  var import_react128, createSelectOption, countryOptions, PhoneInputBase, CountryCodeListItem, PhoneInput;
  var init_PhoneInput = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/PhoneInput/index.js"() {
      init_check();
      init_chevron_up_down();
      init_common();
      init_elementDescriptors();
      init_customizables();
      init_mergeRefs();
      init_Select();
      init_countryCodeData();
      init_useFormattedPhoneNumber();
      import_react128 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      createSelectOption = (country) => {
        return {
          searchTerm: `${country.iso} ${country.name} ${country.code}`,
          value: `${country.iso} ${country.name} ${country.code}`,
          country
        };
      };
      countryOptions = [...IsoToCountryMap.values()].map(createSelectOption);
      PhoneInputBase = (0, import_react128.forwardRef)((props, ref) => {
        const { onChange: onChangeProp, value, locationBasedCountryIso, feedbackType, sx, ...rest } = props;
        const phoneInputRef = (0, import_react128.useRef)(null);
        const phoneInputBox = (0, import_react128.useRef)(null);
        const { setNumber, setIso, setNumberAndIso, numberWithCode, iso, formattedNumber } = useFormattedPhoneNumber({
          initPhoneWithCode: value,
          locationBasedCountryIso
        });
        const callOnChangeProp = () => {
          onChangeProp?.({ target: { value: numberWithCode } });
        };
        const selectedCountryOption = (0, import_react128.useMemo)(() => {
          return countryOptions.find((o3) => o3.country.iso === iso) || countryOptions[0];
        }, [iso]);
        (0, import_react128.useEffect)(callOnChangeProp, [numberWithCode]);
        const handlePaste = (e3) => {
          e3.preventDefault();
          const inputValue = e3.clipboardData.getData("text");
          if (inputValue.includes("+")) setNumberAndIso(inputValue);
          else setNumber(inputValue);
        };
        const handlePhoneNumberChange = (e3) => {
          const inputValue = e3.target.value;
          if (inputValue.includes("+")) setNumberAndIso(inputValue);
          else setNumber(inputValue);
        };
        return /* @__PURE__ */ jsxs2(Flex2, {
          elementDescriptor: descriptors.phoneInputBox,
          direction: "row",
          hasError: rest.hasError,
          "data-feedback": feedbackType,
          ref: phoneInputBox,
          sx: (theme) => ({
            ...common.borderVariants(theme, { hasError: rest.hasError }).normal,
            position: "relative",
            borderRadius: theme.radii.$md,
            zIndex: 1,
            '&:focus-within,&[data-focus-within="true"]': { ...common.borderVariants(theme, { hasError: rest.hasError }).normal["&:focus"] }
          }),
          children: [/* @__PURE__ */ jsxs2(Select, {
            elementId: "countryCode",
            value: selectedCountryOption.value,
            options: countryOptions,
            portal: true,
            referenceElement: phoneInputBox,
            renderOption: (option, _index, isSelected) => /* @__PURE__ */ jsx2(CountryCodeListItem, {
              sx: (theme) => ({
                "&:hover": { backgroundColor: theme.colors.$neutralAlpha100 },
                '&[data-focused="true"]': { backgroundColor: theme.colors.$neutralAlpha150 }
              }),
              isSelected,
              country: option.country
            }),
            onChange: (option) => {
              setIso(option.country.iso);
              phoneInputRef.current?.focus();
            },
            noResultsMessage: "No countries found",
            searchPlaceholder: "Search country or code",
            comparator: (term, option) => option.searchTerm.toLowerCase().includes(term.toLowerCase()),
            children: [/* @__PURE__ */ jsx2(SelectButton, {
              variant: "ghost",
              sx: (t2) => ({
                borderWidth: "0",
                borderRadius: t2.radii.$md,
                borderEndEndRadius: "0",
                borderStartEndRadius: "0",
                paddingInlineEnd: t2.space.$2,
                ":focus": {
                  zIndex: 2,
                  boxShadow: "none"
                },
                ":active": { zIndex: 2 }
              }),
              hoverAsFocus: true,
              isDisabled: rest.isDisabled,
              icon: chevron_up_down_default,
              iconSx: (t2) => ({ color: rest.isDisabled ? t2.colors.$neutralAlpha300 : t2.colors.$neutralAlpha500 }),
              children: /* @__PURE__ */ jsx2(Text2, {
                colorScheme: "body",
                as: "span",
                sx: { textTransform: "uppercase" },
                children: iso
              })
            }), /* @__PURE__ */ jsx2(SelectOptionList, {
              sx: { padding: "0 0" },
              containerSx: (theme) => ({
                gap: 0,
                padding: `${theme.space.$0x5} 0`
              })
            })]
          }), /* @__PURE__ */ jsxs2(Flex2, {
            sx: {
              position: "relative",
              width: "100%"
            },
            children: [/* @__PURE__ */ jsxs2(Text2, {
              sx: (t2) => ({
                display: "flex",
                alignItems: "center",
                pointerEvents: "none",
                paddingInlineStart: t2.space.$0x5,
                opacity: props.isDisabled ? t2.opacity.$disabled : 1
              }),
              children: ["+", selectedCountryOption.country.code]
            }), /* @__PURE__ */ jsx2(Input2, {
              value: formattedNumber,
              variant: "unstyled",
              onPaste: handlePaste,
              onChange: handlePhoneNumberChange,
              maxLength: 25,
              type: "tel",
              sx: [(t2) => ({
                boxShadow: "none",
                height: "100%",
                transitionProperty: t2.transitionProperty.$common,
                transitionTimingFunction: t2.transitionTiming.$common,
                transitionDuration: t2.transitionDuration.$focusRing,
                "&[type=tel]": {
                  borderRadius: t2.radii.$md,
                  borderWidth: 0,
                  borderStartStartRadius: 0,
                  borderEndStartRadius: 0,
                  paddingInlineStart: t2.space.$1,
                  "&:focus": {
                    borderColor: "unset",
                    boxShadow: "unset"
                  }
                }
              }), sx],
              ref: mergeRefs(phoneInputRef, ref),
              ...rest
            })]
          })]
        });
      });
      CountryCodeListItem = (0, import_react128.memo)((props) => {
        const { country, isSelected, sx, ...rest } = props;
        return /* @__PURE__ */ jsxs2(Flex2, {
          center: true,
          sx: [(theme) => ({
            width: "100%",
            gap: theme.space.$2,
            padding: `${theme.space.$1x5} ${theme.space.$4}`,
            color: theme.colors.$colorForeground
          }), sx],
          ...rest,
          children: [
            /* @__PURE__ */ jsx2(Icon, {
              icon: check_default,
              size: "sm",
              sx: { visibility: isSelected ? "visible" : "hidden" }
            }),
            /* @__PURE__ */ jsx2(Text2, {
              as: "div",
              sx: {
                width: "100%",
                textAlign: "start"
              },
              children: country.name
            }),
            /* @__PURE__ */ jsxs2(Text2, {
              colorScheme: "secondary",
              children: ["+", country.code]
            })
          ]
        });
      });
      PhoneInput = (0, import_react128.forwardRef)((props, ref) => {
        const { __internal_country } = useClerk();
        return /* @__PURE__ */ jsx2(PhoneInputBase, {
          ...props,
          locationBasedCountryIso: __internal_country,
          ref
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/RadioGroup.js
  var import_react130, RadioIndicator, RadioLabel, RadioItem;
  var init_RadioGroup = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/RadioGroup.js"() {
      init_useFormField();
      init_elementDescriptors();
      init_customizables();
      import_react130 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      RadioIndicator = (0, import_react130.forwardRef)((props, ref) => {
        const { value, placeholder, ...inputProps } = sanitizeInputProps(useFormField());
        return /* @__PURE__ */ jsx2(RadioInput2, {
          ref,
          ...inputProps,
          elementDescriptor: descriptors.formFieldRadioInput,
          id: props.id,
          focusRing: false,
          sx: (t2) => ({
            width: "fit-content",
            marginTop: t2.space.$0x5
          }),
          value: props.value,
          checked: props.value === value
        });
      });
      RadioLabel = (props) => {
        return /* @__PURE__ */ jsxs2(FormLabel2, {
          elementDescriptor: descriptors.formFieldRadioLabel,
          htmlFor: props.id,
          sx: (t2) => ({
            padding: `${t2.space.$none} ${t2.space.$2}`,
            display: "flex",
            flexDirection: "column"
          }),
          children: [/* @__PURE__ */ jsx2(Text2, {
            elementDescriptor: descriptors.formFieldRadioLabelTitle,
            variant: "subtitle",
            localizationKey: props.label
          }), props.description && /* @__PURE__ */ jsx2(Text2, {
            elementDescriptor: descriptors.formFieldRadioLabelDescription,
            colorScheme: "secondary",
            localizationKey: props.description
          })]
        });
      };
      RadioItem = (0, import_react130.forwardRef)((props, ref) => {
        const randomId = (0, import_react130.useId)();
        return /* @__PURE__ */ jsxs2(Flex2, {
          elementDescriptor: descriptors.formFieldRadioGroupItem,
          align: "start",
          children: [/* @__PURE__ */ jsx2(RadioIndicator, {
            id: randomId,
            ref,
            value: props.value
          }), /* @__PURE__ */ jsx2(RadioLabel, {
            id: randomId,
            label: props.label,
            description: props.description
          })]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/FieldControl.js
  var import_react131, Root3, FieldAction, FieldOptionalLabel, FieldLabelIcon, FieldLabel, FieldLabelRow, FieldFeedback, PhoneInputElement, PasswordInputElement, CheckboxIndicator, CheckboxLabel, InputElement, InputGroupElement, Field;
  var init_FieldControl = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/FieldControl.js"() {
      init_localizationKeys();
      init_makeLocalizable();
      init_useFormField();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_CodeControl();
      init_FormControl();
      init_InputGroup();
      init_PasswordInput();
      init_PhoneInput();
      init_RadioGroup();
      import_react131 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      Root3 = (props) => {
        const card = useCardState();
        const { children, isDisabled: isDisabledProp, ...restProps } = props;
        const isDisabled = isDisabledProp || card.isLoading;
        return /* @__PURE__ */ jsx2(FormFieldContextProvider, {
          ...restProps,
          isDisabled,
          children
        });
      };
      FieldAction = (props) => {
        const { fieldId, isDisabled } = useFormField();
        if (!props.localizationKey && !props.children) return null;
        return /* @__PURE__ */ jsx2(Link2, {
          localizationKey: props.localizationKey,
          elementDescriptor: descriptors.formFieldAction,
          elementId: descriptors.formFieldLabel.setId(fieldId),
          isDisabled,
          colorScheme: "primary",
          variant: "buttonSmall",
          onClick: (e3) => {
            e3.preventDefault();
            props.onClick?.(e3);
          },
          children: props.children
        });
      };
      FieldOptionalLabel = () => {
        const { fieldId, isDisabled } = useFormField();
        return /* @__PURE__ */ jsx2(Text2, {
          localizationKey: localizationKeys("formFieldHintText__optional"),
          elementDescriptor: descriptors.formFieldHintText,
          elementId: descriptors.formFieldHintText.setId(fieldId),
          as: "span",
          variant: "caption",
          colorScheme: "secondary",
          isDisabled
        });
      };
      FieldLabelIcon = (props) => {
        const { t: t2 } = useLocalizations();
        if (!props.icon) return null;
        return /* @__PURE__ */ jsx2(Flex2, {
          as: "span",
          title: t2(localizationKeys("formFieldHintText__slug")),
          sx: { marginInlineEnd: "auto" },
          children: /* @__PURE__ */ jsx2(Icon, {
            icon: props.icon,
            sx: (theme) => ({
              marginInlineStart: theme.space.$0x5,
              color: theme.colors.$neutralAlpha400,
              width: theme.sizes.$4,
              height: theme.sizes.$4
            })
          })
        });
      };
      FieldLabel = (props) => {
        const { isRequired, id, label, isDisabled, hasError } = useFormField();
        if (!(props.localizationKey || label) && !props.children) return null;
        return /* @__PURE__ */ jsx2(FormLabel2, {
          localizationKey: props.localizationKey || label,
          elementDescriptor: descriptors.formFieldLabel,
          elementId: descriptors.formFieldLabel.setId(id),
          hasError: !!hasError,
          isDisabled,
          isRequired,
          sx: {
            display: "flex",
            alignItems: "center"
          },
          children: props.children
        });
      };
      FieldLabelRow = (props) => {
        const { fieldId } = useFormField();
        return /* @__PURE__ */ jsx2(Flex2, {
          justify: "between",
          align: "center",
          elementDescriptor: descriptors.formFieldLabelRow,
          elementId: descriptors.formFieldLabelRow.setId(fieldId),
          children: props.children
        });
      };
      FieldFeedback = (props) => {
        const { fieldId, debouncedFeedback } = useFormField();
        return /* @__PURE__ */ jsx2(FormFeedback, {
          center: props.center,
          ...debouncedFeedback,
          elementDescriptors: props.elementDescriptors,
          id: fieldId
        });
      };
      PhoneInputElement = (0, import_react131.forwardRef)((_3, ref) => {
        const { t: t2 } = useLocalizations();
        const formField = useFormField();
        const { placeholder, ...inputProps } = sanitizeInputProps(formField);
        return /* @__PURE__ */ jsx2(PhoneInput, {
          ref,
          elementDescriptor: descriptors.formFieldInput,
          elementId: descriptors.formFieldInput.setId(formField.fieldId),
          ...inputProps,
          feedbackType: formField.feedbackType,
          placeholder: t2(placeholder)
        });
      });
      PasswordInputElement = (0, import_react131.forwardRef)((_3, ref) => {
        const { t: t2 } = useLocalizations();
        const formField = useFormField();
        const { placeholder, ...inputProps } = sanitizeInputProps(formField, [
          "validatePassword",
          "setError",
          "setWarning",
          "setSuccess",
          "setInfo",
          "setHasPassedComplexity"
        ]);
        return /* @__PURE__ */ jsx2(PasswordInput, {
          ref,
          elementDescriptor: descriptors.formFieldInput,
          elementId: descriptors.formFieldInput.setId(formField.fieldId),
          ...inputProps,
          placeholder: t2(placeholder)
        });
      });
      CheckboxIndicator = (0, import_react131.forwardRef)(({ elementDescriptor, elementId }, ref) => {
        const formField = useFormField();
        const { placeholder, ...inputProps } = sanitizeInputProps(formField);
        return /* @__PURE__ */ jsx2(CheckboxInput2, {
          ref,
          ...inputProps,
          elementDescriptor: elementDescriptor || descriptors.formFieldInput,
          elementId: elementId || descriptors.formFieldInput.setId(formField.fieldId),
          focusRing: false,
          sx: (t2) => ({
            width: "fit-content",
            flexShrink: 0,
            marginTop: t2.space.$0x5
          })
        });
      });
      CheckboxLabel = (props) => {
        const { label, id } = useFormField();
        if (!label) return null;
        return /* @__PURE__ */ jsx2(RadioLabel, {
          label,
          id,
          description: props.description
        });
      };
      InputElement = (0, import_react131.forwardRef)((_3, ref) => {
        const { t: t2 } = useLocalizations();
        const formField = useFormField();
        const { placeholder, ...inputProps } = sanitizeInputProps(formField);
        return /* @__PURE__ */ jsx2(Input2, {
          ref,
          elementDescriptor: descriptors.formFieldInput,
          elementId: descriptors.formFieldInput.setId(formField.fieldId),
          ...inputProps,
          placeholder: t2(placeholder)
        });
      });
      InputGroupElement = (0, import_react131.forwardRef)((props, ref) => {
        const { t: t2 } = useLocalizations();
        const formField = useFormField();
        const { placeholder, ...inputProps } = sanitizeInputProps(formField);
        return /* @__PURE__ */ jsx2(InputGroup, {
          ref,
          elementDescriptor: descriptors.formFieldInput,
          elementId: descriptors.formFieldInput.setId(formField.fieldId),
          ...inputProps,
          groupPrefix: props.groupPrefix,
          groupSuffix: props.groupSuffix,
          placeholder: t2(placeholder)
        });
      });
      Field = {
        Root: Root3,
        Label: FieldLabel,
        LabelRow: FieldLabelRow,
        Input: InputElement,
        PasswordInput: PasswordInputElement,
        PhoneInput: PhoneInputElement,
        InputGroup: InputGroupElement,
        RadioItem,
        CheckboxIndicator,
        CheckboxLabel,
        Action: FieldAction,
        AsOptional: FieldOptionalLabel,
        LabelIcon: FieldLabelIcon,
        Feedback: FieldFeedback,
        OTPRoot,
        OTPCodeControl,
        OTPResendButton
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Form.js
  var import_react132, FormState, useFormState, FormRoot, FormSubmit, FormReset, FormControlRow, CommonInputWrapper, LastAuthenticationStrategyBadgeWithFormState, PlainInput, PasswordInput2, PhoneInput2, InputGroup2, Checkbox, RadioGroup, OTPInput, Form$1;
  var init_Form2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Form.js"() {
      init_useLoadingStatus();
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Badge2();
      init_FieldControl();
      import_react132 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      [FormState, useFormState] = createContextAndHook("FormState");
      FormRoot = (props) => {
        const card = useCardState();
        const status = useLoadingStatus();
        const [submittedWithEnter, setSubmittedWithEnter] = (0, import_react132.useState)(false);
        const onSubmit = async (e3) => {
          e3.preventDefault();
          e3.stopPropagation();
          if (!props.onSubmit) return;
          try {
            card.setLoading();
            status.setLoading();
            setSubmittedWithEnter(true);
            await props.onSubmit(e3);
          } finally {
            card.setIdle();
            status.setIdle();
          }
        };
        const value = import_react132.default.useMemo(() => {
          return { value: {
            isLoading: status.isLoading,
            isDisabled: card.isLoading || status.isLoading,
            submittedWithEnter
          } };
        }, [
          card.isLoading,
          status.isLoading,
          submittedWithEnter
        ]);
        return /* @__PURE__ */ jsx2(FormState.Provider, {
          value,
          children: /* @__PURE__ */ jsxs2(Form2, {
            elementDescriptor: descriptors.form,
            gap: 6,
            ...props,
            onSubmit,
            children: [/* @__PURE__ */ jsx2("button", {
              type: "submit",
              "aria-hidden": true,
              style: {
                visibility: "hidden",
                position: "absolute"
              }
            }), props.children]
          })
        });
      };
      FormSubmit = (props) => {
        const { isLoading, isDisabled } = useFormState();
        return /* @__PURE__ */ jsx2(Button2, {
          elementDescriptor: descriptors.formButtonPrimary,
          block: true,
          textVariant: "buttonLarge",
          isLoading,
          isDisabled,
          type: "submit",
          ...props,
          localizationKey: props.localizationKey || localizationKeys("formButtonPrimary")
        });
      };
      FormReset = (props) => {
        const { isLoading, isDisabled } = useFormState();
        return /* @__PURE__ */ jsx2(Button2, {
          elementDescriptor: descriptors.formButtonReset,
          block: true,
          variant: "ghost",
          type: "reset",
          isDisabled: isLoading || isDisabled,
          ...props
        });
      };
      FormControlRow = (props) => {
        const { elementId, ...rest } = props;
        return /* @__PURE__ */ jsx2(Flex2, {
          elementDescriptor: descriptors.formFieldRow,
          elementId: descriptors.formFieldRow.setId(elementId),
          justify: "between",
          gap: 4,
          ...rest
        });
      };
      CommonInputWrapper = (props) => {
        const { isOptional, isLastAuthenticationStrategy, icon: icon2, actionLabel, children, onActionClicked, ...fieldProps } = props;
        return /* @__PURE__ */ jsx2(Field.Root, {
          ...fieldProps,
          children: /* @__PURE__ */ jsxs2(Col2, {
            elementDescriptor: descriptors.formField,
            elementId: descriptors.formField.setId(fieldProps.id),
            sx: {
              position: "relative",
              flex: "1 1 auto"
            },
            children: [/* @__PURE__ */ jsxs2(Flex2, {
              direction: "col",
              sx: (t2) => ({ gap: t2.space.$2 }),
              children: [/* @__PURE__ */ jsxs2(Field.LabelRow, { children: [
                /* @__PURE__ */ jsx2(Field.Label, {}),
                /* @__PURE__ */ jsx2(Field.LabelIcon, { icon: icon2 }),
                !actionLabel && isOptional && /* @__PURE__ */ jsx2(Field.AsOptional, {}),
                actionLabel && /* @__PURE__ */ jsx2(Field.Action, {
                  localizationKey: actionLabel,
                  onClick: onActionClicked
                }),
                isLastAuthenticationStrategy && !actionLabel && !isOptional && /* @__PURE__ */ jsx2(LastAuthenticationStrategyBadgeWithFormState, {}),
                /* @__PURE__ */ jsx2(Field.Action, {})
              ] }), children]
            }), /* @__PURE__ */ jsx2(Field.Feedback, {})]
          })
        });
      };
      LastAuthenticationStrategyBadgeWithFormState = (props) => {
        const { isLoading, isDisabled } = useFormState();
        return /* @__PURE__ */ jsx2(LastAuthenticationStrategyBadge, {
          ...props,
          sx: (t2) => ({ opacity: isDisabled || isLoading ? t2.opacity.$disabled : 1 })
        });
      };
      PlainInput = (props) => {
        return /* @__PURE__ */ jsx2(CommonInputWrapper, {
          ...props,
          children: /* @__PURE__ */ jsx2(Field.Input, {})
        });
      };
      PasswordInput2 = (0, import_react132.forwardRef)((props, ref) => {
        return /* @__PURE__ */ jsx2(CommonInputWrapper, {
          ...props,
          children: /* @__PURE__ */ jsx2(Field.PasswordInput, { ref })
        });
      });
      PhoneInput2 = (props) => {
        return /* @__PURE__ */ jsx2(CommonInputWrapper, {
          ...props,
          children: /* @__PURE__ */ jsx2(Field.PhoneInput, {})
        });
      };
      InputGroup2 = (props) => {
        const { groupSuffix, groupPrefix, ...fieldProps } = props;
        return /* @__PURE__ */ jsx2(CommonInputWrapper, {
          ...fieldProps,
          children: /* @__PURE__ */ jsx2(Field.InputGroup, {
            groupSuffix,
            groupPrefix
          })
        });
      };
      Checkbox = (props) => {
        return /* @__PURE__ */ jsx2(Field.Root, {
          ...props,
          children: /* @__PURE__ */ jsxs2(Flex2, {
            align: "start",
            children: [/* @__PURE__ */ jsx2(Field.CheckboxIndicator, {}), /* @__PURE__ */ jsx2(Field.CheckboxLabel, { description: props.description })]
          })
        });
      };
      RadioGroup = (props) => {
        const { radioOptions, ...fieldProps } = props;
        return /* @__PURE__ */ jsxs2(Field.Root, {
          ...fieldProps,
          children: [/* @__PURE__ */ jsx2(Col2, {
            elementDescriptor: descriptors.formFieldRadioGroup,
            gap: 3,
            children: radioOptions?.map(({ value, description, label }) => /* @__PURE__ */ jsx2(Flex2, {
              sx: (t2) => ({
                borderWidth: t2.borderWidths.$normal,
                borderStyle: t2.borderStyles.$solid,
                borderColor: t2.colors.$borderAlpha100,
                borderRadius: t2.radii.$md,
                padding: t2.space.$2
              }),
              children: /* @__PURE__ */ jsx2(Field.RadioItem, {
                value,
                label,
                description
              })
            }, value))
          }), /* @__PURE__ */ jsx2(Field.Feedback, {})]
        });
      };
      OTPInput = (props) => {
        const { centerAlign = true } = props;
        return /* @__PURE__ */ jsx2(Field.Root, {
          ...props.otpControl.otpInputProps,
          children: /* @__PURE__ */ jsx2(Field.OTPRoot, {
            ...props,
            children: /* @__PURE__ */ jsxs2(Col2, {
              elementDescriptor: descriptors.form,
              gap: 2,
              align: centerAlign ? "center" : "start",
              children: [/* @__PURE__ */ jsxs2(Flex2, {
                elementDescriptor: descriptors.otpCodeField,
                isLoading: props.isLoading,
                hasError: props.otpControl.otpInputProps.feedbackType === "error",
                direction: "col",
                children: [/* @__PURE__ */ jsx2(Field.OTPCodeControl, {}), /* @__PURE__ */ jsx2(Field.Feedback, {
                  center: true,
                  elementDescriptors: {
                    error: descriptors.otpCodeFieldErrorText,
                    success: descriptors.otpCodeFieldSuccessText
                  }
                })]
              }), /* @__PURE__ */ jsx2(Field.OTPResendButton, {})]
            })
          })
        });
      };
      Form$1 = {
        Root: FormRoot,
        ControlRow: FormControlRow,
        PlainInput,
        PasswordInput: PasswordInput2,
        PhoneInput: PhoneInput2,
        OTPInput,
        InputGroup: InputGroup2,
        RadioGroup,
        Checkbox,
        SubmitButton: FormSubmit,
        ResetButton: FormReset,
        CommonInputWrapper
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/FormButtons.js
  var FormButtons, FormButtonContainer;
  var init_FormButtons = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/FormButtons.js"() {
      init_useNavigateToFlowStart();
      init_localizationKeys();
      init_customizables();
      init_Form2();
      init_emotion_react_jsx_runtime_browser_esm();
      FormButtons = (props) => {
        const { isDisabled, onReset, submitLabel, resetLabel, hideReset, ...rest } = props;
        const { navigateToFlowStart } = useNavigateToFlowStart();
        return /* @__PURE__ */ jsxs2(FormButtonContainer, { children: [/* @__PURE__ */ jsx2(Form$1.SubmitButton, {
          block: false,
          isDisabled,
          localizationKey: submitLabel || localizationKeys("userProfile.formButtonPrimary__save"),
          ...rest
        }), !hideReset && /* @__PURE__ */ jsx2(Form$1.ResetButton, {
          localizationKey: resetLabel || localizationKeys("userProfile.formButtonReset"),
          block: false,
          onClick: onReset || navigateToFlowStart
        })] });
      };
      FormButtonContainer = (props) => {
        return /* @__PURE__ */ jsx2(Flex2, {
          direction: "rowReverse",
          gap: 2,
          ...props,
          children: props.children
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/FormContainer.js
  var FormContainer;
  var init_FormContainer = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/FormContainer.js"() {
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_emotion_react_jsx_runtime_browser_esm();
      FormContainer = (props) => {
        const { headerTitle, headerTitleTextVariant = "h3", headerSubtitle, headerSubtitleTextVariant = "body", badgeText, children, sx, ...rest } = props;
        const card = useCardState();
        return /* @__PURE__ */ jsxs2(Col2, {
          elementDescriptor: descriptors.formContainer,
          gap: 8,
          ...rest,
          sx: [sx],
          children: [
            (headerTitle || headerSubtitle) && /* @__PURE__ */ jsxs2(Header.Root, {
              badgeText,
              children: [headerTitle && /* @__PURE__ */ jsx2(Header.Title, {
                textVariant: headerTitleTextVariant,
                ...typeof headerTitle === "string" ? { children: headerTitle } : { localizationKey: headerTitle }
              }), headerSubtitle && /* @__PURE__ */ jsx2(Header.Subtitle, {
                variant: headerSubtitleTextVariant,
                ...typeof headerSubtitle === "string" ? { children: headerSubtitle } : { localizationKey: headerSubtitle }
              })]
            }),
            /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
            /* @__PURE__ */ jsx2(Col2, {
              gap: 8,
              children
            })
          ]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/createSlug.js
  var createSlug;
  var init_createSlug = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/createSlug.js"() {
      createSlug = (str) => {
        return str.trim().toLowerCase().replace(/[^a-z0-9]+/g, "-");
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/AvatarUploader.js
  var import_react134, fileToBase64, MAX_SIZE_BYTES, SUPPORTED_MIME_TYPES, validType, validSize, AvatarUploader;
  var init_AvatarUploader = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/AvatarUploader.js"() {
      init_localizationKeys();
      init_makeLocalizable();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_errorHandler();
      import_react134 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      fileToBase64 = (file) => {
        return new Promise((resolve, reject) => {
          const reader = new FileReader();
          reader.readAsDataURL(file);
          reader.onload = () => resolve(reader.result);
          reader.onerror = (error2) => reject(error2);
        });
      };
      MAX_SIZE_BYTES = 10 * 1e3 * 1e3;
      SUPPORTED_MIME_TYPES = Object.freeze([
        "image/png",
        "image/jpeg",
        "image/gif",
        "image/webp"
      ]);
      validType = (f3) => SUPPORTED_MIME_TYPES.includes(f3.type);
      validSize = (f3) => f3.size <= MAX_SIZE_BYTES;
      AvatarUploader = (props) => {
        const { t: t2 } = useLocalizations();
        const [showUpload, setShowUpload] = import_react134.default.useState(false);
        const [objectUrl, setObjectUrl] = import_react134.default.useState();
        const card = useCardState();
        const inputRef = import_react134.default.useRef(null);
        const openDialog = () => inputRef.current?.click();
        const { onAvatarChange, onAvatarRemove, title, avatarPreview, avatarPreviewPlaceholder, ...rest } = props;
        const toggle = () => {
          setShowUpload(!showUpload);
        };
        const handleFileDrop = (file) => {
          if (file === null) return setObjectUrl("");
          fileToBase64(file).then(setObjectUrl);
          card.setLoading();
          return onAvatarChange(file).then(() => {
            toggle();
            card.setIdle();
          }).catch((err) => handleError(err, [], card.setError));
        };
        const handleRemove = async () => {
          card.setLoading();
          await handleFileDrop(null);
          return onAvatarRemove?.();
        };
        const upload = async (f3) => {
          if (!f3) return;
          if (!validType(f3)) {
            card.setError(t2(localizationKeys("unstable__errors.avatar_file_type_invalid")));
            return;
          }
          if (!validSize(f3)) {
            card.setError(t2(localizationKeys("unstable__errors.avatar_file_size_exceeded")));
            return;
          }
          await handleFileDrop(f3);
        };
        const hasExistingImage = !!avatarPreview.props?.imageUrl;
        const previewElement = objectUrl ? import_react134.default.cloneElement(avatarPreview, { imageUrl: objectUrl }) : avatarPreviewPlaceholder && !hasExistingImage ? import_react134.default.cloneElement(avatarPreviewPlaceholder, { onClick: openDialog }) : avatarPreview;
        return /* @__PURE__ */ jsxs2(Col2, {
          gap: 4,
          children: [/* @__PURE__ */ jsx2("input", {
            type: "file",
            accept: SUPPORTED_MIME_TYPES.join(","),
            style: { display: "none" },
            ref: inputRef,
            onChange: (e3) => upload(e3.currentTarget.files?.[0])
          }), /* @__PURE__ */ jsxs2(Flex2, {
            gap: 4,
            align: "center",
            ...rest,
            children: [previewElement, /* @__PURE__ */ jsxs2(Col2, {
              gap: 1,
              children: [/* @__PURE__ */ jsxs2(Flex2, {
                elementDescriptor: descriptors.avatarImageActions,
                gap: 2,
                children: [/* @__PURE__ */ jsx2(SimpleButton2, {
                  elementDescriptor: descriptors.avatarImageActionsUpload,
                  localizationKey: localizationKeys("userProfile.profilePage.imageFormSubtitle"),
                  isDisabled: card.isLoading,
                  variant: "outline",
                  size: "xs",
                  onClick: openDialog
                }), !!onAvatarRemove && !showUpload && /* @__PURE__ */ jsx2(Button2, {
                  elementDescriptor: descriptors.avatarImageActionsRemove,
                  localizationKey: localizationKeys("userProfile.profilePage.imageFormDestructiveActionSubtitle"),
                  isDisabled: card.isLoading,
                  sx: (t$1) => ({ color: t$1.colors.$danger500 }),
                  variant: "ghost",
                  colorScheme: "danger",
                  onClick: handleRemove,
                  size: "xs"
                })]
              }), /* @__PURE__ */ jsx2(Text2, {
                colorScheme: "secondary",
                sx: (t$1) => ({ fontSize: t$1.fontSizes.$sm }),
                localizationKey: localizationKeys("userProfile.profilePage.fileDropAreaHint")
              })]
            })]
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationProfileAvatarUploader.js
  var OrganizationProfileAvatarUploader;
  var init_OrganizationProfileAvatarUploader = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationProfileAvatarUploader.js"() {
      init_localizationKeys();
      init_elementDescriptors();
      init_customizables();
      init_AvatarUploader();
      init_OrganizationAvatar();
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationProfileAvatarUploader = (props) => {
        const { organization, showLoadingSpinner, ...rest } = props;
        return /* @__PURE__ */ jsxs2(Col2, {
          elementDescriptor: descriptors.organizationAvatarUploaderContainer,
          children: [/* @__PURE__ */ jsx2(Text2, {
            variant: "subtitle",
            sx: (t2) => ({
              textAlign: "start",
              marginBottom: t2.space.$2
            }),
            localizationKey: localizationKeys("organizationProfile.start.profileSection.uploadAction__title")
          }), /* @__PURE__ */ jsx2(AvatarUploader, {
            ...rest,
            title: localizationKeys("userProfile.profilePage.imageFormTitle"),
            avatarPreview: /* @__PURE__ */ jsx2(OrganizationAvatar, {
              size: (theme) => theme.sizes.$16,
              showLoadingSpinner,
              ...organization
            })
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskChooseOrganization/OrganizationCreationDefaultsAlert.js
  function OrganizationCreationDefaultsAlert({ organizationCreationDefaults }) {
    const localizationKey = advisoryToLocalizationKey(organizationCreationDefaults?.advisory);
    if (!localizationKey) return null;
    return /* @__PURE__ */ jsx2(Alert2, {
      colorScheme: "warning",
      children: /* @__PURE__ */ jsx2(Text2, {
        colorScheme: "warning",
        localizationKey,
        variant: "caption"
      })
    });
  }
  var advisoryToLocalizationKey;
  var init_OrganizationCreationDefaultsAlert = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskChooseOrganization/OrganizationCreationDefaultsAlert.js"() {
      init_localizationKeys();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      advisoryToLocalizationKey = (advisory) => {
        if (!advisory) return null;
        switch (advisory.code) {
          case "organization_already_exists":
            return localizationKeys("taskChooseOrganization.alerts.organizationAlreadyExists", {
              organizationDomain: advisory.meta.organization_domain,
              organizationName: advisory.meta.organization_name
            });
          default:
            return null;
        }
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskChooseOrganization/CreateOrganizationScreen.js
  var import_react135, CreateOrganizationScreen;
  var init_CreateOrganizationScreen = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskChooseOrganization/CreateOrganizationScreen.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_upload();
      init_SessionTasks();
      init_useFormControl();
      init_contexts();
      init_customizables();
      init_IconButton();
      init_Header();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_createSlug();
      init_OrganizationProfileAvatarUploader();
      init_utils5();
      init_OrganizationCreationDefaultsAlert();
      import_react135 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      CreateOrganizationScreen = (props) => {
        const card = useCardState();
        const { navigateOnSetActive } = useSessionTasksContext();
        const { redirectUrlComplete } = useTaskChooseOrganizationContext();
        const { createOrganization, isLoaded, setActive } = useOrganizationList({ userMemberships: organizationListParams.userMemberships });
        const { organizationSettings } = useEnvironment();
        const [file, setFile] = (0, import_react135.useState)();
        const nameField = useFormControl("name", props.organizationCreationDefaults?.form?.name ?? "", {
          type: "text",
          label: localizationKeys("taskChooseOrganization.createOrganization.formFieldLabel__name"),
          placeholder: localizationKeys("taskChooseOrganization.createOrganization.formFieldInputPlaceholder__name")
        });
        const slugField = useFormControl("slug", props.organizationCreationDefaults?.form?.slug ?? "", {
          type: "text",
          label: localizationKeys("taskChooseOrganization.createOrganization.formFieldLabel__slug"),
          placeholder: localizationKeys("taskChooseOrganization.createOrganization.formFieldInputPlaceholder__slug")
        });
        const organizationSlugEnabled = !organizationSettings.slug.disabled;
        const onSubmit = async (e3) => {
          e3.preventDefault();
          if (!isLoaded) return;
          try {
            const createOrgParams = { name: nameField.value };
            if (organizationSlugEnabled) createOrgParams.slug = slugField.value;
            const organization = await createOrganization(createOrgParams);
            const uploadOrganizationLogoPromise = uploadOrganizationLogo(organization);
            await Promise.allSettled([uploadOrganizationLogoPromise]);
            await setActive({
              organization,
              navigate: async ({ session, decorateUrl }) => {
                await navigateOnSetActive?.({
                  session,
                  redirectUrlComplete,
                  decorateUrl
                });
              }
            });
          } catch (err) {
            handleError(err, [nameField, slugField], card.setError);
          }
        };
        const uploadOrganizationLogo = async (organization) => {
          if (file) await organization.setLogo({ file });
          else if (defaultLogoUrl) {
            const blob3 = await (await fetch(defaultLogoUrl)).blob();
            const logoFile = new File([blob3], "logo", { type: blob3.type });
            await organization.setLogo({ file: logoFile });
          }
        };
        const onChangeName = (event) => {
          nameField.setValue(event.target.value);
          updateSlugField(createSlug(event.target.value));
        };
        const updateSlugField = (val) => {
          slugField.setValue(val);
        };
        const onAvatarRemove = () => {
          card.setIdle();
          return setFile(null);
        };
        const isSubmitButtonDisabled = !nameField.value || !isLoaded;
        const defaultLogoUrl = file === void 0 ? props.organizationCreationDefaults?.form?.logo : void 0;
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsxs2(Header.Root, {
          showLogo: true,
          sx: (t2) => ({ padding: `${t2.space.$none} ${t2.space.$8}` }),
          children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("taskChooseOrganization.createOrganization.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("taskChooseOrganization.createOrganization.subtitle") })]
        }), /* @__PURE__ */ jsx2(FormContainer, {
          sx: (t2) => ({ padding: `${t2.space.$none} ${t2.space.$10} ${t2.space.$8}` }),
          children: /* @__PURE__ */ jsxs2(Form$1.Root, {
            onSubmit,
            children: [
              /* @__PURE__ */ jsx2(OrganizationCreationDefaultsAlert, { organizationCreationDefaults: props.organizationCreationDefaults }),
              /* @__PURE__ */ jsx2(OrganizationProfileAvatarUploader, {
                organization: {
                  name: nameField.value,
                  imageUrl: defaultLogoUrl ?? void 0
                },
                onAvatarChange: async (file$1) => await setFile(file$1),
                onAvatarRemove: file || defaultLogoUrl ? onAvatarRemove : null,
                showLoadingSpinner: !!defaultLogoUrl,
                avatarPreviewPlaceholder: /* @__PURE__ */ jsx2(IconButton, {
                  variant: "ghost",
                  "aria-label": "Upload organization logo",
                  icon: /* @__PURE__ */ jsx2(Icon, {
                    size: "md",
                    icon: upload_default,
                    sx: (t2) => ({
                      color: t2.colors.$colorMutedForeground,
                      transitionDuration: t2.transitionDuration.$controls
                    })
                  }),
                  sx: (t2) => ({
                    width: t2.sizes.$16,
                    height: t2.sizes.$16,
                    borderRadius: t2.radii.$md,
                    borderWidth: t2.borderWidths.$normal,
                    borderStyle: t2.borderStyles.$dashed,
                    borderColor: t2.colors.$borderAlpha200,
                    backgroundColor: t2.colors.$neutralAlpha50,
                    ":hover": {
                      backgroundColor: t2.colors.$neutralAlpha50,
                      svg: { transform: "scale(1.2)" }
                    }
                  })
                })
              }),
              /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: nameField.id,
                children: /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                  ...nameField.props,
                  onChange: onChangeName,
                  isRequired: true,
                  autoFocus: true,
                  ignorePasswordManager: true
                })
              }),
              organizationSlugEnabled && /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: slugField.id,
                children: /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                  ...slugField.props,
                  onChange: (event) => updateSlugField(event.target.value),
                  isRequired: true,
                  pattern: "^(?=.*[a-z0-9])[a-z0-9\\-]+$",
                  ignorePasswordManager: true
                })
              }),
              /* @__PURE__ */ jsxs2(FormButtonContainer, {
                sx: () => ({ flexDirection: "column" }),
                children: [/* @__PURE__ */ jsx2(Form$1.SubmitButton, {
                  block: true,
                  isDisabled: isSubmitButtonDisabled,
                  localizationKey: localizationKeys("taskChooseOrganization.createOrganization.formButtonSubmit")
                }), props.onCancel && /* @__PURE__ */ jsx2(Form$1.ResetButton, {
                  localizationKey: localizationKeys("taskChooseOrganization.createOrganization.formButtonReset"),
                  onClick: props.onCancel
                })]
              })
            ]
          })
        })] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskChooseOrganization/index.js
  var TaskChooseOrganization_exports = {};
  __export(TaskChooseOrganization_exports, {
    TaskChooseOrganization: () => TaskChooseOrganization
  });
  function OrganizationCreationDisabledScreen() {
    return /* @__PURE__ */ jsx2(Flow.Root, {
      flow: "taskChooseOrganization",
      children: /* @__PURE__ */ jsx2(Flow.Part, {
        part: "organizationCreationDisabled",
        children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsx2(Card.Content, { children: /* @__PURE__ */ jsxs2(Header.Root, {
          showLogo: true,
          children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("taskChooseOrganization.organizationCreationDisabled.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("taskChooseOrganization.organizationCreationDisabled.subtitle") })]
        }) }), /* @__PURE__ */ jsx2(TaskChooseOrganizationCardFooter, {})] })
      })
    });
  }
  var import_react137, TaskChooseOrganizationInternal, TaskChooseOrganizationCardFooter, TaskChooseOrganizationFlows, TaskChooseOrganization;
  var init_TaskChooseOrganization = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskChooseOrganization/index.js"() {
      init_localizationKeys();
      init_SignOut();
      init_CoreSessionContext();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      init_useMultipleSessions();
      init_useOrganizationListInView();
      init_withTaskGuard();
      init_ChooseOrganizationScreen();
      init_CreateOrganizationScreen();
      import_react137 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      TaskChooseOrganizationInternal = () => {
        const { user } = useUser();
        const { userMemberships, userSuggestions, userInvitations } = useOrganizationListInView();
        const organizationCreationDefaults = useOrganizationCreationDefaults();
        const isLoading = userMemberships?.isLoading || userInvitations?.isLoading || userSuggestions?.isLoading || organizationCreationDefaults?.isLoading;
        const hasExistingResources = !!(userMemberships?.count || userInvitations?.count || userSuggestions?.count);
        if (!isLoading && !user?.createOrganizationEnabled && user?.organizationMemberships?.length === 0 && !hasExistingResources) return /* @__PURE__ */ jsx2(OrganizationCreationDisabledScreen, {});
        return /* @__PURE__ */ jsx2(Flow.Root, {
          flow: "taskChooseOrganization",
          children: /* @__PURE__ */ jsx2(Flow.Part, {
            part: "chooseOrganization",
            children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsx2(Card.Content, {
              sx: (t2) => ({
                padding: `${t2.space.$8} ${t2.space.$none} ${t2.space.$none}`,
                gap: t2.space.$7
              }),
              children: isLoading ? /* @__PURE__ */ jsx2(Flex2, {
                direction: "row",
                align: "center",
                justify: "center",
                sx: (t2) => ({
                  height: "100%",
                  minHeight: t2.sizes.$100
                }),
                children: /* @__PURE__ */ jsx2(Spinner, {
                  size: "lg",
                  colorScheme: "primary",
                  elementDescriptor: descriptors.spinner
                })
              }) : /* @__PURE__ */ jsx2(TaskChooseOrganizationFlows, {
                initialFlow: hasExistingResources ? "choose" : "create",
                organizationCreationDefaults: organizationCreationDefaults.data
              })
            }), /* @__PURE__ */ jsx2(TaskChooseOrganizationCardFooter, {})] })
          })
        });
      };
      TaskChooseOrganizationCardFooter = () => {
        const { signOut } = useClerk();
        const { user } = useUser();
        const { session } = useSession();
        const { otherSessions } = useMultipleSessions({ user });
        const { navigateAfterSignOut, navigateAfterMultiSessionSingleSignOutUrl } = useSignOutContext();
        const handleSignOut = () => {
          if (otherSessions.length === 0) return signOut(navigateAfterSignOut);
          return signOut(navigateAfterMultiSessionSingleSignOutUrl, { sessionId: session?.id });
        };
        const identifier2 = user?.primaryEmailAddress?.emailAddress ?? user?.username;
        return /* @__PURE__ */ jsx2(Card.Footer, { children: /* @__PURE__ */ jsxs2(Card.Action, {
          elementId: "signOut",
          gap: 2,
          justify: "center",
          sx: () => ({ width: "100%" }),
          children: [identifier2 && /* @__PURE__ */ jsx2(Card.ActionText, {
            truncate: true,
            localizationKey: localizationKeys("taskChooseOrganization.signOut.actionText", { identifier: identifier2 })
          }), /* @__PURE__ */ jsx2(Card.ActionLink, {
            sx: () => ({ flexShrink: 0 }),
            onClick: handleSignOut,
            localizationKey: localizationKeys("taskChooseOrganization.signOut.actionLink")
          })]
        }) });
      };
      TaskChooseOrganizationFlows = withCardStateProvider((props) => {
        const [currentFlow, setCurrentFlow] = (0, import_react137.useState)(props.initialFlow);
        if (currentFlow === "create") return /* @__PURE__ */ jsx2(CreateOrganizationScreen, {
          onCancel: props.initialFlow === "choose" ? () => setCurrentFlow("choose") : void 0,
          organizationCreationDefaults: props.organizationCreationDefaults
        });
        return /* @__PURE__ */ jsx2(ChooseOrganizationScreen, { onCreateOrganizationClick: () => setCurrentFlow("create") });
      });
      TaskChooseOrganization = withCoreSessionSwitchGuard(withTaskGuard(withCardStateProvider(TaskChooseOrganizationInternal), "choose-organization"));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskResetPassword/index.js
  var TaskResetPassword_exports = {};
  __export(TaskResetPassword_exports, {
    TaskResetPassword: () => TaskResetPassword
  });
  var TaskResetPasswordInternal, TaskResetPassword;
  var init_TaskResetPassword = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskResetPassword/index.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_passwordUtils();
      init_usePassword();
      init_SignOut();
      init_SessionTasks();
      init_CoreSessionContext();
      init_makeLocalizable();
      init_useFormControl();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      init_errorHandler();
      init_Form2();
      init_useMultipleSessions();
      init_withTaskGuard();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      TaskResetPasswordInternal = () => {
        const clerk2 = useClerk();
        const card = useCardState();
        const { userSettings: { passwordSettings } } = useEnvironment();
        const { t: t2, locale } = useLocalizations();
        const { redirectUrlComplete } = useTaskResetPasswordContext();
        const { otherSessions } = useMultipleSessions({ user: clerk2.user });
        const { navigateAfterSignOut, navigateAfterMultiSessionSingleSignOutUrl } = useSignOutContext();
        const updatePasswordWithReverification = useReverification((user, opts) => user.updatePassword(...opts));
        const { navigateOnSetActive } = useSessionTasksContext();
        const handleSignOut = () => {
          if (otherSessions.length === 0) return clerk2?.signOut(navigateAfterSignOut);
          return clerk2?.signOut(navigateAfterMultiSessionSingleSignOutUrl, { sessionId: clerk2.session?.id });
        };
        const passwordField = useFormControl("newPassword", "", {
          type: "password",
          label: localizationKeys("formFieldLabel__newPassword"),
          isRequired: true,
          validatePassword: true,
          buildErrorMessage: (errors) => createPasswordError(errors, {
            t: t2,
            locale,
            passwordSettings
          })
        });
        const confirmField = useFormControl("confirmPassword", "", {
          type: "password",
          label: localizationKeys("formFieldLabel__confirmPassword"),
          isRequired: true
        });
        const sessionsField = useFormControl("signOutOfOtherSessions", "", {
          type: "checkbox",
          label: localizationKeys("formFieldLabel__signOutOfOtherSessions"),
          defaultChecked: true
        });
        const { setConfirmPasswordFeedback, isPasswordMatch } = useConfirmPassword({
          passwordField,
          confirmPasswordField: confirmField
        });
        const canSubmit = isPasswordMatch;
        const validateForm = () => {
          if (passwordField.value) setConfirmPasswordFeedback(confirmField.value);
        };
        const resetPassword = () => {
          return card.runAsync(async () => {
            if (!canSubmit || !clerk2.user) return;
            passwordField.clearFeedback();
            confirmField.clearFeedback();
            try {
              await updatePasswordWithReverification(clerk2.user, [{
                newPassword: passwordField.value,
                signOutOfOtherSessions: sessionsField.checked
              }]);
              await clerk2.setActive({
                session: clerk2.session,
                navigate: async ({ session, decorateUrl }) => {
                  await navigateOnSetActive?.({
                    session,
                    redirectUrlComplete,
                    decorateUrl
                  });
                }
              });
            } catch (e3) {
              return handleError(e3, [passwordField, confirmField], card.setError);
            }
          });
        };
        const identifier2 = clerk2.user?.primaryEmailAddress?.emailAddress ?? clerk2.user?.username;
        return /* @__PURE__ */ jsx2(Flow.Root, {
          flow: "taskResetPassword",
          children: /* @__PURE__ */ jsx2(Flow.Part, {
            part: "resetPassword",
            children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
              /* @__PURE__ */ jsxs2(Header.Root, {
                showLogo: true,
                children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("taskResetPassword.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("taskResetPassword.subtitle") })]
              }),
              /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
              /* @__PURE__ */ jsx2(Col2, {
                elementDescriptor: descriptors.main,
                gap: 8,
                children: /* @__PURE__ */ jsxs2(Form$1.Root, {
                  onSubmit: () => {
                    resetPassword();
                  },
                  onBlur: validateForm,
                  gap: 8,
                  children: [/* @__PURE__ */ jsxs2(Col2, {
                    gap: 6,
                    children: [
                      /* @__PURE__ */ jsx2("input", {
                        readOnly: true,
                        "data-testid": "hidden-identifier",
                        id: "identifier-field",
                        name: "identifier",
                        value: clerk2.user?.primaryEmailAddress?.emailAddress || clerk2.user?.username || "",
                        style: { display: "none" }
                      }),
                      /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                        elementId: passwordField.id,
                        children: /* @__PURE__ */ jsx2(Form$1.PasswordInput, {
                          ...passwordField.props,
                          isRequired: true,
                          minLength: 6
                        })
                      }),
                      /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                        elementId: confirmField.id,
                        children: /* @__PURE__ */ jsx2(Form$1.PasswordInput, {
                          ...confirmField.props,
                          onChange: (e3) => {
                            if (e3.target.value) setConfirmPasswordFeedback(e3.target.value);
                            return confirmField.props.onChange(e3);
                          },
                          autoComplete: "new-password"
                        })
                      }),
                      /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                        elementId: sessionsField.id,
                        children: /* @__PURE__ */ jsx2(Form$1.Checkbox, { ...sessionsField.props })
                      })
                    ]
                  }), /* @__PURE__ */ jsx2(Col2, {
                    gap: 3,
                    children: /* @__PURE__ */ jsx2(Form$1.SubmitButton, {
                      isLoading: card.isLoading,
                      isDisabled: !canSubmit,
                      localizationKey: localizationKeys("taskResetPassword.formButtonPrimary")
                    })
                  })]
                })
              })
            ] }), /* @__PURE__ */ jsx2(Card.Footer, { children: /* @__PURE__ */ jsxs2(Card.Action, {
              elementId: "signOut",
              gap: 2,
              justify: "center",
              sx: () => ({ width: "100%" }),
              children: [identifier2 && /* @__PURE__ */ jsx2(Card.ActionText, {
                truncate: true,
                localizationKey: localizationKeys("taskResetPassword.signOut.actionText", { identifier: identifier2 })
              }), /* @__PURE__ */ jsx2(Card.ActionLink, {
                sx: () => ({ flexShrink: 0 }),
                onClick: () => {
                  handleSignOut();
                },
                localizationKey: localizationKeys("taskResetPassword.signOut.actionLink")
              })]
            }) })] })
          })
        });
      };
      TaskResetPassword = withCoreSessionSwitchGuard(withTaskGuard(withCardStateProvider(TaskResetPasswordInternal), "reset-password"));
    }
  });

  // node_modules/@formkit/auto-animate/index.mjs
  function observePosition(el2) {
    const oldObserver = intersections.get(el2);
    oldObserver === null || oldObserver === void 0 ? void 0 : oldObserver.disconnect();
    let rect = coords.get(el2);
    let invocations = 0;
    const buffer = 5;
    if (!rect) {
      rect = getCoords(el2);
      coords.set(el2, rect);
    }
    const { offsetWidth, offsetHeight } = root;
    const rootMargins = [
      rect.top - buffer,
      offsetWidth - (rect.left + buffer + rect.width),
      offsetHeight - (rect.top + buffer + rect.height),
      rect.left - buffer
    ];
    const rootMargin = rootMargins.map((px) => `${-1 * Math.floor(px)}px`).join(" ");
    const observer = new IntersectionObserver(() => {
      ++invocations > 1 && updatePos(el2);
    }, {
      root,
      threshold: 1,
      rootMargin
    });
    observer.observe(el2);
    intersections.set(el2, observer);
  }
  function updatePos(el2) {
    clearTimeout(debounces.get(el2));
    const optionsOrPlugin = getOptions(el2);
    const delay = isPlugin(optionsOrPlugin) ? 500 : optionsOrPlugin.duration;
    debounces.set(el2, setTimeout(async () => {
      const currentAnimation = animations2.get(el2);
      try {
        await (currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.finished);
        coords.set(el2, getCoords(el2));
        observePosition(el2);
      } catch {
      }
    }, delay));
  }
  function updateAllPos() {
    clearTimeout(debounces.get(root));
    debounces.set(root, setTimeout(() => {
      parents.forEach((parent) => forEach(parent, (el2) => lowPriority(() => updatePos(el2))));
    }, 100));
  }
  function poll(el2) {
    setTimeout(() => {
      intervals.set(el2, setInterval(() => lowPriority(updatePos.bind(null, el2)), 2e3));
    }, Math.round(2e3 * Math.random()));
  }
  function lowPriority(callback) {
    if (typeof requestIdleCallback === "function") {
      requestIdleCallback(() => callback());
    } else {
      requestAnimationFrame(() => callback());
    }
  }
  function getElements(mutations) {
    const observedNodes = mutations.reduce((nodes, mutation) => {
      return [
        ...nodes,
        ...Array.from(mutation.addedNodes),
        ...Array.from(mutation.removedNodes)
      ];
    }, []);
    const onlyCommentNodesObserved = observedNodes.every((node2) => node2.nodeName === "#comment");
    if (onlyCommentNodesObserved)
      return false;
    return mutations.reduce((elements, mutation) => {
      if (elements === false)
        return false;
      if (mutation.target instanceof Element) {
        target(mutation.target);
        if (!elements.has(mutation.target)) {
          elements.add(mutation.target);
          for (let i2 = 0; i2 < mutation.target.children.length; i2++) {
            const child = mutation.target.children.item(i2);
            if (!child)
              continue;
            if (DEL in child) {
              return false;
            }
            target(mutation.target, child);
            elements.add(child);
          }
        }
        if (mutation.removedNodes.length) {
          for (let i2 = 0; i2 < mutation.removedNodes.length; i2++) {
            const child = mutation.removedNodes[i2];
            if (DEL in child) {
              return false;
            }
            if (child instanceof Element) {
              elements.add(child);
              target(mutation.target, child);
              siblings.set(child, [
                mutation.previousSibling,
                mutation.nextSibling
              ]);
            }
          }
        }
      }
      return elements;
    }, /* @__PURE__ */ new Set());
  }
  function target(el2, child) {
    if (!child && !(TGT in el2))
      Object.defineProperty(el2, TGT, { value: el2 });
    else if (child && !(TGT in child))
      Object.defineProperty(child, TGT, { value: el2 });
  }
  function animate(el2) {
    var _a5;
    const isMounted = el2.isConnected;
    const preExisting = coords.has(el2);
    if (isMounted && siblings.has(el2))
      siblings.delete(el2);
    if (animations2.has(el2)) {
      (_a5 = animations2.get(el2)) === null || _a5 === void 0 ? void 0 : _a5.cancel();
    }
    if (NEW in el2) {
      add(el2);
    } else if (preExisting && isMounted) {
      remain(el2);
    } else if (preExisting && !isMounted) {
      remove(el2);
    } else {
      add(el2);
    }
  }
  function raw(str) {
    return Number(str.replace(/[^0-9.\-]/g, ""));
  }
  function getScrollOffset(el2) {
    let p2 = el2.parentElement;
    while (p2) {
      if (p2.scrollLeft || p2.scrollTop) {
        return { x: p2.scrollLeft, y: p2.scrollTop };
      }
      p2 = p2.parentElement;
    }
    return { x: 0, y: 0 };
  }
  function getCoords(el2) {
    const rect = el2.getBoundingClientRect();
    const { x, y } = getScrollOffset(el2);
    return {
      top: rect.top + y,
      left: rect.left + x,
      width: rect.width,
      height: rect.height
    };
  }
  function getTransitionSizes(el2, oldCoords, newCoords) {
    let widthFrom = oldCoords.width;
    let heightFrom = oldCoords.height;
    let widthTo = newCoords.width;
    let heightTo = newCoords.height;
    const styles2 = getComputedStyle(el2);
    const sizing = styles2.getPropertyValue("box-sizing");
    if (sizing === "content-box") {
      const paddingY = raw(styles2.paddingTop) + raw(styles2.paddingBottom) + raw(styles2.borderTopWidth) + raw(styles2.borderBottomWidth);
      const paddingX = raw(styles2.paddingLeft) + raw(styles2.paddingRight) + raw(styles2.borderRightWidth) + raw(styles2.borderLeftWidth);
      widthFrom -= paddingX;
      widthTo -= paddingX;
      heightFrom -= paddingY;
      heightTo -= paddingY;
    }
    return [widthFrom, widthTo, heightFrom, heightTo].map(Math.round);
  }
  function getOptions(el2) {
    return TGT in el2 && options.has(el2[TGT]) ? options.get(el2[TGT]) : { duration: 250, easing: "ease-in-out" };
  }
  function getTarget2(el2) {
    if (TGT in el2)
      return el2[TGT];
    return void 0;
  }
  function isEnabled(el2) {
    const target2 = getTarget2(el2);
    return target2 ? enabled.has(target2) : false;
  }
  function forEach(parent, ...callbacks) {
    callbacks.forEach((callback) => callback(parent, options.has(parent)));
    for (let i2 = 0; i2 < parent.children.length; i2++) {
      const child = parent.children.item(i2);
      if (child) {
        callbacks.forEach((callback) => callback(child, options.has(child)));
      }
    }
  }
  function getPluginTuple(pluginReturn) {
    if (Array.isArray(pluginReturn))
      return pluginReturn;
    return [pluginReturn];
  }
  function isPlugin(config) {
    return typeof config === "function";
  }
  function remain(el2) {
    const oldCoords = coords.get(el2);
    const newCoords = getCoords(el2);
    if (!isEnabled(el2))
      return coords.set(el2, newCoords);
    let animation;
    if (!oldCoords)
      return;
    const pluginOrOptions = getOptions(el2);
    if (typeof pluginOrOptions !== "function") {
      const deltaX = oldCoords.left - newCoords.left;
      const deltaY = oldCoords.top - newCoords.top;
      const [widthFrom, widthTo, heightFrom, heightTo] = getTransitionSizes(el2, oldCoords, newCoords);
      const start = {
        transform: `translate(${deltaX}px, ${deltaY}px)`
      };
      const end = {
        transform: `translate(0, 0)`
      };
      if (widthFrom !== widthTo) {
        start.width = `${widthFrom}px`;
        end.width = `${widthTo}px`;
      }
      if (heightFrom !== heightTo) {
        start.height = `${heightFrom}px`;
        end.height = `${heightTo}px`;
      }
      animation = el2.animate([start, end], {
        duration: pluginOrOptions.duration,
        easing: pluginOrOptions.easing
      });
    } else {
      const [keyframes3] = getPluginTuple(pluginOrOptions(el2, "remain", oldCoords, newCoords));
      animation = new Animation(keyframes3);
      animation.play();
    }
    animations2.set(el2, animation);
    coords.set(el2, newCoords);
    animation.addEventListener("finish", () => updatePos(el2), { once: true });
  }
  function add(el2) {
    if (NEW in el2)
      delete el2[NEW];
    const newCoords = getCoords(el2);
    coords.set(el2, newCoords);
    const pluginOrOptions = getOptions(el2);
    if (!isEnabled(el2))
      return;
    let animation;
    if (typeof pluginOrOptions !== "function") {
      animation = el2.animate([
        { transform: "scale(.98)", opacity: 0 },
        { transform: "scale(0.98)", opacity: 0, offset: 0.5 },
        { transform: "scale(1)", opacity: 1 }
      ], {
        duration: pluginOrOptions.duration * 1.5,
        easing: "ease-in"
      });
    } else {
      const [keyframes3] = getPluginTuple(pluginOrOptions(el2, "add", newCoords));
      animation = new Animation(keyframes3);
      animation.play();
    }
    animations2.set(el2, animation);
    animation.addEventListener("finish", () => updatePos(el2), { once: true });
  }
  function cleanUp(el2, styles2) {
    var _a5;
    el2.remove();
    coords.delete(el2);
    siblings.delete(el2);
    animations2.delete(el2);
    (_a5 = intersections.get(el2)) === null || _a5 === void 0 ? void 0 : _a5.disconnect();
    setTimeout(() => {
      if (DEL in el2)
        delete el2[DEL];
      Object.defineProperty(el2, NEW, { value: true, configurable: true });
      if (styles2 && el2 instanceof HTMLElement) {
        for (const style in styles2) {
          el2.style[style] = "";
        }
      }
    }, 0);
  }
  function remove(el2) {
    var _a5;
    if (!siblings.has(el2) || !coords.has(el2))
      return;
    const [prev3, next2] = siblings.get(el2);
    Object.defineProperty(el2, DEL, { value: true, configurable: true });
    const finalX = window.scrollX;
    const finalY = window.scrollY;
    if (next2 && next2.parentNode && next2.parentNode instanceof Element) {
      next2.parentNode.insertBefore(el2, next2);
    } else if (prev3 && prev3.parentNode) {
      prev3.parentNode.appendChild(el2);
    } else {
      (_a5 = getTarget2(el2)) === null || _a5 === void 0 ? void 0 : _a5.appendChild(el2);
    }
    if (!isEnabled(el2))
      return cleanUp(el2);
    const [top, left, width, height] = deletePosition(el2);
    const optionsOrPlugin = getOptions(el2);
    const oldCoords = coords.get(el2);
    if (finalX !== scrollX || finalY !== scrollY) {
      adjustScroll(el2, finalX, finalY, optionsOrPlugin);
    }
    let animation;
    let styleReset = {
      position: "absolute",
      top: `${top}px`,
      left: `${left}px`,
      width: `${width}px`,
      height: `${height}px`,
      margin: "0",
      pointerEvents: "none",
      transformOrigin: "center",
      zIndex: "100"
    };
    if (!isPlugin(optionsOrPlugin)) {
      Object.assign(el2.style, styleReset);
      animation = el2.animate([
        {
          transform: "scale(1)",
          opacity: 1
        },
        {
          transform: "scale(.98)",
          opacity: 0
        }
      ], {
        duration: optionsOrPlugin.duration,
        easing: "ease-out"
      });
    } else {
      const [keyframes3, options2] = getPluginTuple(optionsOrPlugin(el2, "remove", oldCoords));
      if ((options2 === null || options2 === void 0 ? void 0 : options2.styleReset) !== false) {
        styleReset = (options2 === null || options2 === void 0 ? void 0 : options2.styleReset) || styleReset;
        Object.assign(el2.style, styleReset);
      }
      animation = new Animation(keyframes3);
      animation.play();
    }
    animations2.set(el2, animation);
    animation.addEventListener("finish", () => cleanUp(el2, styleReset), {
      once: true
    });
  }
  function adjustScroll(el2, finalX, finalY, optionsOrPlugin) {
    const scrollDeltaX = scrollX - finalX;
    const scrollDeltaY = scrollY - finalY;
    const scrollBefore = document.documentElement.style.scrollBehavior;
    const scrollBehavior = getComputedStyle(root).scrollBehavior;
    if (scrollBehavior === "smooth") {
      document.documentElement.style.scrollBehavior = "auto";
    }
    window.scrollTo(window.scrollX + scrollDeltaX, window.scrollY + scrollDeltaY);
    if (!el2.parentElement)
      return;
    const parent = el2.parentElement;
    let lastHeight = parent.clientHeight;
    let lastWidth = parent.clientWidth;
    const startScroll = performance.now();
    function smoothScroll() {
      requestAnimationFrame(() => {
        if (!isPlugin(optionsOrPlugin)) {
          const deltaY = lastHeight - parent.clientHeight;
          const deltaX = lastWidth - parent.clientWidth;
          if (startScroll + optionsOrPlugin.duration > performance.now()) {
            window.scrollTo({
              left: window.scrollX - deltaX,
              top: window.scrollY - deltaY
            });
            lastHeight = parent.clientHeight;
            lastWidth = parent.clientWidth;
            smoothScroll();
          } else {
            document.documentElement.style.scrollBehavior = scrollBefore;
          }
        }
      });
    }
    smoothScroll();
  }
  function deletePosition(el2) {
    const oldCoords = coords.get(el2);
    const [width, , height] = getTransitionSizes(el2, oldCoords, getCoords(el2));
    let offsetParent = el2.parentElement;
    while (offsetParent && (getComputedStyle(offsetParent).position === "static" || offsetParent instanceof HTMLBodyElement)) {
      offsetParent = offsetParent.parentElement;
    }
    if (!offsetParent)
      offsetParent = document.body;
    const parentStyles = getComputedStyle(offsetParent);
    const parentCoords = coords.get(offsetParent) || getCoords(offsetParent);
    const top = Math.round(oldCoords.top - parentCoords.top) - raw(parentStyles.borderTopWidth);
    const left = Math.round(oldCoords.left - parentCoords.left) - raw(parentStyles.borderLeftWidth);
    return [top, left, width, height];
  }
  function autoAnimate(el2, config = {}) {
    if (supportedBrowser && resize) {
      const mediaQuery = window.matchMedia("(prefers-reduced-motion: reduce)");
      const isDisabledDueToReduceMotion = mediaQuery.matches && !isPlugin(config) && !config.disrespectUserMotionPreference;
      if (!isDisabledDueToReduceMotion) {
        enabled.add(el2);
        if (getComputedStyle(el2).position === "static") {
          Object.assign(el2.style, { position: "relative" });
        }
        forEach(el2, updatePos, poll, (element) => resize === null || resize === void 0 ? void 0 : resize.observe(element));
        if (isPlugin(config)) {
          options.set(el2, config);
        } else {
          options.set(el2, {
            duration: 250,
            easing: "ease-in-out",
            ...config
          });
        }
        const mo = new MutationObserver(handleMutations);
        mo.observe(el2, { childList: true });
        mutationObservers.set(el2, mo);
        parents.add(el2);
      }
    }
    const controller = Object.freeze({
      parent: el2,
      enable: () => {
        enabled.add(el2);
      },
      disable: () => {
        enabled.delete(el2);
      },
      isEnabled: () => enabled.has(el2),
      destroy: () => {
        enabled.delete(el2);
        parents.delete(el2);
        options.delete(el2);
        const mo = mutationObservers.get(el2);
        mo === null || mo === void 0 ? void 0 : mo.disconnect();
        mutationObservers.delete(el2);
        forEach(el2, (node2) => {
          resize === null || resize === void 0 ? void 0 : resize.unobserve(node2);
          const a2 = animations2.get(node2);
          try {
            a2 === null || a2 === void 0 ? void 0 : a2.cancel();
          } catch {
          }
          animations2.delete(node2);
          const io = intersections.get(node2);
          io === null || io === void 0 ? void 0 : io.disconnect();
          intersections.delete(node2);
          const i2 = intervals.get(node2);
          if (i2)
            clearInterval(i2);
          intervals.delete(node2);
          const d2 = debounces.get(node2);
          if (d2)
            clearTimeout(d2);
          debounces.delete(node2);
          coords.delete(node2);
          siblings.delete(node2);
        });
      }
    });
    return controller;
  }
  var parents, coords, siblings, animations2, intersections, mutationObservers, intervals, options, debounces, enabled, root, scrollX, scrollY, TGT, DEL, NEW, handleMutations, handleResizes, resize, supportedBrowser;
  var init_auto_animate = __esm({
    "node_modules/@formkit/auto-animate/index.mjs"() {
      parents = /* @__PURE__ */ new Set();
      coords = /* @__PURE__ */ new WeakMap();
      siblings = /* @__PURE__ */ new WeakMap();
      animations2 = /* @__PURE__ */ new WeakMap();
      intersections = /* @__PURE__ */ new WeakMap();
      mutationObservers = /* @__PURE__ */ new WeakMap();
      intervals = /* @__PURE__ */ new WeakMap();
      options = /* @__PURE__ */ new WeakMap();
      debounces = /* @__PURE__ */ new WeakMap();
      enabled = /* @__PURE__ */ new WeakSet();
      scrollX = 0;
      scrollY = 0;
      TGT = "__aa_tgt";
      DEL = "__aa_del";
      NEW = "__aa_new";
      handleMutations = (mutations) => {
        const elements = getElements(mutations);
        if (elements) {
          elements.forEach((el2) => animate(el2));
        }
      };
      handleResizes = (entries) => {
        entries.forEach((entry) => {
          if (entry.target === root)
            updateAllPos();
          if (coords.has(entry.target))
            updatePos(entry.target);
        });
      };
      supportedBrowser = typeof window !== "undefined" && "ResizeObserver" in window;
      if (supportedBrowser) {
        root = document.documentElement;
        new MutationObserver(handleMutations);
        resize = new ResizeObserver(handleResizes);
        window.addEventListener("scroll", () => {
          scrollY = window.scrollY;
          scrollX = window.scrollX;
        });
        resize.observe(root);
      }
    }
  });

  // node_modules/@formkit/auto-animate/react/index.mjs
  function useAutoAnimate(options2) {
    const [controller, setController] = (0, import_react140.useState)();
    const memoizedOptions = (0, import_react140.useMemo)(() => options2, []);
    const element = (0, import_react140.useCallback)((node2) => {
      if (node2 instanceof HTMLElement) {
        setController(autoAnimate(node2, memoizedOptions));
      } else {
        setController(void 0);
      }
    }, [memoizedOptions]);
    const setEnabled = (0, import_react140.useCallback)((enabled2) => {
      if (controller) {
        enabled2 ? controller.enable() : controller.disable();
      }
    }, [controller]);
    (0, import_react140.useEffect)(() => {
      return () => {
        var _a5;
        (_a5 = controller === null || controller === void 0 ? void 0 : controller.destroy) === null || _a5 === void 0 ? void 0 : _a5.call(controller);
      };
    }, [controller]);
    return [element, setEnabled];
  }
  var import_react140;
  var init_react2 = __esm({
    "node_modules/@formkit/auto-animate/react/index.mjs"() {
      import_react140 = __toESM(require_react(), 1);
      init_auto_animate();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Animated.js
  var import_react141, Animated;
  var init_Animated = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Animated.js"() {
      init_AppearanceContext();
      import_react141 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      init_react2();
      Animated = (props) => {
        const { children, asChild } = props;
        const { animations: animations3 } = useAppearance().parsedOptions;
        const [parent] = useAutoAnimate();
        if (asChild) return (0, import_react141.cloneElement)(children, { ref: animations3 ? parent : null });
        return /* @__PURE__ */ jsx2("div", {
          ref: animations3 ? parent : null,
          children
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/Wizard.js
  var import_react143, useWizard, Wizard;
  var init_Wizard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/Wizard.js"() {
      init_Animated();
      import_react143 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      useWizard = (params = {}) => {
        const { defaultStep = 0, onNextStep } = params;
        const [step, setStep] = import_react143.default.useState(defaultStep);
        return {
          nextStep: import_react143.default.useCallback(() => {
            onNextStep?.();
            setStep((s2) => s2 + 1);
          }, []),
          prevStep: import_react143.default.useCallback(() => setStep((s2) => s2 - 1), []),
          goToStep: import_react143.default.useCallback((i2) => setStep(i2), []),
          props: { step }
        };
      };
      Wizard = (props) => {
        const { step, children, animate: animate2 = true } = props;
        if (!animate2) return import_react143.default.Children.toArray(children)[step];
        return /* @__PURE__ */ jsx2(Animated, { children: import_react143.default.Children.toArray(children)[step] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/shared/withTaskGuardOnlyOnMount.js
  var import_react144, withTaskGuardOnlyOnMount;
  var init_withTaskGuardOnlyOnMount = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/shared/withTaskGuardOnlyOnMount.js"() {
      init_RouteContext();
      init_SessionTasks();
      import_react144 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_warnings();
      init_keys();
      withTaskGuardOnlyOnMount = (Component, taskKey) => {
        const displayName = Component.displayName || Component.name || "Component";
        Component.displayName = displayName;
        const HOC = (props) => {
          const ctx = useSessionTasksContext();
          const clerk2 = useClerk();
          const { navigate } = useRouter();
          const shouldRedirectOnMount = (0, import_react144.useRef)(null);
          if (shouldRedirectOnMount.current === null) shouldRedirectOnMount.current = !clerk2.session?.currentTask || clerk2.session.currentTask.key !== taskKey && !clerk2.__internal_setActiveInProgress;
          (0, import_react144.useEffect)(() => {
            if (shouldRedirectOnMount.current) {
              if (isDevelopmentFromPublishableKey(clerk2.publishableKey)) console.info(warnings.cannotRenderComponentWhenTaskDoesNotExist);
              navigate(!clerk2.session ? clerk2.buildSignInUrl() : ctx.redirectUrlComplete ?? clerk2.buildAfterSignInUrl());
            }
          }, []);
          if (shouldRedirectOnMount.current) return null;
          return /* @__PURE__ */ jsx2(Component, { ...props });
        };
        HOC.displayName = `withTaskGuardOnlyOnMount(${displayName})`;
        return HOC;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/mfa.js
  function getSecondFactors(attributes) {
    const secondFactors = [];
    Object.entries(attributes).forEach(([, attr2]) => {
      if (attr2?.used_for_second_factor && attr2.second_factors) secondFactors.push(...attr2.second_factors);
    });
    return secondFactors;
  }
  function getSecondFactorsAvailableToAdd(attributes, user) {
    let sfs = getSecondFactors(attributes);
    if (user.totpEnabled) sfs = sfs.filter((f3) => f3 !== "totp");
    if (user.backupCodeEnabled || !user.twoFactorEnabled) sfs = sfs.filter((f3) => f3 !== "backup_code");
    return sfs;
  }
  var defaultFirst;
  var init_mfa = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/mfa.js"() {
      defaultFirst = (a2) => a2.defaultSecondFactor ? -1 : 1;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/auth-app.js
  function _extends19() {
    return _extends19 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends19.apply(null, arguments);
  }
  var React$121, _path19, _path25, SvgAuthApp, auth_app_default;
  var init_auth_app = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/auth-app.js"() {
      React$121 = __toESM(require_react(), 1);
      SvgAuthApp = function SvgAuthApp$1(props) {
        return /* @__PURE__ */ React$121.createElement("svg", _extends19({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path19 || (_path19 = /* @__PURE__ */ React$121.createElement("path", { d: "M7 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3" })), _path25 || (_path25 = /* @__PURE__ */ React$121.createElement("path", {
          fillRule: "evenodd",
          d: "M4 2c-1.105 0-2 .895-2 2v8c0 1.105.895 2 2 2h8c1.105 0 2-.895 2-2V4c0-1.105-.895-2-2-2zm3 9a3 3 0 0 0 2.906-2.25H12a.75.75 0 0 0 0-1.5H9.906A3.002 3.002 0 0 0 4 8c0 .941.438 1.785 1.117 2.336A3 3 0 0 0 7 11",
          clipRule: "evenodd"
        })));
      };
      auth_app_default = SvgAuthApp;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/mobile-small.js
  function _extends20() {
    return _extends20 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends20.apply(null, arguments);
  }
  var React$122, _path20, SvgMobileSmall, mobile_small_default;
  var init_mobile_small = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/mobile-small.js"() {
      React$122 = __toESM(require_react(), 1);
      SvgMobileSmall = function SvgMobileSmall$1(props) {
        return /* @__PURE__ */ React$122.createElement("svg", _extends20({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 16 16"
        }, props), _path20 || (_path20 = /* @__PURE__ */ React$122.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M5.6 1.6A1.6 1.6 0 0 0 4 3.2v9.6a1.6 1.6 0 0 0 1.6 1.6h4.8a1.6 1.6 0 0 0 1.6-1.6V3.2a1.6 1.6 0 0 0-1.6-1.6zM8 12.8a.8.8 0 1 0 0-1.6.8.8 0 0 0 0 1.6",
          clipRule: "evenodd"
        })));
      };
      mobile_small_default = SvgMobileSmall;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskSetupMfa/constants.js
  var MFA_METHODS_TO_STEP;
  var init_constants3 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskSetupMfa/constants.js"() {
      MFA_METHODS_TO_STEP = {
        phone_code: 1,
        totp: 2
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskSetupMfa/shared.js
  function SharedFooterActionForSignOut() {
    const { user } = useUser();
    const clerk2 = useClerk();
    const { session } = useSession();
    const { otherSessions } = useMultipleSessions({ user });
    const { navigateAfterSignOut, navigateAfterMultiSessionSingleSignOutUrl } = useSignOutContext();
    const handleSignOut = () => {
      if (otherSessions.length === 0) return clerk2.signOut(navigateAfterSignOut);
      return clerk2.signOut(navigateAfterMultiSessionSingleSignOutUrl, { sessionId: session?.id });
    };
    const identifier2 = import_react146.default.useMemo(() => user ? commonIdentifier(user) : null, [user]);
    return /* @__PURE__ */ jsxs2(Card.Action, {
      elementId: "signOut",
      gap: 4,
      justify: "center",
      sx: () => ({ width: "100%" }),
      children: [identifier2 && /* @__PURE__ */ jsx2(Card.ActionText, {
        truncate: true,
        localizationKey: localizationKeys("taskSetupMfa.signOut.actionText", { identifier: identifier2 })
      }), /* @__PURE__ */ jsx2(Card.ActionLink, {
        sx: () => ({ flexShrink: 0 }),
        onClick: () => void handleSignOut(),
        localizationKey: localizationKeys("taskSetupMfa.signOut.actionLink")
      })]
    });
  }
  var import_react146, commonIdentifier;
  var init_shared = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskSetupMfa/shared.js"() {
      init_localizationKeys();
      init_SignOut();
      init_Card();
      init_phoneUtils();
      init_useMultipleSessions();
      import_react146 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      commonIdentifier = (user) => {
        const formattedPhoneNumber = user.primaryPhoneNumber?.phoneNumber ? stringToFormattedPhoneString(user.primaryPhoneNumber?.phoneNumber) : null;
        return user.primaryEmailAddress?.emailAddress ?? user.username ?? formattedPhoneNumber;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskSetupMfa/SetupMfaStartScreen.js
  var METHOD_CONFIG, SetupMfaStartScreen;
  var init_SetupMfaStartScreen = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskSetupMfa/SetupMfaStartScreen.js"() {
      init_localizationKeys();
      init_auth_app();
      init_mobile_small();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_Actions();
      init_PreviewButton();
      init_constants3();
      init_shared();
      init_emotion_react_jsx_runtime_browser_esm();
      METHOD_CONFIG = {
        totp: {
          icon: /* @__PURE__ */ jsx2(Icon, { icon: auth_app_default }),
          label: localizationKeys("taskSetupMfa.start.methodSelection.totp")
        },
        phone_code: {
          icon: /* @__PURE__ */ jsx2(Icon, { icon: mobile_small_default }),
          label: localizationKeys("taskSetupMfa.start.methodSelection.phoneCode")
        }
      };
      SetupMfaStartScreen = withCardStateProvider((props) => {
        const { availableMethods, goToStep } = props;
        const card = useCardState();
        return /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, {
          sx: (t2) => ({ padding: t2.space.$none }),
          children: [
            /* @__PURE__ */ jsxs2(Header.Root, {
              showLogo: true,
              sx: (t2) => ({
                paddingTop: t2.space.$8,
                paddingLeft: t2.space.$8,
                paddingRight: t2.space.$8
              }),
              children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("taskSetupMfa.start.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("taskSetupMfa.start.subtitle") })]
            }),
            card.error && /* @__PURE__ */ jsx2(Flex2, {
              sx: (t2) => ({ paddingInline: t2.space.$8 }),
              children: /* @__PURE__ */ jsx2(Card.Alert, { children: card.error })
            }),
            /* @__PURE__ */ jsx2(Actions, {
              role: "menu",
              elementDescriptor: descriptors.taskSetupMfaMethodSelectionItems,
              sx: (t2) => ({
                borderTopWidth: t2.borderWidths.$normal,
                borderTopStyle: t2.borderStyles.$solid,
                borderTopColor: t2.colors.$borderAlpha100
              }),
              children: availableMethods.map((method) => {
                const methodConfig = METHOD_CONFIG[method] ?? null;
                if (!methodConfig) return null;
                return /* @__PURE__ */ jsx2(PreviewButton, {
                  elementDescriptor: descriptors.taskSetupMfaMethodSelectionItem,
                  hoverAsFocus: true,
                  block: true,
                  onClick: () => {
                    goToStep(MFA_METHODS_TO_STEP[method]);
                  },
                  children: /* @__PURE__ */ jsxs2(Flex2, {
                    sx: (t2) => ({
                      gap: t2.space.$2,
                      alignItems: "center"
                    }),
                    children: [/* @__PURE__ */ jsx2(Flex2, {
                      sx: (t2) => ({
                        borderRadius: t2.radii.$circle,
                        borderWidth: t2.borderWidths.$normal,
                        borderStyle: t2.borderStyles.$solid,
                        borderColor: t2.colors.$avatarBorder,
                        padding: t2.space.$2,
                        backgroundColor: t2.colors.$neutralAlpha50
                      }),
                      children: methodConfig.icon
                    }), /* @__PURE__ */ jsx2(Text2, {
                      variant: "buttonLarge",
                      localizationKey: methodConfig.label
                    })]
                  })
                }, method);
              })
            })
          ]
        }), /* @__PURE__ */ jsx2(Card.Footer, { children: /* @__PURE__ */ jsx2(SharedFooterActionForSignOut, {}) })] });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/SuccessPage.js
  var import_react148, SuccessPage;
  var init_SuccessPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/SuccessPage.js"() {
      init_useNavigateToFlowStart();
      init_localizationKeys();
      init_elementDescriptors();
      init_customizables();
      init_Header();
      init_FormButtons();
      import_react148 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      SuccessPage = (props) => {
        const { text, title, subtitle, finishLabel, onFinish, contents, finishButtonProps, headerBadgeText, ...rest } = props;
        const { navigateToFlowStart } = useNavigateToFlowStart();
        return /* @__PURE__ */ jsxs2(Col2, {
          ...rest,
          gap: 4,
          children: [
            /* @__PURE__ */ jsxs2(Header.Root, {
              badgeText: headerBadgeText,
              children: [title && /* @__PURE__ */ jsx2(Header.Title, {
                localizationKey: title,
                textVariant: subtitle ? void 0 : "subtitle"
              }), subtitle && /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: subtitle })]
            }),
            /* @__PURE__ */ jsx2(Col2, {
              gap: 4,
              children: Array.isArray(text) ? text.map((t2) => /* @__PURE__ */ jsx2(Text2, {
                localizationKey: t2,
                colorScheme: "secondary",
                sx: (t$1) => ({
                  display: "inline",
                  ":not(:last-of-type)": { marginInlineEnd: t$1.sizes.$1 }
                })
              }, t2.key)) : /* @__PURE__ */ jsx2(Text2, {
                localizationKey: text,
                colorScheme: "secondary"
              })
            }),
            contents,
            /* @__PURE__ */ jsx2(FormButtonContainer, { children: /* @__PURE__ */ jsx2(Button2, {
              autoFocus: true,
              localizationKey: finishLabel || localizationKeys("userProfile.formButtonPrimary__finish"),
              elementDescriptor: descriptors.formButtonPrimary,
              onClick: onFinish || navigateToFlowStart,
              ...finishButtonProps
            }) })
          ]
        });
      };
    }
  });

  // node_modules/toggle-selection/index.js
  var require_toggle_selection = __commonJS({
    "node_modules/toggle-selection/index.js"(exports, module) {
      module.exports = function() {
        var selection = document.getSelection();
        if (!selection.rangeCount) {
          return function() {
          };
        }
        var active = document.activeElement;
        var ranges = [];
        for (var i2 = 0; i2 < selection.rangeCount; i2++) {
          ranges.push(selection.getRangeAt(i2));
        }
        switch (active.tagName.toUpperCase()) {
          // .toUpperCase handles XHTML
          case "INPUT":
          case "TEXTAREA":
            active.blur();
            break;
          default:
            active = null;
            break;
        }
        selection.removeAllRanges();
        return function() {
          selection.type === "Caret" && selection.removeAllRanges();
          if (!selection.rangeCount) {
            ranges.forEach(function(range2) {
              selection.addRange(range2);
            });
          }
          active && active.focus();
        };
      };
    }
  });

  // node_modules/copy-to-clipboard/index.js
  var require_copy_to_clipboard = __commonJS({
    "node_modules/copy-to-clipboard/index.js"(exports, module) {
      "use strict";
      var deselectCurrent = require_toggle_selection();
      var clipboardToIE11Formatting = {
        "text/plain": "Text",
        "text/html": "Url",
        "default": "Text"
      };
      var defaultMessage = "Copy to clipboard: #{key}, Enter";
      function format2(message) {
        var copyKey = (/mac os x/i.test(navigator.userAgent) ? "\u2318" : "Ctrl") + "+C";
        return message.replace(/#{\s*key\s*}/g, copyKey);
      }
      function copy3(text, options2) {
        var debug, message, reselectPrevious, range2, selection, mark, success = false;
        if (!options2) {
          options2 = {};
        }
        debug = options2.debug || false;
        try {
          reselectPrevious = deselectCurrent();
          range2 = document.createRange();
          selection = document.getSelection();
          mark = document.createElement("span");
          mark.textContent = text;
          mark.ariaHidden = "true";
          mark.style.all = "unset";
          mark.style.position = "fixed";
          mark.style.top = 0;
          mark.style.clip = "rect(0, 0, 0, 0)";
          mark.style.whiteSpace = "pre";
          mark.style.webkitUserSelect = "text";
          mark.style.MozUserSelect = "text";
          mark.style.msUserSelect = "text";
          mark.style.userSelect = "text";
          mark.addEventListener("copy", function(e3) {
            e3.stopPropagation();
            if (options2.format) {
              e3.preventDefault();
              if (typeof e3.clipboardData === "undefined") {
                debug && console.warn("unable to use e.clipboardData");
                debug && console.warn("trying IE specific stuff");
                window.clipboardData.clearData();
                var format3 = clipboardToIE11Formatting[options2.format] || clipboardToIE11Formatting["default"];
                window.clipboardData.setData(format3, text);
              } else {
                e3.clipboardData.clearData();
                e3.clipboardData.setData(options2.format, text);
              }
            }
            if (options2.onCopy) {
              e3.preventDefault();
              options2.onCopy(e3.clipboardData);
            }
          });
          document.body.appendChild(mark);
          range2.selectNodeContents(mark);
          selection.addRange(range2);
          var successful = document.execCommand("copy");
          if (!successful) {
            throw new Error("copy command was unsuccessful");
          }
          success = true;
        } catch (err) {
          debug && console.error("unable to copy using execCommand: ", err);
          debug && console.warn("trying IE specific stuff");
          try {
            window.clipboardData.setData(options2.format || "text", text);
            options2.onCopy && options2.onCopy(window.clipboardData);
            success = true;
          } catch (err2) {
            debug && console.error("unable to copy using clipboardData: ", err2);
            debug && console.error("falling back to prompt");
            message = format2("message" in options2 ? options2.message : defaultMessage);
            window.prompt(message, text);
          }
        } finally {
          if (selection) {
            if (typeof selection.removeRange == "function") {
              selection.removeRange(range2);
            } else {
              selection.removeAllRanges();
            }
          }
          if (mark) {
            document.body.removeChild(mark);
          }
          reselectPrevious();
        }
        return success;
      }
      module.exports = copy3;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useClipboard.js
  function useClipboard(text, optionsOrTimeout = {}) {
    const [hasCopied, setHasCopied] = (0, import_react149.useState)(false);
    const { timeout = 1500, ...copyOptions } = typeof optionsOrTimeout === "number" ? { timeout: optionsOrTimeout } : optionsOrTimeout;
    const onCopy = (0, import_react149.useCallback)(() => {
      setHasCopied((0, import_copy_to_clipboard.default)(text, copyOptions));
    }, [text, copyOptions]);
    (0, import_react149.useEffect)(() => {
      let timeoutId = null;
      if (hasCopied) timeoutId = window.setTimeout(() => {
        setHasCopied(false);
      }, timeout);
      return () => {
        if (timeoutId) window.clearTimeout(timeoutId);
      };
    }, [timeout, hasCopied]);
    return {
      value: text,
      onCopy,
      hasCopied
    };
  }
  var import_react149, import_copy_to_clipboard;
  var init_useClipboard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useClipboard.js"() {
      import_react149 = __toESM(require_react(), 1);
      import_copy_to_clipboard = __toESM(require_copy_to_clipboard(), 1);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/copy.js
  function _extends21() {
    return _extends21 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends21.apply(null, arguments);
  }
  var React$123, _path21, SvgCopy, copy_default;
  var init_copy = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/copy.js"() {
      React$123 = __toESM(require_react(), 1);
      SvgCopy = function SvgCopy$1(props) {
        return /* @__PURE__ */ React$123.createElement("svg", _extends21({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 12 14"
        }, props), _path21 || (_path21 = /* @__PURE__ */ React$123.createElement("path", {
          stroke: "currentColor",
          strokeLinecap: "round",
          strokeLinejoin: "round",
          strokeWidth: 1.2,
          d: "M7.94 10.23v2.078a.687.687 0 0 1-.682.692h-5.91a.68.68 0 0 1-.482-.203.7.7 0 0 1-.2-.49V4.463c0-.383.306-.693.682-.693h1.137q.457 0 .909.077m4.545 6.385h2.046c.376 0 .682-.31.682-.693v-3c0-2.744-1.966-5.022-4.546-5.462A5.4 5.4 0 0 0 5.212 1H4.076a.687.687 0 0 0-.682.692v2.154m4.545 6.385H4.076a.68.68 0 0 1-.482-.203.7.7 0 0 1-.2-.49V3.846m7.273 4.077V6.77c0-.55-.216-1.079-.6-1.468a2.03 2.03 0 0 0-1.446-.609h-.909a.68.68 0 0 1-.482-.202.7.7 0 0 1-.2-.49v-.923a2.1 2.1 0 0 0-.599-1.469A2.04 2.04 0 0 0 4.985 1h-.682"
        })));
      };
      copy_default = SvgCopy;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/download.js
  function _extends22() {
    return _extends22 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends22.apply(null, arguments);
  }
  var React$124, _path26, SvgDownload, download_default;
  var init_download = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/download.js"() {
      React$124 = __toESM(require_react(), 1);
      SvgDownload = function SvgDownload$1(props) {
        return /* @__PURE__ */ React$124.createElement("svg", _extends22({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 14 14"
        }, props), _path26 || (_path26 = /* @__PURE__ */ React$124.createElement("path", {
          stroke: "currentColor",
          strokeLinecap: "round",
          strokeLinejoin: "round",
          strokeWidth: 1.2,
          d: "M1 10v1.5A1.5 1.5 0 0 0 2.5 13h9a1.5 1.5 0 0 0 1.5-1.5V10m-3-3-3 3m0 0L4 7m3 3V1"
        })));
      };
      download_default = SvgDownload;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/print.js
  function _extends23() {
    return _extends23 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends23.apply(null, arguments);
  }
  var React$125, _path27, SvgPrint, print_default;
  var init_print = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/print.js"() {
      React$125 = __toESM(require_react(), 1);
      SvgPrint = function SvgPrint$1(props) {
        return /* @__PURE__ */ React$125.createElement("svg", _extends23({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 13 14"
        }, props), _path27 || (_path27 = /* @__PURE__ */ React$125.createElement("path", {
          stroke: "currentColor",
          strokeLinecap: "round",
          strokeLinejoin: "round",
          strokeWidth: 1.2,
          d: "M3.107 8.126q-.22.027-.44.059m.44-.06c2.142-.27 4.31-.27 6.453 0m-6.453 0-.233 2.567M9.56 8.126q.22.027.44.059m-.44-.06.232 2.567.14 1.553a.7.7 0 0 1-.407.696.7.7 0 0 1-.277.059H3.419a.69.69 0 0 1-.684-.755l.14-1.553m0 0h-.667a1.37 1.37 0 0 1-.972-.405 1.4 1.4 0 0 1-.403-.98V5.435c0-.665.47-1.24 1.123-1.338q.583-.089 1.169-.152m6.666 6.748h.667a1.37 1.37 0 0 0 .972-.405 1.39 1.39 0 0 0 .403-.98V5.435c0-.665-.469-1.24-1.122-1.338q-.584-.089-1.17-.152m0 0a29.5 29.5 0 0 0-6.416 0m6.417 0V1.692A.69.69 0 0 0 8.854 1H3.813a.69.69 0 0 0-.688.692v2.252M10 6.077h.005v.005H10zm-1.833 0h.005v.005h-.005z"
        })));
      };
      print_default = SvgPrint;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/PrintableComponent.js
  var import_react150, usePrintable, PrintableComponent, copyStyles, setPrintingStyles, printContentsOfElementViaIFrame;
  var init_PrintableComponent = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/PrintableComponent.js"() {
      import_react150 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      usePrintable = () => {
        const callbacks = [];
        const onPrint = (cb) => callbacks.push(cb);
        const print2 = () => callbacks.forEach((cb) => cb());
        return {
          print: print2,
          printableProps: { onPrint }
        };
      };
      PrintableComponent = (props) => {
        const { children, onPrint } = props;
        const ref = import_react150.default.useRef(null);
        onPrint(() => {
          printContentsOfElementViaIFrame(ref);
        });
        return /* @__PURE__ */ jsx2("div", {
          ref,
          style: {
            position: "fixed",
            left: "-9999px",
            top: 0,
            display: "none"
          },
          children
        });
      };
      copyStyles = (iframe, selector = "[data-emotion=cl-internal]") => {
        if (!iframe.contentDocument) return;
        const allStyleText = [...document.head.querySelectorAll(selector)].map((a2) => a2.innerHTML).join("\n");
        const styleEl = iframe.contentDocument.createElement("style");
        styleEl.innerHTML = allStyleText;
        iframe.contentDocument.head.prepend(styleEl);
      };
      setPrintingStyles = (iframe) => {
        if (!iframe.contentDocument) return;
        iframe.contentDocument.body.style.fontFamily = "Arial";
        iframe.contentDocument.body.style.cssText = `* {
-webkit-print-color-adjust: exact !important;
color-adjust: exact !important;
print-color-adjust: exact !important;
}`;
      };
      printContentsOfElementViaIFrame = (elementRef) => {
        const content = elementRef.current;
        if (!content) return;
        const frame = document.createElement("iframe");
        frame.style.position = "fixed";
        frame.style.right = "-2000px";
        frame.style.bottom = "-2000px";
        frame.onload = () => {
          copyStyles(frame);
          setPrintingStyles(frame);
          if (frame.contentDocument && frame.contentWindow) {
            frame.contentDocument.body.innerHTML = content.innerHTML;
            frame.contentWindow.print();
          }
        };
        window.document.body.appendChild(frame);
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaBackupCodeTile.js
  var MfaBackupCodeTile;
  var init_MfaBackupCodeTile = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaBackupCodeTile.js"() {
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      MfaBackupCodeTile = (props) => {
        const { code } = props;
        return /* @__PURE__ */ jsx2(Flex2, {
          center: true,
          sx: (t2) => ({ padding: `${t2.space.$1} ${t2.space.$4}` }),
          children: /* @__PURE__ */ jsx2(Text2, { children: code })
        });
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/user.mjs
  var getFullName, getInitials, getIdentifier;
  var init_user = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/user.mjs"() {
      getFullName = ({ firstName, lastName, name }) => name || [firstName, lastName].join(" ").trim() || "";
      getInitials = ({ firstName, lastName, name }) => [(firstName || "")[0], (lastName || "")[0]].join("").trim() || (name || "")[0];
      getIdentifier = (user) => {
        if (user.username) return user.username;
        if (user.primaryEmailAddress) return user.primaryEmailAddress.emailAddress;
        if (user.primaryPhoneNumber) return user.primaryPhoneNumber.phoneNumber;
        if (user.primaryWeb3Wallet) return user.primaryWeb3Wallet.web3Wallet;
        return "";
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaBackupCodeList.js
  function txtFileContent(backupCodes, applicationName, userIdentifier) {
    return `These are your backup codes for ${applicationName} account ${userIdentifier}.
Store them securely and keep them secret. Each code can only be used once.

${backupCodes?.join("\n")}`;
  }
  var MfaBackupCodeList;
  var init_MfaBackupCodeList = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaBackupCodeList.js"() {
      init_useClipboard();
      init_EnvironmentContext();
      init_localizationKeys();
      init_check();
      init_copy();
      init_download();
      init_print();
      init_customizables();
      init_PrintableComponent();
      init_MfaBackupCodeTile();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_user();
      MfaBackupCodeList = (props) => {
        const { subtitle, backupCodes } = props;
        const { applicationName } = useEnvironment().displayConfig;
        const { user } = useUser();
        const { print: print2, printableProps } = usePrintable();
        const { onCopy, hasCopied } = useClipboard(backupCodes?.join(",") || "");
        if (!user) return null;
        const userIdentifier = getIdentifier(user);
        const onDownloadTxtFile = () => {
          const element = document.createElement("a");
          const file = new Blob([txtFileContent(backupCodes, applicationName, userIdentifier)], { type: "text/plain" });
          element.href = URL.createObjectURL(file);
          element.download = `${applicationName}_backup_codes.txt`;
          document.body.appendChild(element);
          element.click();
        };
        if (!backupCodes) return null;
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsxs2(Box2, {
          sx: (t2) => ({
            borderWidth: t2.borderWidths.$normal,
            borderStyle: t2.borderStyles.$solid,
            borderColor: t2.colors.$borderAlpha100,
            borderRadius: t2.radii.$lg
          }),
          children: [
            /* @__PURE__ */ jsxs2(Col2, {
              gap: 1,
              sx: (t2) => ({ padding: t2.space.$4 }),
              children: [/* @__PURE__ */ jsx2(Text2, {
                localizationKey: localizationKeys("userProfile.backupCodePage.title__codelist"),
                variant: "subtitle",
                sx: (t2) => ({ textAlign: "start" })
              }), /* @__PURE__ */ jsx2(Text2, {
                localizationKey: subtitle,
                variant: "body",
                sx: (t2) => ({ textAlign: "start" }),
                colorScheme: "secondary"
              })]
            }),
            /* @__PURE__ */ jsx2(Grid2, {
              gap: 2,
              sx: (t2) => ({
                gridTemplateColumns: `repeat(2, minmax(${t2.sizes.$12}, 1fr))`,
                paddingBlock: t2.space.$2,
                backgroundColor: t2.colors.$neutralAlpha50,
                color: t2.colors.$colorMutedForeground,
                borderTopWidth: t2.borderWidths.$normal,
                borderTopStyle: t2.borderStyles.$solid,
                borderTopColor: t2.colors.$borderAlpha100
              }),
              children: backupCodes.map((code, i2) => /* @__PURE__ */ jsx2(MfaBackupCodeTile, { code }, i2))
            }),
            /* @__PURE__ */ jsxs2(Grid2, {
              sx: (t2) => ({
                borderTopWidth: t2.borderWidths.$normal,
                borderTopStyle: t2.borderStyles.$solid,
                borderTopColor: t2.colors.$borderAlpha100,
                gridTemplateColumns: `repeat(3, minmax(0, 1fr))`,
                ">:not([hidden])~:not([hidden])": {
                  borderInlineEndWidth: "0px",
                  borderInlineStartWidth: "1px",
                  borderStyle: "solid",
                  borderColor: t2.colors.$borderAlpha100
                },
                ">:first-child": { borderEndStartRadius: t2.radii.$lg },
                ">:last-child": { borderEndEndRadius: t2.radii.$lg }
              }),
              children: [
                /* @__PURE__ */ jsx2(Button2, {
                  variant: "ghost",
                  sx: (t2) => ({
                    width: "100%",
                    padding: `${t2.space.$0x25} 0`,
                    borderRadius: 0
                  }),
                  onClick: onDownloadTxtFile,
                  children: /* @__PURE__ */ jsx2(Icon, { icon: download_default })
                }),
                /* @__PURE__ */ jsx2(Button2, {
                  variant: "ghost",
                  sx: (t2) => ({
                    width: "100%",
                    padding: `${t2.space.$2} 0`,
                    borderRadius: 0
                  }),
                  onClick: print2,
                  children: /* @__PURE__ */ jsx2(Icon, { icon: print_default })
                }),
                /* @__PURE__ */ jsx2(Button2, {
                  variant: "ghost",
                  onClick: onCopy,
                  sx: (t2) => ({
                    width: "100%",
                    padding: `${t2.space.$2} 0`,
                    borderRadius: 0
                  }),
                  children: /* @__PURE__ */ jsx2(Icon, { icon: hasCopied ? check_default : copy_default })
                })
              ]
            })
          ]
        }), /* @__PURE__ */ jsxs2(PrintableComponent, {
          ...printableProps,
          children: [/* @__PURE__ */ jsxs2(Heading2, { children: [
            "Your backup codes for ",
            applicationName,
            " account ",
            userIdentifier,
            ":"
          ] }), /* @__PURE__ */ jsx2(Col2, {
            gap: 2,
            children: backupCodes.map((code, i2) => /* @__PURE__ */ jsx2(MfaBackupCodeTile, { code }, i2))
          })]
        })] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/pencil-edit.js
  function _extends24() {
    return _extends24 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends24.apply(null, arguments);
  }
  var React$126, _path28, SvgPencilEdit, pencil_edit_default;
  var init_pencil_edit = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/pencil-edit.js"() {
      React$126 = __toESM(require_react(), 1);
      SvgPencilEdit = function SvgPencilEdit$1(props) {
        return /* @__PURE__ */ React$126.createElement("svg", _extends24({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 17 16"
        }, props), _path28 || (_path28 = /* @__PURE__ */ React$126.createElement("path", {
          fill: "currentColor",
          d: "M13.598 5.108c-.418.419-.628.628-.847.669-.22.04-.364-.104-.652-.392l-.984-.984c-.288-.288-.432-.432-.392-.652s.25-.428.669-.847l.226-.227c.419-.418.628-.628.848-.668s.364.103.652.392l.983.983c.289.288.433.432.392.652s-.25.429-.668.848zM4.66 13.688l-1.206.223c-.5.092-.75.138-.876.011-.127-.126-.08-.376.011-.876l.223-1.206c.04-.217.06-.325.118-.43s.15-.196.33-.377l5.554-5.554c.419-.418.628-.628.848-.668s.364.103.652.392l.983.983c.289.288.433.432.392.652s-.25.429-.668.848l-5.554 5.553c-.181.182-.272.273-.377.331s-.213.078-.43.118M9.25 12.5a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5z"
        })));
      };
      pencil_edit_default = SvgPencilEdit;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/formatSafeIdentifier.js
  var isMaskedIdentifier, formatSafeIdentifier;
  var init_formatSafeIdentifier = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/formatSafeIdentifier.js"() {
      init_phoneUtils();
      isMaskedIdentifier = (str) => str && str.includes("**");
      formatSafeIdentifier = (str) => {
        if (!str || str.includes("@") || isMaskedIdentifier(str) || str.match(/[a-zA-Z]/)) return str;
        return stringToFormattedPhoneString(str);
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/constants.mjs
  var init_constants4 = __esm({
    "node_modules/@clerk/shared/dist/runtime/constants.mjs"() {
      init_constants_Bta24VLk();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/IdentityPreview.js
  var import_react152, IdentityPreview, IdentifierContainer, UsernameOrEmailIdentifier, PhoneIdentifier, Container;
  var init_IdentityPreview = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/IdentityPreview.js"() {
      init_pencil_edit();
      init_elementDescriptors();
      init_customizables();
      init_phoneUtils();
      init_formatSafeIdentifier();
      import_react152 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      init_constants4();
      IdentityPreview = (props) => {
        const { avatarUrl = iconImageUrl("avatar_placeholder", "jpeg"), identifier: identifier2, onClick, ...rest } = props;
        const refs = import_react152.default.useRef({
          avatarUrl,
          identifier: formatSafeIdentifier(identifier2)
        });
        const edit = onClick && /* @__PURE__ */ jsx2(Button2, {
          elementDescriptor: descriptors.identityPreviewEditButton,
          variant: "link",
          textVariant: "buttonSmall",
          onClick,
          "aria-label": "Edit",
          children: /* @__PURE__ */ jsx2(Icon, {
            elementDescriptor: descriptors.identityPreviewEditButtonIcon,
            icon: pencil_edit_default
          })
        });
        if (!refs.current.identifier) return /* @__PURE__ */ jsx2(Container, {
          ...rest,
          children: edit
        });
        if (isMaskedIdentifier(refs.current.identifier) || !refs.current.identifier.startsWith("+")) return /* @__PURE__ */ jsxs2(Container, {
          ...rest,
          children: [/* @__PURE__ */ jsx2(UsernameOrEmailIdentifier, { ...refs.current }), edit]
        });
        const flag = getFlagEmojiFromCountryIso(parsePhoneString(refs.current.identifier || "").iso);
        return /* @__PURE__ */ jsxs2(Container, {
          ...rest,
          children: [/* @__PURE__ */ jsx2(PhoneIdentifier, {
            identifier: refs.current.identifier,
            flag
          }), edit]
        });
      };
      IdentifierContainer = (props) => {
        return /* @__PURE__ */ jsx2(Text2, {
          elementDescriptor: descriptors.identityPreviewText,
          colorScheme: "secondary",
          truncate: true,
          ...props
        });
      };
      UsernameOrEmailIdentifier = (props) => {
        return /* @__PURE__ */ jsx2(IdentifierContainer, { children: props.identifier });
      };
      PhoneIdentifier = (props) => {
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Text2, {
          sx: (t2) => ({ fontSize: t2.fontSizes.$sm }),
          children: props.flag
        }), /* @__PURE__ */ jsx2(IdentifierContainer, { children: props.identifier })] });
      };
      Container = (props) => {
        return /* @__PURE__ */ jsx2(Flex2, {
          elementDescriptor: descriptors.identityPreview,
          align: "center",
          gap: 2,
          sx: { justifyContent: "center" },
          ...props
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/VerificationCodeCard.js
  var import_react153, VerificationCodeCard, VerificationCodeContent;
  var init_VerificationCodeCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/VerificationCodeCard.js"() {
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_CodeControl();
      init_Form2();
      init_IdentityPreview();
      import_react153 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      VerificationCodeCard = (props) => {
        return /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsx2(Card.Content, { children: /* @__PURE__ */ jsx2(VerificationCodeContent, { ...props }) }), /* @__PURE__ */ jsx2(Card.Footer, {})] });
      };
      VerificationCodeContent = (props) => {
        const { showAlternativeMethods = true, cardNotice, children } = props;
        const card = useCardState();
        const otp = useFieldOTP({
          onCodeEntryFinished: (code, resolve, reject) => {
            props.onCodeEntryFinishedAction(code, resolve, reject);
          },
          onResendCodeClicked: props.onResendCodeClicked
        });
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [
          /* @__PURE__ */ jsxs2(Header.Root, {
            badgeText: props.badgeText,
            children: [
              /* @__PURE__ */ jsx2(Header.Title, { localizationKey: props.cardTitle }),
              /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: props.cardSubtitle }),
              /* @__PURE__ */ jsx2(IdentityPreview, {
                identifier: props.safeIdentifier,
                avatarUrl: props.profileImageUrl,
                onClick: props.onIdentityPreviewEditClicked ? props.onIdentityPreviewEditClicked : void 0
              })
            ]
          }),
          /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
          children,
          /* @__PURE__ */ jsxs2(Col2, {
            elementDescriptor: descriptors.main,
            gap: 8,
            children: [
              /* @__PURE__ */ jsx2(Form$1.OTPInput, {
                ...otp,
                label: props.inputLabel,
                resendButton: props.resendButton
              }),
              cardNotice && /* @__PURE__ */ jsx2(Alert2, {
                colorScheme: "warning",
                children: /* @__PURE__ */ jsx2(Text2, {
                  colorScheme: "warning",
                  localizationKey: cardNotice,
                  variant: "caption"
                })
              }),
              /* @__PURE__ */ jsxs2(Col2, {
                gap: 3,
                children: [
                  /* @__PURE__ */ jsx2(Button2, {
                    elementDescriptor: descriptors.formButtonPrimary,
                    block: true,
                    hasArrow: true,
                    isLoading: otp.isLoading,
                    localizationKey: localizationKeys("formButtonPrimary"),
                    onClick: otp.onFakeContinue
                  }),
                  props.onBackLinkClicked && /* @__PURE__ */ jsx2(Button2, {
                    elementDescriptor: descriptors.formButtonReset,
                    block: true,
                    variant: "ghost",
                    localizationKey: props.backLinkLabel,
                    onClick: props.onBackLinkClicked
                  }),
                  showAlternativeMethods && props.onShowAlternativeMethodsClicked && /* @__PURE__ */ jsx2(Card.Action, {
                    elementId: "alternativeMethods",
                    children: /* @__PURE__ */ jsx2(Card.ActionLink, {
                      localizationKey: props.alternativeMethodsLabel ?? localizationKeys("footerActionLink__useAnotherMethod"),
                      onClick: props.onShowAlternativeMethodsClicked
                    })
                  })
                ]
              })
            ]
          })
        ] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskSetupMfa/SmsCodeFlowScreen.js
  var import_react154, getAvailablePhonesFromUser, MFAVerifyPhoneForSessionTasks, AddPhoneForSessionTasks, SuccessScreen, PhoneItem, SmsCodeScreen, STEPS, SmsCodeFlow;
  var init_SmsCodeFlowScreen = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskSetupMfa/SmsCodeFlowScreen.js"() {
      init_localizationKeys();
      init_add();
      init_useFormControl();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      init_errorHandler();
      init_phoneUtils();
      init_Form2();
      init_FormButtons();
      init_Wizard();
      init_SuccessPage();
      init_Actions();
      init_PreviewButton();
      init_shared();
      init_MfaBackupCodeList();
      init_VerificationCodeCard();
      import_react154 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      getAvailablePhonesFromUser = (user) => {
        return user?.phoneNumbers.filter((phoneNumber) => {
          const hasOtherIdentifications = user?.primaryEmailAddress !== null || user?.primaryWeb3Wallet !== null || user?.passkeys.length > 0 || user?.externalAccounts.length > 0 || user?.enterpriseAccounts.length > 0 || user?.username !== null;
          if (phoneNumber.id === user?.primaryPhoneNumber?.id && !hasOtherIdentifications) return false;
          return !phoneNumber.reservedForSecondFactor;
        }) || [];
      };
      MFAVerifyPhoneForSessionTasks = withCardStateProvider((props) => {
        const { onSuccess, resourceRef, onReset } = props;
        const card = useCardState();
        const phone = resourceRef.current;
        const setReservedForSecondFactor = useReverification(() => phone?.setReservedForSecondFactor({ reserved: true }));
        const prepare = () => {
          return resourceRef.current?.prepareVerification?.()?.catch((err) => handleError(err, [], card.setError));
        };
        const enableMfa = async () => {
          card.setLoading(phone?.id);
          try {
            resourceRef.current = await setReservedForSecondFactor();
            onSuccess();
          } catch (err) {
            handleError(err, [], card.setError);
          } finally {
            card.setIdle();
          }
        };
        import_react154.default.useEffect(() => {
          prepare();
        }, []);
        const action = (code, resolve, reject) => {
          resourceRef.current?.attemptVerification({ code }).then(async () => {
            await resolve();
            await enableMfa();
          }).catch(reject);
        };
        return /* @__PURE__ */ jsx2(Card.Content, { children: /* @__PURE__ */ jsx2(VerificationCodeContent, {
          cardTitle: localizationKeys("taskSetupMfa.smsCode.verifyPhone.title"),
          cardSubtitle: localizationKeys("taskSetupMfa.smsCode.verifyPhone.subtitle"),
          safeIdentifier: resourceRef.current?.phoneNumber || "",
          inputLabel: localizationKeys("taskSetupMfa.smsCode.verifyPhone.formTitle"),
          resendButton: localizationKeys("taskSetupMfa.smsCode.verifyPhone.resendButton"),
          badgeText: localizationKeys("taskSetupMfa.badge"),
          onCodeEntryFinishedAction: action,
          onResendCodeClicked: () => void prepare(),
          onIdentityPreviewEditClicked: () => onReset(),
          onBackLinkClicked: () => onReset(),
          backLinkLabel: localizationKeys("taskSetupMfa.smsCode.cancel")
        }) });
      });
      AddPhoneForSessionTasks = withCardStateProvider((props) => {
        const { resourceRef, onSuccess, onReset } = props;
        const card = useCardState();
        const { user } = useUser();
        const createPhoneNumber = useReverification((user$1, opt) => user$1.createPhoneNumber(opt));
        const phoneField = useFormControl("phoneNumber", "", {
          type: "tel",
          label: localizationKeys("formFieldLabel__phoneNumber"),
          isRequired: true
        });
        const canSubmit = phoneField.value.length > 1 && user?.username !== phoneField.value;
        const addPhone = async (e3) => {
          e3.preventDefault();
          if (!user) return;
          await card.runAsync(async () => {
            try {
              resourceRef.current = await createPhoneNumber(user, { phoneNumber: phoneField.value });
              onSuccess();
            } catch (e$1) {
              handleError(e$1, [phoneField], card.setError);
            }
          });
        };
        return /* @__PURE__ */ jsxs2(Card.Content, { children: [
          /* @__PURE__ */ jsxs2(Header.Root, {
            badgeText: localizationKeys("taskSetupMfa.badge"),
            children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("taskSetupMfa.smsCode.addPhoneNumber") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("taskSetupMfa.smsCode.addPhone.infoText") })]
          }),
          /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
          /* @__PURE__ */ jsxs2(Form$1.Root, {
            onSubmit: addPhone,
            children: [/* @__PURE__ */ jsx2(Form$1.ControlRow, {
              elementId: phoneField.id,
              children: /* @__PURE__ */ jsx2(Form$1.PhoneInput, {
                ...phoneField.props,
                autoFocus: true
              })
            }), /* @__PURE__ */ jsxs2(FormButtonContainer, {
              sx: (theme) => ({
                flexDirection: "column",
                gap: theme.space.$4
              }),
              children: [/* @__PURE__ */ jsx2(Form$1.SubmitButton, {
                hasArrow: true,
                isDisabled: !canSubmit,
                localizationKey: localizationKeys("taskSetupMfa.smsCode.addPhone.formButtonPrimary")
              }), /* @__PURE__ */ jsx2(Form$1.ResetButton, {
                localizationKey: localizationKeys("taskSetupMfa.smsCode.cancel"),
                onClick: onReset
              })]
            })]
          })
        ] });
      });
      SuccessScreen = withCardStateProvider((props) => {
        const { resourceRef, onFinish } = props;
        return /* @__PURE__ */ jsx2(Card.Content, { children: /* @__PURE__ */ jsx2(SuccessPage, {
          title: localizationKeys("taskSetupMfa.smsCode.success.title"),
          subtitle: localizationKeys("taskSetupMfa.smsCode.success.message1"),
          headerBadgeText: localizationKeys("taskSetupMfa.badge"),
          onFinish,
          contents: /* @__PURE__ */ jsx2(MfaBackupCodeList, {
            backupCodes: resourceRef.current?.backupCodes,
            subtitle: localizationKeys("taskSetupMfa.smsCode.success.message2")
          }),
          finishLabel: localizationKeys("taskSetupMfa.smsCode.success.finishButton"),
          finishButtonProps: {
            block: true,
            hasArrow: true
          }
        }) });
      });
      PhoneItem = ({ phone, onSuccess, onUnverifiedPhoneClick, resourceRef }) => {
        const card = useCardState();
        const setReservedForSecondFactor = useReverification(() => phone.setReservedForSecondFactor({ reserved: true }));
        const { iso } = parsePhoneString(phone.phoneNumber);
        const flag = getFlagEmojiFromCountryIso(iso);
        const formattedPhone = stringToFormattedPhoneString(phone.phoneNumber);
        const handleSelect = async () => {
          if (phone.verification.status !== "verified") return onUnverifiedPhoneClick(phone);
          card.setLoading(phone.id);
          try {
            resourceRef.current = await setReservedForSecondFactor();
            onSuccess();
          } catch (err) {
            handleError(err, [], card.setError);
          } finally {
            card.setIdle();
          }
        };
        return /* @__PURE__ */ jsx2(PreviewButton, {
          isLoading: card.loadingMetadata === phone.id,
          hoverAsFocus: true,
          block: true,
          elementDescriptor: descriptors.taskSetupMfaPhoneSelectionItem,
          sx: (t2) => ({ padding: `${t2.space.$4} ${t2.space.$6}` }),
          onClick: () => void handleSelect(),
          children: /* @__PURE__ */ jsxs2(Flex2, {
            sx: (t2) => ({
              gap: t2.space.$4,
              alignItems: "center"
            }),
            children: [/* @__PURE__ */ jsx2(Text2, {
              sx: (t2) => ({ fontSize: t2.fontSizes.$lg }),
              children: flag
            }), /* @__PURE__ */ jsx2(Text2, {
              variant: "buttonLarge",
              children: formattedPhone
            })]
          })
        });
      };
      SmsCodeScreen = withCardStateProvider((props) => {
        const { onSuccess, onReset, onAddPhoneClick, onUnverifiedPhoneClick, resourceRef } = props;
        const { user } = useUser();
        const card = useCardState();
        if (!user) return null;
        const availablePhones = getAvailablePhonesFromUser(user);
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "phoneCode",
          children: /* @__PURE__ */ jsxs2(Card.Content, {
            sx: (t2) => ({ padding: t2.space.$none }),
            children: [
              /* @__PURE__ */ jsxs2(Header.Root, {
                showLogo: true,
                badgeText: localizationKeys("taskSetupMfa.badge"),
                sx: (t2) => ({
                  paddingTop: t2.space.$8,
                  paddingInline: t2.space.$8
                }),
                children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("taskSetupMfa.smsCode.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("taskSetupMfa.smsCode.subtitle") })]
              }),
              card.error && /* @__PURE__ */ jsx2(Flex2, {
                sx: (t2) => ({ paddingInline: t2.space.$8 }),
                children: /* @__PURE__ */ jsx2(Card.Alert, { children: card.error })
              }),
              /* @__PURE__ */ jsxs2(Col2, { children: [/* @__PURE__ */ jsxs2(Actions, {
                role: "menu",
                elementDescriptor: descriptors.taskSetupMfaPhoneSelectionItems,
                sx: (t2) => ({
                  borderTopWidth: t2.borderWidths.$normal,
                  borderTopStyle: t2.borderStyles.$solid,
                  borderTopColor: t2.colors.$borderAlpha100
                }),
                children: [availablePhones?.map((phone) => /* @__PURE__ */ jsx2(PhoneItem, {
                  phone,
                  onSuccess,
                  onUnverifiedPhoneClick,
                  resourceRef
                }, phone.id)), /* @__PURE__ */ jsx2(Action, {
                  hoverAsFocus: true,
                  label: localizationKeys("taskSetupMfa.smsCode.addPhoneNumber"),
                  block: true,
                  onClick: onAddPhoneClick,
                  icon: add_default,
                  elementDescriptor: descriptors.taskSetupMfaPhoneSelectionAddPhoneAction,
                  sx: (t2) => ({
                    borderTopWidth: t2.borderWidths.$normal,
                    borderTopStyle: t2.borderStyles.$solid,
                    borderTopColor: t2.colors.$borderAlpha100,
                    padding: `${t2.space.$4} ${t2.space.$4}`,
                    gap: t2.space.$2
                  }),
                  iconSx: (t2) => ({
                    width: t2.sizes.$8,
                    height: t2.sizes.$6
                  })
                })]
              }), /* @__PURE__ */ jsx2(Flex2, {
                justify: "center",
                sx: (t2) => ({
                  borderTopWidth: t2.borderWidths.$normal,
                  borderTopStyle: t2.borderStyles.$solid,
                  borderTopColor: t2.colors.$borderAlpha100,
                  padding: t2.space.$4
                }),
                children: /* @__PURE__ */ jsx2(Button2, {
                  variant: "ghost",
                  onClick: onReset,
                  block: true,
                  elementDescriptor: descriptors.formButtonReset,
                  localizationKey: localizationKeys("taskSetupMfa.smsCode.cancel")
                })
              })] })
            ]
          })
        });
      });
      STEPS = {
        ADD_PHONE: 0,
        VERIFY_PHONE: 1,
        SELECT_PHONE: 2,
        SUCCESS: 3
      };
      SmsCodeFlow = (props) => {
        const { onSuccess, goToStartStep } = props;
        const { user } = useUser();
        const ref = (0, import_react154.useRef)();
        const availablePhones = (0, import_react154.useMemo)(() => {
          if (!user) return [];
          return getAvailablePhonesFromUser(user);
        }, [user]);
        const wizard = useWizard({ defaultStep: availablePhones.length > 0 ? STEPS.SELECT_PHONE : STEPS.ADD_PHONE });
        return /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Wizard, {
          ...wizard.props,
          animate: false,
          children: [
            /* @__PURE__ */ jsx2(AddPhoneForSessionTasks, {
              resourceRef: ref,
              onSuccess: wizard.nextStep,
              onReset: () => availablePhones.length > 0 ? wizard.goToStep(STEPS.SELECT_PHONE) : goToStartStep()
            }),
            /* @__PURE__ */ jsx2(MFAVerifyPhoneForSessionTasks, {
              resourceRef: ref,
              onSuccess: () => wizard.goToStep(STEPS.SUCCESS),
              onReset: () => wizard.goToStep(STEPS.ADD_PHONE)
            }),
            /* @__PURE__ */ jsx2(SmsCodeScreen, {
              availablePhones,
              onSuccess: wizard.nextStep,
              onReset: goToStartStep,
              onAddPhoneClick: () => wizard.goToStep(STEPS.ADD_PHONE),
              onUnverifiedPhoneClick: (phone) => {
                ref.current = phone;
                wizard.goToStep(STEPS.VERIFY_PHONE);
              },
              resourceRef: ref
            }),
            /* @__PURE__ */ jsx2(SuccessScreen, {
              resourceRef: ref,
              onFinish: onSuccess
            })
          ]
        }), /* @__PURE__ */ jsx2(Card.Footer, { children: /* @__PURE__ */ jsx2(SharedFooterActionForSignOut, {}) })] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/clipboard-outline.js
  function _extends25() {
    return _extends25 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends25.apply(null, arguments);
  }
  var React$127, _path29, SvgClipboardOutline, clipboard_outline_default;
  var init_clipboard_outline = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/clipboard-outline.js"() {
      React$127 = __toESM(require_react(), 1);
      SvgClipboardOutline = function SvgClipboardOutline$1(props) {
        return /* @__PURE__ */ React$127.createElement("svg", _extends25({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 12 12"
        }, props), _path29 || (_path29 = /* @__PURE__ */ React$127.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M3.129.33A.75.75 0 0 1 3.75 0h4.5a.75.75 0 0 1 .707.5h.293A2.75 2.75 0 0 1 12 3.25v6A2.75 2.75 0 0 1 9.25 12h-6.5A2.75 2.75 0 0 1 0 9.25v-6A2.75 2.75 0 0 1 2.75.5h.293a.8.8 0 0 1 .086-.17M3.442 2H2.75c-.69 0-1.25.56-1.25 1.25v6c0 .69.56 1.25 1.25 1.25h6.5c.69 0 1.25-.56 1.25-1.25v-6C10.5 2.56 9.94 2 9.25 2h-.692l-.147.368a2.596 2.596 0 0 1-4.822 0zm3.7-.5H4.858l.124.31a1.096 1.096 0 0 0 2.036 0z",
          clipRule: "evenodd"
        })));
      };
      clipboard_outline_default = SvgClipboardOutline;
    }
  });

  // node_modules/qrcode.react/lib/esm/index.js
  function generatePath(modules, margin = 0) {
    const ops = [];
    modules.forEach(function(row, y) {
      let start = null;
      row.forEach(function(cell, x) {
        if (!cell && start !== null) {
          ops.push(
            `M${start + margin} ${y + margin}h${x - start}v1H${start + margin}z`
          );
          start = null;
          return;
        }
        if (x === row.length - 1) {
          if (!cell) {
            return;
          }
          if (start === null) {
            ops.push(`M${x + margin},${y + margin} h1v1H${x + margin}z`);
          } else {
            ops.push(
              `M${start + margin},${y + margin} h${x + 1 - start}v1H${start + margin}z`
            );
          }
          return;
        }
        if (cell && start === null) {
          start = x;
        }
      });
    });
    return ops.join("");
  }
  function excavateModules(modules, excavation) {
    return modules.slice().map((row, y) => {
      if (y < excavation.y || y >= excavation.y + excavation.h) {
        return row;
      }
      return row.map((cell, x) => {
        if (x < excavation.x || x >= excavation.x + excavation.w) {
          return cell;
        }
        return false;
      });
    });
  }
  function getImageSettings(cells, size5, margin, imageSettings) {
    if (imageSettings == null) {
      return null;
    }
    const numCells = cells.length + margin * 2;
    const defaultSize = Math.floor(size5 * DEFAULT_IMG_SCALE);
    const scale = numCells / size5;
    const w = (imageSettings.width || defaultSize) * scale;
    const h2 = (imageSettings.height || defaultSize) * scale;
    const x = imageSettings.x == null ? cells.length / 2 - w / 2 : imageSettings.x * scale;
    const y = imageSettings.y == null ? cells.length / 2 - h2 / 2 : imageSettings.y * scale;
    const opacity2 = imageSettings.opacity == null ? 1 : imageSettings.opacity;
    let excavation = null;
    if (imageSettings.excavate) {
      let floorX = Math.floor(x);
      let floorY = Math.floor(y);
      let ceilW = Math.ceil(w + x - floorX);
      let ceilH = Math.ceil(h2 + y - floorY);
      excavation = { x: floorX, y: floorY, w: ceilW, h: ceilH };
    }
    const crossOrigin = imageSettings.crossOrigin;
    return { x, y, h: h2, w, excavation, opacity: opacity2, crossOrigin };
  }
  function getMarginSize(includeMargin, marginSize) {
    if (marginSize != null) {
      return Math.max(Math.floor(marginSize), 0);
    }
    return includeMargin ? SPEC_MARGIN_SIZE : DEFAULT_MARGIN_SIZE;
  }
  function useQRCode({
    value,
    level,
    minVersion,
    includeMargin,
    marginSize,
    imageSettings,
    size: size5,
    boostLevel
  }) {
    let qrcode = import_react156.default.useMemo(() => {
      const values = Array.isArray(value) ? value : [value];
      const segments = values.reduce((accum, v) => {
        accum.push(...qrcodegen_default.QrSegment.makeSegments(v));
        return accum;
      }, []);
      return qrcodegen_default.QrCode.encodeSegments(
        segments,
        ERROR_LEVEL_MAP[level],
        minVersion,
        void 0,
        void 0,
        boostLevel
      );
    }, [value, level, minVersion, boostLevel]);
    const { cells, margin, numCells, calculatedImageSettings } = import_react156.default.useMemo(() => {
      let cells2 = qrcode.getModules();
      const margin2 = getMarginSize(includeMargin, marginSize);
      const numCells2 = cells2.length + margin2 * 2;
      const calculatedImageSettings2 = getImageSettings(
        cells2,
        size5,
        margin2,
        imageSettings
      );
      return {
        cells: cells2,
        margin: margin2,
        numCells: numCells2,
        calculatedImageSettings: calculatedImageSettings2
      };
    }, [qrcode, size5, imageSettings, includeMargin, marginSize]);
    return {
      qrcode,
      margin,
      cells,
      numCells,
      calculatedImageSettings
    };
  }
  var import_react156, __defProp3, __getOwnPropSymbols, __hasOwnProp2, __propIsEnum, __defNormalProp2, __spreadValues, __objRest, qrcodegen, qrcodegen_default, ERROR_LEVEL_MAP, DEFAULT_SIZE, DEFAULT_LEVEL, DEFAULT_BGCOLOR, DEFAULT_FGCOLOR, DEFAULT_INCLUDEMARGIN, DEFAULT_MINVERSION, SPEC_MARGIN_SIZE, DEFAULT_MARGIN_SIZE, DEFAULT_IMG_SCALE, SUPPORTS_PATH2D, QRCodeCanvas, QRCodeSVG;
  var init_esm = __esm({
    "node_modules/qrcode.react/lib/esm/index.js"() {
      import_react156 = __toESM(require_react(), 1);
      __defProp3 = Object.defineProperty;
      __getOwnPropSymbols = Object.getOwnPropertySymbols;
      __hasOwnProp2 = Object.prototype.hasOwnProperty;
      __propIsEnum = Object.prototype.propertyIsEnumerable;
      __defNormalProp2 = (obj, key, value) => key in obj ? __defProp3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
      __spreadValues = (a2, b2) => {
        for (var prop in b2 || (b2 = {}))
          if (__hasOwnProp2.call(b2, prop))
            __defNormalProp2(a2, prop, b2[prop]);
        if (__getOwnPropSymbols)
          for (var prop of __getOwnPropSymbols(b2)) {
            if (__propIsEnum.call(b2, prop))
              __defNormalProp2(a2, prop, b2[prop]);
          }
        return a2;
      };
      __objRest = (source, exclude) => {
        var target2 = {};
        for (var prop in source)
          if (__hasOwnProp2.call(source, prop) && exclude.indexOf(prop) < 0)
            target2[prop] = source[prop];
        if (source != null && __getOwnPropSymbols)
          for (var prop of __getOwnPropSymbols(source)) {
            if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
              target2[prop] = source[prop];
          }
        return target2;
      };
      ((qrcodegen2) => {
        const _QrCode = class _QrCode2 {
          /*-- Constructor (low level) and fields --*/
          // Creates a new QR Code with the given version number,
          // error correction level, data codeword bytes, and mask number.
          // This is a low-level API that most users should not use directly.
          // A mid-level API is the encodeSegments() function.
          constructor(version2, errorCorrectionLevel, dataCodewords, msk) {
            this.version = version2;
            this.errorCorrectionLevel = errorCorrectionLevel;
            this.modules = [];
            this.isFunction = [];
            if (version2 < _QrCode2.MIN_VERSION || version2 > _QrCode2.MAX_VERSION)
              throw new RangeError("Version value out of range");
            if (msk < -1 || msk > 7)
              throw new RangeError("Mask value out of range");
            this.size = version2 * 4 + 17;
            let row = [];
            for (let i2 = 0; i2 < this.size; i2++)
              row.push(false);
            for (let i2 = 0; i2 < this.size; i2++) {
              this.modules.push(row.slice());
              this.isFunction.push(row.slice());
            }
            this.drawFunctionPatterns();
            const allCodewords = this.addEccAndInterleave(dataCodewords);
            this.drawCodewords(allCodewords);
            if (msk == -1) {
              let minPenalty = 1e9;
              for (let i2 = 0; i2 < 8; i2++) {
                this.applyMask(i2);
                this.drawFormatBits(i2);
                const penalty = this.getPenaltyScore();
                if (penalty < minPenalty) {
                  msk = i2;
                  minPenalty = penalty;
                }
                this.applyMask(i2);
              }
            }
            assert3(0 <= msk && msk <= 7);
            this.mask = msk;
            this.applyMask(msk);
            this.drawFormatBits(msk);
            this.isFunction = [];
          }
          /*-- Static factory functions (high level) --*/
          // Returns a QR Code representing the given Unicode text string at the given error correction level.
          // As a conservative upper bound, this function is guaranteed to succeed for strings that have 738 or fewer
          // Unicode code points (not UTF-16 code units) if the low error correction level is used. The smallest possible
          // QR Code version is automatically chosen for the output. The ECC level of the result may be higher than the
          // ecl argument if it can be done without increasing the version.
          static encodeText(text, ecl) {
            const segs = qrcodegen2.QrSegment.makeSegments(text);
            return _QrCode2.encodeSegments(segs, ecl);
          }
          // Returns a QR Code representing the given binary data at the given error correction level.
          // This function always encodes using the binary segment mode, not any text mode. The maximum number of
          // bytes allowed is 2953. The smallest possible QR Code version is automatically chosen for the output.
          // The ECC level of the result may be higher than the ecl argument if it can be done without increasing the version.
          static encodeBinary(data2, ecl) {
            const seg = qrcodegen2.QrSegment.makeBytes(data2);
            return _QrCode2.encodeSegments([seg], ecl);
          }
          /*-- Static factory functions (mid level) --*/
          // Returns a QR Code representing the given segments with the given encoding parameters.
          // The smallest possible QR Code version within the given range is automatically
          // chosen for the output. Iff boostEcl is true, then the ECC level of the result
          // may be higher than the ecl argument if it can be done without increasing the
          // version. The mask number is either between 0 to 7 (inclusive) to force that
          // mask, or -1 to automatically choose an appropriate mask (which may be slow).
          // This function allows the user to create a custom sequence of segments that switches
          // between modes (such as alphanumeric and byte) to encode text in less space.
          // This is a mid-level API; the high-level API is encodeText() and encodeBinary().
          static encodeSegments(segs, ecl, minVersion = 1, maxVersion = 40, mask2 = -1, boostEcl = true) {
            if (!(_QrCode2.MIN_VERSION <= minVersion && minVersion <= maxVersion && maxVersion <= _QrCode2.MAX_VERSION) || mask2 < -1 || mask2 > 7)
              throw new RangeError("Invalid value");
            let version2;
            let dataUsedBits;
            for (version2 = minVersion; ; version2++) {
              const dataCapacityBits2 = _QrCode2.getNumDataCodewords(version2, ecl) * 8;
              const usedBits = QrSegment.getTotalBits(segs, version2);
              if (usedBits <= dataCapacityBits2) {
                dataUsedBits = usedBits;
                break;
              }
              if (version2 >= maxVersion)
                throw new RangeError("Data too long");
            }
            for (const newEcl of [_QrCode2.Ecc.MEDIUM, _QrCode2.Ecc.QUARTILE, _QrCode2.Ecc.HIGH]) {
              if (boostEcl && dataUsedBits <= _QrCode2.getNumDataCodewords(version2, newEcl) * 8)
                ecl = newEcl;
            }
            let bb = [];
            for (const seg of segs) {
              appendBits(seg.mode.modeBits, 4, bb);
              appendBits(seg.numChars, seg.mode.numCharCountBits(version2), bb);
              for (const b2 of seg.getData())
                bb.push(b2);
            }
            assert3(bb.length == dataUsedBits);
            const dataCapacityBits = _QrCode2.getNumDataCodewords(version2, ecl) * 8;
            assert3(bb.length <= dataCapacityBits);
            appendBits(0, Math.min(4, dataCapacityBits - bb.length), bb);
            appendBits(0, (8 - bb.length % 8) % 8, bb);
            assert3(bb.length % 8 == 0);
            for (let padByte = 236; bb.length < dataCapacityBits; padByte ^= 236 ^ 17)
              appendBits(padByte, 8, bb);
            let dataCodewords = [];
            while (dataCodewords.length * 8 < bb.length)
              dataCodewords.push(0);
            bb.forEach((b2, i2) => dataCodewords[i2 >>> 3] |= b2 << 7 - (i2 & 7));
            return new _QrCode2(version2, ecl, dataCodewords, mask2);
          }
          /*-- Accessor methods --*/
          // Returns the color of the module (pixel) at the given coordinates, which is false
          // for light or true for dark. The top left corner has the coordinates (x=0, y=0).
          // If the given coordinates are out of bounds, then false (light) is returned.
          getModule(x, y) {
            return 0 <= x && x < this.size && 0 <= y && y < this.size && this.modules[y][x];
          }
          // Modified to expose modules for easy access
          getModules() {
            return this.modules;
          }
          /*-- Private helper methods for constructor: Drawing function modules --*/
          // Reads this object's version field, and draws and marks all function modules.
          drawFunctionPatterns() {
            for (let i2 = 0; i2 < this.size; i2++) {
              this.setFunctionModule(6, i2, i2 % 2 == 0);
              this.setFunctionModule(i2, 6, i2 % 2 == 0);
            }
            this.drawFinderPattern(3, 3);
            this.drawFinderPattern(this.size - 4, 3);
            this.drawFinderPattern(3, this.size - 4);
            const alignPatPos = this.getAlignmentPatternPositions();
            const numAlign = alignPatPos.length;
            for (let i2 = 0; i2 < numAlign; i2++) {
              for (let j = 0; j < numAlign; j++) {
                if (!(i2 == 0 && j == 0 || i2 == 0 && j == numAlign - 1 || i2 == numAlign - 1 && j == 0))
                  this.drawAlignmentPattern(alignPatPos[i2], alignPatPos[j]);
              }
            }
            this.drawFormatBits(0);
            this.drawVersion();
          }
          // Draws two copies of the format bits (with its own error correction code)
          // based on the given mask and this object's error correction level field.
          drawFormatBits(mask2) {
            const data2 = this.errorCorrectionLevel.formatBits << 3 | mask2;
            let rem = data2;
            for (let i2 = 0; i2 < 10; i2++)
              rem = rem << 1 ^ (rem >>> 9) * 1335;
            const bits = (data2 << 10 | rem) ^ 21522;
            assert3(bits >>> 15 == 0);
            for (let i2 = 0; i2 <= 5; i2++)
              this.setFunctionModule(8, i2, getBit(bits, i2));
            this.setFunctionModule(8, 7, getBit(bits, 6));
            this.setFunctionModule(8, 8, getBit(bits, 7));
            this.setFunctionModule(7, 8, getBit(bits, 8));
            for (let i2 = 9; i2 < 15; i2++)
              this.setFunctionModule(14 - i2, 8, getBit(bits, i2));
            for (let i2 = 0; i2 < 8; i2++)
              this.setFunctionModule(this.size - 1 - i2, 8, getBit(bits, i2));
            for (let i2 = 8; i2 < 15; i2++)
              this.setFunctionModule(8, this.size - 15 + i2, getBit(bits, i2));
            this.setFunctionModule(8, this.size - 8, true);
          }
          // Draws two copies of the version bits (with its own error correction code),
          // based on this object's version field, iff 7 <= version <= 40.
          drawVersion() {
            if (this.version < 7)
              return;
            let rem = this.version;
            for (let i2 = 0; i2 < 12; i2++)
              rem = rem << 1 ^ (rem >>> 11) * 7973;
            const bits = this.version << 12 | rem;
            assert3(bits >>> 18 == 0);
            for (let i2 = 0; i2 < 18; i2++) {
              const color = getBit(bits, i2);
              const a2 = this.size - 11 + i2 % 3;
              const b2 = Math.floor(i2 / 3);
              this.setFunctionModule(a2, b2, color);
              this.setFunctionModule(b2, a2, color);
            }
          }
          // Draws a 9*9 finder pattern including the border separator,
          // with the center module at (x, y). Modules can be out of bounds.
          drawFinderPattern(x, y) {
            for (let dy = -4; dy <= 4; dy++) {
              for (let dx = -4; dx <= 4; dx++) {
                const dist = Math.max(Math.abs(dx), Math.abs(dy));
                const xx = x + dx;
                const yy = y + dy;
                if (0 <= xx && xx < this.size && 0 <= yy && yy < this.size)
                  this.setFunctionModule(xx, yy, dist != 2 && dist != 4);
              }
            }
          }
          // Draws a 5*5 alignment pattern, with the center module
          // at (x, y). All modules must be in bounds.
          drawAlignmentPattern(x, y) {
            for (let dy = -2; dy <= 2; dy++) {
              for (let dx = -2; dx <= 2; dx++)
                this.setFunctionModule(x + dx, y + dy, Math.max(Math.abs(dx), Math.abs(dy)) != 1);
            }
          }
          // Sets the color of a module and marks it as a function module.
          // Only used by the constructor. Coordinates must be in bounds.
          setFunctionModule(x, y, isDark) {
            this.modules[y][x] = isDark;
            this.isFunction[y][x] = true;
          }
          /*-- Private helper methods for constructor: Codewords and masking --*/
          // Returns a new byte string representing the given data with the appropriate error correction
          // codewords appended to it, based on this object's version and error correction level.
          addEccAndInterleave(data2) {
            const ver = this.version;
            const ecl = this.errorCorrectionLevel;
            if (data2.length != _QrCode2.getNumDataCodewords(ver, ecl))
              throw new RangeError("Invalid argument");
            const numBlocks = _QrCode2.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];
            const blockEccLen = _QrCode2.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver];
            const rawCodewords = Math.floor(_QrCode2.getNumRawDataModules(ver) / 8);
            const numShortBlocks = numBlocks - rawCodewords % numBlocks;
            const shortBlockLen = Math.floor(rawCodewords / numBlocks);
            let blocks = [];
            const rsDiv = _QrCode2.reedSolomonComputeDivisor(blockEccLen);
            for (let i2 = 0, k = 0; i2 < numBlocks; i2++) {
              let dat = data2.slice(k, k + shortBlockLen - blockEccLen + (i2 < numShortBlocks ? 0 : 1));
              k += dat.length;
              const ecc = _QrCode2.reedSolomonComputeRemainder(dat, rsDiv);
              if (i2 < numShortBlocks)
                dat.push(0);
              blocks.push(dat.concat(ecc));
            }
            let result = [];
            for (let i2 = 0; i2 < blocks[0].length; i2++) {
              blocks.forEach((block, j) => {
                if (i2 != shortBlockLen - blockEccLen || j >= numShortBlocks)
                  result.push(block[i2]);
              });
            }
            assert3(result.length == rawCodewords);
            return result;
          }
          // Draws the given sequence of 8-bit codewords (data and error correction) onto the entire
          // data area of this QR Code. Function modules need to be marked off before this is called.
          drawCodewords(data2) {
            if (data2.length != Math.floor(_QrCode2.getNumRawDataModules(this.version) / 8))
              throw new RangeError("Invalid argument");
            let i2 = 0;
            for (let right = this.size - 1; right >= 1; right -= 2) {
              if (right == 6)
                right = 5;
              for (let vert = 0; vert < this.size; vert++) {
                for (let j = 0; j < 2; j++) {
                  const x = right - j;
                  const upward = (right + 1 & 2) == 0;
                  const y = upward ? this.size - 1 - vert : vert;
                  if (!this.isFunction[y][x] && i2 < data2.length * 8) {
                    this.modules[y][x] = getBit(data2[i2 >>> 3], 7 - (i2 & 7));
                    i2++;
                  }
                }
              }
            }
            assert3(i2 == data2.length * 8);
          }
          // XORs the codeword modules in this QR Code with the given mask pattern.
          // The function modules must be marked and the codeword bits must be drawn
          // before masking. Due to the arithmetic of XOR, calling applyMask() with
          // the same mask value a second time will undo the mask. A final well-formed
          // QR Code needs exactly one (not zero, two, etc.) mask applied.
          applyMask(mask2) {
            if (mask2 < 0 || mask2 > 7)
              throw new RangeError("Mask value out of range");
            for (let y = 0; y < this.size; y++) {
              for (let x = 0; x < this.size; x++) {
                let invert2;
                switch (mask2) {
                  case 0:
                    invert2 = (x + y) % 2 == 0;
                    break;
                  case 1:
                    invert2 = y % 2 == 0;
                    break;
                  case 2:
                    invert2 = x % 3 == 0;
                    break;
                  case 3:
                    invert2 = (x + y) % 3 == 0;
                    break;
                  case 4:
                    invert2 = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 == 0;
                    break;
                  case 5:
                    invert2 = x * y % 2 + x * y % 3 == 0;
                    break;
                  case 6:
                    invert2 = (x * y % 2 + x * y % 3) % 2 == 0;
                    break;
                  case 7:
                    invert2 = ((x + y) % 2 + x * y % 3) % 2 == 0;
                    break;
                  default:
                    throw new Error("Unreachable");
                }
                if (!this.isFunction[y][x] && invert2)
                  this.modules[y][x] = !this.modules[y][x];
              }
            }
          }
          // Calculates and returns the penalty score based on state of this QR Code's current modules.
          // This is used by the automatic mask choice algorithm to find the mask pattern that yields the lowest score.
          getPenaltyScore() {
            let result = 0;
            for (let y = 0; y < this.size; y++) {
              let runColor = false;
              let runX = 0;
              let runHistory = [0, 0, 0, 0, 0, 0, 0];
              for (let x = 0; x < this.size; x++) {
                if (this.modules[y][x] == runColor) {
                  runX++;
                  if (runX == 5)
                    result += _QrCode2.PENALTY_N1;
                  else if (runX > 5)
                    result++;
                } else {
                  this.finderPenaltyAddHistory(runX, runHistory);
                  if (!runColor)
                    result += this.finderPenaltyCountPatterns(runHistory) * _QrCode2.PENALTY_N3;
                  runColor = this.modules[y][x];
                  runX = 1;
                }
              }
              result += this.finderPenaltyTerminateAndCount(runColor, runX, runHistory) * _QrCode2.PENALTY_N3;
            }
            for (let x = 0; x < this.size; x++) {
              let runColor = false;
              let runY = 0;
              let runHistory = [0, 0, 0, 0, 0, 0, 0];
              for (let y = 0; y < this.size; y++) {
                if (this.modules[y][x] == runColor) {
                  runY++;
                  if (runY == 5)
                    result += _QrCode2.PENALTY_N1;
                  else if (runY > 5)
                    result++;
                } else {
                  this.finderPenaltyAddHistory(runY, runHistory);
                  if (!runColor)
                    result += this.finderPenaltyCountPatterns(runHistory) * _QrCode2.PENALTY_N3;
                  runColor = this.modules[y][x];
                  runY = 1;
                }
              }
              result += this.finderPenaltyTerminateAndCount(runColor, runY, runHistory) * _QrCode2.PENALTY_N3;
            }
            for (let y = 0; y < this.size - 1; y++) {
              for (let x = 0; x < this.size - 1; x++) {
                const color = this.modules[y][x];
                if (color == this.modules[y][x + 1] && color == this.modules[y + 1][x] && color == this.modules[y + 1][x + 1])
                  result += _QrCode2.PENALTY_N2;
              }
            }
            let dark = 0;
            for (const row of this.modules)
              dark = row.reduce((sum, color) => sum + (color ? 1 : 0), dark);
            const total = this.size * this.size;
            const k = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1;
            assert3(0 <= k && k <= 9);
            result += k * _QrCode2.PENALTY_N4;
            assert3(0 <= result && result <= 2568888);
            return result;
          }
          /*-- Private helper functions --*/
          // Returns an ascending list of positions of alignment patterns for this version number.
          // Each position is in the range [0,177), and are used on both the x and y axes.
          // This could be implemented as lookup table of 40 variable-length lists of integers.
          getAlignmentPatternPositions() {
            if (this.version == 1)
              return [];
            else {
              const numAlign = Math.floor(this.version / 7) + 2;
              const step = this.version == 32 ? 26 : Math.ceil((this.version * 4 + 4) / (numAlign * 2 - 2)) * 2;
              let result = [6];
              for (let pos = this.size - 7; result.length < numAlign; pos -= step)
                result.splice(1, 0, pos);
              return result;
            }
          }
          // Returns the number of data bits that can be stored in a QR Code of the given version number, after
          // all function modules are excluded. This includes remainder bits, so it might not be a multiple of 8.
          // The result is in the range [208, 29648]. This could be implemented as a 40-entry lookup table.
          static getNumRawDataModules(ver) {
            if (ver < _QrCode2.MIN_VERSION || ver > _QrCode2.MAX_VERSION)
              throw new RangeError("Version number out of range");
            let result = (16 * ver + 128) * ver + 64;
            if (ver >= 2) {
              const numAlign = Math.floor(ver / 7) + 2;
              result -= (25 * numAlign - 10) * numAlign - 55;
              if (ver >= 7)
                result -= 36;
            }
            assert3(208 <= result && result <= 29648);
            return result;
          }
          // Returns the number of 8-bit data (i.e. not error correction) codewords contained in any
          // QR Code of the given version number and error correction level, with remainder bits discarded.
          // This stateless pure function could be implemented as a (40*4)-cell lookup table.
          static getNumDataCodewords(ver, ecl) {
            return Math.floor(_QrCode2.getNumRawDataModules(ver) / 8) - _QrCode2.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver] * _QrCode2.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];
          }
          // Returns a Reed-Solomon ECC generator polynomial for the given degree. This could be
          // implemented as a lookup table over all possible parameter values, instead of as an algorithm.
          static reedSolomonComputeDivisor(degree) {
            if (degree < 1 || degree > 255)
              throw new RangeError("Degree out of range");
            let result = [];
            for (let i2 = 0; i2 < degree - 1; i2++)
              result.push(0);
            result.push(1);
            let root2 = 1;
            for (let i2 = 0; i2 < degree; i2++) {
              for (let j = 0; j < result.length; j++) {
                result[j] = _QrCode2.reedSolomonMultiply(result[j], root2);
                if (j + 1 < result.length)
                  result[j] ^= result[j + 1];
              }
              root2 = _QrCode2.reedSolomonMultiply(root2, 2);
            }
            return result;
          }
          // Returns the Reed-Solomon error correction codeword for the given data and divisor polynomials.
          static reedSolomonComputeRemainder(data2, divisor) {
            let result = divisor.map((_3) => 0);
            for (const b2 of data2) {
              const factor = b2 ^ result.shift();
              result.push(0);
              divisor.forEach((coef, i2) => result[i2] ^= _QrCode2.reedSolomonMultiply(coef, factor));
            }
            return result;
          }
          // Returns the product of the two given field elements modulo GF(2^8/0x11D). The arguments and result
          // are unsigned 8-bit integers. This could be implemented as a lookup table of 256*256 entries of uint8.
          static reedSolomonMultiply(x, y) {
            if (x >>> 8 != 0 || y >>> 8 != 0)
              throw new RangeError("Byte out of range");
            let z = 0;
            for (let i2 = 7; i2 >= 0; i2--) {
              z = z << 1 ^ (z >>> 7) * 285;
              z ^= (y >>> i2 & 1) * x;
            }
            assert3(z >>> 8 == 0);
            return z;
          }
          // Can only be called immediately after a light run is added, and
          // returns either 0, 1, or 2. A helper function for getPenaltyScore().
          finderPenaltyCountPatterns(runHistory) {
            const n3 = runHistory[1];
            assert3(n3 <= this.size * 3);
            const core = n3 > 0 && runHistory[2] == n3 && runHistory[3] == n3 * 3 && runHistory[4] == n3 && runHistory[5] == n3;
            return (core && runHistory[0] >= n3 * 4 && runHistory[6] >= n3 ? 1 : 0) + (core && runHistory[6] >= n3 * 4 && runHistory[0] >= n3 ? 1 : 0);
          }
          // Must be called at the end of a line (row or column) of modules. A helper function for getPenaltyScore().
          finderPenaltyTerminateAndCount(currentRunColor, currentRunLength, runHistory) {
            if (currentRunColor) {
              this.finderPenaltyAddHistory(currentRunLength, runHistory);
              currentRunLength = 0;
            }
            currentRunLength += this.size;
            this.finderPenaltyAddHistory(currentRunLength, runHistory);
            return this.finderPenaltyCountPatterns(runHistory);
          }
          // Pushes the given value to the front and drops the last value. A helper function for getPenaltyScore().
          finderPenaltyAddHistory(currentRunLength, runHistory) {
            if (runHistory[0] == 0)
              currentRunLength += this.size;
            runHistory.pop();
            runHistory.unshift(currentRunLength);
          }
        };
        _QrCode.MIN_VERSION = 1;
        _QrCode.MAX_VERSION = 40;
        _QrCode.PENALTY_N1 = 3;
        _QrCode.PENALTY_N2 = 3;
        _QrCode.PENALTY_N3 = 40;
        _QrCode.PENALTY_N4 = 10;
        _QrCode.ECC_CODEWORDS_PER_BLOCK = [
          // Version: (note that index 0 is for padding, and is set to an illegal value)
          //0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40    Error correction level
          [-1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],
          // Low
          [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28],
          // Medium
          [-1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],
          // Quartile
          [-1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]
          // High
        ];
        _QrCode.NUM_ERROR_CORRECTION_BLOCKS = [
          // Version: (note that index 0 is for padding, and is set to an illegal value)
          //0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40    Error correction level
          [-1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25],
          // Low
          [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49],
          // Medium
          [-1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68],
          // Quartile
          [-1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81]
          // High
        ];
        let QrCode = _QrCode;
        qrcodegen2.QrCode = _QrCode;
        function appendBits(val, len, bb) {
          if (len < 0 || len > 31 || val >>> len != 0)
            throw new RangeError("Value out of range");
          for (let i2 = len - 1; i2 >= 0; i2--)
            bb.push(val >>> i2 & 1);
        }
        function getBit(x, i2) {
          return (x >>> i2 & 1) != 0;
        }
        function assert3(cond) {
          if (!cond)
            throw new Error("Assertion error");
        }
        const _QrSegment = class _QrSegment2 {
          /*-- Constructor (low level) and fields --*/
          // Creates a new QR Code segment with the given attributes and data.
          // The character count (numChars) must agree with the mode and the bit buffer length,
          // but the constraint isn't checked. The given bit buffer is cloned and stored.
          constructor(mode, numChars, bitData) {
            this.mode = mode;
            this.numChars = numChars;
            this.bitData = bitData;
            if (numChars < 0)
              throw new RangeError("Invalid argument");
            this.bitData = bitData.slice();
          }
          /*-- Static factory functions (mid level) --*/
          // Returns a segment representing the given binary data encoded in
          // byte mode. All input byte arrays are acceptable. Any text string
          // can be converted to UTF-8 bytes and encoded as a byte mode segment.
          static makeBytes(data2) {
            let bb = [];
            for (const b2 of data2)
              appendBits(b2, 8, bb);
            return new _QrSegment2(_QrSegment2.Mode.BYTE, data2.length, bb);
          }
          // Returns a segment representing the given string of decimal digits encoded in numeric mode.
          static makeNumeric(digits) {
            if (!_QrSegment2.isNumeric(digits))
              throw new RangeError("String contains non-numeric characters");
            let bb = [];
            for (let i2 = 0; i2 < digits.length; ) {
              const n3 = Math.min(digits.length - i2, 3);
              appendBits(parseInt(digits.substring(i2, i2 + n3), 10), n3 * 3 + 1, bb);
              i2 += n3;
            }
            return new _QrSegment2(_QrSegment2.Mode.NUMERIC, digits.length, bb);
          }
          // Returns a segment representing the given text string encoded in alphanumeric mode.
          // The characters allowed are: 0 to 9, A to Z (uppercase only), space,
          // dollar, percent, asterisk, plus, hyphen, period, slash, colon.
          static makeAlphanumeric(text) {
            if (!_QrSegment2.isAlphanumeric(text))
              throw new RangeError("String contains unencodable characters in alphanumeric mode");
            let bb = [];
            let i2;
            for (i2 = 0; i2 + 2 <= text.length; i2 += 2) {
              let temp = _QrSegment2.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i2)) * 45;
              temp += _QrSegment2.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i2 + 1));
              appendBits(temp, 11, bb);
            }
            if (i2 < text.length)
              appendBits(_QrSegment2.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i2)), 6, bb);
            return new _QrSegment2(_QrSegment2.Mode.ALPHANUMERIC, text.length, bb);
          }
          // Returns a new mutable list of zero or more segments to represent the given Unicode text string.
          // The result may use various segment modes and switch modes to optimize the length of the bit stream.
          static makeSegments(text) {
            if (text == "")
              return [];
            else if (_QrSegment2.isNumeric(text))
              return [_QrSegment2.makeNumeric(text)];
            else if (_QrSegment2.isAlphanumeric(text))
              return [_QrSegment2.makeAlphanumeric(text)];
            else
              return [_QrSegment2.makeBytes(_QrSegment2.toUtf8ByteArray(text))];
          }
          // Returns a segment representing an Extended Channel Interpretation
          // (ECI) designator with the given assignment value.
          static makeEci(assignVal) {
            let bb = [];
            if (assignVal < 0)
              throw new RangeError("ECI assignment value out of range");
            else if (assignVal < 1 << 7)
              appendBits(assignVal, 8, bb);
            else if (assignVal < 1 << 14) {
              appendBits(2, 2, bb);
              appendBits(assignVal, 14, bb);
            } else if (assignVal < 1e6) {
              appendBits(6, 3, bb);
              appendBits(assignVal, 21, bb);
            } else
              throw new RangeError("ECI assignment value out of range");
            return new _QrSegment2(_QrSegment2.Mode.ECI, 0, bb);
          }
          // Tests whether the given string can be encoded as a segment in numeric mode.
          // A string is encodable iff each character is in the range 0 to 9.
          static isNumeric(text) {
            return _QrSegment2.NUMERIC_REGEX.test(text);
          }
          // Tests whether the given string can be encoded as a segment in alphanumeric mode.
          // A string is encodable iff each character is in the following set: 0 to 9, A to Z
          // (uppercase only), space, dollar, percent, asterisk, plus, hyphen, period, slash, colon.
          static isAlphanumeric(text) {
            return _QrSegment2.ALPHANUMERIC_REGEX.test(text);
          }
          /*-- Methods --*/
          // Returns a new copy of the data bits of this segment.
          getData() {
            return this.bitData.slice();
          }
          // (Package-private) Calculates and returns the number of bits needed to encode the given segments at
          // the given version. The result is infinity if a segment has too many characters to fit its length field.
          static getTotalBits(segs, version2) {
            let result = 0;
            for (const seg of segs) {
              const ccbits = seg.mode.numCharCountBits(version2);
              if (seg.numChars >= 1 << ccbits)
                return Infinity;
              result += 4 + ccbits + seg.bitData.length;
            }
            return result;
          }
          // Returns a new array of bytes representing the given string encoded in UTF-8.
          static toUtf8ByteArray(str) {
            str = encodeURI(str);
            let result = [];
            for (let i2 = 0; i2 < str.length; i2++) {
              if (str.charAt(i2) != "%")
                result.push(str.charCodeAt(i2));
              else {
                result.push(parseInt(str.substring(i2 + 1, i2 + 3), 16));
                i2 += 2;
              }
            }
            return result;
          }
        };
        _QrSegment.NUMERIC_REGEX = /^[0-9]*$/;
        _QrSegment.ALPHANUMERIC_REGEX = /^[A-Z0-9 $%*+.\/:-]*$/;
        _QrSegment.ALPHANUMERIC_CHARSET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";
        let QrSegment = _QrSegment;
        qrcodegen2.QrSegment = _QrSegment;
      })(qrcodegen || (qrcodegen = {}));
      ((qrcodegen2) => {
        let QrCode;
        ((QrCode2) => {
          const _Ecc = class _Ecc {
            // The QR Code can tolerate about 30% erroneous codewords
            /*-- Constructor and fields --*/
            constructor(ordinal, formatBits) {
              this.ordinal = ordinal;
              this.formatBits = formatBits;
            }
          };
          _Ecc.LOW = new _Ecc(0, 1);
          _Ecc.MEDIUM = new _Ecc(1, 0);
          _Ecc.QUARTILE = new _Ecc(2, 3);
          _Ecc.HIGH = new _Ecc(3, 2);
          let Ecc = _Ecc;
          QrCode2.Ecc = _Ecc;
        })(QrCode = qrcodegen2.QrCode || (qrcodegen2.QrCode = {}));
      })(qrcodegen || (qrcodegen = {}));
      ((qrcodegen2) => {
        let QrSegment;
        ((QrSegment2) => {
          const _Mode = class _Mode {
            /*-- Constructor and fields --*/
            constructor(modeBits, numBitsCharCount) {
              this.modeBits = modeBits;
              this.numBitsCharCount = numBitsCharCount;
            }
            /*-- Method --*/
            // (Package-private) Returns the bit width of the character count field for a segment in
            // this mode in a QR Code at the given version number. The result is in the range [0, 16].
            numCharCountBits(ver) {
              return this.numBitsCharCount[Math.floor((ver + 7) / 17)];
            }
          };
          _Mode.NUMERIC = new _Mode(1, [10, 12, 14]);
          _Mode.ALPHANUMERIC = new _Mode(2, [9, 11, 13]);
          _Mode.BYTE = new _Mode(4, [8, 16, 16]);
          _Mode.KANJI = new _Mode(8, [8, 10, 12]);
          _Mode.ECI = new _Mode(7, [0, 0, 0]);
          let Mode = _Mode;
          QrSegment2.Mode = _Mode;
        })(QrSegment = qrcodegen2.QrSegment || (qrcodegen2.QrSegment = {}));
      })(qrcodegen || (qrcodegen = {}));
      qrcodegen_default = qrcodegen;
      ERROR_LEVEL_MAP = {
        L: qrcodegen_default.QrCode.Ecc.LOW,
        M: qrcodegen_default.QrCode.Ecc.MEDIUM,
        Q: qrcodegen_default.QrCode.Ecc.QUARTILE,
        H: qrcodegen_default.QrCode.Ecc.HIGH
      };
      DEFAULT_SIZE = 128;
      DEFAULT_LEVEL = "L";
      DEFAULT_BGCOLOR = "#FFFFFF";
      DEFAULT_FGCOLOR = "#000000";
      DEFAULT_INCLUDEMARGIN = false;
      DEFAULT_MINVERSION = 1;
      SPEC_MARGIN_SIZE = 4;
      DEFAULT_MARGIN_SIZE = 0;
      DEFAULT_IMG_SCALE = 0.1;
      SUPPORTS_PATH2D = (function() {
        try {
          new Path2D().addPath(new Path2D());
        } catch (e3) {
          return false;
        }
        return true;
      })();
      QRCodeCanvas = import_react156.default.forwardRef(
        function QRCodeCanvas2(props, forwardedRef) {
          const _a5 = props, {
            value,
            size: size5 = DEFAULT_SIZE,
            level = DEFAULT_LEVEL,
            bgColor = DEFAULT_BGCOLOR,
            fgColor = DEFAULT_FGCOLOR,
            includeMargin = DEFAULT_INCLUDEMARGIN,
            minVersion = DEFAULT_MINVERSION,
            boostLevel,
            marginSize,
            imageSettings
          } = _a5, extraProps = __objRest(_a5, [
            "value",
            "size",
            "level",
            "bgColor",
            "fgColor",
            "includeMargin",
            "minVersion",
            "boostLevel",
            "marginSize",
            "imageSettings"
          ]);
          const _b = extraProps, { style } = _b, otherProps = __objRest(_b, ["style"]);
          const imgSrc = imageSettings == null ? void 0 : imageSettings.src;
          const _canvas = import_react156.default.useRef(null);
          const _image = import_react156.default.useRef(null);
          const setCanvasRef = import_react156.default.useCallback(
            (node2) => {
              _canvas.current = node2;
              if (typeof forwardedRef === "function") {
                forwardedRef(node2);
              } else if (forwardedRef) {
                forwardedRef.current = node2;
              }
            },
            [forwardedRef]
          );
          const [isImgLoaded, setIsImageLoaded] = import_react156.default.useState(false);
          const { margin, cells, numCells, calculatedImageSettings } = useQRCode({
            value,
            level,
            minVersion,
            boostLevel,
            includeMargin,
            marginSize,
            imageSettings,
            size: size5
          });
          import_react156.default.useEffect(() => {
            if (_canvas.current != null) {
              const canvas = _canvas.current;
              const ctx = canvas.getContext("2d");
              if (!ctx) {
                return;
              }
              let cellsToDraw = cells;
              const image = _image.current;
              const haveImageToRender = calculatedImageSettings != null && image !== null && image.complete && image.naturalHeight !== 0 && image.naturalWidth !== 0;
              if (haveImageToRender) {
                if (calculatedImageSettings.excavation != null) {
                  cellsToDraw = excavateModules(
                    cells,
                    calculatedImageSettings.excavation
                  );
                }
              }
              const pixelRatio = window.devicePixelRatio || 1;
              canvas.height = canvas.width = size5 * pixelRatio;
              const scale = size5 / numCells * pixelRatio;
              ctx.scale(scale, scale);
              ctx.fillStyle = bgColor;
              ctx.fillRect(0, 0, numCells, numCells);
              ctx.fillStyle = fgColor;
              if (SUPPORTS_PATH2D) {
                ctx.fill(new Path2D(generatePath(cellsToDraw, margin)));
              } else {
                cells.forEach(function(row, rdx) {
                  row.forEach(function(cell, cdx) {
                    if (cell) {
                      ctx.fillRect(cdx + margin, rdx + margin, 1, 1);
                    }
                  });
                });
              }
              if (calculatedImageSettings) {
                ctx.globalAlpha = calculatedImageSettings.opacity;
              }
              if (haveImageToRender) {
                ctx.drawImage(
                  image,
                  calculatedImageSettings.x + margin,
                  calculatedImageSettings.y + margin,
                  calculatedImageSettings.w,
                  calculatedImageSettings.h
                );
              }
            }
          });
          import_react156.default.useEffect(() => {
            setIsImageLoaded(false);
          }, [imgSrc]);
          const canvasStyle = __spreadValues({ height: size5, width: size5 }, style);
          let img = null;
          if (imgSrc != null) {
            img = /* @__PURE__ */ import_react156.default.createElement(
              "img",
              {
                src: imgSrc,
                key: imgSrc,
                style: { display: "none" },
                onLoad: () => {
                  setIsImageLoaded(true);
                },
                ref: _image,
                crossOrigin: calculatedImageSettings == null ? void 0 : calculatedImageSettings.crossOrigin
              }
            );
          }
          return /* @__PURE__ */ import_react156.default.createElement(import_react156.default.Fragment, null, /* @__PURE__ */ import_react156.default.createElement(
            "canvas",
            __spreadValues({
              style: canvasStyle,
              height: size5,
              width: size5,
              ref: setCanvasRef,
              role: "img"
            }, otherProps)
          ), img);
        }
      );
      QRCodeCanvas.displayName = "QRCodeCanvas";
      QRCodeSVG = import_react156.default.forwardRef(
        function QRCodeSVG2(props, forwardedRef) {
          const _a5 = props, {
            value,
            size: size5 = DEFAULT_SIZE,
            level = DEFAULT_LEVEL,
            bgColor = DEFAULT_BGCOLOR,
            fgColor = DEFAULT_FGCOLOR,
            includeMargin = DEFAULT_INCLUDEMARGIN,
            minVersion = DEFAULT_MINVERSION,
            boostLevel,
            title,
            marginSize,
            imageSettings
          } = _a5, otherProps = __objRest(_a5, [
            "value",
            "size",
            "level",
            "bgColor",
            "fgColor",
            "includeMargin",
            "minVersion",
            "boostLevel",
            "title",
            "marginSize",
            "imageSettings"
          ]);
          const { margin, cells, numCells, calculatedImageSettings } = useQRCode({
            value,
            level,
            minVersion,
            boostLevel,
            includeMargin,
            marginSize,
            imageSettings,
            size: size5
          });
          let cellsToDraw = cells;
          let image = null;
          if (imageSettings != null && calculatedImageSettings != null) {
            if (calculatedImageSettings.excavation != null) {
              cellsToDraw = excavateModules(
                cells,
                calculatedImageSettings.excavation
              );
            }
            image = /* @__PURE__ */ import_react156.default.createElement(
              "image",
              {
                href: imageSettings.src,
                height: calculatedImageSettings.h,
                width: calculatedImageSettings.w,
                x: calculatedImageSettings.x + margin,
                y: calculatedImageSettings.y + margin,
                preserveAspectRatio: "none",
                opacity: calculatedImageSettings.opacity,
                crossOrigin: calculatedImageSettings.crossOrigin
              }
            );
          }
          const fgPath = generatePath(cellsToDraw, margin);
          return /* @__PURE__ */ import_react156.default.createElement(
            "svg",
            __spreadValues({
              height: size5,
              width: size5,
              viewBox: `0 0 ${numCells} ${numCells}`,
              ref: forwardedRef,
              role: "img"
            }, otherProps),
            !!title && /* @__PURE__ */ import_react156.default.createElement("title", null, title),
            /* @__PURE__ */ import_react156.default.createElement(
              "path",
              {
                fill: bgColor,
                d: `M0,0 h${numCells}v${numCells}H0z`,
                shapeRendering: "crispEdges"
              }
            ),
            /* @__PURE__ */ import_react156.default.createElement("path", { fill: fgColor, d: fgPath, shapeRendering: "crispEdges" }),
            image
          );
        }
      );
      QRCodeSVG.displayName = "QRCodeSVG";
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/QRCode.js
  var QRCode;
  var init_QRCode = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/QRCode.js"() {
      init_elementDescriptors();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      init_esm();
      QRCode = (props) => {
        const { size: size5 = 200, url, ...rest } = props;
        return /* @__PURE__ */ jsx2(Flex2, {
          elementDescriptor: descriptors.qrCodeRow,
          ...rest,
          children: /* @__PURE__ */ jsx2(Flex2, {
            elementDescriptor: descriptors.qrCodeContainer,
            sx: (t2) => ({
              backgroundColor: "white",
              padding: t2.space.$2x5
            }),
            children: /* @__PURE__ */ jsx2(QRCodeSVG, {
              value: url || "",
              size: size5
            })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/clipboard.js
  function _extends26() {
    return _extends26 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends26.apply(null, arguments);
  }
  var React$128, _path30, _path210, SvgClipboard, clipboard_default;
  var init_clipboard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/clipboard.js"() {
      React$128 = __toESM(require_react(), 1);
      SvgClipboard = function SvgClipboard$1(props) {
        return /* @__PURE__ */ React$128.createElement("svg", _extends26({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 12 16"
        }, props), _path30 || (_path30 = /* @__PURE__ */ React$128.createElement("path", {
          fill: "currentColor",
          d: "M4 1c0-.6.4-1 1-1h2a1 1 0 0 1 0 2H5a1 1 0 0 1-1-1"
        })), _path210 || (_path210 = /* @__PURE__ */ React$128.createElement("path", {
          fill: "currentColor",
          d: "M2 1a2 2 0 0 0-2 2v11c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2 3 3 0 0 1-3 3H5a3 3 0 0 1-3-3"
        })));
      };
      clipboard_default = SvgClipboard;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/ClipboardInput.js
  var ClipboardInput;
  var init_ClipboardInput = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/ClipboardInput.js"() {
      init_useClipboard();
      init_clipboard();
      init_tick_shield();
      init_elementDescriptors();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      ClipboardInput = (props) => {
        const { id, value, copyIcon = clipboard_default, copiedIcon = tick_shield_default, sx, ...rest } = props;
        const { onCopy, hasCopied } = useClipboard(value);
        return /* @__PURE__ */ jsxs2(Flex2, {
          direction: "col",
          justify: "center",
          sx: [{ position: "relative" }, sx],
          children: [/* @__PURE__ */ jsx2(Input2, {
            ...rest,
            value,
            isDisabled: true,
            sx: (theme) => ({ paddingInlineEnd: theme.space.$8 })
          }), /* @__PURE__ */ jsx2(Button2, {
            elementDescriptor: descriptors.formFieldInputCopyToClipboardButton,
            variant: "ghost",
            onClick: onCopy,
            sx: {
              position: "absolute",
              insetInlineEnd: 0
            },
            children: /* @__PURE__ */ jsx2(Icon, {
              elementDescriptor: descriptors.formFieldInputCopyToClipboardIcon,
              icon: hasCopied ? copiedIcon : copyIcon,
              size: "sm"
            })
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/FullHeightLoader.js
  var FullHeightLoader;
  var init_FullHeightLoader = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/FullHeightLoader.js"() {
      init_elementDescriptors();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      FullHeightLoader = () => {
        return /* @__PURE__ */ jsx2(Flex2, {
          center: true,
          sx: { height: "100%" },
          children: /* @__PURE__ */ jsx2(Spinner, {
            colorScheme: "primary",
            size: "lg",
            elementDescriptor: descriptors.spinner
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskSetupMfa/TOTPCodeFlowScreen.js
  var import_react157, AddAuthenticatorApp, VerifyTOTP, SuccessScreen2, TOTPCodeFlow;
  var init_TOTPCodeFlowScreen = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskSetupMfa/TOTPCodeFlowScreen.js"() {
      init_localizationKeys();
      init_check();
      init_clipboard_outline();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_QRCode();
      init_errorHandler();
      init_CodeControl();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_Wizard();
      init_ClipboardInput();
      init_SuccessPage();
      init_FullHeightLoader();
      init_shared();
      init_MfaBackupCodeList();
      init_error();
      import_react157 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      AddAuthenticatorApp = withCardStateProvider((props) => {
        const { onSuccess, onReset } = props;
        const { user } = useUser();
        const card = useCardState();
        const createTOTP = useReverification(() => user?.createTOTP());
        const [totp, setTOTP] = import_react157.default.useState(void 0);
        const [displayFormat, setDisplayFormat] = import_react157.default.useState("qr");
        import_react157.default.useEffect(() => {
          if (!user) return;
          createTOTP().then((totp$1) => setTOTP(totp$1)).catch((err) => {
            if (isClerkRuntimeError(err) && err.code === "reverification_cancelled") return onReset();
            return handleError(err, [], card.setError);
          });
        }, []);
        return /* @__PURE__ */ jsxs2(FormContainer, {
          headerTitle: localizationKeys("taskSetupMfa.totpCode.title"),
          headerTitleTextVariant: "h2",
          headerSubtitle: displayFormat === "qr" ? localizationKeys("taskSetupMfa.totpCode.addAuthenticatorApp.infoText__ableToScan") : localizationKeys("taskSetupMfa.totpCode.addAuthenticatorApp.infoText__unableToScan"),
          badgeText: localizationKeys("taskSetupMfa.badge"),
          children: [!totp && /* @__PURE__ */ jsx2(FullHeightLoader, {}), totp && /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsxs2(Col2, {
            gap: 4,
            children: [displayFormat === "qr" && /* @__PURE__ */ jsx2(QRCode, {
              justify: "center",
              url: totp.uri || ""
            }), displayFormat === "uri" && /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Text2, {
              colorScheme: "secondary",
              localizationKey: localizationKeys("taskSetupMfa.totpCode.addAuthenticatorApp.inputLabel__unableToScan1")
            }), /* @__PURE__ */ jsx2(ClipboardInput, {
              value: totp.secret,
              copyIcon: clipboard_outline_default,
              copiedIcon: check_default
            })] })]
          }), /* @__PURE__ */ jsxs2(Col2, {
            sx: (theme) => ({ gap: theme.space.$8 }),
            children: [
              displayFormat === "qr" && /* @__PURE__ */ jsx2(Button2, {
                variant: "outline",
                textVariant: "buttonLarge",
                onClick: () => setDisplayFormat("uri"),
                localizationKey: localizationKeys("taskSetupMfa.totpCode.addAuthenticatorApp.buttonUnableToScan__nonPrimary")
              }),
              displayFormat === "uri" && /* @__PURE__ */ jsx2(Button2, {
                variant: "outline",
                block: true,
                textVariant: "buttonLarge",
                onClick: () => setDisplayFormat("qr"),
                localizationKey: localizationKeys("taskSetupMfa.totpCode.addAuthenticatorApp.buttonAbleToScan__nonPrimary")
              }),
              /* @__PURE__ */ jsxs2(FormButtonContainer, {
                sx: (theme) => ({
                  flexDirection: "column",
                  gap: theme.space.$4
                }),
                children: [/* @__PURE__ */ jsx2(Button2, {
                  block: true,
                  onClick: onSuccess,
                  hasArrow: true,
                  localizationKey: localizationKeys("taskSetupMfa.totpCode.addAuthenticatorApp.formButtonPrimary"),
                  elementDescriptor: descriptors.formButtonPrimary
                }), /* @__PURE__ */ jsx2(Button2, {
                  block: true,
                  variant: "ghost",
                  onClick: onReset,
                  localizationKey: localizationKeys("taskSetupMfa.totpCode.addAuthenticatorApp.formButtonReset"),
                  elementDescriptor: descriptors.formButtonReset
                })]
              })
            ]
          })] })]
        });
      });
      VerifyTOTP = withCardStateProvider((props) => {
        const { onSuccess, onReset, resourceRef } = props;
        const { user } = useUser();
        const otp = useFieldOTP({
          onCodeEntryFinished: (code, resolve, reject) => {
            user?.verifyTOTP({ code }).then((totp) => resolve(totp)).catch(reject);
          },
          onResolve: (a2) => {
            resourceRef.current = a2;
            onSuccess();
          }
        });
        return /* @__PURE__ */ jsxs2(FormContainer, {
          headerTitle: localizationKeys("taskSetupMfa.totpCode.verifyTotp.title"),
          headerTitleTextVariant: "h2",
          headerSubtitle: localizationKeys("taskSetupMfa.totpCode.verifyTotp.subtitle"),
          badgeText: localizationKeys("taskSetupMfa.badge"),
          children: [/* @__PURE__ */ jsx2(Col2, { children: /* @__PURE__ */ jsx2(Form$1.OTPInput, {
            ...otp,
            label: localizationKeys("taskSetupMfa.totpCode.verifyTotp.formTitle"),
            description: localizationKeys("taskSetupMfa.totpCode.verifyTotp.subtitle")
          }) }), /* @__PURE__ */ jsxs2(FormButtonContainer, {
            sx: (theme) => ({
              flexDirection: "column",
              gap: theme.space.$4
            }),
            children: [/* @__PURE__ */ jsx2(Button2, {
              onClick: () => otp.onFakeContinue(),
              isDisabled: otp.isLoading,
              hasArrow: true,
              block: true,
              localizationKey: localizationKeys("taskSetupMfa.totpCode.verifyTotp.formButtonPrimary"),
              elementDescriptor: descriptors.formButtonPrimary
            }), /* @__PURE__ */ jsx2(Button2, {
              onClick: () => onReset?.(),
              variant: "ghost",
              block: true,
              isDisabled: otp.isLoading,
              localizationKey: localizationKeys("taskSetupMfa.totpCode.verifyTotp.formButtonReset"),
              elementDescriptor: descriptors.formButtonReset
            })]
          })]
        });
      });
      SuccessScreen2 = withCardStateProvider((props) => {
        const { resourceRef, onFinish } = props;
        return /* @__PURE__ */ jsx2(SuccessPage, {
          title: localizationKeys("taskSetupMfa.totpCode.success.title"),
          subtitle: localizationKeys("taskSetupMfa.totpCode.success.message1"),
          headerBadgeText: localizationKeys("taskSetupMfa.badge"),
          onFinish,
          contents: /* @__PURE__ */ jsx2(MfaBackupCodeList, {
            backupCodes: resourceRef.current?.backupCodes,
            subtitle: localizationKeys("taskSetupMfa.totpCode.success.message2")
          }),
          finishLabel: localizationKeys("taskSetupMfa.totpCode.success.finishButton"),
          finishButtonProps: {
            block: true,
            hasArrow: true
          }
        });
      });
      TOTPCodeFlow = withCardStateProvider((props) => {
        const { onSuccess, goToStartStep } = props;
        const ref = (0, import_react157.useRef)();
        const wizard = useWizard({ defaultStep: 0 });
        return /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsx2(Card.Content, { children: /* @__PURE__ */ jsxs2(Wizard, {
          ...wizard.props,
          animate: false,
          children: [
            /* @__PURE__ */ jsx2(AddAuthenticatorApp, {
              onSuccess: () => wizard.goToStep(1),
              onReset: goToStartStep
            }),
            /* @__PURE__ */ jsx2(VerifyTOTP, {
              onSuccess: () => wizard.goToStep(2),
              onReset: () => wizard.goToStep(0),
              resourceRef: ref
            }),
            /* @__PURE__ */ jsx2(SuccessScreen2, {
              resourceRef: ref,
              onFinish: onSuccess
            })
          ]
        }) }), /* @__PURE__ */ jsx2(Card.Footer, { children: /* @__PURE__ */ jsx2(SharedFooterActionForSignOut, {}) })] });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskSetupMfa/index.js
  var TaskSetupMfa_exports = {};
  __export(TaskSetupMfa_exports, {
    TaskSetupMFA: () => TaskSetupMFA
  });
  var import_react159, WIZARD_STEPS, TaskSetupMFAInternal, TaskSetupMFA;
  var init_TaskSetupMfa = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/tasks/TaskSetupMfa/index.js"() {
      init_EnvironmentContext();
      init_SessionTasks();
      init_CoreSessionContext();
      init_contexts();
      init_Flow();
      init_Wizard();
      init_withTaskGuardOnlyOnMount();
      init_mfa();
      init_SetupMfaStartScreen();
      init_SmsCodeFlowScreen();
      init_TOTPCodeFlowScreen();
      import_react159 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      WIZARD_STEPS = {
        start: 0,
        phoneCode: 1,
        totp: 2
      };
      TaskSetupMFAInternal = () => {
        const clerk2 = useClerk();
        const { user } = useUser();
        const { session } = useSession();
        const { userSettings: { attributes } } = useEnvironment();
        const secondFactorsAvailableToAdd = (0, import_react159.useMemo)(() => {
          const availableMethods = user ? getSecondFactorsAvailableToAdd(attributes, user) : [];
          if (!user?.enterpriseAccounts || user.enterpriseAccounts.length === 0) return availableMethods;
          const firstEnterpriseConnection = user?.enterpriseAccounts[0];
          return availableMethods.filter((method) => {
            if (method === "phone_code") return firstEnterpriseConnection?.enterpriseConnection?.disableAdditionalIdentifications === false;
            return true;
          });
        }, [attributes, user]);
        const defaultStep = secondFactorsAvailableToAdd.indexOf("phone_code") > -1 ? WIZARD_STEPS.phoneCode : WIZARD_STEPS.totp;
        const wizard = useWizard({ defaultStep: secondFactorsAvailableToAdd.length > 1 ? WIZARD_STEPS.start : defaultStep });
        const { redirectUrlComplete } = useTaskSetupMFAContext();
        const { navigateOnSetActive, redirectOnActiveSession } = useSessionTasksContext();
        const handleSuccess = async () => {
          if (redirectOnActiveSession) redirectOnActiveSession.current = false;
          await clerk2.setActive({
            session: session?.id,
            navigate: async ({ session: session$1, decorateUrl }) => {
              await navigateOnSetActive?.({
                session: session$1,
                redirectUrlComplete,
                decorateUrl
              });
            }
          });
        };
        (0, import_react159.useEffect)(() => {
          if (redirectOnActiveSession) redirectOnActiveSession.current = false;
        }, [redirectOnActiveSession]);
        return /* @__PURE__ */ jsx2(Flow.Root, {
          flow: "taskSetupMfa",
          children: /* @__PURE__ */ jsxs2(Wizard, {
            ...wizard.props,
            animate: false,
            children: [
              /* @__PURE__ */ jsx2(Flow.Part, {
                part: "methodSelectionMFA",
                children: /* @__PURE__ */ jsx2(SetupMfaStartScreen, {
                  availableMethods: secondFactorsAvailableToAdd,
                  goToStep: wizard.goToStep
                })
              }),
              /* @__PURE__ */ jsx2(Flow.Part, {
                part: "phoneCode2Fa",
                children: /* @__PURE__ */ jsx2(SmsCodeFlow, {
                  onSuccess: handleSuccess,
                  goToStartStep: () => wizard.goToStep(0)
                })
              }),
              /* @__PURE__ */ jsx2(Flow.Part, {
                part: "totp2Fa",
                children: /* @__PURE__ */ jsx2(TOTPCodeFlow, {
                  onSuccess: handleSuccess,
                  goToStartStep: () => wizard.goToStep(0)
                })
              })
            ]
          })
        });
      };
      TaskSetupMFA = withCoreSessionSwitchGuard(withTaskGuardOnlyOnMount(withCardStateProvider(TaskSetupMFAInternal), "setup-mfa"));
    }
  });

  // node_modules/@clerk/shared/dist/runtime/telemetry.mjs
  var init_telemetry = __esm({
    "node_modules/@clerk/shared/dist/runtime/telemetry.mjs"() {
      init_constants_Bta24VLk();
      init_isomorphicAtob_CoF80qYz();
      init_isomorphicBtoa_DWmLcIHi();
      init_keys_ChIG_Ewf();
      init_underscore_ClYSgvuy();
      init_telemetry_ZzMitk4y();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/index.js
  var SessionTasks_exports = {};
  __export(SessionTasks_exports, {
    SessionTasks: () => SessionTasks
  });
  function SessionTasksRoutes() {
    const ctx = useSessionTasksContext();
    const clerk2 = useClerk();
    const { navigate, currentPath } = useRouter();
    (0, import_react161.useEffect)(() => {
      const task = clerk2.session?.currentTask;
      if (!task || clerk2.session?.status === "active") {
        if (ctx.redirectOnActiveSession?.current) navigate(ctx.redirectUrlComplete);
        return;
      }
      clerk2.telemetry?.record(eventComponentMounted("SessionTask", { task: task.key }));
    }, [
      clerk2,
      currentPath,
      navigate,
      ctx.redirectUrlComplete,
      ctx.redirectOnActiveSession
    ]);
    if (!clerk2.session?.currentTask && ctx.redirectOnActiveSession?.current) return /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsx2(Card.Content, {
      sx: () => ({ flex: 1 }),
      children: /* @__PURE__ */ jsx2(LoadingCardContainer, {})
    }), /* @__PURE__ */ jsx2(Card.Footer, {})] });
    return /* @__PURE__ */ jsx2(Flow.Root, {
      flow: "tasks",
      children: /* @__PURE__ */ jsxs2(Switch, { children: [
        /* @__PURE__ */ jsx2(Route, {
          path: INTERNAL_SESSION_TASK_ROUTE_BY_KEY["choose-organization"],
          children: /* @__PURE__ */ jsx2(TaskChooseOrganizationContext.Provider, {
            value: {
              componentName: "TaskChooseOrganization",
              redirectUrlComplete: ctx.redirectUrlComplete
            },
            children: /* @__PURE__ */ jsx2(TaskChooseOrganization, {})
          })
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: INTERNAL_SESSION_TASK_ROUTE_BY_KEY["reset-password"],
          children: /* @__PURE__ */ jsx2(TaskResetPasswordContext.Provider, {
            value: {
              componentName: "TaskResetPassword",
              redirectUrlComplete: ctx.redirectUrlComplete
            },
            children: /* @__PURE__ */ jsx2(TaskResetPassword, {})
          })
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: INTERNAL_SESSION_TASK_ROUTE_BY_KEY["setup-mfa"],
          children: /* @__PURE__ */ jsx2(TaskSetupMFAContext.Provider, {
            value: {
              componentName: "TaskSetupMFA",
              redirectUrlComplete: ctx.redirectUrlComplete
            },
            children: /* @__PURE__ */ jsx2(TaskSetupMFA, {})
          })
        }),
        /* @__PURE__ */ jsx2(Route, {
          index: true,
          children: /* @__PURE__ */ jsx2(SessionTasksStart, {})
        })
      ] })
    });
  }
  var import_react161, SessionTasksStart, SessionTasks;
  var init_SessionTasks2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SessionTasks/index.js"() {
      init_RouteContext();
      init_Route();
      init_Switch();
      init_SessionTasks();
      init_contexts();
      init_Flow();
      init_Card();
      init_LoadingCard();
      init_TaskChooseOrganization();
      init_TaskResetPassword();
      init_TaskSetupMfa();
      import_react161 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_sessionTasks();
      init_telemetry();
      SessionTasksStart = () => {
        const clerk2 = useClerk();
        const { navigate } = useRouter();
        const { redirectUrlComplete } = useSessionTasksContext();
        (0, import_react161.useEffect)(() => {
          const timeoutId = setTimeout(() => {
            const currentTaskKey = clerk2.session?.currentTask?.key;
            if (!currentTaskKey) return;
            navigate(`./${INTERNAL_SESSION_TASK_ROUTE_BY_KEY[currentTaskKey]}`);
          }, 500);
          return () => clearTimeout(timeoutId);
        }, [
          navigate,
          clerk2,
          redirectUrlComplete
        ]);
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "start",
          children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsx2(Card.Content, { children: /* @__PURE__ */ jsx2(LoadingCardContainer, {}) }), /* @__PURE__ */ jsx2(Card.Footer, {})] })
        });
      };
      SessionTasks = withCardStateProvider(({ redirectUrlComplete }) => {
        const redirectOnActiveSessionRef = (0, import_react161.useRef)(true);
        return /* @__PURE__ */ jsx2(SessionTasksContext.Provider, {
          value: {
            redirectUrlComplete,
            redirectOnActiveSession: redirectOnActiveSessionRef
          },
          children: /* @__PURE__ */ jsx2(SessionTasksRoutes, {})
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/usePreloadTasks.js
  function usePreloadTasks() {
    const { organizationSettings } = useEnvironment();
    const hasTasks = organizationSettings.forceOrganizationSelection;
    useFetch(hasTasks ? () => Promise.resolve().then(() => (init_SessionTasks2(), SessionTasks_exports)) : void 0, "preloadComponent", { staleTime: Infinity });
  }
  var init_usePreloadTasks = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/usePreloadTasks.js"() {
      init_EnvironmentContext();
      init_useFetch();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/BackLink.js
  var BackLink2;
  var init_BackLink = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/BackLink.js"() {
      init_localizationKeys();
      init_customizables();
      init_RouterLink();
      init_emotion_react_jsx_runtime_browser_esm();
      BackLink2 = (props) => {
        const { boxElementDescriptor, linkElementDescriptor, ...rest } = props;
        return /* @__PURE__ */ jsx2(Flex2, {
          elementDescriptor: boxElementDescriptor,
          sx: (theme) => ({ margin: `${theme.space.$none} auto` }),
          children: /* @__PURE__ */ jsx2(RouterLink, {
            ...rest,
            children: /* @__PURE__ */ jsx2(Text2, {
              localizationKey: localizationKeys("backButton"),
              elementDescriptor: linkElementDescriptor,
              variant: "body"
            })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/web3CallbackErrorHandler.js
  var web3CallbackErrorHandler;
  var init_web3CallbackErrorHandler = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/web3CallbackErrorHandler.js"() {
      init_errorHandler();
      init_error();
      web3CallbackErrorHandler = (err, setError) => {
        if (isClerkAPIResponseError2(err) && err.errors?.[0]?.meta?.paramName === "identifier" && err.errors?.[0]?.code === "form_param_nil") return handleError(new ClerkRuntimeError2("A Web3 Wallet extension cannot be found. Please install one to continue.", { code: "web3_missing_identifier" }), [], setError);
        return handleError(err, [], setError);
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/utils.js
  function distributeStrategiesIntoRows(strategies, maxStrategiesPerRow, lastAuthenticationStrategy) {
    if (lastAuthenticationStrategy && strategies.includes(lastAuthenticationStrategy)) {
      const remainingStrategies = strategies.filter((strategy) => strategy !== lastAuthenticationStrategy);
      if (remainingStrategies.length === 0) return {
        strategyRows: [[lastAuthenticationStrategy]],
        lastAuthenticationStrategyPresent: true
      };
      const remainingRows = distributeStrategiesIntoRows(remainingStrategies, maxStrategiesPerRow, null);
      return {
        strategyRows: [[lastAuthenticationStrategy], ...remainingRows.strategyRows],
        lastAuthenticationStrategyPresent: true
      };
    }
    if (strategies.length <= maxStrategiesPerRow) return {
      strategyRows: [strategies],
      lastAuthenticationStrategyPresent: false
    };
    const numRows = Math.ceil(strategies.length / maxStrategiesPerRow);
    const strategiesPerRow = Math.ceil(strategies.length / numRows);
    const strategyRows = Array.from({ length: numRows }, () => []);
    let currentArrayIndex = 0;
    for (const strategy of strategies) {
      strategyRows[currentArrayIndex].push(strategy);
      if (strategyRows[currentArrayIndex].length === strategiesPerRow) currentArrayIndex++;
    }
    return {
      strategyRows,
      lastAuthenticationStrategyPresent: false
    };
  }
  var init_utils6 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/utils.js"() {
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/LinkRenderer.js
  var import_react163, LINK_REGEX, LinkRenderer;
  var init_LinkRenderer = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/LinkRenderer.js"() {
      init_customizables();
      import_react163 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      LINK_REGEX = /\[([^\]]+)\]\(([^)]+)\)/g;
      LinkRenderer = (0, import_react163.memo)(({ text, ...linkProps }) => {
        const memoizedLinkProps = (0, import_react163.useMemo)(() => linkProps, [linkProps]);
        return (0, import_react163.useMemo)(() => {
          const parts = [];
          let lastIndex = 0;
          text.replace(LINK_REGEX, (match3, linkText, url, offset5) => {
            if (offset5 > lastIndex) parts.push(text.slice(lastIndex, offset5));
            parts.push(/* @__PURE__ */ jsx2(Link2, {
              href: url,
              ...memoizedLinkProps,
              children: linkText
            }, offset5));
            lastIndex = offset5 + match3.length;
            return match3;
          });
          if (lastIndex < text.length) parts.push(text.slice(lastIndex));
          return parts;
        }, [text, memoizedLinkProps]);
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/WalletInitialIcon.js
  var WalletInitialIcon;
  var init_WalletInitialIcon = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/WalletInitialIcon.js"() {
      init_common();
      init_elementDescriptors();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      WalletInitialIcon = (props) => {
        const { value, id, ...rest } = props;
        return /* @__PURE__ */ jsx2(Box2, {
          as: "span",
          elementDescriptor: [descriptors.walletIcon, descriptors.web3SolanaWalletButtonsWalletInitialIcon],
          elementId: descriptors.web3SolanaWalletButtonsWalletInitialIcon.setId(id),
          sx: (t2) => ({
            ...common.centeredFlex("inline-flex"),
            width: t2.space.$4,
            height: t2.space.$4,
            borderRadius: t2.radii.$sm,
            color: t2.colors.$colorPrimaryForeground,
            backgroundColor: t2.colors.$primary500
          }),
          ...rest,
          children: /* @__PURE__ */ jsx2(Text2, {
            as: "span",
            variant: "buttonSmall",
            sx: {
              ...common.centeredFlex("inline-flex"),
              width: "100%"
            },
            children: value[0].toUpperCase() ?? ""
          })
        });
      };
    }
  });

  // node_modules/eventemitter3/index.js
  var require_eventemitter3 = __commonJS({
    "node_modules/eventemitter3/index.js"(exports, module) {
      "use strict";
      var has2 = Object.prototype.hasOwnProperty;
      var prefix2 = "~";
      function Events() {
      }
      if (Object.create) {
        Events.prototype = /* @__PURE__ */ Object.create(null);
        if (!new Events().__proto__) prefix2 = false;
      }
      function EE(fn, context, once) {
        this.fn = fn;
        this.context = context;
        this.once = once || false;
      }
      function addListener(emitter, event, fn, context, once) {
        if (typeof fn !== "function") {
          throw new TypeError("The listener must be a function");
        }
        var listener = new EE(fn, context || emitter, once), evt = prefix2 ? prefix2 + event : event;
        if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;
        else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);
        else emitter._events[evt] = [emitter._events[evt], listener];
        return emitter;
      }
      function clearEvent(emitter, evt) {
        if (--emitter._eventsCount === 0) emitter._events = new Events();
        else delete emitter._events[evt];
      }
      function EventEmitter2() {
        this._events = new Events();
        this._eventsCount = 0;
      }
      EventEmitter2.prototype.eventNames = function eventNames() {
        var names = [], events, name;
        if (this._eventsCount === 0) return names;
        for (name in events = this._events) {
          if (has2.call(events, name)) names.push(prefix2 ? name.slice(1) : name);
        }
        if (Object.getOwnPropertySymbols) {
          return names.concat(Object.getOwnPropertySymbols(events));
        }
        return names;
      };
      EventEmitter2.prototype.listeners = function listeners3(event) {
        var evt = prefix2 ? prefix2 + event : event, handlers = this._events[evt];
        if (!handlers) return [];
        if (handlers.fn) return [handlers.fn];
        for (var i2 = 0, l2 = handlers.length, ee = new Array(l2); i2 < l2; i2++) {
          ee[i2] = handlers[i2].fn;
        }
        return ee;
      };
      EventEmitter2.prototype.listenerCount = function listenerCount(event) {
        var evt = prefix2 ? prefix2 + event : event, listeners3 = this._events[evt];
        if (!listeners3) return 0;
        if (listeners3.fn) return 1;
        return listeners3.length;
      };
      EventEmitter2.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
        var evt = prefix2 ? prefix2 + event : event;
        if (!this._events[evt]) return false;
        var listeners3 = this._events[evt], len = arguments.length, args, i2;
        if (listeners3.fn) {
          if (listeners3.once) this.removeListener(event, listeners3.fn, void 0, true);
          switch (len) {
            case 1:
              return listeners3.fn.call(listeners3.context), true;
            case 2:
              return listeners3.fn.call(listeners3.context, a1), true;
            case 3:
              return listeners3.fn.call(listeners3.context, a1, a2), true;
            case 4:
              return listeners3.fn.call(listeners3.context, a1, a2, a3), true;
            case 5:
              return listeners3.fn.call(listeners3.context, a1, a2, a3, a4), true;
            case 6:
              return listeners3.fn.call(listeners3.context, a1, a2, a3, a4, a5), true;
          }
          for (i2 = 1, args = new Array(len - 1); i2 < len; i2++) {
            args[i2 - 1] = arguments[i2];
          }
          listeners3.fn.apply(listeners3.context, args);
        } else {
          var length2 = listeners3.length, j;
          for (i2 = 0; i2 < length2; i2++) {
            if (listeners3[i2].once) this.removeListener(event, listeners3[i2].fn, void 0, true);
            switch (len) {
              case 1:
                listeners3[i2].fn.call(listeners3[i2].context);
                break;
              case 2:
                listeners3[i2].fn.call(listeners3[i2].context, a1);
                break;
              case 3:
                listeners3[i2].fn.call(listeners3[i2].context, a1, a2);
                break;
              case 4:
                listeners3[i2].fn.call(listeners3[i2].context, a1, a2, a3);
                break;
              default:
                if (!args) for (j = 1, args = new Array(len - 1); j < len; j++) {
                  args[j - 1] = arguments[j];
                }
                listeners3[i2].fn.apply(listeners3[i2].context, args);
            }
          }
        }
        return true;
      };
      EventEmitter2.prototype.on = function on3(event, fn, context) {
        return addListener(this, event, fn, context, false);
      };
      EventEmitter2.prototype.once = function once(event, fn, context) {
        return addListener(this, event, fn, context, true);
      };
      EventEmitter2.prototype.removeListener = function removeListener(event, fn, context, once) {
        var evt = prefix2 ? prefix2 + event : event;
        if (!this._events[evt]) return this;
        if (!fn) {
          clearEvent(this, evt);
          return this;
        }
        var listeners3 = this._events[evt];
        if (listeners3.fn) {
          if (listeners3.fn === fn && (!once || listeners3.once) && (!context || listeners3.context === context)) {
            clearEvent(this, evt);
          }
        } else {
          for (var i2 = 0, events = [], length2 = listeners3.length; i2 < length2; i2++) {
            if (listeners3[i2].fn !== fn || once && !listeners3[i2].once || context && listeners3[i2].context !== context) {
              events.push(listeners3[i2]);
            }
          }
          if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;
          else clearEvent(this, evt);
        }
        return this;
      };
      EventEmitter2.prototype.removeAllListeners = function removeAllListeners(event) {
        var evt;
        if (event) {
          evt = prefix2 ? prefix2 + event : event;
          if (this._events[evt]) clearEvent(this, evt);
        } else {
          this._events = new Events();
          this._eventsCount = 0;
        }
        return this;
      };
      EventEmitter2.prototype.off = EventEmitter2.prototype.removeListener;
      EventEmitter2.prototype.addListener = EventEmitter2.prototype.on;
      EventEmitter2.prefixed = prefix2;
      EventEmitter2.EventEmitter = EventEmitter2;
      if ("undefined" !== typeof module) {
        module.exports = EventEmitter2;
      }
    }
  });

  // node_modules/eventemitter3/index.mjs
  var import_index3, eventemitter3_default;
  var init_eventemitter3 = __esm({
    "node_modules/eventemitter3/index.mjs"() {
      import_index3 = __toESM(require_eventemitter3(), 1);
      eventemitter3_default = import_index3.default;
    }
  });

  // node_modules/@solana/wallet-adapter-base/lib/esm/errors.js
  var WalletError, WalletNotReadyError, WalletConfigError, WalletConnectionError, WalletDisconnectedError, WalletDisconnectionError, WalletAccountError, WalletPublicKeyError, WalletNotConnectedError, WalletSendTransactionError, WalletSignTransactionError, WalletSignMessageError, WalletSignInError;
  var init_errors2 = __esm({
    "node_modules/@solana/wallet-adapter-base/lib/esm/errors.js"() {
      WalletError = class extends Error {
        // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
        constructor(message, error2) {
          super(message);
          this.error = error2;
        }
      };
      WalletNotReadyError = class extends WalletError {
        constructor() {
          super(...arguments);
          this.name = "WalletNotReadyError";
        }
      };
      WalletConfigError = class extends WalletError {
        constructor() {
          super(...arguments);
          this.name = "WalletConfigError";
        }
      };
      WalletConnectionError = class extends WalletError {
        constructor() {
          super(...arguments);
          this.name = "WalletConnectionError";
        }
      };
      WalletDisconnectedError = class extends WalletError {
        constructor() {
          super(...arguments);
          this.name = "WalletDisconnectedError";
        }
      };
      WalletDisconnectionError = class extends WalletError {
        constructor() {
          super(...arguments);
          this.name = "WalletDisconnectionError";
        }
      };
      WalletAccountError = class extends WalletError {
        constructor() {
          super(...arguments);
          this.name = "WalletAccountError";
        }
      };
      WalletPublicKeyError = class extends WalletError {
        constructor() {
          super(...arguments);
          this.name = "WalletPublicKeyError";
        }
      };
      WalletNotConnectedError = class extends WalletError {
        constructor() {
          super(...arguments);
          this.name = "WalletNotConnectedError";
        }
      };
      WalletSendTransactionError = class extends WalletError {
        constructor() {
          super(...arguments);
          this.name = "WalletSendTransactionError";
        }
      };
      WalletSignTransactionError = class extends WalletError {
        constructor() {
          super(...arguments);
          this.name = "WalletSignTransactionError";
        }
      };
      WalletSignMessageError = class extends WalletError {
        constructor() {
          super(...arguments);
          this.name = "WalletSignMessageError";
        }
      };
      WalletSignInError = class extends WalletError {
        constructor() {
          super(...arguments);
          this.name = "WalletSignInError";
        }
      };
    }
  });

  // node_modules/@solana/wallet-adapter-base/lib/esm/adapter.js
  var WalletReadyState, BaseWalletAdapter;
  var init_adapter = __esm({
    "node_modules/@solana/wallet-adapter-base/lib/esm/adapter.js"() {
      init_eventemitter3();
      init_errors2();
      (function(WalletReadyState2) {
        WalletReadyState2["Installed"] = "Installed";
        WalletReadyState2["NotDetected"] = "NotDetected";
        WalletReadyState2["Loadable"] = "Loadable";
        WalletReadyState2["Unsupported"] = "Unsupported";
      })(WalletReadyState || (WalletReadyState = {}));
      BaseWalletAdapter = class extends eventemitter3_default {
        get connected() {
          return !!this.publicKey;
        }
        async autoConnect() {
          await this.connect();
        }
        async prepareTransaction(transaction, connection, options2 = {}) {
          const publicKey2 = this.publicKey;
          if (!publicKey2)
            throw new WalletNotConnectedError();
          transaction.feePayer = transaction.feePayer || publicKey2;
          transaction.recentBlockhash = transaction.recentBlockhash || (await connection.getLatestBlockhash({
            commitment: options2.preflightCommitment,
            minContextSlot: options2.minContextSlot
          })).blockhash;
          return transaction;
        }
      };
    }
  });

  // node_modules/@solana/wallet-adapter-base/lib/esm/transaction.js
  function isVersionedTransaction(transaction) {
    return "version" in transaction;
  }
  var init_transaction = __esm({
    "node_modules/@solana/wallet-adapter-base/lib/esm/transaction.js"() {
    }
  });

  // node_modules/@solana/wallet-adapter-base/lib/esm/signer.js
  var BaseSignerWalletAdapter, BaseMessageSignerWalletAdapter, BaseSignInMessageSignerWalletAdapter;
  var init_signer = __esm({
    "node_modules/@solana/wallet-adapter-base/lib/esm/signer.js"() {
      init_adapter();
      init_errors2();
      init_transaction();
      BaseSignerWalletAdapter = class extends BaseWalletAdapter {
        async sendTransaction(transaction, connection, options2 = {}) {
          let emit = true;
          try {
            if (isVersionedTransaction(transaction)) {
              if (!this.supportedTransactionVersions)
                throw new WalletSendTransactionError(`Sending versioned transactions isn't supported by this wallet`);
              if (!this.supportedTransactionVersions.has(transaction.version))
                throw new WalletSendTransactionError(`Sending transaction version ${transaction.version} isn't supported by this wallet`);
              try {
                transaction = await this.signTransaction(transaction);
                const rawTransaction = transaction.serialize();
                return await connection.sendRawTransaction(rawTransaction, options2);
              } catch (error2) {
                if (error2 instanceof WalletSignTransactionError) {
                  emit = false;
                  throw error2;
                }
                throw new WalletSendTransactionError(error2?.message, error2);
              }
            } else {
              try {
                const { signers, ...sendOptions } = options2;
                transaction = await this.prepareTransaction(transaction, connection, sendOptions);
                signers?.length && transaction.partialSign(...signers);
                transaction = await this.signTransaction(transaction);
                const rawTransaction = transaction.serialize();
                return await connection.sendRawTransaction(rawTransaction, sendOptions);
              } catch (error2) {
                if (error2 instanceof WalletSignTransactionError) {
                  emit = false;
                  throw error2;
                }
                throw new WalletSendTransactionError(error2?.message, error2);
              }
            }
          } catch (error2) {
            if (emit) {
              this.emit("error", error2);
            }
            throw error2;
          }
        }
        async signAllTransactions(transactions) {
          for (const transaction of transactions) {
            if (isVersionedTransaction(transaction)) {
              if (!this.supportedTransactionVersions)
                throw new WalletSignTransactionError(`Signing versioned transactions isn't supported by this wallet`);
              if (!this.supportedTransactionVersions.has(transaction.version))
                throw new WalletSignTransactionError(`Signing transaction version ${transaction.version} isn't supported by this wallet`);
            }
          }
          const signedTransactions = [];
          for (const transaction of transactions) {
            signedTransactions.push(await this.signTransaction(transaction));
          }
          return signedTransactions;
        }
      };
      BaseMessageSignerWalletAdapter = class extends BaseSignerWalletAdapter {
      };
      BaseSignInMessageSignerWalletAdapter = class extends BaseMessageSignerWalletAdapter {
      };
    }
  });

  // node_modules/@solana/wallet-standard-features/lib/esm/signAndSendTransaction.js
  var SolanaSignAndSendTransaction;
  var init_signAndSendTransaction = __esm({
    "node_modules/@solana/wallet-standard-features/lib/esm/signAndSendTransaction.js"() {
      SolanaSignAndSendTransaction = "solana:signAndSendTransaction";
    }
  });

  // node_modules/@solana/wallet-standard-features/lib/esm/signIn.js
  var SolanaSignIn;
  var init_signIn = __esm({
    "node_modules/@solana/wallet-standard-features/lib/esm/signIn.js"() {
      SolanaSignIn = "solana:signIn";
    }
  });

  // node_modules/@solana/wallet-standard-features/lib/esm/signMessage.js
  var SolanaSignMessage;
  var init_signMessage = __esm({
    "node_modules/@solana/wallet-standard-features/lib/esm/signMessage.js"() {
      SolanaSignMessage = "solana:signMessage";
    }
  });

  // node_modules/@solana/wallet-standard-features/lib/esm/signTransaction.js
  var SolanaSignTransaction;
  var init_signTransaction = __esm({
    "node_modules/@solana/wallet-standard-features/lib/esm/signTransaction.js"() {
      SolanaSignTransaction = "solana:signTransaction";
    }
  });

  // node_modules/@solana/wallet-standard-features/lib/esm/signAndSendAllTransactions.js
  var init_signAndSendAllTransactions = __esm({
    "node_modules/@solana/wallet-standard-features/lib/esm/signAndSendAllTransactions.js"() {
    }
  });

  // node_modules/@solana/wallet-standard-features/lib/esm/index.js
  var init_esm2 = __esm({
    "node_modules/@solana/wallet-standard-features/lib/esm/index.js"() {
      init_signAndSendTransaction();
      init_signIn();
      init_signMessage();
      init_signTransaction();
      init_signAndSendAllTransactions();
    }
  });

  // node_modules/@wallet-standard/features/lib/esm/connect.js
  var StandardConnect;
  var init_connect = __esm({
    "node_modules/@wallet-standard/features/lib/esm/connect.js"() {
      StandardConnect = "standard:connect";
    }
  });

  // node_modules/@wallet-standard/features/lib/esm/disconnect.js
  var StandardDisconnect;
  var init_disconnect = __esm({
    "node_modules/@wallet-standard/features/lib/esm/disconnect.js"() {
      StandardDisconnect = "standard:disconnect";
    }
  });

  // node_modules/@wallet-standard/features/lib/esm/events.js
  var StandardEvents;
  var init_events = __esm({
    "node_modules/@wallet-standard/features/lib/esm/events.js"() {
      StandardEvents = "standard:events";
    }
  });

  // node_modules/@wallet-standard/features/lib/esm/index.js
  var init_esm3 = __esm({
    "node_modules/@wallet-standard/features/lib/esm/index.js"() {
      init_connect();
      init_disconnect();
      init_events();
    }
  });

  // node_modules/@solana/wallet-adapter-base/lib/esm/standard.js
  function isWalletAdapterCompatibleStandardWallet(wallet) {
    return StandardConnect in wallet.features && StandardEvents in wallet.features && (SolanaSignAndSendTransaction in wallet.features || SolanaSignTransaction in wallet.features);
  }
  var init_standard = __esm({
    "node_modules/@solana/wallet-adapter-base/lib/esm/standard.js"() {
      init_esm2();
      init_esm3();
    }
  });

  // node_modules/@solana/wallet-adapter-base/lib/esm/types.js
  var WalletAdapterNetwork;
  var init_types2 = __esm({
    "node_modules/@solana/wallet-adapter-base/lib/esm/types.js"() {
      (function(WalletAdapterNetwork2) {
        WalletAdapterNetwork2["Mainnet"] = "mainnet-beta";
        WalletAdapterNetwork2["Testnet"] = "testnet";
        WalletAdapterNetwork2["Devnet"] = "devnet";
      })(WalletAdapterNetwork || (WalletAdapterNetwork = {}));
    }
  });

  // node_modules/@solana/wallet-adapter-base/lib/esm/index.js
  var init_esm4 = __esm({
    "node_modules/@solana/wallet-adapter-base/lib/esm/index.js"() {
      init_adapter();
      init_errors2();
      init_signer();
      init_standard();
      init_transaction();
      init_types2();
    }
  });

  // node_modules/base64-js/index.js
  var require_base64_js = __commonJS({
    "node_modules/base64-js/index.js"(exports) {
      "use strict";
      exports.byteLength = byteLength;
      exports.toByteArray = toByteArray;
      exports.fromByteArray = fromByteArray;
      var lookup = [];
      var revLookup = [];
      var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;
      var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
      for (i2 = 0, len = code.length; i2 < len; ++i2) {
        lookup[i2] = code[i2];
        revLookup[code.charCodeAt(i2)] = i2;
      }
      var i2;
      var len;
      revLookup["-".charCodeAt(0)] = 62;
      revLookup["_".charCodeAt(0)] = 63;
      function getLens(b64) {
        var len2 = b64.length;
        if (len2 % 4 > 0) {
          throw new Error("Invalid string. Length must be a multiple of 4");
        }
        var validLen = b64.indexOf("=");
        if (validLen === -1) validLen = len2;
        var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4;
        return [validLen, placeHoldersLen];
      }
      function byteLength(b64) {
        var lens = getLens(b64);
        var validLen = lens[0];
        var placeHoldersLen = lens[1];
        return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
      }
      function _byteLength(b64, validLen, placeHoldersLen) {
        return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
      }
      function toByteArray(b64) {
        var tmp;
        var lens = getLens(b64);
        var validLen = lens[0];
        var placeHoldersLen = lens[1];
        var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
        var curByte = 0;
        var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen;
        var i3;
        for (i3 = 0; i3 < len2; i3 += 4) {
          tmp = revLookup[b64.charCodeAt(i3)] << 18 | revLookup[b64.charCodeAt(i3 + 1)] << 12 | revLookup[b64.charCodeAt(i3 + 2)] << 6 | revLookup[b64.charCodeAt(i3 + 3)];
          arr[curByte++] = tmp >> 16 & 255;
          arr[curByte++] = tmp >> 8 & 255;
          arr[curByte++] = tmp & 255;
        }
        if (placeHoldersLen === 2) {
          tmp = revLookup[b64.charCodeAt(i3)] << 2 | revLookup[b64.charCodeAt(i3 + 1)] >> 4;
          arr[curByte++] = tmp & 255;
        }
        if (placeHoldersLen === 1) {
          tmp = revLookup[b64.charCodeAt(i3)] << 10 | revLookup[b64.charCodeAt(i3 + 1)] << 4 | revLookup[b64.charCodeAt(i3 + 2)] >> 2;
          arr[curByte++] = tmp >> 8 & 255;
          arr[curByte++] = tmp & 255;
        }
        return arr;
      }
      function tripletToBase64(num) {
        return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];
      }
      function encodeChunk(uint8, start, end) {
        var tmp;
        var output2 = [];
        for (var i3 = start; i3 < end; i3 += 3) {
          tmp = (uint8[i3] << 16 & 16711680) + (uint8[i3 + 1] << 8 & 65280) + (uint8[i3 + 2] & 255);
          output2.push(tripletToBase64(tmp));
        }
        return output2.join("");
      }
      function fromByteArray(uint8) {
        var tmp;
        var len2 = uint8.length;
        var extraBytes = len2 % 3;
        var parts = [];
        var maxChunkLength = 16383;
        for (var i3 = 0, len22 = len2 - extraBytes; i3 < len22; i3 += maxChunkLength) {
          parts.push(encodeChunk(uint8, i3, i3 + maxChunkLength > len22 ? len22 : i3 + maxChunkLength));
        }
        if (extraBytes === 1) {
          tmp = uint8[len2 - 1];
          parts.push(
            lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "=="
          );
        } else if (extraBytes === 2) {
          tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1];
          parts.push(
            lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "="
          );
        }
        return parts.join("");
      }
    }
  });

  // node_modules/ieee754/index.js
  var require_ieee754 = __commonJS({
    "node_modules/ieee754/index.js"(exports) {
      exports.read = function(buffer, offset5, isLE2, mLen, nBytes) {
        var e3, m2;
        var eLen = nBytes * 8 - mLen - 1;
        var eMax = (1 << eLen) - 1;
        var eBias = eMax >> 1;
        var nBits = -7;
        var i2 = isLE2 ? nBytes - 1 : 0;
        var d2 = isLE2 ? -1 : 1;
        var s2 = buffer[offset5 + i2];
        i2 += d2;
        e3 = s2 & (1 << -nBits) - 1;
        s2 >>= -nBits;
        nBits += eLen;
        for (; nBits > 0; e3 = e3 * 256 + buffer[offset5 + i2], i2 += d2, nBits -= 8) {
        }
        m2 = e3 & (1 << -nBits) - 1;
        e3 >>= -nBits;
        nBits += mLen;
        for (; nBits > 0; m2 = m2 * 256 + buffer[offset5 + i2], i2 += d2, nBits -= 8) {
        }
        if (e3 === 0) {
          e3 = 1 - eBias;
        } else if (e3 === eMax) {
          return m2 ? NaN : (s2 ? -1 : 1) * Infinity;
        } else {
          m2 = m2 + Math.pow(2, mLen);
          e3 = e3 - eBias;
        }
        return (s2 ? -1 : 1) * m2 * Math.pow(2, e3 - mLen);
      };
      exports.write = function(buffer, value, offset5, isLE2, mLen, nBytes) {
        var e3, m2, c2;
        var eLen = nBytes * 8 - mLen - 1;
        var eMax = (1 << eLen) - 1;
        var eBias = eMax >> 1;
        var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;
        var i2 = isLE2 ? 0 : nBytes - 1;
        var d2 = isLE2 ? 1 : -1;
        var s2 = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;
        value = Math.abs(value);
        if (isNaN(value) || value === Infinity) {
          m2 = isNaN(value) ? 1 : 0;
          e3 = eMax;
        } else {
          e3 = Math.floor(Math.log(value) / Math.LN2);
          if (value * (c2 = Math.pow(2, -e3)) < 1) {
            e3--;
            c2 *= 2;
          }
          if (e3 + eBias >= 1) {
            value += rt / c2;
          } else {
            value += rt * Math.pow(2, 1 - eBias);
          }
          if (value * c2 >= 2) {
            e3++;
            c2 /= 2;
          }
          if (e3 + eBias >= eMax) {
            m2 = 0;
            e3 = eMax;
          } else if (e3 + eBias >= 1) {
            m2 = (value * c2 - 1) * Math.pow(2, mLen);
            e3 = e3 + eBias;
          } else {
            m2 = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
            e3 = 0;
          }
        }
        for (; mLen >= 8; buffer[offset5 + i2] = m2 & 255, i2 += d2, m2 /= 256, mLen -= 8) {
        }
        e3 = e3 << mLen | m2;
        eLen += mLen;
        for (; eLen > 0; buffer[offset5 + i2] = e3 & 255, i2 += d2, e3 /= 256, eLen -= 8) {
        }
        buffer[offset5 + i2 - d2] |= s2 * 128;
      };
    }
  });

  // node_modules/buffer/index.js
  var require_buffer = __commonJS({
    "node_modules/buffer/index.js"(exports) {
      "use strict";
      var base64 = require_base64_js();
      var ieee754 = require_ieee754();
      var customInspectSymbol = typeof Symbol === "function" && typeof Symbol["for"] === "function" ? Symbol["for"]("nodejs.util.inspect.custom") : null;
      exports.Buffer = Buffer4;
      exports.SlowBuffer = SlowBuffer;
      exports.INSPECT_MAX_BYTES = 50;
      var K_MAX_LENGTH = 2147483647;
      exports.kMaxLength = K_MAX_LENGTH;
      Buffer4.TYPED_ARRAY_SUPPORT = typedArraySupport();
      if (!Buffer4.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") {
        console.error(
          "This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."
        );
      }
      function typedArraySupport() {
        try {
          const arr = new Uint8Array(1);
          const proto = { foo: function() {
            return 42;
          } };
          Object.setPrototypeOf(proto, Uint8Array.prototype);
          Object.setPrototypeOf(arr, proto);
          return arr.foo() === 42;
        } catch (e3) {
          return false;
        }
      }
      Object.defineProperty(Buffer4.prototype, "parent", {
        enumerable: true,
        get: function() {
          if (!Buffer4.isBuffer(this)) return void 0;
          return this.buffer;
        }
      });
      Object.defineProperty(Buffer4.prototype, "offset", {
        enumerable: true,
        get: function() {
          if (!Buffer4.isBuffer(this)) return void 0;
          return this.byteOffset;
        }
      });
      function createBuffer(length2) {
        if (length2 > K_MAX_LENGTH) {
          throw new RangeError('The value "' + length2 + '" is invalid for option "size"');
        }
        const buf = new Uint8Array(length2);
        Object.setPrototypeOf(buf, Buffer4.prototype);
        return buf;
      }
      function Buffer4(arg, encodingOrOffset, length2) {
        if (typeof arg === "number") {
          if (typeof encodingOrOffset === "string") {
            throw new TypeError(
              'The "string" argument must be of type string. Received type number'
            );
          }
          return allocUnsafe(arg);
        }
        return from2(arg, encodingOrOffset, length2);
      }
      Buffer4.poolSize = 8192;
      function from2(value, encodingOrOffset, length2) {
        if (typeof value === "string") {
          return fromString(value, encodingOrOffset);
        }
        if (ArrayBuffer.isView(value)) {
          return fromArrayView(value);
        }
        if (value == null) {
          throw new TypeError(
            "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value
          );
        }
        if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {
          return fromArrayBuffer(value, encodingOrOffset, length2);
        }
        if (typeof SharedArrayBuffer !== "undefined" && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) {
          return fromArrayBuffer(value, encodingOrOffset, length2);
        }
        if (typeof value === "number") {
          throw new TypeError(
            'The "value" argument must not be of type number. Received type number'
          );
        }
        const valueOf = value.valueOf && value.valueOf();
        if (valueOf != null && valueOf !== value) {
          return Buffer4.from(valueOf, encodingOrOffset, length2);
        }
        const b2 = fromObject(value);
        if (b2) return b2;
        if (typeof Symbol !== "undefined" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === "function") {
          return Buffer4.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length2);
        }
        throw new TypeError(
          "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value
        );
      }
      Buffer4.from = function(value, encodingOrOffset, length2) {
        return from2(value, encodingOrOffset, length2);
      };
      Object.setPrototypeOf(Buffer4.prototype, Uint8Array.prototype);
      Object.setPrototypeOf(Buffer4, Uint8Array);
      function assertSize(size5) {
        if (typeof size5 !== "number") {
          throw new TypeError('"size" argument must be of type number');
        } else if (size5 < 0) {
          throw new RangeError('The value "' + size5 + '" is invalid for option "size"');
        }
      }
      function alloc2(size5, fill, encoding) {
        assertSize(size5);
        if (size5 <= 0) {
          return createBuffer(size5);
        }
        if (fill !== void 0) {
          return typeof encoding === "string" ? createBuffer(size5).fill(fill, encoding) : createBuffer(size5).fill(fill);
        }
        return createBuffer(size5);
      }
      Buffer4.alloc = function(size5, fill, encoding) {
        return alloc2(size5, fill, encoding);
      };
      function allocUnsafe(size5) {
        assertSize(size5);
        return createBuffer(size5 < 0 ? 0 : checked(size5) | 0);
      }
      Buffer4.allocUnsafe = function(size5) {
        return allocUnsafe(size5);
      };
      Buffer4.allocUnsafeSlow = function(size5) {
        return allocUnsafe(size5);
      };
      function fromString(string2, encoding) {
        if (typeof encoding !== "string" || encoding === "") {
          encoding = "utf8";
        }
        if (!Buffer4.isEncoding(encoding)) {
          throw new TypeError("Unknown encoding: " + encoding);
        }
        const length2 = byteLength(string2, encoding) | 0;
        let buf = createBuffer(length2);
        const actual = buf.write(string2, encoding);
        if (actual !== length2) {
          buf = buf.slice(0, actual);
        }
        return buf;
      }
      function fromArrayLike(array2) {
        const length2 = array2.length < 0 ? 0 : checked(array2.length) | 0;
        const buf = createBuffer(length2);
        for (let i2 = 0; i2 < length2; i2 += 1) {
          buf[i2] = array2[i2] & 255;
        }
        return buf;
      }
      function fromArrayView(arrayView) {
        if (isInstance(arrayView, Uint8Array)) {
          const copy3 = new Uint8Array(arrayView);
          return fromArrayBuffer(copy3.buffer, copy3.byteOffset, copy3.byteLength);
        }
        return fromArrayLike(arrayView);
      }
      function fromArrayBuffer(array2, byteOffset, length2) {
        if (byteOffset < 0 || array2.byteLength < byteOffset) {
          throw new RangeError('"offset" is outside of buffer bounds');
        }
        if (array2.byteLength < byteOffset + (length2 || 0)) {
          throw new RangeError('"length" is outside of buffer bounds');
        }
        let buf;
        if (byteOffset === void 0 && length2 === void 0) {
          buf = new Uint8Array(array2);
        } else if (length2 === void 0) {
          buf = new Uint8Array(array2, byteOffset);
        } else {
          buf = new Uint8Array(array2, byteOffset, length2);
        }
        Object.setPrototypeOf(buf, Buffer4.prototype);
        return buf;
      }
      function fromObject(obj) {
        if (Buffer4.isBuffer(obj)) {
          const len = checked(obj.length) | 0;
          const buf = createBuffer(len);
          if (buf.length === 0) {
            return buf;
          }
          obj.copy(buf, 0, 0, len);
          return buf;
        }
        if (obj.length !== void 0) {
          if (typeof obj.length !== "number" || numberIsNaN(obj.length)) {
            return createBuffer(0);
          }
          return fromArrayLike(obj);
        }
        if (obj.type === "Buffer" && Array.isArray(obj.data)) {
          return fromArrayLike(obj.data);
        }
      }
      function checked(length2) {
        if (length2 >= K_MAX_LENGTH) {
          throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + K_MAX_LENGTH.toString(16) + " bytes");
        }
        return length2 | 0;
      }
      function SlowBuffer(length2) {
        if (+length2 != length2) {
          length2 = 0;
        }
        return Buffer4.alloc(+length2);
      }
      Buffer4.isBuffer = function isBuffer(b2) {
        return b2 != null && b2._isBuffer === true && b2 !== Buffer4.prototype;
      };
      Buffer4.compare = function compare(a2, b2) {
        if (isInstance(a2, Uint8Array)) a2 = Buffer4.from(a2, a2.offset, a2.byteLength);
        if (isInstance(b2, Uint8Array)) b2 = Buffer4.from(b2, b2.offset, b2.byteLength);
        if (!Buffer4.isBuffer(a2) || !Buffer4.isBuffer(b2)) {
          throw new TypeError(
            'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'
          );
        }
        if (a2 === b2) return 0;
        let x = a2.length;
        let y = b2.length;
        for (let i2 = 0, len = Math.min(x, y); i2 < len; ++i2) {
          if (a2[i2] !== b2[i2]) {
            x = a2[i2];
            y = b2[i2];
            break;
          }
        }
        if (x < y) return -1;
        if (y < x) return 1;
        return 0;
      };
      Buffer4.isEncoding = function isEncoding(encoding) {
        switch (String(encoding).toLowerCase()) {
          case "hex":
          case "utf8":
          case "utf-8":
          case "ascii":
          case "latin1":
          case "binary":
          case "base64":
          case "ucs2":
          case "ucs-2":
          case "utf16le":
          case "utf-16le":
            return true;
          default:
            return false;
        }
      };
      Buffer4.concat = function concat(list, length2) {
        if (!Array.isArray(list)) {
          throw new TypeError('"list" argument must be an Array of Buffers');
        }
        if (list.length === 0) {
          return Buffer4.alloc(0);
        }
        let i2;
        if (length2 === void 0) {
          length2 = 0;
          for (i2 = 0; i2 < list.length; ++i2) {
            length2 += list[i2].length;
          }
        }
        const buffer = Buffer4.allocUnsafe(length2);
        let pos = 0;
        for (i2 = 0; i2 < list.length; ++i2) {
          let buf = list[i2];
          if (isInstance(buf, Uint8Array)) {
            if (pos + buf.length > buffer.length) {
              if (!Buffer4.isBuffer(buf)) buf = Buffer4.from(buf);
              buf.copy(buffer, pos);
            } else {
              Uint8Array.prototype.set.call(
                buffer,
                buf,
                pos
              );
            }
          } else if (!Buffer4.isBuffer(buf)) {
            throw new TypeError('"list" argument must be an Array of Buffers');
          } else {
            buf.copy(buffer, pos);
          }
          pos += buf.length;
        }
        return buffer;
      };
      function byteLength(string2, encoding) {
        if (Buffer4.isBuffer(string2)) {
          return string2.length;
        }
        if (ArrayBuffer.isView(string2) || isInstance(string2, ArrayBuffer)) {
          return string2.byteLength;
        }
        if (typeof string2 !== "string") {
          throw new TypeError(
            'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof string2
          );
        }
        const len = string2.length;
        const mustMatch = arguments.length > 2 && arguments[2] === true;
        if (!mustMatch && len === 0) return 0;
        let loweredCase = false;
        for (; ; ) {
          switch (encoding) {
            case "ascii":
            case "latin1":
            case "binary":
              return len;
            case "utf8":
            case "utf-8":
              return utf8ToBytes3(string2).length;
            case "ucs2":
            case "ucs-2":
            case "utf16le":
            case "utf-16le":
              return len * 2;
            case "hex":
              return len >>> 1;
            case "base64":
              return base64ToBytes(string2).length;
            default:
              if (loweredCase) {
                return mustMatch ? -1 : utf8ToBytes3(string2).length;
              }
              encoding = ("" + encoding).toLowerCase();
              loweredCase = true;
          }
        }
      }
      Buffer4.byteLength = byteLength;
      function slowToString(encoding, start, end) {
        let loweredCase = false;
        if (start === void 0 || start < 0) {
          start = 0;
        }
        if (start > this.length) {
          return "";
        }
        if (end === void 0 || end > this.length) {
          end = this.length;
        }
        if (end <= 0) {
          return "";
        }
        end >>>= 0;
        start >>>= 0;
        if (end <= start) {
          return "";
        }
        if (!encoding) encoding = "utf8";
        while (true) {
          switch (encoding) {
            case "hex":
              return hexSlice(this, start, end);
            case "utf8":
            case "utf-8":
              return utf8Slice(this, start, end);
            case "ascii":
              return asciiSlice(this, start, end);
            case "latin1":
            case "binary":
              return latin1Slice(this, start, end);
            case "base64":
              return base64Slice(this, start, end);
            case "ucs2":
            case "ucs-2":
            case "utf16le":
            case "utf-16le":
              return utf16leSlice(this, start, end);
            default:
              if (loweredCase) throw new TypeError("Unknown encoding: " + encoding);
              encoding = (encoding + "").toLowerCase();
              loweredCase = true;
          }
        }
      }
      Buffer4.prototype._isBuffer = true;
      function swap(b2, n3, m2) {
        const i2 = b2[n3];
        b2[n3] = b2[m2];
        b2[m2] = i2;
      }
      Buffer4.prototype.swap16 = function swap16() {
        const len = this.length;
        if (len % 2 !== 0) {
          throw new RangeError("Buffer size must be a multiple of 16-bits");
        }
        for (let i2 = 0; i2 < len; i2 += 2) {
          swap(this, i2, i2 + 1);
        }
        return this;
      };
      Buffer4.prototype.swap32 = function swap32() {
        const len = this.length;
        if (len % 4 !== 0) {
          throw new RangeError("Buffer size must be a multiple of 32-bits");
        }
        for (let i2 = 0; i2 < len; i2 += 4) {
          swap(this, i2, i2 + 3);
          swap(this, i2 + 1, i2 + 2);
        }
        return this;
      };
      Buffer4.prototype.swap64 = function swap64() {
        const len = this.length;
        if (len % 8 !== 0) {
          throw new RangeError("Buffer size must be a multiple of 64-bits");
        }
        for (let i2 = 0; i2 < len; i2 += 8) {
          swap(this, i2, i2 + 7);
          swap(this, i2 + 1, i2 + 6);
          swap(this, i2 + 2, i2 + 5);
          swap(this, i2 + 3, i2 + 4);
        }
        return this;
      };
      Buffer4.prototype.toString = function toString() {
        const length2 = this.length;
        if (length2 === 0) return "";
        if (arguments.length === 0) return utf8Slice(this, 0, length2);
        return slowToString.apply(this, arguments);
      };
      Buffer4.prototype.toLocaleString = Buffer4.prototype.toString;
      Buffer4.prototype.equals = function equals(b2) {
        if (!Buffer4.isBuffer(b2)) throw new TypeError("Argument must be a Buffer");
        if (this === b2) return true;
        return Buffer4.compare(this, b2) === 0;
      };
      Buffer4.prototype.inspect = function inspect() {
        let str = "";
        const max2 = exports.INSPECT_MAX_BYTES;
        str = this.toString("hex", 0, max2).replace(/(.{2})/g, "$1 ").trim();
        if (this.length > max2) str += " ... ";
        return "<Buffer " + str + ">";
      };
      if (customInspectSymbol) {
        Buffer4.prototype[customInspectSymbol] = Buffer4.prototype.inspect;
      }
      Buffer4.prototype.compare = function compare(target2, start, end, thisStart, thisEnd) {
        if (isInstance(target2, Uint8Array)) {
          target2 = Buffer4.from(target2, target2.offset, target2.byteLength);
        }
        if (!Buffer4.isBuffer(target2)) {
          throw new TypeError(
            'The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof target2
          );
        }
        if (start === void 0) {
          start = 0;
        }
        if (end === void 0) {
          end = target2 ? target2.length : 0;
        }
        if (thisStart === void 0) {
          thisStart = 0;
        }
        if (thisEnd === void 0) {
          thisEnd = this.length;
        }
        if (start < 0 || end > target2.length || thisStart < 0 || thisEnd > this.length) {
          throw new RangeError("out of range index");
        }
        if (thisStart >= thisEnd && start >= end) {
          return 0;
        }
        if (thisStart >= thisEnd) {
          return -1;
        }
        if (start >= end) {
          return 1;
        }
        start >>>= 0;
        end >>>= 0;
        thisStart >>>= 0;
        thisEnd >>>= 0;
        if (this === target2) return 0;
        let x = thisEnd - thisStart;
        let y = end - start;
        const len = Math.min(x, y);
        const thisCopy = this.slice(thisStart, thisEnd);
        const targetCopy = target2.slice(start, end);
        for (let i2 = 0; i2 < len; ++i2) {
          if (thisCopy[i2] !== targetCopy[i2]) {
            x = thisCopy[i2];
            y = targetCopy[i2];
            break;
          }
        }
        if (x < y) return -1;
        if (y < x) return 1;
        return 0;
      };
      function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {
        if (buffer.length === 0) return -1;
        if (typeof byteOffset === "string") {
          encoding = byteOffset;
          byteOffset = 0;
        } else if (byteOffset > 2147483647) {
          byteOffset = 2147483647;
        } else if (byteOffset < -2147483648) {
          byteOffset = -2147483648;
        }
        byteOffset = +byteOffset;
        if (numberIsNaN(byteOffset)) {
          byteOffset = dir ? 0 : buffer.length - 1;
        }
        if (byteOffset < 0) byteOffset = buffer.length + byteOffset;
        if (byteOffset >= buffer.length) {
          if (dir) return -1;
          else byteOffset = buffer.length - 1;
        } else if (byteOffset < 0) {
          if (dir) byteOffset = 0;
          else return -1;
        }
        if (typeof val === "string") {
          val = Buffer4.from(val, encoding);
        }
        if (Buffer4.isBuffer(val)) {
          if (val.length === 0) {
            return -1;
          }
          return arrayIndexOf(buffer, val, byteOffset, encoding, dir);
        } else if (typeof val === "number") {
          val = val & 255;
          if (typeof Uint8Array.prototype.indexOf === "function") {
            if (dir) {
              return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);
            } else {
              return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);
            }
          }
          return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);
        }
        throw new TypeError("val must be string, number or Buffer");
      }
      function arrayIndexOf(arr, val, byteOffset, encoding, dir) {
        let indexSize = 1;
        let arrLength = arr.length;
        let valLength = val.length;
        if (encoding !== void 0) {
          encoding = String(encoding).toLowerCase();
          if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") {
            if (arr.length < 2 || val.length < 2) {
              return -1;
            }
            indexSize = 2;
            arrLength /= 2;
            valLength /= 2;
            byteOffset /= 2;
          }
        }
        function read(buf, i3) {
          if (indexSize === 1) {
            return buf[i3];
          } else {
            return buf.readUInt16BE(i3 * indexSize);
          }
        }
        let i2;
        if (dir) {
          let foundIndex = -1;
          for (i2 = byteOffset; i2 < arrLength; i2++) {
            if (read(arr, i2) === read(val, foundIndex === -1 ? 0 : i2 - foundIndex)) {
              if (foundIndex === -1) foundIndex = i2;
              if (i2 - foundIndex + 1 === valLength) return foundIndex * indexSize;
            } else {
              if (foundIndex !== -1) i2 -= i2 - foundIndex;
              foundIndex = -1;
            }
          }
        } else {
          if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;
          for (i2 = byteOffset; i2 >= 0; i2--) {
            let found = true;
            for (let j = 0; j < valLength; j++) {
              if (read(arr, i2 + j) !== read(val, j)) {
                found = false;
                break;
              }
            }
            if (found) return i2;
          }
        }
        return -1;
      }
      Buffer4.prototype.includes = function includes(val, byteOffset, encoding) {
        return this.indexOf(val, byteOffset, encoding) !== -1;
      };
      Buffer4.prototype.indexOf = function indexOf(val, byteOffset, encoding) {
        return bidirectionalIndexOf(this, val, byteOffset, encoding, true);
      };
      Buffer4.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {
        return bidirectionalIndexOf(this, val, byteOffset, encoding, false);
      };
      function hexWrite(buf, string2, offset5, length2) {
        offset5 = Number(offset5) || 0;
        const remaining = buf.length - offset5;
        if (!length2) {
          length2 = remaining;
        } else {
          length2 = Number(length2);
          if (length2 > remaining) {
            length2 = remaining;
          }
        }
        const strLen = string2.length;
        if (length2 > strLen / 2) {
          length2 = strLen / 2;
        }
        let i2;
        for (i2 = 0; i2 < length2; ++i2) {
          const parsed = parseInt(string2.substr(i2 * 2, 2), 16);
          if (numberIsNaN(parsed)) return i2;
          buf[offset5 + i2] = parsed;
        }
        return i2;
      }
      function utf8Write(buf, string2, offset5, length2) {
        return blitBuffer(utf8ToBytes3(string2, buf.length - offset5), buf, offset5, length2);
      }
      function asciiWrite(buf, string2, offset5, length2) {
        return blitBuffer(asciiToBytes(string2), buf, offset5, length2);
      }
      function base64Write(buf, string2, offset5, length2) {
        return blitBuffer(base64ToBytes(string2), buf, offset5, length2);
      }
      function ucs2Write(buf, string2, offset5, length2) {
        return blitBuffer(utf16leToBytes(string2, buf.length - offset5), buf, offset5, length2);
      }
      Buffer4.prototype.write = function write(string2, offset5, length2, encoding) {
        if (offset5 === void 0) {
          encoding = "utf8";
          length2 = this.length;
          offset5 = 0;
        } else if (length2 === void 0 && typeof offset5 === "string") {
          encoding = offset5;
          length2 = this.length;
          offset5 = 0;
        } else if (isFinite(offset5)) {
          offset5 = offset5 >>> 0;
          if (isFinite(length2)) {
            length2 = length2 >>> 0;
            if (encoding === void 0) encoding = "utf8";
          } else {
            encoding = length2;
            length2 = void 0;
          }
        } else {
          throw new Error(
            "Buffer.write(string, encoding, offset[, length]) is no longer supported"
          );
        }
        const remaining = this.length - offset5;
        if (length2 === void 0 || length2 > remaining) length2 = remaining;
        if (string2.length > 0 && (length2 < 0 || offset5 < 0) || offset5 > this.length) {
          throw new RangeError("Attempt to write outside buffer bounds");
        }
        if (!encoding) encoding = "utf8";
        let loweredCase = false;
        for (; ; ) {
          switch (encoding) {
            case "hex":
              return hexWrite(this, string2, offset5, length2);
            case "utf8":
            case "utf-8":
              return utf8Write(this, string2, offset5, length2);
            case "ascii":
            case "latin1":
            case "binary":
              return asciiWrite(this, string2, offset5, length2);
            case "base64":
              return base64Write(this, string2, offset5, length2);
            case "ucs2":
            case "ucs-2":
            case "utf16le":
            case "utf-16le":
              return ucs2Write(this, string2, offset5, length2);
            default:
              if (loweredCase) throw new TypeError("Unknown encoding: " + encoding);
              encoding = ("" + encoding).toLowerCase();
              loweredCase = true;
          }
        }
      };
      Buffer4.prototype.toJSON = function toJSON() {
        return {
          type: "Buffer",
          data: Array.prototype.slice.call(this._arr || this, 0)
        };
      };
      function base64Slice(buf, start, end) {
        if (start === 0 && end === buf.length) {
          return base64.fromByteArray(buf);
        } else {
          return base64.fromByteArray(buf.slice(start, end));
        }
      }
      function utf8Slice(buf, start, end) {
        end = Math.min(buf.length, end);
        const res = [];
        let i2 = start;
        while (i2 < end) {
          const firstByte = buf[i2];
          let codePoint = null;
          let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;
          if (i2 + bytesPerSequence <= end) {
            let secondByte, thirdByte, fourthByte, tempCodePoint;
            switch (bytesPerSequence) {
              case 1:
                if (firstByte < 128) {
                  codePoint = firstByte;
                }
                break;
              case 2:
                secondByte = buf[i2 + 1];
                if ((secondByte & 192) === 128) {
                  tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;
                  if (tempCodePoint > 127) {
                    codePoint = tempCodePoint;
                  }
                }
                break;
              case 3:
                secondByte = buf[i2 + 1];
                thirdByte = buf[i2 + 2];
                if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {
                  tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;
                  if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {
                    codePoint = tempCodePoint;
                  }
                }
                break;
              case 4:
                secondByte = buf[i2 + 1];
                thirdByte = buf[i2 + 2];
                fourthByte = buf[i2 + 3];
                if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {
                  tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;
                  if (tempCodePoint > 65535 && tempCodePoint < 1114112) {
                    codePoint = tempCodePoint;
                  }
                }
            }
          }
          if (codePoint === null) {
            codePoint = 65533;
            bytesPerSequence = 1;
          } else if (codePoint > 65535) {
            codePoint -= 65536;
            res.push(codePoint >>> 10 & 1023 | 55296);
            codePoint = 56320 | codePoint & 1023;
          }
          res.push(codePoint);
          i2 += bytesPerSequence;
        }
        return decodeCodePointsArray(res);
      }
      var MAX_ARGUMENTS_LENGTH = 4096;
      function decodeCodePointsArray(codePoints) {
        const len = codePoints.length;
        if (len <= MAX_ARGUMENTS_LENGTH) {
          return String.fromCharCode.apply(String, codePoints);
        }
        let res = "";
        let i2 = 0;
        while (i2 < len) {
          res += String.fromCharCode.apply(
            String,
            codePoints.slice(i2, i2 += MAX_ARGUMENTS_LENGTH)
          );
        }
        return res;
      }
      function asciiSlice(buf, start, end) {
        let ret = "";
        end = Math.min(buf.length, end);
        for (let i2 = start; i2 < end; ++i2) {
          ret += String.fromCharCode(buf[i2] & 127);
        }
        return ret;
      }
      function latin1Slice(buf, start, end) {
        let ret = "";
        end = Math.min(buf.length, end);
        for (let i2 = start; i2 < end; ++i2) {
          ret += String.fromCharCode(buf[i2]);
        }
        return ret;
      }
      function hexSlice(buf, start, end) {
        const len = buf.length;
        if (!start || start < 0) start = 0;
        if (!end || end < 0 || end > len) end = len;
        let out = "";
        for (let i2 = start; i2 < end; ++i2) {
          out += hexSliceLookupTable[buf[i2]];
        }
        return out;
      }
      function utf16leSlice(buf, start, end) {
        const bytes2 = buf.slice(start, end);
        let res = "";
        for (let i2 = 0; i2 < bytes2.length - 1; i2 += 2) {
          res += String.fromCharCode(bytes2[i2] + bytes2[i2 + 1] * 256);
        }
        return res;
      }
      Buffer4.prototype.slice = function slice2(start, end) {
        const len = this.length;
        start = ~~start;
        end = end === void 0 ? len : ~~end;
        if (start < 0) {
          start += len;
          if (start < 0) start = 0;
        } else if (start > len) {
          start = len;
        }
        if (end < 0) {
          end += len;
          if (end < 0) end = 0;
        } else if (end > len) {
          end = len;
        }
        if (end < start) end = start;
        const newBuf = this.subarray(start, end);
        Object.setPrototypeOf(newBuf, Buffer4.prototype);
        return newBuf;
      };
      function checkOffset(offset5, ext, length2) {
        if (offset5 % 1 !== 0 || offset5 < 0) throw new RangeError("offset is not uint");
        if (offset5 + ext > length2) throw new RangeError("Trying to access beyond buffer length");
      }
      Buffer4.prototype.readUintLE = Buffer4.prototype.readUIntLE = function readUIntLE(offset5, byteLength2, noAssert) {
        offset5 = offset5 >>> 0;
        byteLength2 = byteLength2 >>> 0;
        if (!noAssert) checkOffset(offset5, byteLength2, this.length);
        let val = this[offset5];
        let mul = 1;
        let i2 = 0;
        while (++i2 < byteLength2 && (mul *= 256)) {
          val += this[offset5 + i2] * mul;
        }
        return val;
      };
      Buffer4.prototype.readUintBE = Buffer4.prototype.readUIntBE = function readUIntBE(offset5, byteLength2, noAssert) {
        offset5 = offset5 >>> 0;
        byteLength2 = byteLength2 >>> 0;
        if (!noAssert) {
          checkOffset(offset5, byteLength2, this.length);
        }
        let val = this[offset5 + --byteLength2];
        let mul = 1;
        while (byteLength2 > 0 && (mul *= 256)) {
          val += this[offset5 + --byteLength2] * mul;
        }
        return val;
      };
      Buffer4.prototype.readUint8 = Buffer4.prototype.readUInt8 = function readUInt8(offset5, noAssert) {
        offset5 = offset5 >>> 0;
        if (!noAssert) checkOffset(offset5, 1, this.length);
        return this[offset5];
      };
      Buffer4.prototype.readUint16LE = Buffer4.prototype.readUInt16LE = function readUInt16LE(offset5, noAssert) {
        offset5 = offset5 >>> 0;
        if (!noAssert) checkOffset(offset5, 2, this.length);
        return this[offset5] | this[offset5 + 1] << 8;
      };
      Buffer4.prototype.readUint16BE = Buffer4.prototype.readUInt16BE = function readUInt16BE(offset5, noAssert) {
        offset5 = offset5 >>> 0;
        if (!noAssert) checkOffset(offset5, 2, this.length);
        return this[offset5] << 8 | this[offset5 + 1];
      };
      Buffer4.prototype.readUint32LE = Buffer4.prototype.readUInt32LE = function readUInt32LE(offset5, noAssert) {
        offset5 = offset5 >>> 0;
        if (!noAssert) checkOffset(offset5, 4, this.length);
        return (this[offset5] | this[offset5 + 1] << 8 | this[offset5 + 2] << 16) + this[offset5 + 3] * 16777216;
      };
      Buffer4.prototype.readUint32BE = Buffer4.prototype.readUInt32BE = function readUInt32BE(offset5, noAssert) {
        offset5 = offset5 >>> 0;
        if (!noAssert) checkOffset(offset5, 4, this.length);
        return this[offset5] * 16777216 + (this[offset5 + 1] << 16 | this[offset5 + 2] << 8 | this[offset5 + 3]);
      };
      Buffer4.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset5) {
        offset5 = offset5 >>> 0;
        validateNumber(offset5, "offset");
        const first = this[offset5];
        const last = this[offset5 + 7];
        if (first === void 0 || last === void 0) {
          boundsError(offset5, this.length - 8);
        }
        const lo = first + this[++offset5] * 2 ** 8 + this[++offset5] * 2 ** 16 + this[++offset5] * 2 ** 24;
        const hi = this[++offset5] + this[++offset5] * 2 ** 8 + this[++offset5] * 2 ** 16 + last * 2 ** 24;
        return BigInt(lo) + (BigInt(hi) << BigInt(32));
      });
      Buffer4.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset5) {
        offset5 = offset5 >>> 0;
        validateNumber(offset5, "offset");
        const first = this[offset5];
        const last = this[offset5 + 7];
        if (first === void 0 || last === void 0) {
          boundsError(offset5, this.length - 8);
        }
        const hi = first * 2 ** 24 + this[++offset5] * 2 ** 16 + this[++offset5] * 2 ** 8 + this[++offset5];
        const lo = this[++offset5] * 2 ** 24 + this[++offset5] * 2 ** 16 + this[++offset5] * 2 ** 8 + last;
        return (BigInt(hi) << BigInt(32)) + BigInt(lo);
      });
      Buffer4.prototype.readIntLE = function readIntLE(offset5, byteLength2, noAssert) {
        offset5 = offset5 >>> 0;
        byteLength2 = byteLength2 >>> 0;
        if (!noAssert) checkOffset(offset5, byteLength2, this.length);
        let val = this[offset5];
        let mul = 1;
        let i2 = 0;
        while (++i2 < byteLength2 && (mul *= 256)) {
          val += this[offset5 + i2] * mul;
        }
        mul *= 128;
        if (val >= mul) val -= Math.pow(2, 8 * byteLength2);
        return val;
      };
      Buffer4.prototype.readIntBE = function readIntBE(offset5, byteLength2, noAssert) {
        offset5 = offset5 >>> 0;
        byteLength2 = byteLength2 >>> 0;
        if (!noAssert) checkOffset(offset5, byteLength2, this.length);
        let i2 = byteLength2;
        let mul = 1;
        let val = this[offset5 + --i2];
        while (i2 > 0 && (mul *= 256)) {
          val += this[offset5 + --i2] * mul;
        }
        mul *= 128;
        if (val >= mul) val -= Math.pow(2, 8 * byteLength2);
        return val;
      };
      Buffer4.prototype.readInt8 = function readInt8(offset5, noAssert) {
        offset5 = offset5 >>> 0;
        if (!noAssert) checkOffset(offset5, 1, this.length);
        if (!(this[offset5] & 128)) return this[offset5];
        return (255 - this[offset5] + 1) * -1;
      };
      Buffer4.prototype.readInt16LE = function readInt16LE(offset5, noAssert) {
        offset5 = offset5 >>> 0;
        if (!noAssert) checkOffset(offset5, 2, this.length);
        const val = this[offset5] | this[offset5 + 1] << 8;
        return val & 32768 ? val | 4294901760 : val;
      };
      Buffer4.prototype.readInt16BE = function readInt16BE(offset5, noAssert) {
        offset5 = offset5 >>> 0;
        if (!noAssert) checkOffset(offset5, 2, this.length);
        const val = this[offset5 + 1] | this[offset5] << 8;
        return val & 32768 ? val | 4294901760 : val;
      };
      Buffer4.prototype.readInt32LE = function readInt32LE(offset5, noAssert) {
        offset5 = offset5 >>> 0;
        if (!noAssert) checkOffset(offset5, 4, this.length);
        return this[offset5] | this[offset5 + 1] << 8 | this[offset5 + 2] << 16 | this[offset5 + 3] << 24;
      };
      Buffer4.prototype.readInt32BE = function readInt32BE(offset5, noAssert) {
        offset5 = offset5 >>> 0;
        if (!noAssert) checkOffset(offset5, 4, this.length);
        return this[offset5] << 24 | this[offset5 + 1] << 16 | this[offset5 + 2] << 8 | this[offset5 + 3];
      };
      Buffer4.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset5) {
        offset5 = offset5 >>> 0;
        validateNumber(offset5, "offset");
        const first = this[offset5];
        const last = this[offset5 + 7];
        if (first === void 0 || last === void 0) {
          boundsError(offset5, this.length - 8);
        }
        const val = this[offset5 + 4] + this[offset5 + 5] * 2 ** 8 + this[offset5 + 6] * 2 ** 16 + (last << 24);
        return (BigInt(val) << BigInt(32)) + BigInt(first + this[++offset5] * 2 ** 8 + this[++offset5] * 2 ** 16 + this[++offset5] * 2 ** 24);
      });
      Buffer4.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset5) {
        offset5 = offset5 >>> 0;
        validateNumber(offset5, "offset");
        const first = this[offset5];
        const last = this[offset5 + 7];
        if (first === void 0 || last === void 0) {
          boundsError(offset5, this.length - 8);
        }
        const val = (first << 24) + // Overflow
        this[++offset5] * 2 ** 16 + this[++offset5] * 2 ** 8 + this[++offset5];
        return (BigInt(val) << BigInt(32)) + BigInt(this[++offset5] * 2 ** 24 + this[++offset5] * 2 ** 16 + this[++offset5] * 2 ** 8 + last);
      });
      Buffer4.prototype.readFloatLE = function readFloatLE(offset5, noAssert) {
        offset5 = offset5 >>> 0;
        if (!noAssert) checkOffset(offset5, 4, this.length);
        return ieee754.read(this, offset5, true, 23, 4);
      };
      Buffer4.prototype.readFloatBE = function readFloatBE(offset5, noAssert) {
        offset5 = offset5 >>> 0;
        if (!noAssert) checkOffset(offset5, 4, this.length);
        return ieee754.read(this, offset5, false, 23, 4);
      };
      Buffer4.prototype.readDoubleLE = function readDoubleLE(offset5, noAssert) {
        offset5 = offset5 >>> 0;
        if (!noAssert) checkOffset(offset5, 8, this.length);
        return ieee754.read(this, offset5, true, 52, 8);
      };
      Buffer4.prototype.readDoubleBE = function readDoubleBE(offset5, noAssert) {
        offset5 = offset5 >>> 0;
        if (!noAssert) checkOffset(offset5, 8, this.length);
        return ieee754.read(this, offset5, false, 52, 8);
      };
      function checkInt(buf, value, offset5, ext, max2, min2) {
        if (!Buffer4.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance');
        if (value > max2 || value < min2) throw new RangeError('"value" argument is out of bounds');
        if (offset5 + ext > buf.length) throw new RangeError("Index out of range");
      }
      Buffer4.prototype.writeUintLE = Buffer4.prototype.writeUIntLE = function writeUIntLE(value, offset5, byteLength2, noAssert) {
        value = +value;
        offset5 = offset5 >>> 0;
        byteLength2 = byteLength2 >>> 0;
        if (!noAssert) {
          const maxBytes = Math.pow(2, 8 * byteLength2) - 1;
          checkInt(this, value, offset5, byteLength2, maxBytes, 0);
        }
        let mul = 1;
        let i2 = 0;
        this[offset5] = value & 255;
        while (++i2 < byteLength2 && (mul *= 256)) {
          this[offset5 + i2] = value / mul & 255;
        }
        return offset5 + byteLength2;
      };
      Buffer4.prototype.writeUintBE = Buffer4.prototype.writeUIntBE = function writeUIntBE(value, offset5, byteLength2, noAssert) {
        value = +value;
        offset5 = offset5 >>> 0;
        byteLength2 = byteLength2 >>> 0;
        if (!noAssert) {
          const maxBytes = Math.pow(2, 8 * byteLength2) - 1;
          checkInt(this, value, offset5, byteLength2, maxBytes, 0);
        }
        let i2 = byteLength2 - 1;
        let mul = 1;
        this[offset5 + i2] = value & 255;
        while (--i2 >= 0 && (mul *= 256)) {
          this[offset5 + i2] = value / mul & 255;
        }
        return offset5 + byteLength2;
      };
      Buffer4.prototype.writeUint8 = Buffer4.prototype.writeUInt8 = function writeUInt8(value, offset5, noAssert) {
        value = +value;
        offset5 = offset5 >>> 0;
        if (!noAssert) checkInt(this, value, offset5, 1, 255, 0);
        this[offset5] = value & 255;
        return offset5 + 1;
      };
      Buffer4.prototype.writeUint16LE = Buffer4.prototype.writeUInt16LE = function writeUInt16LE(value, offset5, noAssert) {
        value = +value;
        offset5 = offset5 >>> 0;
        if (!noAssert) checkInt(this, value, offset5, 2, 65535, 0);
        this[offset5] = value & 255;
        this[offset5 + 1] = value >>> 8;
        return offset5 + 2;
      };
      Buffer4.prototype.writeUint16BE = Buffer4.prototype.writeUInt16BE = function writeUInt16BE(value, offset5, noAssert) {
        value = +value;
        offset5 = offset5 >>> 0;
        if (!noAssert) checkInt(this, value, offset5, 2, 65535, 0);
        this[offset5] = value >>> 8;
        this[offset5 + 1] = value & 255;
        return offset5 + 2;
      };
      Buffer4.prototype.writeUint32LE = Buffer4.prototype.writeUInt32LE = function writeUInt32LE(value, offset5, noAssert) {
        value = +value;
        offset5 = offset5 >>> 0;
        if (!noAssert) checkInt(this, value, offset5, 4, 4294967295, 0);
        this[offset5 + 3] = value >>> 24;
        this[offset5 + 2] = value >>> 16;
        this[offset5 + 1] = value >>> 8;
        this[offset5] = value & 255;
        return offset5 + 4;
      };
      Buffer4.prototype.writeUint32BE = Buffer4.prototype.writeUInt32BE = function writeUInt32BE(value, offset5, noAssert) {
        value = +value;
        offset5 = offset5 >>> 0;
        if (!noAssert) checkInt(this, value, offset5, 4, 4294967295, 0);
        this[offset5] = value >>> 24;
        this[offset5 + 1] = value >>> 16;
        this[offset5 + 2] = value >>> 8;
        this[offset5 + 3] = value & 255;
        return offset5 + 4;
      };
      function wrtBigUInt64LE(buf, value, offset5, min2, max2) {
        checkIntBI(value, min2, max2, buf, offset5, 7);
        let lo = Number(value & BigInt(4294967295));
        buf[offset5++] = lo;
        lo = lo >> 8;
        buf[offset5++] = lo;
        lo = lo >> 8;
        buf[offset5++] = lo;
        lo = lo >> 8;
        buf[offset5++] = lo;
        let hi = Number(value >> BigInt(32) & BigInt(4294967295));
        buf[offset5++] = hi;
        hi = hi >> 8;
        buf[offset5++] = hi;
        hi = hi >> 8;
        buf[offset5++] = hi;
        hi = hi >> 8;
        buf[offset5++] = hi;
        return offset5;
      }
      function wrtBigUInt64BE(buf, value, offset5, min2, max2) {
        checkIntBI(value, min2, max2, buf, offset5, 7);
        let lo = Number(value & BigInt(4294967295));
        buf[offset5 + 7] = lo;
        lo = lo >> 8;
        buf[offset5 + 6] = lo;
        lo = lo >> 8;
        buf[offset5 + 5] = lo;
        lo = lo >> 8;
        buf[offset5 + 4] = lo;
        let hi = Number(value >> BigInt(32) & BigInt(4294967295));
        buf[offset5 + 3] = hi;
        hi = hi >> 8;
        buf[offset5 + 2] = hi;
        hi = hi >> 8;
        buf[offset5 + 1] = hi;
        hi = hi >> 8;
        buf[offset5] = hi;
        return offset5 + 8;
      }
      Buffer4.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset5 = 0) {
        return wrtBigUInt64LE(this, value, offset5, BigInt(0), BigInt("0xffffffffffffffff"));
      });
      Buffer4.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset5 = 0) {
        return wrtBigUInt64BE(this, value, offset5, BigInt(0), BigInt("0xffffffffffffffff"));
      });
      Buffer4.prototype.writeIntLE = function writeIntLE(value, offset5, byteLength2, noAssert) {
        value = +value;
        offset5 = offset5 >>> 0;
        if (!noAssert) {
          const limit = Math.pow(2, 8 * byteLength2 - 1);
          checkInt(this, value, offset5, byteLength2, limit - 1, -limit);
        }
        let i2 = 0;
        let mul = 1;
        let sub = 0;
        this[offset5] = value & 255;
        while (++i2 < byteLength2 && (mul *= 256)) {
          if (value < 0 && sub === 0 && this[offset5 + i2 - 1] !== 0) {
            sub = 1;
          }
          this[offset5 + i2] = (value / mul >> 0) - sub & 255;
        }
        return offset5 + byteLength2;
      };
      Buffer4.prototype.writeIntBE = function writeIntBE(value, offset5, byteLength2, noAssert) {
        value = +value;
        offset5 = offset5 >>> 0;
        if (!noAssert) {
          const limit = Math.pow(2, 8 * byteLength2 - 1);
          checkInt(this, value, offset5, byteLength2, limit - 1, -limit);
        }
        let i2 = byteLength2 - 1;
        let mul = 1;
        let sub = 0;
        this[offset5 + i2] = value & 255;
        while (--i2 >= 0 && (mul *= 256)) {
          if (value < 0 && sub === 0 && this[offset5 + i2 + 1] !== 0) {
            sub = 1;
          }
          this[offset5 + i2] = (value / mul >> 0) - sub & 255;
        }
        return offset5 + byteLength2;
      };
      Buffer4.prototype.writeInt8 = function writeInt8(value, offset5, noAssert) {
        value = +value;
        offset5 = offset5 >>> 0;
        if (!noAssert) checkInt(this, value, offset5, 1, 127, -128);
        if (value < 0) value = 255 + value + 1;
        this[offset5] = value & 255;
        return offset5 + 1;
      };
      Buffer4.prototype.writeInt16LE = function writeInt16LE(value, offset5, noAssert) {
        value = +value;
        offset5 = offset5 >>> 0;
        if (!noAssert) checkInt(this, value, offset5, 2, 32767, -32768);
        this[offset5] = value & 255;
        this[offset5 + 1] = value >>> 8;
        return offset5 + 2;
      };
      Buffer4.prototype.writeInt16BE = function writeInt16BE(value, offset5, noAssert) {
        value = +value;
        offset5 = offset5 >>> 0;
        if (!noAssert) checkInt(this, value, offset5, 2, 32767, -32768);
        this[offset5] = value >>> 8;
        this[offset5 + 1] = value & 255;
        return offset5 + 2;
      };
      Buffer4.prototype.writeInt32LE = function writeInt32LE(value, offset5, noAssert) {
        value = +value;
        offset5 = offset5 >>> 0;
        if (!noAssert) checkInt(this, value, offset5, 4, 2147483647, -2147483648);
        this[offset5] = value & 255;
        this[offset5 + 1] = value >>> 8;
        this[offset5 + 2] = value >>> 16;
        this[offset5 + 3] = value >>> 24;
        return offset5 + 4;
      };
      Buffer4.prototype.writeInt32BE = function writeInt32BE(value, offset5, noAssert) {
        value = +value;
        offset5 = offset5 >>> 0;
        if (!noAssert) checkInt(this, value, offset5, 4, 2147483647, -2147483648);
        if (value < 0) value = 4294967295 + value + 1;
        this[offset5] = value >>> 24;
        this[offset5 + 1] = value >>> 16;
        this[offset5 + 2] = value >>> 8;
        this[offset5 + 3] = value & 255;
        return offset5 + 4;
      };
      Buffer4.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset5 = 0) {
        return wrtBigUInt64LE(this, value, offset5, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));
      });
      Buffer4.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset5 = 0) {
        return wrtBigUInt64BE(this, value, offset5, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));
      });
      function checkIEEE754(buf, value, offset5, ext, max2, min2) {
        if (offset5 + ext > buf.length) throw new RangeError("Index out of range");
        if (offset5 < 0) throw new RangeError("Index out of range");
      }
      function writeFloat(buf, value, offset5, littleEndian, noAssert) {
        value = +value;
        offset5 = offset5 >>> 0;
        if (!noAssert) {
          checkIEEE754(buf, value, offset5, 4, 34028234663852886e22, -34028234663852886e22);
        }
        ieee754.write(buf, value, offset5, littleEndian, 23, 4);
        return offset5 + 4;
      }
      Buffer4.prototype.writeFloatLE = function writeFloatLE(value, offset5, noAssert) {
        return writeFloat(this, value, offset5, true, noAssert);
      };
      Buffer4.prototype.writeFloatBE = function writeFloatBE(value, offset5, noAssert) {
        return writeFloat(this, value, offset5, false, noAssert);
      };
      function writeDouble(buf, value, offset5, littleEndian, noAssert) {
        value = +value;
        offset5 = offset5 >>> 0;
        if (!noAssert) {
          checkIEEE754(buf, value, offset5, 8, 17976931348623157e292, -17976931348623157e292);
        }
        ieee754.write(buf, value, offset5, littleEndian, 52, 8);
        return offset5 + 8;
      }
      Buffer4.prototype.writeDoubleLE = function writeDoubleLE(value, offset5, noAssert) {
        return writeDouble(this, value, offset5, true, noAssert);
      };
      Buffer4.prototype.writeDoubleBE = function writeDoubleBE(value, offset5, noAssert) {
        return writeDouble(this, value, offset5, false, noAssert);
      };
      Buffer4.prototype.copy = function copy3(target2, targetStart, start, end) {
        if (!Buffer4.isBuffer(target2)) throw new TypeError("argument should be a Buffer");
        if (!start) start = 0;
        if (!end && end !== 0) end = this.length;
        if (targetStart >= target2.length) targetStart = target2.length;
        if (!targetStart) targetStart = 0;
        if (end > 0 && end < start) end = start;
        if (end === start) return 0;
        if (target2.length === 0 || this.length === 0) return 0;
        if (targetStart < 0) {
          throw new RangeError("targetStart out of bounds");
        }
        if (start < 0 || start >= this.length) throw new RangeError("Index out of range");
        if (end < 0) throw new RangeError("sourceEnd out of bounds");
        if (end > this.length) end = this.length;
        if (target2.length - targetStart < end - start) {
          end = target2.length - targetStart + start;
        }
        const len = end - start;
        if (this === target2 && typeof Uint8Array.prototype.copyWithin === "function") {
          this.copyWithin(targetStart, start, end);
        } else {
          Uint8Array.prototype.set.call(
            target2,
            this.subarray(start, end),
            targetStart
          );
        }
        return len;
      };
      Buffer4.prototype.fill = function fill(val, start, end, encoding) {
        if (typeof val === "string") {
          if (typeof start === "string") {
            encoding = start;
            start = 0;
            end = this.length;
          } else if (typeof end === "string") {
            encoding = end;
            end = this.length;
          }
          if (encoding !== void 0 && typeof encoding !== "string") {
            throw new TypeError("encoding must be a string");
          }
          if (typeof encoding === "string" && !Buffer4.isEncoding(encoding)) {
            throw new TypeError("Unknown encoding: " + encoding);
          }
          if (val.length === 1) {
            const code = val.charCodeAt(0);
            if (encoding === "utf8" && code < 128 || encoding === "latin1") {
              val = code;
            }
          }
        } else if (typeof val === "number") {
          val = val & 255;
        } else if (typeof val === "boolean") {
          val = Number(val);
        }
        if (start < 0 || this.length < start || this.length < end) {
          throw new RangeError("Out of range index");
        }
        if (end <= start) {
          return this;
        }
        start = start >>> 0;
        end = end === void 0 ? this.length : end >>> 0;
        if (!val) val = 0;
        let i2;
        if (typeof val === "number") {
          for (i2 = start; i2 < end; ++i2) {
            this[i2] = val;
          }
        } else {
          const bytes2 = Buffer4.isBuffer(val) ? val : Buffer4.from(val, encoding);
          const len = bytes2.length;
          if (len === 0) {
            throw new TypeError('The value "' + val + '" is invalid for argument "value"');
          }
          for (i2 = 0; i2 < end - start; ++i2) {
            this[i2 + start] = bytes2[i2 % len];
          }
        }
        return this;
      };
      var errors = {};
      function E(sym, getMessage, Base) {
        errors[sym] = class NodeError extends Base {
          constructor() {
            super();
            Object.defineProperty(this, "message", {
              value: getMessage.apply(this, arguments),
              writable: true,
              configurable: true
            });
            this.name = `${this.name} [${sym}]`;
            this.stack;
            delete this.name;
          }
          get code() {
            return sym;
          }
          set code(value) {
            Object.defineProperty(this, "code", {
              configurable: true,
              enumerable: true,
              value,
              writable: true
            });
          }
          toString() {
            return `${this.name} [${sym}]: ${this.message}`;
          }
        };
      }
      E(
        "ERR_BUFFER_OUT_OF_BOUNDS",
        function(name) {
          if (name) {
            return `${name} is outside of buffer bounds`;
          }
          return "Attempt to access memory outside buffer bounds";
        },
        RangeError
      );
      E(
        "ERR_INVALID_ARG_TYPE",
        function(name, actual) {
          return `The "${name}" argument must be of type number. Received type ${typeof actual}`;
        },
        TypeError
      );
      E(
        "ERR_OUT_OF_RANGE",
        function(str, range2, input) {
          let msg = `The value of "${str}" is out of range.`;
          let received = input;
          if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {
            received = addNumericalSeparator(String(input));
          } else if (typeof input === "bigint") {
            received = String(input);
            if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {
              received = addNumericalSeparator(received);
            }
            received += "n";
          }
          msg += ` It must be ${range2}. Received ${received}`;
          return msg;
        },
        RangeError
      );
      function addNumericalSeparator(val) {
        let res = "";
        let i2 = val.length;
        const start = val[0] === "-" ? 1 : 0;
        for (; i2 >= start + 4; i2 -= 3) {
          res = `_${val.slice(i2 - 3, i2)}${res}`;
        }
        return `${val.slice(0, i2)}${res}`;
      }
      function checkBounds(buf, offset5, byteLength2) {
        validateNumber(offset5, "offset");
        if (buf[offset5] === void 0 || buf[offset5 + byteLength2] === void 0) {
          boundsError(offset5, buf.length - (byteLength2 + 1));
        }
      }
      function checkIntBI(value, min2, max2, buf, offset5, byteLength2) {
        if (value > max2 || value < min2) {
          const n3 = typeof min2 === "bigint" ? "n" : "";
          let range2;
          if (byteLength2 > 3) {
            if (min2 === 0 || min2 === BigInt(0)) {
              range2 = `>= 0${n3} and < 2${n3} ** ${(byteLength2 + 1) * 8}${n3}`;
            } else {
              range2 = `>= -(2${n3} ** ${(byteLength2 + 1) * 8 - 1}${n3}) and < 2 ** ${(byteLength2 + 1) * 8 - 1}${n3}`;
            }
          } else {
            range2 = `>= ${min2}${n3} and <= ${max2}${n3}`;
          }
          throw new errors.ERR_OUT_OF_RANGE("value", range2, value);
        }
        checkBounds(buf, offset5, byteLength2);
      }
      function validateNumber(value, name) {
        if (typeof value !== "number") {
          throw new errors.ERR_INVALID_ARG_TYPE(name, "number", value);
        }
      }
      function boundsError(value, length2, type2) {
        if (Math.floor(value) !== value) {
          validateNumber(value, type2);
          throw new errors.ERR_OUT_OF_RANGE(type2 || "offset", "an integer", value);
        }
        if (length2 < 0) {
          throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();
        }
        throw new errors.ERR_OUT_OF_RANGE(
          type2 || "offset",
          `>= ${type2 ? 1 : 0} and <= ${length2}`,
          value
        );
      }
      var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;
      function base64clean(str) {
        str = str.split("=")[0];
        str = str.trim().replace(INVALID_BASE64_RE, "");
        if (str.length < 2) return "";
        while (str.length % 4 !== 0) {
          str = str + "=";
        }
        return str;
      }
      function utf8ToBytes3(string2, units) {
        units = units || Infinity;
        let codePoint;
        const length2 = string2.length;
        let leadSurrogate = null;
        const bytes2 = [];
        for (let i2 = 0; i2 < length2; ++i2) {
          codePoint = string2.charCodeAt(i2);
          if (codePoint > 55295 && codePoint < 57344) {
            if (!leadSurrogate) {
              if (codePoint > 56319) {
                if ((units -= 3) > -1) bytes2.push(239, 191, 189);
                continue;
              } else if (i2 + 1 === length2) {
                if ((units -= 3) > -1) bytes2.push(239, 191, 189);
                continue;
              }
              leadSurrogate = codePoint;
              continue;
            }
            if (codePoint < 56320) {
              if ((units -= 3) > -1) bytes2.push(239, 191, 189);
              leadSurrogate = codePoint;
              continue;
            }
            codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536;
          } else if (leadSurrogate) {
            if ((units -= 3) > -1) bytes2.push(239, 191, 189);
          }
          leadSurrogate = null;
          if (codePoint < 128) {
            if ((units -= 1) < 0) break;
            bytes2.push(codePoint);
          } else if (codePoint < 2048) {
            if ((units -= 2) < 0) break;
            bytes2.push(
              codePoint >> 6 | 192,
              codePoint & 63 | 128
            );
          } else if (codePoint < 65536) {
            if ((units -= 3) < 0) break;
            bytes2.push(
              codePoint >> 12 | 224,
              codePoint >> 6 & 63 | 128,
              codePoint & 63 | 128
            );
          } else if (codePoint < 1114112) {
            if ((units -= 4) < 0) break;
            bytes2.push(
              codePoint >> 18 | 240,
              codePoint >> 12 & 63 | 128,
              codePoint >> 6 & 63 | 128,
              codePoint & 63 | 128
            );
          } else {
            throw new Error("Invalid code point");
          }
        }
        return bytes2;
      }
      function asciiToBytes(str) {
        const byteArray = [];
        for (let i2 = 0; i2 < str.length; ++i2) {
          byteArray.push(str.charCodeAt(i2) & 255);
        }
        return byteArray;
      }
      function utf16leToBytes(str, units) {
        let c2, hi, lo;
        const byteArray = [];
        for (let i2 = 0; i2 < str.length; ++i2) {
          if ((units -= 2) < 0) break;
          c2 = str.charCodeAt(i2);
          hi = c2 >> 8;
          lo = c2 % 256;
          byteArray.push(lo);
          byteArray.push(hi);
        }
        return byteArray;
      }
      function base64ToBytes(str) {
        return base64.toByteArray(base64clean(str));
      }
      function blitBuffer(src, dst, offset5, length2) {
        let i2;
        for (i2 = 0; i2 < length2; ++i2) {
          if (i2 + offset5 >= dst.length || i2 >= src.length) break;
          dst[i2 + offset5] = src[i2];
        }
        return i2;
      }
      function isInstance(obj, type2) {
        return obj instanceof type2 || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type2.name;
      }
      function numberIsNaN(obj) {
        return obj !== obj;
      }
      var hexSliceLookupTable = (function() {
        const alphabet = "0123456789abcdef";
        const table = new Array(256);
        for (let i2 = 0; i2 < 16; ++i2) {
          const i16 = i2 * 16;
          for (let j = 0; j < 16; ++j) {
            table[i16 + j] = alphabet[i2] + alphabet[j];
          }
        }
        return table;
      })();
      function defineBigIntMethod(fn) {
        return typeof BigInt === "undefined" ? BufferBigIntNotDefined : fn;
      }
      function BufferBigIntNotDefined() {
        throw new Error("BigInt not supported");
      }
    }
  });

  // node_modules/@noble/curves/node_modules/@noble/hashes/esm/crypto.js
  var crypto2;
  var init_crypto = __esm({
    "node_modules/@noble/curves/node_modules/@noble/hashes/esm/crypto.js"() {
      crypto2 = typeof globalThis === "object" && "crypto" in globalThis ? globalThis.crypto : void 0;
    }
  });

  // node_modules/@noble/curves/node_modules/@noble/hashes/esm/utils.js
  function isBytes(a2) {
    return a2 instanceof Uint8Array || ArrayBuffer.isView(a2) && a2.constructor.name === "Uint8Array";
  }
  function anumber(n3) {
    if (!Number.isSafeInteger(n3) || n3 < 0)
      throw new Error("positive integer expected, got " + n3);
  }
  function abytes(b2, ...lengths) {
    if (!isBytes(b2))
      throw new Error("Uint8Array expected");
    if (lengths.length > 0 && !lengths.includes(b2.length))
      throw new Error("Uint8Array expected of length " + lengths + ", got length=" + b2.length);
  }
  function ahash(h2) {
    if (typeof h2 !== "function" || typeof h2.create !== "function")
      throw new Error("Hash should be wrapped by utils.createHasher");
    anumber(h2.outputLen);
    anumber(h2.blockLen);
  }
  function aexists(instance2, checkFinished = true) {
    if (instance2.destroyed)
      throw new Error("Hash instance has been destroyed");
    if (checkFinished && instance2.finished)
      throw new Error("Hash#digest() has already been called");
  }
  function aoutput(out, instance2) {
    abytes(out);
    const min2 = instance2.outputLen;
    if (out.length < min2) {
      throw new Error("digestInto() expects output buffer of length at least " + min2);
    }
  }
  function clean(...arrays) {
    for (let i2 = 0; i2 < arrays.length; i2++) {
      arrays[i2].fill(0);
    }
  }
  function createView(arr) {
    return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
  }
  function rotr(word, shift4) {
    return word << 32 - shift4 | word >>> shift4;
  }
  function bytesToHex(bytes2) {
    abytes(bytes2);
    if (hasHexBuiltin)
      return bytes2.toHex();
    let hex = "";
    for (let i2 = 0; i2 < bytes2.length; i2++) {
      hex += hexes[bytes2[i2]];
    }
    return hex;
  }
  function asciiToBase16(ch) {
    if (ch >= asciis._0 && ch <= asciis._9)
      return ch - asciis._0;
    if (ch >= asciis.A && ch <= asciis.F)
      return ch - (asciis.A - 10);
    if (ch >= asciis.a && ch <= asciis.f)
      return ch - (asciis.a - 10);
    return;
  }
  function hexToBytes(hex) {
    if (typeof hex !== "string")
      throw new Error("hex string expected, got " + typeof hex);
    if (hasHexBuiltin)
      return Uint8Array.fromHex(hex);
    const hl = hex.length;
    const al = hl / 2;
    if (hl % 2)
      throw new Error("hex string expected, got unpadded hex of length " + hl);
    const array2 = new Uint8Array(al);
    for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {
      const n1 = asciiToBase16(hex.charCodeAt(hi));
      const n22 = asciiToBase16(hex.charCodeAt(hi + 1));
      if (n1 === void 0 || n22 === void 0) {
        const char2 = hex[hi] + hex[hi + 1];
        throw new Error('hex string expected, got non-hex character "' + char2 + '" at index ' + hi);
      }
      array2[ai] = n1 * 16 + n22;
    }
    return array2;
  }
  function utf8ToBytes(str) {
    if (typeof str !== "string")
      throw new Error("string expected");
    return new Uint8Array(new TextEncoder().encode(str));
  }
  function toBytes(data2) {
    if (typeof data2 === "string")
      data2 = utf8ToBytes(data2);
    abytes(data2);
    return data2;
  }
  function concatBytes(...arrays) {
    let sum = 0;
    for (let i2 = 0; i2 < arrays.length; i2++) {
      const a2 = arrays[i2];
      abytes(a2);
      sum += a2.length;
    }
    const res = new Uint8Array(sum);
    for (let i2 = 0, pad = 0; i2 < arrays.length; i2++) {
      const a2 = arrays[i2];
      res.set(a2, pad);
      pad += a2.length;
    }
    return res;
  }
  function createHasher(hashCons) {
    const hashC = (msg) => hashCons().update(toBytes(msg)).digest();
    const tmp = hashCons();
    hashC.outputLen = tmp.outputLen;
    hashC.blockLen = tmp.blockLen;
    hashC.create = () => hashCons();
    return hashC;
  }
  function randomBytes(bytesLength = 32) {
    if (crypto2 && typeof crypto2.getRandomValues === "function") {
      return crypto2.getRandomValues(new Uint8Array(bytesLength));
    }
    if (crypto2 && typeof crypto2.randomBytes === "function") {
      return Uint8Array.from(crypto2.randomBytes(bytesLength));
    }
    throw new Error("crypto.getRandomValues must be defined");
  }
  var hasHexBuiltin, hexes, asciis, Hash;
  var init_utils7 = __esm({
    "node_modules/@noble/curves/node_modules/@noble/hashes/esm/utils.js"() {
      init_crypto();
      hasHexBuiltin = /* @__PURE__ */ (() => (
        // @ts-ignore
        typeof Uint8Array.from([]).toHex === "function" && typeof Uint8Array.fromHex === "function"
      ))();
      hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_3, i2) => i2.toString(16).padStart(2, "0"));
      asciis = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 };
      Hash = class {
      };
    }
  });

  // node_modules/@noble/curves/node_modules/@noble/hashes/esm/_md.js
  function setBigUint64(view, byteOffset, value, isLE2) {
    if (typeof view.setBigUint64 === "function")
      return view.setBigUint64(byteOffset, value, isLE2);
    const _32n3 = BigInt(32);
    const _u32_max = BigInt(4294967295);
    const wh = Number(value >> _32n3 & _u32_max);
    const wl = Number(value & _u32_max);
    const h2 = isLE2 ? 4 : 0;
    const l2 = isLE2 ? 0 : 4;
    view.setUint32(byteOffset + h2, wh, isLE2);
    view.setUint32(byteOffset + l2, wl, isLE2);
  }
  function Chi(a2, b2, c2) {
    return a2 & b2 ^ ~a2 & c2;
  }
  function Maj(a2, b2, c2) {
    return a2 & b2 ^ a2 & c2 ^ b2 & c2;
  }
  var HashMD, SHA256_IV, SHA512_IV;
  var init_md = __esm({
    "node_modules/@noble/curves/node_modules/@noble/hashes/esm/_md.js"() {
      init_utils7();
      HashMD = class extends Hash {
        constructor(blockLen, outputLen, padOffset, isLE2) {
          super();
          this.finished = false;
          this.length = 0;
          this.pos = 0;
          this.destroyed = false;
          this.blockLen = blockLen;
          this.outputLen = outputLen;
          this.padOffset = padOffset;
          this.isLE = isLE2;
          this.buffer = new Uint8Array(blockLen);
          this.view = createView(this.buffer);
        }
        update(data2) {
          aexists(this);
          data2 = toBytes(data2);
          abytes(data2);
          const { view, buffer, blockLen } = this;
          const len = data2.length;
          for (let pos = 0; pos < len; ) {
            const take = Math.min(blockLen - this.pos, len - pos);
            if (take === blockLen) {
              const dataView = createView(data2);
              for (; blockLen <= len - pos; pos += blockLen)
                this.process(dataView, pos);
              continue;
            }
            buffer.set(data2.subarray(pos, pos + take), this.pos);
            this.pos += take;
            pos += take;
            if (this.pos === blockLen) {
              this.process(view, 0);
              this.pos = 0;
            }
          }
          this.length += data2.length;
          this.roundClean();
          return this;
        }
        digestInto(out) {
          aexists(this);
          aoutput(out, this);
          this.finished = true;
          const { buffer, view, blockLen, isLE: isLE2 } = this;
          let { pos } = this;
          buffer[pos++] = 128;
          clean(this.buffer.subarray(pos));
          if (this.padOffset > blockLen - pos) {
            this.process(view, 0);
            pos = 0;
          }
          for (let i2 = pos; i2 < blockLen; i2++)
            buffer[i2] = 0;
          setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE2);
          this.process(view, 0);
          const oview = createView(out);
          const len = this.outputLen;
          if (len % 4)
            throw new Error("_sha2: outputLen should be aligned to 32bit");
          const outLen = len / 4;
          const state = this.get();
          if (outLen > state.length)
            throw new Error("_sha2: outputLen bigger than state");
          for (let i2 = 0; i2 < outLen; i2++)
            oview.setUint32(4 * i2, state[i2], isLE2);
        }
        digest() {
          const { buffer, outputLen } = this;
          this.digestInto(buffer);
          const res = buffer.slice(0, outputLen);
          this.destroy();
          return res;
        }
        _cloneInto(to) {
          to || (to = new this.constructor());
          to.set(...this.get());
          const { blockLen, buffer, length: length2, finished, destroyed, pos } = this;
          to.destroyed = destroyed;
          to.finished = finished;
          to.length = length2;
          to.pos = pos;
          if (length2 % blockLen)
            to.buffer.set(buffer);
          return to;
        }
        clone() {
          return this._cloneInto();
        }
      };
      SHA256_IV = /* @__PURE__ */ Uint32Array.from([
        1779033703,
        3144134277,
        1013904242,
        2773480762,
        1359893119,
        2600822924,
        528734635,
        1541459225
      ]);
      SHA512_IV = /* @__PURE__ */ Uint32Array.from([
        1779033703,
        4089235720,
        3144134277,
        2227873595,
        1013904242,
        4271175723,
        2773480762,
        1595750129,
        1359893119,
        2917565137,
        2600822924,
        725511199,
        528734635,
        4215389547,
        1541459225,
        327033209
      ]);
    }
  });

  // node_modules/@noble/curves/node_modules/@noble/hashes/esm/_u64.js
  function fromBig(n3, le = false) {
    if (le)
      return { h: Number(n3 & U32_MASK64), l: Number(n3 >> _32n & U32_MASK64) };
    return { h: Number(n3 >> _32n & U32_MASK64) | 0, l: Number(n3 & U32_MASK64) | 0 };
  }
  function split(lst, le = false) {
    const len = lst.length;
    let Ah = new Uint32Array(len);
    let Al = new Uint32Array(len);
    for (let i2 = 0; i2 < len; i2++) {
      const { h: h2, l: l2 } = fromBig(lst[i2], le);
      [Ah[i2], Al[i2]] = [h2, l2];
    }
    return [Ah, Al];
  }
  function add2(Ah, Al, Bh, Bl) {
    const l2 = (Al >>> 0) + (Bl >>> 0);
    return { h: Ah + Bh + (l2 / 2 ** 32 | 0) | 0, l: l2 | 0 };
  }
  var U32_MASK64, _32n, shrSH, shrSL, rotrSH, rotrSL, rotrBH, rotrBL, add3L, add3H, add4L, add4H, add5L, add5H;
  var init_u64 = __esm({
    "node_modules/@noble/curves/node_modules/@noble/hashes/esm/_u64.js"() {
      U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);
      _32n = /* @__PURE__ */ BigInt(32);
      shrSH = (h2, _l, s2) => h2 >>> s2;
      shrSL = (h2, l2, s2) => h2 << 32 - s2 | l2 >>> s2;
      rotrSH = (h2, l2, s2) => h2 >>> s2 | l2 << 32 - s2;
      rotrSL = (h2, l2, s2) => h2 << 32 - s2 | l2 >>> s2;
      rotrBH = (h2, l2, s2) => h2 << 64 - s2 | l2 >>> s2 - 32;
      rotrBL = (h2, l2, s2) => h2 >>> s2 - 32 | l2 << 64 - s2;
      add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);
      add3H = (low, Ah, Bh, Ch) => Ah + Bh + Ch + (low / 2 ** 32 | 0) | 0;
      add4L = (Al, Bl, Cl, Dl3) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl3 >>> 0);
      add4H = (low, Ah, Bh, Ch, Dh) => Ah + Bh + Ch + Dh + (low / 2 ** 32 | 0) | 0;
      add5L = (Al, Bl, Cl, Dl3, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl3 >>> 0) + (El >>> 0);
      add5H = (low, Ah, Bh, Ch, Dh, Eh) => Ah + Bh + Ch + Dh + Eh + (low / 2 ** 32 | 0) | 0;
    }
  });

  // node_modules/@noble/curves/node_modules/@noble/hashes/esm/sha2.js
  var SHA256_K, SHA256_W, SHA256, K512, SHA512_Kh, SHA512_Kl, SHA512_W_H, SHA512_W_L, SHA512, sha256, sha512;
  var init_sha2 = __esm({
    "node_modules/@noble/curves/node_modules/@noble/hashes/esm/sha2.js"() {
      init_md();
      init_u64();
      init_utils7();
      SHA256_K = /* @__PURE__ */ Uint32Array.from([
        1116352408,
        1899447441,
        3049323471,
        3921009573,
        961987163,
        1508970993,
        2453635748,
        2870763221,
        3624381080,
        310598401,
        607225278,
        1426881987,
        1925078388,
        2162078206,
        2614888103,
        3248222580,
        3835390401,
        4022224774,
        264347078,
        604807628,
        770255983,
        1249150122,
        1555081692,
        1996064986,
        2554220882,
        2821834349,
        2952996808,
        3210313671,
        3336571891,
        3584528711,
        113926993,
        338241895,
        666307205,
        773529912,
        1294757372,
        1396182291,
        1695183700,
        1986661051,
        2177026350,
        2456956037,
        2730485921,
        2820302411,
        3259730800,
        3345764771,
        3516065817,
        3600352804,
        4094571909,
        275423344,
        430227734,
        506948616,
        659060556,
        883997877,
        958139571,
        1322822218,
        1537002063,
        1747873779,
        1955562222,
        2024104815,
        2227730452,
        2361852424,
        2428436474,
        2756734187,
        3204031479,
        3329325298
      ]);
      SHA256_W = /* @__PURE__ */ new Uint32Array(64);
      SHA256 = class extends HashMD {
        constructor(outputLen = 32) {
          super(64, outputLen, 8, false);
          this.A = SHA256_IV[0] | 0;
          this.B = SHA256_IV[1] | 0;
          this.C = SHA256_IV[2] | 0;
          this.D = SHA256_IV[3] | 0;
          this.E = SHA256_IV[4] | 0;
          this.F = SHA256_IV[5] | 0;
          this.G = SHA256_IV[6] | 0;
          this.H = SHA256_IV[7] | 0;
        }
        get() {
          const { A, B, C, D, E, F, G, H } = this;
          return [A, B, C, D, E, F, G, H];
        }
        // prettier-ignore
        set(A, B, C, D, E, F, G, H) {
          this.A = A | 0;
          this.B = B | 0;
          this.C = C | 0;
          this.D = D | 0;
          this.E = E | 0;
          this.F = F | 0;
          this.G = G | 0;
          this.H = H | 0;
        }
        process(view, offset5) {
          for (let i2 = 0; i2 < 16; i2++, offset5 += 4)
            SHA256_W[i2] = view.getUint32(offset5, false);
          for (let i2 = 16; i2 < 64; i2++) {
            const W15 = SHA256_W[i2 - 15];
            const W2 = SHA256_W[i2 - 2];
            const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ W15 >>> 3;
            const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ W2 >>> 10;
            SHA256_W[i2] = s1 + SHA256_W[i2 - 7] + s0 + SHA256_W[i2 - 16] | 0;
          }
          let { A, B, C, D, E, F, G, H } = this;
          for (let i2 = 0; i2 < 64; i2++) {
            const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);
            const T1 = H + sigma1 + Chi(E, F, G) + SHA256_K[i2] + SHA256_W[i2] | 0;
            const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22);
            const T2 = sigma0 + Maj(A, B, C) | 0;
            H = G;
            G = F;
            F = E;
            E = D + T1 | 0;
            D = C;
            C = B;
            B = A;
            A = T1 + T2 | 0;
          }
          A = A + this.A | 0;
          B = B + this.B | 0;
          C = C + this.C | 0;
          D = D + this.D | 0;
          E = E + this.E | 0;
          F = F + this.F | 0;
          G = G + this.G | 0;
          H = H + this.H | 0;
          this.set(A, B, C, D, E, F, G, H);
        }
        roundClean() {
          clean(SHA256_W);
        }
        destroy() {
          this.set(0, 0, 0, 0, 0, 0, 0, 0);
          clean(this.buffer);
        }
      };
      K512 = /* @__PURE__ */ (() => split([
        "0x428a2f98d728ae22",
        "0x7137449123ef65cd",
        "0xb5c0fbcfec4d3b2f",
        "0xe9b5dba58189dbbc",
        "0x3956c25bf348b538",
        "0x59f111f1b605d019",
        "0x923f82a4af194f9b",
        "0xab1c5ed5da6d8118",
        "0xd807aa98a3030242",
        "0x12835b0145706fbe",
        "0x243185be4ee4b28c",
        "0x550c7dc3d5ffb4e2",
        "0x72be5d74f27b896f",
        "0x80deb1fe3b1696b1",
        "0x9bdc06a725c71235",
        "0xc19bf174cf692694",
        "0xe49b69c19ef14ad2",
        "0xefbe4786384f25e3",
        "0x0fc19dc68b8cd5b5",
        "0x240ca1cc77ac9c65",
        "0x2de92c6f592b0275",
        "0x4a7484aa6ea6e483",
        "0x5cb0a9dcbd41fbd4",
        "0x76f988da831153b5",
        "0x983e5152ee66dfab",
        "0xa831c66d2db43210",
        "0xb00327c898fb213f",
        "0xbf597fc7beef0ee4",
        "0xc6e00bf33da88fc2",
        "0xd5a79147930aa725",
        "0x06ca6351e003826f",
        "0x142929670a0e6e70",
        "0x27b70a8546d22ffc",
        "0x2e1b21385c26c926",
        "0x4d2c6dfc5ac42aed",
        "0x53380d139d95b3df",
        "0x650a73548baf63de",
        "0x766a0abb3c77b2a8",
        "0x81c2c92e47edaee6",
        "0x92722c851482353b",
        "0xa2bfe8a14cf10364",
        "0xa81a664bbc423001",
        "0xc24b8b70d0f89791",
        "0xc76c51a30654be30",
        "0xd192e819d6ef5218",
        "0xd69906245565a910",
        "0xf40e35855771202a",
        "0x106aa07032bbd1b8",
        "0x19a4c116b8d2d0c8",
        "0x1e376c085141ab53",
        "0x2748774cdf8eeb99",
        "0x34b0bcb5e19b48a8",
        "0x391c0cb3c5c95a63",
        "0x4ed8aa4ae3418acb",
        "0x5b9cca4f7763e373",
        "0x682e6ff3d6b2b8a3",
        "0x748f82ee5defb2fc",
        "0x78a5636f43172f60",
        "0x84c87814a1f0ab72",
        "0x8cc702081a6439ec",
        "0x90befffa23631e28",
        "0xa4506cebde82bde9",
        "0xbef9a3f7b2c67915",
        "0xc67178f2e372532b",
        "0xca273eceea26619c",
        "0xd186b8c721c0c207",
        "0xeada7dd6cde0eb1e",
        "0xf57d4f7fee6ed178",
        "0x06f067aa72176fba",
        "0x0a637dc5a2c898a6",
        "0x113f9804bef90dae",
        "0x1b710b35131c471b",
        "0x28db77f523047d84",
        "0x32caab7b40c72493",
        "0x3c9ebe0a15c9bebc",
        "0x431d67c49c100d4c",
        "0x4cc5d4becb3e42b6",
        "0x597f299cfc657e2a",
        "0x5fcb6fab3ad6faec",
        "0x6c44198c4a475817"
      ].map((n3) => BigInt(n3))))();
      SHA512_Kh = /* @__PURE__ */ (() => K512[0])();
      SHA512_Kl = /* @__PURE__ */ (() => K512[1])();
      SHA512_W_H = /* @__PURE__ */ new Uint32Array(80);
      SHA512_W_L = /* @__PURE__ */ new Uint32Array(80);
      SHA512 = class extends HashMD {
        constructor(outputLen = 64) {
          super(128, outputLen, 16, false);
          this.Ah = SHA512_IV[0] | 0;
          this.Al = SHA512_IV[1] | 0;
          this.Bh = SHA512_IV[2] | 0;
          this.Bl = SHA512_IV[3] | 0;
          this.Ch = SHA512_IV[4] | 0;
          this.Cl = SHA512_IV[5] | 0;
          this.Dh = SHA512_IV[6] | 0;
          this.Dl = SHA512_IV[7] | 0;
          this.Eh = SHA512_IV[8] | 0;
          this.El = SHA512_IV[9] | 0;
          this.Fh = SHA512_IV[10] | 0;
          this.Fl = SHA512_IV[11] | 0;
          this.Gh = SHA512_IV[12] | 0;
          this.Gl = SHA512_IV[13] | 0;
          this.Hh = SHA512_IV[14] | 0;
          this.Hl = SHA512_IV[15] | 0;
        }
        // prettier-ignore
        get() {
          const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl: Dl3, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;
          return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl3, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl];
        }
        // prettier-ignore
        set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl3, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) {
          this.Ah = Ah | 0;
          this.Al = Al | 0;
          this.Bh = Bh | 0;
          this.Bl = Bl | 0;
          this.Ch = Ch | 0;
          this.Cl = Cl | 0;
          this.Dh = Dh | 0;
          this.Dl = Dl3 | 0;
          this.Eh = Eh | 0;
          this.El = El | 0;
          this.Fh = Fh | 0;
          this.Fl = Fl | 0;
          this.Gh = Gh | 0;
          this.Gl = Gl | 0;
          this.Hh = Hh | 0;
          this.Hl = Hl | 0;
        }
        process(view, offset5) {
          for (let i2 = 0; i2 < 16; i2++, offset5 += 4) {
            SHA512_W_H[i2] = view.getUint32(offset5);
            SHA512_W_L[i2] = view.getUint32(offset5 += 4);
          }
          for (let i2 = 16; i2 < 80; i2++) {
            const W15h = SHA512_W_H[i2 - 15] | 0;
            const W15l = SHA512_W_L[i2 - 15] | 0;
            const s0h = rotrSH(W15h, W15l, 1) ^ rotrSH(W15h, W15l, 8) ^ shrSH(W15h, W15l, 7);
            const s0l = rotrSL(W15h, W15l, 1) ^ rotrSL(W15h, W15l, 8) ^ shrSL(W15h, W15l, 7);
            const W2h = SHA512_W_H[i2 - 2] | 0;
            const W2l = SHA512_W_L[i2 - 2] | 0;
            const s1h = rotrSH(W2h, W2l, 19) ^ rotrBH(W2h, W2l, 61) ^ shrSH(W2h, W2l, 6);
            const s1l = rotrSL(W2h, W2l, 19) ^ rotrBL(W2h, W2l, 61) ^ shrSL(W2h, W2l, 6);
            const SUMl = add4L(s0l, s1l, SHA512_W_L[i2 - 7], SHA512_W_L[i2 - 16]);
            const SUMh = add4H(SUMl, s0h, s1h, SHA512_W_H[i2 - 7], SHA512_W_H[i2 - 16]);
            SHA512_W_H[i2] = SUMh | 0;
            SHA512_W_L[i2] = SUMl | 0;
          }
          let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl: Dl3, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;
          for (let i2 = 0; i2 < 80; i2++) {
            const sigma1h = rotrSH(Eh, El, 14) ^ rotrSH(Eh, El, 18) ^ rotrBH(Eh, El, 41);
            const sigma1l = rotrSL(Eh, El, 14) ^ rotrSL(Eh, El, 18) ^ rotrBL(Eh, El, 41);
            const CHIh = Eh & Fh ^ ~Eh & Gh;
            const CHIl = El & Fl ^ ~El & Gl;
            const T1ll = add5L(Hl, sigma1l, CHIl, SHA512_Kl[i2], SHA512_W_L[i2]);
            const T1h = add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i2], SHA512_W_H[i2]);
            const T1l = T1ll | 0;
            const sigma0h = rotrSH(Ah, Al, 28) ^ rotrBH(Ah, Al, 34) ^ rotrBH(Ah, Al, 39);
            const sigma0l = rotrSL(Ah, Al, 28) ^ rotrBL(Ah, Al, 34) ^ rotrBL(Ah, Al, 39);
            const MAJh = Ah & Bh ^ Ah & Ch ^ Bh & Ch;
            const MAJl = Al & Bl ^ Al & Cl ^ Bl & Cl;
            Hh = Gh | 0;
            Hl = Gl | 0;
            Gh = Fh | 0;
            Gl = Fl | 0;
            Fh = Eh | 0;
            Fl = El | 0;
            ({ h: Eh, l: El } = add2(Dh | 0, Dl3 | 0, T1h | 0, T1l | 0));
            Dh = Ch | 0;
            Dl3 = Cl | 0;
            Ch = Bh | 0;
            Cl = Bl | 0;
            Bh = Ah | 0;
            Bl = Al | 0;
            const All = add3L(T1l, sigma0l, MAJl);
            Ah = add3H(All, T1h, sigma0h, MAJh);
            Al = All | 0;
          }
          ({ h: Ah, l: Al } = add2(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0));
          ({ h: Bh, l: Bl } = add2(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0));
          ({ h: Ch, l: Cl } = add2(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0));
          ({ h: Dh, l: Dl3 } = add2(this.Dh | 0, this.Dl | 0, Dh | 0, Dl3 | 0));
          ({ h: Eh, l: El } = add2(this.Eh | 0, this.El | 0, Eh | 0, El | 0));
          ({ h: Fh, l: Fl } = add2(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0));
          ({ h: Gh, l: Gl } = add2(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0));
          ({ h: Hh, l: Hl } = add2(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0));
          this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl3, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl);
        }
        roundClean() {
          clean(SHA512_W_H, SHA512_W_L);
        }
        destroy() {
          clean(this.buffer);
          this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
        }
      };
      sha256 = /* @__PURE__ */ createHasher(() => new SHA256());
      sha512 = /* @__PURE__ */ createHasher(() => new SHA512());
    }
  });

  // node_modules/@noble/curves/esm/utils.js
  function _abool2(value, title = "") {
    if (typeof value !== "boolean") {
      const prefix2 = title && `"${title}"`;
      throw new Error(prefix2 + "expected boolean, got type=" + typeof value);
    }
    return value;
  }
  function _abytes2(value, length2, title = "") {
    const bytes2 = isBytes(value);
    const len = value?.length;
    const needsLen = length2 !== void 0;
    if (!bytes2 || needsLen && len !== length2) {
      const prefix2 = title && `"${title}" `;
      const ofLen = needsLen ? ` of length ${length2}` : "";
      const got = bytes2 ? `length=${len}` : `type=${typeof value}`;
      throw new Error(prefix2 + "expected Uint8Array" + ofLen + ", got " + got);
    }
    return value;
  }
  function numberToHexUnpadded(num) {
    const hex = num.toString(16);
    return hex.length & 1 ? "0" + hex : hex;
  }
  function hexToNumber(hex) {
    if (typeof hex !== "string")
      throw new Error("hex string expected, got " + typeof hex);
    return hex === "" ? _0n : BigInt("0x" + hex);
  }
  function bytesToNumberBE(bytes2) {
    return hexToNumber(bytesToHex(bytes2));
  }
  function bytesToNumberLE(bytes2) {
    abytes(bytes2);
    return hexToNumber(bytesToHex(Uint8Array.from(bytes2).reverse()));
  }
  function numberToBytesBE(n3, len) {
    return hexToBytes(n3.toString(16).padStart(len * 2, "0"));
  }
  function numberToBytesLE(n3, len) {
    return numberToBytesBE(n3, len).reverse();
  }
  function ensureBytes(title, hex, expectedLength) {
    let res;
    if (typeof hex === "string") {
      try {
        res = hexToBytes(hex);
      } catch (e3) {
        throw new Error(title + " must be hex string or Uint8Array, cause: " + e3);
      }
    } else if (isBytes(hex)) {
      res = Uint8Array.from(hex);
    } else {
      throw new Error(title + " must be hex string or Uint8Array");
    }
    const len = res.length;
    if (typeof expectedLength === "number" && len !== expectedLength)
      throw new Error(title + " of length " + expectedLength + " expected, got " + len);
    return res;
  }
  function equalBytes(a2, b2) {
    if (a2.length !== b2.length)
      return false;
    let diff = 0;
    for (let i2 = 0; i2 < a2.length; i2++)
      diff |= a2[i2] ^ b2[i2];
    return diff === 0;
  }
  function copyBytes(bytes2) {
    return Uint8Array.from(bytes2);
  }
  function inRange(n3, min2, max2) {
    return isPosBig(n3) && isPosBig(min2) && isPosBig(max2) && min2 <= n3 && n3 < max2;
  }
  function aInRange(title, n3, min2, max2) {
    if (!inRange(n3, min2, max2))
      throw new Error("expected valid " + title + ": " + min2 + " <= n < " + max2 + ", got " + n3);
  }
  function bitLen(n3) {
    let len;
    for (len = 0; n3 > _0n; n3 >>= _1n, len += 1)
      ;
    return len;
  }
  function createHmacDrbg(hashLen, qByteLen, hmacFn) {
    if (typeof hashLen !== "number" || hashLen < 2)
      throw new Error("hashLen must be a number");
    if (typeof qByteLen !== "number" || qByteLen < 2)
      throw new Error("qByteLen must be a number");
    if (typeof hmacFn !== "function")
      throw new Error("hmacFn must be a function");
    const u8n = (len) => new Uint8Array(len);
    const u8of = (byte) => Uint8Array.of(byte);
    let v = u8n(hashLen);
    let k = u8n(hashLen);
    let i2 = 0;
    const reset = () => {
      v.fill(1);
      k.fill(0);
      i2 = 0;
    };
    const h2 = (...b2) => hmacFn(k, v, ...b2);
    const reseed = (seed = u8n(0)) => {
      k = h2(u8of(0), seed);
      v = h2();
      if (seed.length === 0)
        return;
      k = h2(u8of(1), seed);
      v = h2();
    };
    const gen2 = () => {
      if (i2++ >= 1e3)
        throw new Error("drbg: tried 1000 values");
      let len = 0;
      const out = [];
      while (len < qByteLen) {
        v = h2();
        const sl = v.slice();
        out.push(sl);
        len += v.length;
      }
      return concatBytes(...out);
    };
    const genUntil = (seed, pred) => {
      reset();
      reseed(seed);
      let res = void 0;
      while (!(res = pred(gen2())))
        reseed();
      reset();
      return res;
    };
    return genUntil;
  }
  function _validateObject(object, fields, optFields = {}) {
    if (!object || typeof object !== "object")
      throw new Error("expected valid options object");
    function checkField(fieldName, expectedType, isOpt) {
      const val = object[fieldName];
      if (isOpt && val === void 0)
        return;
      const current = typeof val;
      if (current !== expectedType || val === null)
        throw new Error(`param "${fieldName}" is invalid: expected ${expectedType}, got ${current}`);
    }
    Object.entries(fields).forEach(([k, v]) => checkField(k, v, false));
    Object.entries(optFields).forEach(([k, v]) => checkField(k, v, true));
  }
  function memoized(fn) {
    const map = /* @__PURE__ */ new WeakMap();
    return (arg, ...args) => {
      const val = map.get(arg);
      if (val !== void 0)
        return val;
      const computed = fn(arg, ...args);
      map.set(arg, computed);
      return computed;
    };
  }
  var _0n, _1n, isPosBig, bitMask, notImplemented;
  var init_utils8 = __esm({
    "node_modules/@noble/curves/esm/utils.js"() {
      init_utils7();
      init_utils7();
      _0n = /* @__PURE__ */ BigInt(0);
      _1n = /* @__PURE__ */ BigInt(1);
      isPosBig = (n3) => typeof n3 === "bigint" && _0n <= n3;
      bitMask = (n3) => (_1n << BigInt(n3)) - _1n;
      notImplemented = () => {
        throw new Error("not implemented");
      };
    }
  });

  // node_modules/@noble/curves/esm/abstract/modular.js
  function mod(a2, b2) {
    const result = a2 % b2;
    return result >= _0n2 ? result : b2 + result;
  }
  function pow2(x, power, modulo) {
    let res = x;
    while (power-- > _0n2) {
      res *= res;
      res %= modulo;
    }
    return res;
  }
  function invert(number3, modulo) {
    if (number3 === _0n2)
      throw new Error("invert: expected non-zero number");
    if (modulo <= _0n2)
      throw new Error("invert: expected positive modulus, got " + modulo);
    let a2 = mod(number3, modulo);
    let b2 = modulo;
    let x = _0n2, y = _1n2, u2 = _1n2, v = _0n2;
    while (a2 !== _0n2) {
      const q = b2 / a2;
      const r2 = b2 % a2;
      const m2 = x - u2 * q;
      const n3 = y - v * q;
      b2 = a2, a2 = r2, x = u2, y = v, u2 = m2, v = n3;
    }
    const gcd = b2;
    if (gcd !== _1n2)
      throw new Error("invert: does not exist");
    return mod(x, modulo);
  }
  function assertIsSquare(Fp2, root2, n3) {
    if (!Fp2.eql(Fp2.sqr(root2), n3))
      throw new Error("Cannot find square root");
  }
  function sqrt3mod4(Fp2, n3) {
    const p1div4 = (Fp2.ORDER + _1n2) / _4n;
    const root2 = Fp2.pow(n3, p1div4);
    assertIsSquare(Fp2, root2, n3);
    return root2;
  }
  function sqrt5mod8(Fp2, n3) {
    const p5div8 = (Fp2.ORDER - _5n) / _8n;
    const n22 = Fp2.mul(n3, _2n);
    const v = Fp2.pow(n22, p5div8);
    const nv = Fp2.mul(n3, v);
    const i2 = Fp2.mul(Fp2.mul(nv, _2n), v);
    const root2 = Fp2.mul(nv, Fp2.sub(i2, Fp2.ONE));
    assertIsSquare(Fp2, root2, n3);
    return root2;
  }
  function sqrt9mod16(P) {
    const Fp_ = Field2(P);
    const tn = tonelliShanks(P);
    const c1 = tn(Fp_, Fp_.neg(Fp_.ONE));
    const c2 = tn(Fp_, c1);
    const c3 = tn(Fp_, Fp_.neg(c1));
    const c4 = (P + _7n) / _16n;
    return (Fp2, n3) => {
      let tv1 = Fp2.pow(n3, c4);
      let tv2 = Fp2.mul(tv1, c1);
      const tv3 = Fp2.mul(tv1, c2);
      const tv4 = Fp2.mul(tv1, c3);
      const e1 = Fp2.eql(Fp2.sqr(tv2), n3);
      const e22 = Fp2.eql(Fp2.sqr(tv3), n3);
      tv1 = Fp2.cmov(tv1, tv2, e1);
      tv2 = Fp2.cmov(tv4, tv3, e22);
      const e3 = Fp2.eql(Fp2.sqr(tv2), n3);
      const root2 = Fp2.cmov(tv1, tv2, e3);
      assertIsSquare(Fp2, root2, n3);
      return root2;
    };
  }
  function tonelliShanks(P) {
    if (P < _3n)
      throw new Error("sqrt is not defined for small field");
    let Q = P - _1n2;
    let S2 = 0;
    while (Q % _2n === _0n2) {
      Q /= _2n;
      S2++;
    }
    let Z = _2n;
    const _Fp = Field2(P);
    while (FpLegendre(_Fp, Z) === 1) {
      if (Z++ > 1e3)
        throw new Error("Cannot find square root: probably non-prime P");
    }
    if (S2 === 1)
      return sqrt3mod4;
    let cc = _Fp.pow(Z, Q);
    const Q1div2 = (Q + _1n2) / _2n;
    return function tonelliSlow(Fp2, n3) {
      if (Fp2.is0(n3))
        return n3;
      if (FpLegendre(Fp2, n3) !== 1)
        throw new Error("Cannot find square root");
      let M = S2;
      let c2 = Fp2.mul(Fp2.ONE, cc);
      let t2 = Fp2.pow(n3, Q);
      let R = Fp2.pow(n3, Q1div2);
      while (!Fp2.eql(t2, Fp2.ONE)) {
        if (Fp2.is0(t2))
          return Fp2.ZERO;
        let i2 = 1;
        let t_tmp = Fp2.sqr(t2);
        while (!Fp2.eql(t_tmp, Fp2.ONE)) {
          i2++;
          t_tmp = Fp2.sqr(t_tmp);
          if (i2 === M)
            throw new Error("Cannot find square root");
        }
        const exponent = _1n2 << BigInt(M - i2 - 1);
        const b2 = Fp2.pow(c2, exponent);
        M = i2;
        c2 = Fp2.sqr(b2);
        t2 = Fp2.mul(t2, c2);
        R = Fp2.mul(R, b2);
      }
      return R;
    };
  }
  function FpSqrt(P) {
    if (P % _4n === _3n)
      return sqrt3mod4;
    if (P % _8n === _5n)
      return sqrt5mod8;
    if (P % _16n === _9n)
      return sqrt9mod16(P);
    return tonelliShanks(P);
  }
  function validateField(field) {
    const initial = {
      ORDER: "bigint",
      MASK: "bigint",
      BYTES: "number",
      BITS: "number"
    };
    const opts = FIELD_FIELDS.reduce((map, val) => {
      map[val] = "function";
      return map;
    }, initial);
    _validateObject(field, opts);
    return field;
  }
  function FpPow(Fp2, num, power) {
    if (power < _0n2)
      throw new Error("invalid exponent, negatives unsupported");
    if (power === _0n2)
      return Fp2.ONE;
    if (power === _1n2)
      return num;
    let p2 = Fp2.ONE;
    let d2 = num;
    while (power > _0n2) {
      if (power & _1n2)
        p2 = Fp2.mul(p2, d2);
      d2 = Fp2.sqr(d2);
      power >>= _1n2;
    }
    return p2;
  }
  function FpInvertBatch(Fp2, nums, passZero = false) {
    const inverted = new Array(nums.length).fill(passZero ? Fp2.ZERO : void 0);
    const multipliedAcc = nums.reduce((acc, num, i2) => {
      if (Fp2.is0(num))
        return acc;
      inverted[i2] = acc;
      return Fp2.mul(acc, num);
    }, Fp2.ONE);
    const invertedAcc = Fp2.inv(multipliedAcc);
    nums.reduceRight((acc, num, i2) => {
      if (Fp2.is0(num))
        return acc;
      inverted[i2] = Fp2.mul(acc, inverted[i2]);
      return Fp2.mul(acc, num);
    }, invertedAcc);
    return inverted;
  }
  function FpLegendre(Fp2, n3) {
    const p1mod2 = (Fp2.ORDER - _1n2) / _2n;
    const powered = Fp2.pow(n3, p1mod2);
    const yes = Fp2.eql(powered, Fp2.ONE);
    const zero = Fp2.eql(powered, Fp2.ZERO);
    const no = Fp2.eql(powered, Fp2.neg(Fp2.ONE));
    if (!yes && !zero && !no)
      throw new Error("invalid Legendre symbol result");
    return yes ? 1 : zero ? 0 : -1;
  }
  function nLength(n3, nBitLength) {
    if (nBitLength !== void 0)
      anumber(nBitLength);
    const _nBitLength = nBitLength !== void 0 ? nBitLength : n3.toString(2).length;
    const nByteLength = Math.ceil(_nBitLength / 8);
    return { nBitLength: _nBitLength, nByteLength };
  }
  function Field2(ORDER, bitLenOrOpts, isLE2 = false, opts = {}) {
    if (ORDER <= _0n2)
      throw new Error("invalid field: expected ORDER > 0, got " + ORDER);
    let _nbitLength = void 0;
    let _sqrt = void 0;
    let modFromBytes = false;
    let allowedLengths = void 0;
    if (typeof bitLenOrOpts === "object" && bitLenOrOpts != null) {
      if (opts.sqrt || isLE2)
        throw new Error("cannot specify opts in two arguments");
      const _opts = bitLenOrOpts;
      if (_opts.BITS)
        _nbitLength = _opts.BITS;
      if (_opts.sqrt)
        _sqrt = _opts.sqrt;
      if (typeof _opts.isLE === "boolean")
        isLE2 = _opts.isLE;
      if (typeof _opts.modFromBytes === "boolean")
        modFromBytes = _opts.modFromBytes;
      allowedLengths = _opts.allowedLengths;
    } else {
      if (typeof bitLenOrOpts === "number")
        _nbitLength = bitLenOrOpts;
      if (opts.sqrt)
        _sqrt = opts.sqrt;
    }
    const { nBitLength: BITS, nByteLength: BYTES } = nLength(ORDER, _nbitLength);
    if (BYTES > 2048)
      throw new Error("invalid field: expected ORDER of <= 2048 bytes");
    let sqrtP;
    const f3 = Object.freeze({
      ORDER,
      isLE: isLE2,
      BITS,
      BYTES,
      MASK: bitMask(BITS),
      ZERO: _0n2,
      ONE: _1n2,
      allowedLengths,
      create: (num) => mod(num, ORDER),
      isValid: (num) => {
        if (typeof num !== "bigint")
          throw new Error("invalid field element: expected bigint, got " + typeof num);
        return _0n2 <= num && num < ORDER;
      },
      is0: (num) => num === _0n2,
      // is valid and invertible
      isValidNot0: (num) => !f3.is0(num) && f3.isValid(num),
      isOdd: (num) => (num & _1n2) === _1n2,
      neg: (num) => mod(-num, ORDER),
      eql: (lhs, rhs) => lhs === rhs,
      sqr: (num) => mod(num * num, ORDER),
      add: (lhs, rhs) => mod(lhs + rhs, ORDER),
      sub: (lhs, rhs) => mod(lhs - rhs, ORDER),
      mul: (lhs, rhs) => mod(lhs * rhs, ORDER),
      pow: (num, power) => FpPow(f3, num, power),
      div: (lhs, rhs) => mod(lhs * invert(rhs, ORDER), ORDER),
      // Same as above, but doesn't normalize
      sqrN: (num) => num * num,
      addN: (lhs, rhs) => lhs + rhs,
      subN: (lhs, rhs) => lhs - rhs,
      mulN: (lhs, rhs) => lhs * rhs,
      inv: (num) => invert(num, ORDER),
      sqrt: _sqrt || ((n3) => {
        if (!sqrtP)
          sqrtP = FpSqrt(ORDER);
        return sqrtP(f3, n3);
      }),
      toBytes: (num) => isLE2 ? numberToBytesLE(num, BYTES) : numberToBytesBE(num, BYTES),
      fromBytes: (bytes2, skipValidation = true) => {
        if (allowedLengths) {
          if (!allowedLengths.includes(bytes2.length) || bytes2.length > BYTES) {
            throw new Error("Field.fromBytes: expected " + allowedLengths + " bytes, got " + bytes2.length);
          }
          const padded = new Uint8Array(BYTES);
          padded.set(bytes2, isLE2 ? 0 : padded.length - bytes2.length);
          bytes2 = padded;
        }
        if (bytes2.length !== BYTES)
          throw new Error("Field.fromBytes: expected " + BYTES + " bytes, got " + bytes2.length);
        let scalar = isLE2 ? bytesToNumberLE(bytes2) : bytesToNumberBE(bytes2);
        if (modFromBytes)
          scalar = mod(scalar, ORDER);
        if (!skipValidation) {
          if (!f3.isValid(scalar))
            throw new Error("invalid field element: outside of range 0..ORDER");
        }
        return scalar;
      },
      // TODO: we don't need it here, move out to separate fn
      invertBatch: (lst) => FpInvertBatch(f3, lst),
      // We can't move this out because Fp6, Fp12 implement it
      // and it's unclear what to return in there.
      cmov: (a2, b2, c2) => c2 ? b2 : a2
    });
    return Object.freeze(f3);
  }
  function getFieldBytesLength(fieldOrder) {
    if (typeof fieldOrder !== "bigint")
      throw new Error("field order must be bigint");
    const bitLength = fieldOrder.toString(2).length;
    return Math.ceil(bitLength / 8);
  }
  function getMinHashLength(fieldOrder) {
    const length2 = getFieldBytesLength(fieldOrder);
    return length2 + Math.ceil(length2 / 2);
  }
  function mapHashToField(key, fieldOrder, isLE2 = false) {
    const len = key.length;
    const fieldLen = getFieldBytesLength(fieldOrder);
    const minLen = getMinHashLength(fieldOrder);
    if (len < 16 || len < minLen || len > 1024)
      throw new Error("expected " + minLen + "-1024 bytes of input, got " + len);
    const num = isLE2 ? bytesToNumberLE(key) : bytesToNumberBE(key);
    const reduced = mod(num, fieldOrder - _1n2) + _1n2;
    return isLE2 ? numberToBytesLE(reduced, fieldLen) : numberToBytesBE(reduced, fieldLen);
  }
  var _0n2, _1n2, _2n, _3n, _4n, _5n, _7n, _8n, _9n, _16n, isNegativeLE, FIELD_FIELDS;
  var init_modular = __esm({
    "node_modules/@noble/curves/esm/abstract/modular.js"() {
      init_utils8();
      _0n2 = BigInt(0);
      _1n2 = BigInt(1);
      _2n = /* @__PURE__ */ BigInt(2);
      _3n = /* @__PURE__ */ BigInt(3);
      _4n = /* @__PURE__ */ BigInt(4);
      _5n = /* @__PURE__ */ BigInt(5);
      _7n = /* @__PURE__ */ BigInt(7);
      _8n = /* @__PURE__ */ BigInt(8);
      _9n = /* @__PURE__ */ BigInt(9);
      _16n = /* @__PURE__ */ BigInt(16);
      isNegativeLE = (num, modulo) => (mod(num, modulo) & _1n2) === _1n2;
      FIELD_FIELDS = [
        "create",
        "isValid",
        "is0",
        "neg",
        "inv",
        "sqrt",
        "sqr",
        "eql",
        "add",
        "sub",
        "mul",
        "pow",
        "div",
        "addN",
        "subN",
        "mulN",
        "sqrN"
      ];
    }
  });

  // node_modules/@noble/curves/esm/abstract/curve.js
  function negateCt(condition, item) {
    const neg = item.negate();
    return condition ? neg : item;
  }
  function normalizeZ(c2, points) {
    const invertedZs = FpInvertBatch(c2.Fp, points.map((p2) => p2.Z));
    return points.map((p2, i2) => c2.fromAffine(p2.toAffine(invertedZs[i2])));
  }
  function validateW(W, bits) {
    if (!Number.isSafeInteger(W) || W <= 0 || W > bits)
      throw new Error("invalid window size, expected [1.." + bits + "], got W=" + W);
  }
  function calcWOpts(W, scalarBits) {
    validateW(W, scalarBits);
    const windows = Math.ceil(scalarBits / W) + 1;
    const windowSize = 2 ** (W - 1);
    const maxNumber = 2 ** W;
    const mask2 = bitMask(W);
    const shiftBy = BigInt(W);
    return { windows, windowSize, mask: mask2, maxNumber, shiftBy };
  }
  function calcOffsets(n3, window2, wOpts) {
    const { windowSize, mask: mask2, maxNumber, shiftBy } = wOpts;
    let wbits = Number(n3 & mask2);
    let nextN = n3 >> shiftBy;
    if (wbits > windowSize) {
      wbits -= maxNumber;
      nextN += _1n3;
    }
    const offsetStart = window2 * windowSize;
    const offset5 = offsetStart + Math.abs(wbits) - 1;
    const isZero = wbits === 0;
    const isNeg = wbits < 0;
    const isNegF = window2 % 2 !== 0;
    const offsetF = offsetStart;
    return { nextN, offset: offset5, isZero, isNeg, isNegF, offsetF };
  }
  function validateMSMPoints(points, c2) {
    if (!Array.isArray(points))
      throw new Error("array expected");
    points.forEach((p2, i2) => {
      if (!(p2 instanceof c2))
        throw new Error("invalid point at index " + i2);
    });
  }
  function validateMSMScalars(scalars, field) {
    if (!Array.isArray(scalars))
      throw new Error("array of scalars expected");
    scalars.forEach((s2, i2) => {
      if (!field.isValid(s2))
        throw new Error("invalid scalar at index " + i2);
    });
  }
  function getW(P) {
    return pointWindowSizes.get(P) || 1;
  }
  function assert0(n3) {
    if (n3 !== _0n3)
      throw new Error("invalid wNAF");
  }
  function mulEndoUnsafe(Point, point, k1, k2) {
    let acc = point;
    let p1 = Point.ZERO;
    let p2 = Point.ZERO;
    while (k1 > _0n3 || k2 > _0n3) {
      if (k1 & _1n3)
        p1 = p1.add(acc);
      if (k2 & _1n3)
        p2 = p2.add(acc);
      acc = acc.double();
      k1 >>= _1n3;
      k2 >>= _1n3;
    }
    return { p1, p2 };
  }
  function pippenger(c2, fieldN, points, scalars) {
    validateMSMPoints(points, c2);
    validateMSMScalars(scalars, fieldN);
    const plength = points.length;
    const slength = scalars.length;
    if (plength !== slength)
      throw new Error("arrays of points and scalars must have equal length");
    const zero = c2.ZERO;
    const wbits = bitLen(BigInt(plength));
    let windowSize = 1;
    if (wbits > 12)
      windowSize = wbits - 3;
    else if (wbits > 4)
      windowSize = wbits - 2;
    else if (wbits > 0)
      windowSize = 2;
    const MASK = bitMask(windowSize);
    const buckets = new Array(Number(MASK) + 1).fill(zero);
    const lastBits = Math.floor((fieldN.BITS - 1) / windowSize) * windowSize;
    let sum = zero;
    for (let i2 = lastBits; i2 >= 0; i2 -= windowSize) {
      buckets.fill(zero);
      for (let j = 0; j < slength; j++) {
        const scalar = scalars[j];
        const wbits2 = Number(scalar >> BigInt(i2) & MASK);
        buckets[wbits2] = buckets[wbits2].add(points[j]);
      }
      let resI = zero;
      for (let j = buckets.length - 1, sumI = zero; j > 0; j--) {
        sumI = sumI.add(buckets[j]);
        resI = resI.add(sumI);
      }
      sum = sum.add(resI);
      if (i2 !== 0)
        for (let j = 0; j < windowSize; j++)
          sum = sum.double();
    }
    return sum;
  }
  function createField(order, field, isLE2) {
    if (field) {
      if (field.ORDER !== order)
        throw new Error("Field.ORDER must match order: Fp == p, Fn == n");
      validateField(field);
      return field;
    } else {
      return Field2(order, { isLE: isLE2 });
    }
  }
  function _createCurveFields(type2, CURVE, curveOpts = {}, FpFnLE) {
    if (FpFnLE === void 0)
      FpFnLE = type2 === "edwards";
    if (!CURVE || typeof CURVE !== "object")
      throw new Error(`expected valid ${type2} CURVE object`);
    for (const p2 of ["p", "n", "h"]) {
      const val = CURVE[p2];
      if (!(typeof val === "bigint" && val > _0n3))
        throw new Error(`CURVE.${p2} must be positive bigint`);
    }
    const Fp2 = createField(CURVE.p, curveOpts.Fp, FpFnLE);
    const Fn2 = createField(CURVE.n, curveOpts.Fn, FpFnLE);
    const _b = type2 === "weierstrass" ? "b" : "d";
    const params = ["Gx", "Gy", "a", _b];
    for (const p2 of params) {
      if (!Fp2.isValid(CURVE[p2]))
        throw new Error(`CURVE.${p2} must be valid field element of CURVE.Fp`);
    }
    CURVE = Object.freeze(Object.assign({}, CURVE));
    return { CURVE, Fp: Fp2, Fn: Fn2 };
  }
  var _0n3, _1n3, pointPrecomputes, pointWindowSizes, wNAF;
  var init_curve = __esm({
    "node_modules/@noble/curves/esm/abstract/curve.js"() {
      init_utils8();
      init_modular();
      _0n3 = BigInt(0);
      _1n3 = BigInt(1);
      pointPrecomputes = /* @__PURE__ */ new WeakMap();
      pointWindowSizes = /* @__PURE__ */ new WeakMap();
      wNAF = class {
        // Parametrized with a given Point class (not individual point)
        constructor(Point, bits) {
          this.BASE = Point.BASE;
          this.ZERO = Point.ZERO;
          this.Fn = Point.Fn;
          this.bits = bits;
        }
        // non-const time multiplication ladder
        _unsafeLadder(elm, n3, p2 = this.ZERO) {
          let d2 = elm;
          while (n3 > _0n3) {
            if (n3 & _1n3)
              p2 = p2.add(d2);
            d2 = d2.double();
            n3 >>= _1n3;
          }
          return p2;
        }
        /**
         * Creates a wNAF precomputation window. Used for caching.
         * Default window size is set by `utils.precompute()` and is equal to 8.
         * Number of precomputed points depends on the curve size:
         * 2^(𝑊−1) * (Math.ceil(𝑛 / 𝑊) + 1), where:
         * - 𝑊 is the window size
         * - 𝑛 is the bitlength of the curve order.
         * For a 256-bit curve and window size 8, the number of precomputed points is 128 * 33 = 4224.
         * @param point Point instance
         * @param W window size
         * @returns precomputed point tables flattened to a single array
         */
        precomputeWindow(point, W) {
          const { windows, windowSize } = calcWOpts(W, this.bits);
          const points = [];
          let p2 = point;
          let base2 = p2;
          for (let window2 = 0; window2 < windows; window2++) {
            base2 = p2;
            points.push(base2);
            for (let i2 = 1; i2 < windowSize; i2++) {
              base2 = base2.add(p2);
              points.push(base2);
            }
            p2 = base2.double();
          }
          return points;
        }
        /**
         * Implements ec multiplication using precomputed tables and w-ary non-adjacent form.
         * More compact implementation:
         * https://github.com/paulmillr/noble-secp256k1/blob/47cb1669b6e506ad66b35fe7d76132ae97465da2/index.ts#L502-L541
         * @returns real and fake (for const-time) points
         */
        wNAF(W, precomputes, n3) {
          if (!this.Fn.isValid(n3))
            throw new Error("invalid scalar");
          let p2 = this.ZERO;
          let f3 = this.BASE;
          const wo = calcWOpts(W, this.bits);
          for (let window2 = 0; window2 < wo.windows; window2++) {
            const { nextN, offset: offset5, isZero, isNeg, isNegF, offsetF } = calcOffsets(n3, window2, wo);
            n3 = nextN;
            if (isZero) {
              f3 = f3.add(negateCt(isNegF, precomputes[offsetF]));
            } else {
              p2 = p2.add(negateCt(isNeg, precomputes[offset5]));
            }
          }
          assert0(n3);
          return { p: p2, f: f3 };
        }
        /**
         * Implements ec unsafe (non const-time) multiplication using precomputed tables and w-ary non-adjacent form.
         * @param acc accumulator point to add result of multiplication
         * @returns point
         */
        wNAFUnsafe(W, precomputes, n3, acc = this.ZERO) {
          const wo = calcWOpts(W, this.bits);
          for (let window2 = 0; window2 < wo.windows; window2++) {
            if (n3 === _0n3)
              break;
            const { nextN, offset: offset5, isZero, isNeg } = calcOffsets(n3, window2, wo);
            n3 = nextN;
            if (isZero) {
              continue;
            } else {
              const item = precomputes[offset5];
              acc = acc.add(isNeg ? item.negate() : item);
            }
          }
          assert0(n3);
          return acc;
        }
        getPrecomputes(W, point, transform) {
          let comp = pointPrecomputes.get(point);
          if (!comp) {
            comp = this.precomputeWindow(point, W);
            if (W !== 1) {
              if (typeof transform === "function")
                comp = transform(comp);
              pointPrecomputes.set(point, comp);
            }
          }
          return comp;
        }
        cached(point, scalar, transform) {
          const W = getW(point);
          return this.wNAF(W, this.getPrecomputes(W, point, transform), scalar);
        }
        unsafe(point, scalar, transform, prev3) {
          const W = getW(point);
          if (W === 1)
            return this._unsafeLadder(point, scalar, prev3);
          return this.wNAFUnsafe(W, this.getPrecomputes(W, point, transform), scalar, prev3);
        }
        // We calculate precomputes for elliptic curve point multiplication
        // using windowed method. This specifies window size and
        // stores precomputed values. Usually only base point would be precomputed.
        createCache(P, W) {
          validateW(W, this.bits);
          pointWindowSizes.set(P, W);
          pointPrecomputes.delete(P);
        }
        hasCache(elm) {
          return getW(elm) !== 1;
        }
      };
    }
  });

  // node_modules/@noble/curves/esm/abstract/edwards.js
  function isEdValidXY(Fp2, CURVE, x, y) {
    const x2 = Fp2.sqr(x);
    const y2 = Fp2.sqr(y);
    const left = Fp2.add(Fp2.mul(CURVE.a, x2), y2);
    const right = Fp2.add(Fp2.ONE, Fp2.mul(CURVE.d, Fp2.mul(x2, y2)));
    return Fp2.eql(left, right);
  }
  function edwards(params, extraOpts = {}) {
    const validated = _createCurveFields("edwards", params, extraOpts, extraOpts.FpFnLE);
    const { Fp: Fp2, Fn: Fn2 } = validated;
    let CURVE = validated.CURVE;
    const { h: cofactor } = CURVE;
    _validateObject(extraOpts, {}, { uvRatio: "function" });
    const MASK = _2n2 << BigInt(Fn2.BYTES * 8) - _1n4;
    const modP = (n3) => Fp2.create(n3);
    const uvRatio2 = extraOpts.uvRatio || ((u2, v) => {
      try {
        return { isValid: true, value: Fp2.sqrt(Fp2.div(u2, v)) };
      } catch (e3) {
        return { isValid: false, value: _0n4 };
      }
    });
    if (!isEdValidXY(Fp2, CURVE, CURVE.Gx, CURVE.Gy))
      throw new Error("bad curve params: generator point");
    function acoord(title, n3, banZero = false) {
      const min2 = banZero ? _1n4 : _0n4;
      aInRange("coordinate " + title, n3, min2, MASK);
      return n3;
    }
    function aextpoint(other) {
      if (!(other instanceof Point))
        throw new Error("ExtendedPoint expected");
    }
    const toAffineMemo = memoized((p2, iz) => {
      const { X, Y: Y2, Z } = p2;
      const is0 = p2.is0();
      if (iz == null)
        iz = is0 ? _8n2 : Fp2.inv(Z);
      const x = modP(X * iz);
      const y = modP(Y2 * iz);
      const zz = Fp2.mul(Z, iz);
      if (is0)
        return { x: _0n4, y: _1n4 };
      if (zz !== _1n4)
        throw new Error("invZ was invalid");
      return { x, y };
    });
    const assertValidMemo = memoized((p2) => {
      const { a: a2, d: d2 } = CURVE;
      if (p2.is0())
        throw new Error("bad point: ZERO");
      const { X, Y: Y2, Z, T } = p2;
      const X2 = modP(X * X);
      const Y22 = modP(Y2 * Y2);
      const Z2 = modP(Z * Z);
      const Z4 = modP(Z2 * Z2);
      const aX2 = modP(X2 * a2);
      const left = modP(Z2 * modP(aX2 + Y22));
      const right = modP(Z4 + modP(d2 * modP(X2 * Y22)));
      if (left !== right)
        throw new Error("bad point: equation left != right (1)");
      const XY = modP(X * Y2);
      const ZT = modP(Z * T);
      if (XY !== ZT)
        throw new Error("bad point: equation left != right (2)");
      return true;
    });
    class Point {
      constructor(X, Y2, Z, T) {
        this.X = acoord("x", X);
        this.Y = acoord("y", Y2);
        this.Z = acoord("z", Z, true);
        this.T = acoord("t", T);
        Object.freeze(this);
      }
      static CURVE() {
        return CURVE;
      }
      static fromAffine(p2) {
        if (p2 instanceof Point)
          throw new Error("extended point not allowed");
        const { x, y } = p2 || {};
        acoord("x", x);
        acoord("y", y);
        return new Point(x, y, _1n4, modP(x * y));
      }
      // Uses algo from RFC8032 5.1.3.
      static fromBytes(bytes2, zip215 = false) {
        const len = Fp2.BYTES;
        const { a: a2, d: d2 } = CURVE;
        bytes2 = copyBytes(_abytes2(bytes2, len, "point"));
        _abool2(zip215, "zip215");
        const normed = copyBytes(bytes2);
        const lastByte = bytes2[len - 1];
        normed[len - 1] = lastByte & ~128;
        const y = bytesToNumberLE(normed);
        const max2 = zip215 ? MASK : Fp2.ORDER;
        aInRange("point.y", y, _0n4, max2);
        const y2 = modP(y * y);
        const u2 = modP(y2 - _1n4);
        const v = modP(d2 * y2 - a2);
        let { isValid, value: x } = uvRatio2(u2, v);
        if (!isValid)
          throw new Error("bad point: invalid y coordinate");
        const isXOdd = (x & _1n4) === _1n4;
        const isLastByteOdd = (lastByte & 128) !== 0;
        if (!zip215 && x === _0n4 && isLastByteOdd)
          throw new Error("bad point: x=0 and x_0=1");
        if (isLastByteOdd !== isXOdd)
          x = modP(-x);
        return Point.fromAffine({ x, y });
      }
      static fromHex(bytes2, zip215 = false) {
        return Point.fromBytes(ensureBytes("point", bytes2), zip215);
      }
      get x() {
        return this.toAffine().x;
      }
      get y() {
        return this.toAffine().y;
      }
      precompute(windowSize = 8, isLazy = true) {
        wnaf.createCache(this, windowSize);
        if (!isLazy)
          this.multiply(_2n2);
        return this;
      }
      // Useful in fromAffine() - not for fromBytes(), which always created valid points.
      assertValidity() {
        assertValidMemo(this);
      }
      // Compare one point to another.
      equals(other) {
        aextpoint(other);
        const { X: X1, Y: Y1, Z: Z1 } = this;
        const { X: X2, Y: Y2, Z: Z2 } = other;
        const X1Z2 = modP(X1 * Z2);
        const X2Z1 = modP(X2 * Z1);
        const Y1Z2 = modP(Y1 * Z2);
        const Y2Z1 = modP(Y2 * Z1);
        return X1Z2 === X2Z1 && Y1Z2 === Y2Z1;
      }
      is0() {
        return this.equals(Point.ZERO);
      }
      negate() {
        return new Point(modP(-this.X), this.Y, this.Z, modP(-this.T));
      }
      // Fast algo for doubling Extended Point.
      // https://hyperelliptic.org/EFD/g1p/auto-twisted-extended.html#doubling-dbl-2008-hwcd
      // Cost: 4M + 4S + 1*a + 6add + 1*2.
      double() {
        const { a: a2 } = CURVE;
        const { X: X1, Y: Y1, Z: Z1 } = this;
        const A = modP(X1 * X1);
        const B = modP(Y1 * Y1);
        const C = modP(_2n2 * modP(Z1 * Z1));
        const D = modP(a2 * A);
        const x1y1 = X1 + Y1;
        const E = modP(modP(x1y1 * x1y1) - A - B);
        const G = D + B;
        const F = G - C;
        const H = D - B;
        const X3 = modP(E * F);
        const Y3 = modP(G * H);
        const T3 = modP(E * H);
        const Z3 = modP(F * G);
        return new Point(X3, Y3, Z3, T3);
      }
      // Fast algo for adding 2 Extended Points.
      // https://hyperelliptic.org/EFD/g1p/auto-twisted-extended.html#addition-add-2008-hwcd
      // Cost: 9M + 1*a + 1*d + 7add.
      add(other) {
        aextpoint(other);
        const { a: a2, d: d2 } = CURVE;
        const { X: X1, Y: Y1, Z: Z1, T: T1 } = this;
        const { X: X2, Y: Y2, Z: Z2, T: T2 } = other;
        const A = modP(X1 * X2);
        const B = modP(Y1 * Y2);
        const C = modP(T1 * d2 * T2);
        const D = modP(Z1 * Z2);
        const E = modP((X1 + Y1) * (X2 + Y2) - A - B);
        const F = D - C;
        const G = D + C;
        const H = modP(B - a2 * A);
        const X3 = modP(E * F);
        const Y3 = modP(G * H);
        const T3 = modP(E * H);
        const Z3 = modP(F * G);
        return new Point(X3, Y3, Z3, T3);
      }
      subtract(other) {
        return this.add(other.negate());
      }
      // Constant-time multiplication.
      multiply(scalar) {
        if (!Fn2.isValidNot0(scalar))
          throw new Error("invalid scalar: expected 1 <= sc < curve.n");
        const { p: p2, f: f3 } = wnaf.cached(this, scalar, (p3) => normalizeZ(Point, p3));
        return normalizeZ(Point, [p2, f3])[0];
      }
      // Non-constant-time multiplication. Uses double-and-add algorithm.
      // It's faster, but should only be used when you don't care about
      // an exposed private key e.g. sig verification.
      // Does NOT allow scalars higher than CURVE.n.
      // Accepts optional accumulator to merge with multiply (important for sparse scalars)
      multiplyUnsafe(scalar, acc = Point.ZERO) {
        if (!Fn2.isValid(scalar))
          throw new Error("invalid scalar: expected 0 <= sc < curve.n");
        if (scalar === _0n4)
          return Point.ZERO;
        if (this.is0() || scalar === _1n4)
          return this;
        return wnaf.unsafe(this, scalar, (p2) => normalizeZ(Point, p2), acc);
      }
      // Checks if point is of small order.
      // If you add something to small order point, you will have "dirty"
      // point with torsion component.
      // Multiplies point by cofactor and checks if the result is 0.
      isSmallOrder() {
        return this.multiplyUnsafe(cofactor).is0();
      }
      // Multiplies point by curve order and checks if the result is 0.
      // Returns `false` is the point is dirty.
      isTorsionFree() {
        return wnaf.unsafe(this, CURVE.n).is0();
      }
      // Converts Extended point to default (x, y) coordinates.
      // Can accept precomputed Z^-1 - for example, from invertBatch.
      toAffine(invertedZ) {
        return toAffineMemo(this, invertedZ);
      }
      clearCofactor() {
        if (cofactor === _1n4)
          return this;
        return this.multiplyUnsafe(cofactor);
      }
      toBytes() {
        const { x, y } = this.toAffine();
        const bytes2 = Fp2.toBytes(y);
        bytes2[bytes2.length - 1] |= x & _1n4 ? 128 : 0;
        return bytes2;
      }
      toHex() {
        return bytesToHex(this.toBytes());
      }
      toString() {
        return `<Point ${this.is0() ? "ZERO" : this.toHex()}>`;
      }
      // TODO: remove
      get ex() {
        return this.X;
      }
      get ey() {
        return this.Y;
      }
      get ez() {
        return this.Z;
      }
      get et() {
        return this.T;
      }
      static normalizeZ(points) {
        return normalizeZ(Point, points);
      }
      static msm(points, scalars) {
        return pippenger(Point, Fn2, points, scalars);
      }
      _setWindowSize(windowSize) {
        this.precompute(windowSize);
      }
      toRawBytes() {
        return this.toBytes();
      }
    }
    Point.BASE = new Point(CURVE.Gx, CURVE.Gy, _1n4, modP(CURVE.Gx * CURVE.Gy));
    Point.ZERO = new Point(_0n4, _1n4, _1n4, _0n4);
    Point.Fp = Fp2;
    Point.Fn = Fn2;
    const wnaf = new wNAF(Point, Fn2.BITS);
    Point.BASE.precompute(8);
    return Point;
  }
  function eddsa(Point, cHash, eddsaOpts = {}) {
    if (typeof cHash !== "function")
      throw new Error('"hash" function param is required');
    _validateObject(eddsaOpts, {}, {
      adjustScalarBytes: "function",
      randomBytes: "function",
      domain: "function",
      prehash: "function",
      mapToCurve: "function"
    });
    const { prehash } = eddsaOpts;
    const { BASE, Fp: Fp2, Fn: Fn2 } = Point;
    const randomBytes2 = eddsaOpts.randomBytes || randomBytes;
    const adjustScalarBytes2 = eddsaOpts.adjustScalarBytes || ((bytes2) => bytes2);
    const domain = eddsaOpts.domain || ((data2, ctx, phflag) => {
      _abool2(phflag, "phflag");
      if (ctx.length || phflag)
        throw new Error("Contexts/pre-hash are not supported");
      return data2;
    });
    function modN_LE(hash2) {
      return Fn2.create(bytesToNumberLE(hash2));
    }
    function getPrivateScalar(key) {
      const len = lengths.secretKey;
      key = ensureBytes("private key", key, len);
      const hashed = ensureBytes("hashed private key", cHash(key), 2 * len);
      const head = adjustScalarBytes2(hashed.slice(0, len));
      const prefix2 = hashed.slice(len, 2 * len);
      const scalar = modN_LE(head);
      return { head, prefix: prefix2, scalar };
    }
    function getExtendedPublicKey(secretKey) {
      const { head, prefix: prefix2, scalar } = getPrivateScalar(secretKey);
      const point = BASE.multiply(scalar);
      const pointBytes = point.toBytes();
      return { head, prefix: prefix2, scalar, point, pointBytes };
    }
    function getPublicKey2(secretKey) {
      return getExtendedPublicKey(secretKey).pointBytes;
    }
    function hashDomainToScalar(context = Uint8Array.of(), ...msgs) {
      const msg = concatBytes(...msgs);
      return modN_LE(cHash(domain(msg, ensureBytes("context", context), !!prehash)));
    }
    function sign2(msg, secretKey, options2 = {}) {
      msg = ensureBytes("message", msg);
      if (prehash)
        msg = prehash(msg);
      const { prefix: prefix2, scalar, pointBytes } = getExtendedPublicKey(secretKey);
      const r2 = hashDomainToScalar(options2.context, prefix2, msg);
      const R = BASE.multiply(r2).toBytes();
      const k = hashDomainToScalar(options2.context, R, pointBytes, msg);
      const s2 = Fn2.create(r2 + k * scalar);
      if (!Fn2.isValid(s2))
        throw new Error("sign failed: invalid s");
      const rs = concatBytes(R, Fn2.toBytes(s2));
      return _abytes2(rs, lengths.signature, "result");
    }
    const verifyOpts = { zip215: true };
    function verify2(sig, msg, publicKey2, options2 = verifyOpts) {
      const { context, zip215 } = options2;
      const len = lengths.signature;
      sig = ensureBytes("signature", sig, len);
      msg = ensureBytes("message", msg);
      publicKey2 = ensureBytes("publicKey", publicKey2, lengths.publicKey);
      if (zip215 !== void 0)
        _abool2(zip215, "zip215");
      if (prehash)
        msg = prehash(msg);
      const mid = len / 2;
      const r2 = sig.subarray(0, mid);
      const s2 = bytesToNumberLE(sig.subarray(mid, len));
      let A, R, SB;
      try {
        A = Point.fromBytes(publicKey2, zip215);
        R = Point.fromBytes(r2, zip215);
        SB = BASE.multiplyUnsafe(s2);
      } catch (error2) {
        return false;
      }
      if (!zip215 && A.isSmallOrder())
        return false;
      const k = hashDomainToScalar(context, R.toBytes(), A.toBytes(), msg);
      const RkA = R.add(A.multiplyUnsafe(k));
      return RkA.subtract(SB).clearCofactor().is0();
    }
    const _size = Fp2.BYTES;
    const lengths = {
      secretKey: _size,
      publicKey: _size,
      signature: 2 * _size,
      seed: _size
    };
    function randomSecretKey(seed = randomBytes2(lengths.seed)) {
      return _abytes2(seed, lengths.seed, "seed");
    }
    function keygen(seed) {
      const secretKey = utils.randomSecretKey(seed);
      return { secretKey, publicKey: getPublicKey2(secretKey) };
    }
    function isValidSecretKey(key) {
      return isBytes(key) && key.length === Fn2.BYTES;
    }
    function isValidPublicKey(key, zip215) {
      try {
        return !!Point.fromBytes(key, zip215);
      } catch (error2) {
        return false;
      }
    }
    const utils = {
      getExtendedPublicKey,
      randomSecretKey,
      isValidSecretKey,
      isValidPublicKey,
      /**
       * Converts ed public key to x public key. Uses formula:
       * - ed25519:
       *   - `(u, v) = ((1+y)/(1-y), sqrt(-486664)*u/x)`
       *   - `(x, y) = (sqrt(-486664)*u/v, (u-1)/(u+1))`
       * - ed448:
       *   - `(u, v) = ((y-1)/(y+1), sqrt(156324)*u/x)`
       *   - `(x, y) = (sqrt(156324)*u/v, (1+u)/(1-u))`
       */
      toMontgomery(publicKey2) {
        const { y } = Point.fromBytes(publicKey2);
        const size5 = lengths.publicKey;
        const is25519 = size5 === 32;
        if (!is25519 && size5 !== 57)
          throw new Error("only defined for 25519 and 448");
        const u2 = is25519 ? Fp2.div(_1n4 + y, _1n4 - y) : Fp2.div(y - _1n4, y + _1n4);
        return Fp2.toBytes(u2);
      },
      toMontgomerySecret(secretKey) {
        const size5 = lengths.secretKey;
        _abytes2(secretKey, size5);
        const hashed = cHash(secretKey.subarray(0, size5));
        return adjustScalarBytes2(hashed).subarray(0, size5);
      },
      /** @deprecated */
      randomPrivateKey: randomSecretKey,
      /** @deprecated */
      precompute(windowSize = 8, point = Point.BASE) {
        return point.precompute(windowSize, false);
      }
    };
    return Object.freeze({
      keygen,
      getPublicKey: getPublicKey2,
      sign: sign2,
      verify: verify2,
      utils,
      Point,
      lengths
    });
  }
  function _eddsa_legacy_opts_to_new(c2) {
    const CURVE = {
      a: c2.a,
      d: c2.d,
      p: c2.Fp.ORDER,
      n: c2.n,
      h: c2.h,
      Gx: c2.Gx,
      Gy: c2.Gy
    };
    const Fp2 = c2.Fp;
    const Fn2 = Field2(CURVE.n, c2.nBitLength, true);
    const curveOpts = { Fp: Fp2, Fn: Fn2, uvRatio: c2.uvRatio };
    const eddsaOpts = {
      randomBytes: c2.randomBytes,
      adjustScalarBytes: c2.adjustScalarBytes,
      domain: c2.domain,
      prehash: c2.prehash,
      mapToCurve: c2.mapToCurve
    };
    return { CURVE, curveOpts, hash: c2.hash, eddsaOpts };
  }
  function _eddsa_new_output_to_legacy(c2, eddsa2) {
    const Point = eddsa2.Point;
    const legacy = Object.assign({}, eddsa2, {
      ExtendedPoint: Point,
      CURVE: c2,
      nBitLength: Point.Fn.BITS,
      nByteLength: Point.Fn.BYTES
    });
    return legacy;
  }
  function twistedEdwards(c2) {
    const { CURVE, curveOpts, hash: hash2, eddsaOpts } = _eddsa_legacy_opts_to_new(c2);
    const Point = edwards(CURVE, curveOpts);
    const EDDSA = eddsa(Point, hash2, eddsaOpts);
    return _eddsa_new_output_to_legacy(c2, EDDSA);
  }
  var _0n4, _1n4, _2n2, _8n2, PrimeEdwardsPoint;
  var init_edwards = __esm({
    "node_modules/@noble/curves/esm/abstract/edwards.js"() {
      init_utils8();
      init_curve();
      init_modular();
      _0n4 = BigInt(0);
      _1n4 = BigInt(1);
      _2n2 = BigInt(2);
      _8n2 = BigInt(8);
      PrimeEdwardsPoint = class {
        constructor(ep) {
          this.ep = ep;
        }
        // Static methods that must be implemented by subclasses
        static fromBytes(_bytes) {
          notImplemented();
        }
        static fromHex(_hex) {
          notImplemented();
        }
        get x() {
          return this.toAffine().x;
        }
        get y() {
          return this.toAffine().y;
        }
        // Common implementations
        clearCofactor() {
          return this;
        }
        assertValidity() {
          this.ep.assertValidity();
        }
        toAffine(invertedZ) {
          return this.ep.toAffine(invertedZ);
        }
        toHex() {
          return bytesToHex(this.toBytes());
        }
        toString() {
          return this.toHex();
        }
        isTorsionFree() {
          return true;
        }
        isSmallOrder() {
          return false;
        }
        add(other) {
          this.assertSame(other);
          return this.init(this.ep.add(other.ep));
        }
        subtract(other) {
          this.assertSame(other);
          return this.init(this.ep.subtract(other.ep));
        }
        multiply(scalar) {
          return this.init(this.ep.multiply(scalar));
        }
        multiplyUnsafe(scalar) {
          return this.init(this.ep.multiplyUnsafe(scalar));
        }
        double() {
          return this.init(this.ep.double());
        }
        negate() {
          return this.init(this.ep.negate());
        }
        precompute(windowSize, isLazy) {
          return this.init(this.ep.precompute(windowSize, isLazy));
        }
        /** @deprecated use `toBytes` */
        toRawBytes() {
          return this.toBytes();
        }
      };
    }
  });

  // node_modules/@noble/curves/esm/ed25519.js
  function ed25519_pow_2_252_3(x) {
    const _10n = BigInt(10), _20n = BigInt(20), _40n = BigInt(40), _80n = BigInt(80);
    const P = ed25519_CURVE_p;
    const x2 = x * x % P;
    const b2 = x2 * x % P;
    const b4 = pow2(b2, _2n3, P) * b2 % P;
    const b5 = pow2(b4, _1n5, P) * x % P;
    const b10 = pow2(b5, _5n2, P) * b5 % P;
    const b20 = pow2(b10, _10n, P) * b10 % P;
    const b40 = pow2(b20, _20n, P) * b20 % P;
    const b80 = pow2(b40, _40n, P) * b40 % P;
    const b160 = pow2(b80, _80n, P) * b80 % P;
    const b240 = pow2(b160, _80n, P) * b80 % P;
    const b250 = pow2(b240, _10n, P) * b10 % P;
    const pow_p_5_8 = pow2(b250, _2n3, P) * x % P;
    return { pow_p_5_8, b2 };
  }
  function adjustScalarBytes(bytes2) {
    bytes2[0] &= 248;
    bytes2[31] &= 127;
    bytes2[31] |= 64;
    return bytes2;
  }
  function uvRatio(u2, v) {
    const P = ed25519_CURVE_p;
    const v32 = mod(v * v * v, P);
    const v7 = mod(v32 * v32 * v, P);
    const pow = ed25519_pow_2_252_3(u2 * v7).pow_p_5_8;
    let x = mod(u2 * v32 * pow, P);
    const vx2 = mod(v * x * x, P);
    const root1 = x;
    const root2 = mod(x * ED25519_SQRT_M1, P);
    const useRoot1 = vx2 === u2;
    const useRoot2 = vx2 === mod(-u2, P);
    const noRoot = vx2 === mod(-u2 * ED25519_SQRT_M1, P);
    if (useRoot1)
      x = root1;
    if (useRoot2 || noRoot)
      x = root2;
    if (isNegativeLE(x, P))
      x = mod(-x, P);
    return { isValid: useRoot1 || useRoot2, value: x };
  }
  function calcElligatorRistrettoMap(r0) {
    const { d: d2 } = ed25519_CURVE;
    const P = ed25519_CURVE_p;
    const mod2 = (n3) => Fp.create(n3);
    const r2 = mod2(SQRT_M1 * r0 * r0);
    const Ns = mod2((r2 + _1n5) * ONE_MINUS_D_SQ);
    let c2 = BigInt(-1);
    const D = mod2((c2 - d2 * r2) * mod2(r2 + d2));
    let { isValid: Ns_D_is_sq, value: s2 } = uvRatio(Ns, D);
    let s_ = mod2(s2 * r0);
    if (!isNegativeLE(s_, P))
      s_ = mod2(-s_);
    if (!Ns_D_is_sq)
      s2 = s_;
    if (!Ns_D_is_sq)
      c2 = r2;
    const Nt2 = mod2(c2 * (r2 - _1n5) * D_MINUS_ONE_SQ - D);
    const s22 = s2 * s2;
    const W0 = mod2((s2 + s2) * D);
    const W1 = mod2(Nt2 * SQRT_AD_MINUS_ONE);
    const W2 = mod2(_1n5 - s22);
    const W3 = mod2(_1n5 + s22);
    return new ed25519.Point(mod2(W0 * W3), mod2(W2 * W1), mod2(W1 * W3), mod2(W0 * W2));
  }
  function ristretto255_map(bytes2) {
    abytes(bytes2, 64);
    const r1 = bytes255ToNumberLE(bytes2.subarray(0, 32));
    const R1 = calcElligatorRistrettoMap(r1);
    const r2 = bytes255ToNumberLE(bytes2.subarray(32, 64));
    const R2 = calcElligatorRistrettoMap(r2);
    return new _RistrettoPoint(R1.add(R2));
  }
  var _0n5, _1n5, _2n3, _3n2, _5n2, _8n3, ed25519_CURVE_p, ed25519_CURVE, ED25519_SQRT_M1, Fp, Fn, ed25519Defaults, ed25519, SQRT_M1, SQRT_AD_MINUS_ONE, INVSQRT_A_MINUS_D, ONE_MINUS_D_SQ, D_MINUS_ONE_SQ, invertSqrt, MAX_255B, bytes255ToNumberLE, _RistrettoPoint;
  var init_ed25519 = __esm({
    "node_modules/@noble/curves/esm/ed25519.js"() {
      init_sha2();
      init_utils7();
      init_curve();
      init_edwards();
      init_modular();
      init_utils8();
      _0n5 = /* @__PURE__ */ BigInt(0);
      _1n5 = BigInt(1);
      _2n3 = BigInt(2);
      _3n2 = BigInt(3);
      _5n2 = BigInt(5);
      _8n3 = BigInt(8);
      ed25519_CURVE_p = BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed");
      ed25519_CURVE = /* @__PURE__ */ (() => ({
        p: ed25519_CURVE_p,
        n: BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),
        h: _8n3,
        a: BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),
        d: BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),
        Gx: BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),
        Gy: BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")
      }))();
      ED25519_SQRT_M1 = /* @__PURE__ */ BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");
      Fp = /* @__PURE__ */ (() => Field2(ed25519_CURVE.p, { isLE: true }))();
      Fn = /* @__PURE__ */ (() => Field2(ed25519_CURVE.n, { isLE: true }))();
      ed25519Defaults = /* @__PURE__ */ (() => ({
        ...ed25519_CURVE,
        Fp,
        hash: sha512,
        adjustScalarBytes,
        // dom2
        // Ratio of u to v. Allows us to combine inversion and square root. Uses algo from RFC8032 5.1.3.
        // Constant-time, u/√v
        uvRatio
      }))();
      ed25519 = /* @__PURE__ */ (() => twistedEdwards(ed25519Defaults))();
      SQRT_M1 = ED25519_SQRT_M1;
      SQRT_AD_MINUS_ONE = /* @__PURE__ */ BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235");
      INVSQRT_A_MINUS_D = /* @__PURE__ */ BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578");
      ONE_MINUS_D_SQ = /* @__PURE__ */ BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838");
      D_MINUS_ONE_SQ = /* @__PURE__ */ BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");
      invertSqrt = (number3) => uvRatio(_1n5, number3);
      MAX_255B = /* @__PURE__ */ BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
      bytes255ToNumberLE = (bytes2) => ed25519.Point.Fp.create(bytesToNumberLE(bytes2) & MAX_255B);
      _RistrettoPoint = class __RistrettoPoint extends PrimeEdwardsPoint {
        constructor(ep) {
          super(ep);
        }
        static fromAffine(ap) {
          return new __RistrettoPoint(ed25519.Point.fromAffine(ap));
        }
        assertSame(other) {
          if (!(other instanceof __RistrettoPoint))
            throw new Error("RistrettoPoint expected");
        }
        init(ep) {
          return new __RistrettoPoint(ep);
        }
        /** @deprecated use `import { ristretto255_hasher } from '@noble/curves/ed25519.js';` */
        static hashToCurve(hex) {
          return ristretto255_map(ensureBytes("ristrettoHash", hex, 64));
        }
        static fromBytes(bytes2) {
          abytes(bytes2, 32);
          const { a: a2, d: d2 } = ed25519_CURVE;
          const P = ed25519_CURVE_p;
          const mod2 = (n3) => Fp.create(n3);
          const s2 = bytes255ToNumberLE(bytes2);
          if (!equalBytes(Fp.toBytes(s2), bytes2) || isNegativeLE(s2, P))
            throw new Error("invalid ristretto255 encoding 1");
          const s22 = mod2(s2 * s2);
          const u1 = mod2(_1n5 + a2 * s22);
          const u2 = mod2(_1n5 - a2 * s22);
          const u1_2 = mod2(u1 * u1);
          const u2_2 = mod2(u2 * u2);
          const v = mod2(a2 * d2 * u1_2 - u2_2);
          const { isValid, value: I } = invertSqrt(mod2(v * u2_2));
          const Dx = mod2(I * u2);
          const Dy = mod2(I * Dx * v);
          let x = mod2((s2 + s2) * Dx);
          if (isNegativeLE(x, P))
            x = mod2(-x);
          const y = mod2(u1 * Dy);
          const t2 = mod2(x * y);
          if (!isValid || isNegativeLE(t2, P) || y === _0n5)
            throw new Error("invalid ristretto255 encoding 2");
          return new __RistrettoPoint(new ed25519.Point(x, y, _1n5, t2));
        }
        /**
         * Converts ristretto-encoded string to ristretto point.
         * Described in [RFC9496](https://www.rfc-editor.org/rfc/rfc9496#name-decode).
         * @param hex Ristretto-encoded 32 bytes. Not every 32-byte string is valid ristretto encoding
         */
        static fromHex(hex) {
          return __RistrettoPoint.fromBytes(ensureBytes("ristrettoHex", hex, 32));
        }
        static msm(points, scalars) {
          return pippenger(__RistrettoPoint, ed25519.Point.Fn, points, scalars);
        }
        /**
         * Encodes ristretto point to Uint8Array.
         * Described in [RFC9496](https://www.rfc-editor.org/rfc/rfc9496#name-encode).
         */
        toBytes() {
          let { X, Y: Y2, Z, T } = this.ep;
          const P = ed25519_CURVE_p;
          const mod2 = (n3) => Fp.create(n3);
          const u1 = mod2(mod2(Z + Y2) * mod2(Z - Y2));
          const u2 = mod2(X * Y2);
          const u2sq = mod2(u2 * u2);
          const { value: invsqrt } = invertSqrt(mod2(u1 * u2sq));
          const D1 = mod2(invsqrt * u1);
          const D2 = mod2(invsqrt * u2);
          const zInv = mod2(D1 * D2 * T);
          let D;
          if (isNegativeLE(T * zInv, P)) {
            let _x = mod2(Y2 * SQRT_M1);
            let _y = mod2(X * SQRT_M1);
            X = _x;
            Y2 = _y;
            D = mod2(D1 * INVSQRT_A_MINUS_D);
          } else {
            D = D2;
          }
          if (isNegativeLE(X * zInv, P))
            Y2 = mod2(-Y2);
          let s2 = mod2((Z - Y2) * D);
          if (isNegativeLE(s2, P))
            s2 = mod2(-s2);
          return Fp.toBytes(s2);
        }
        /**
         * Compares two Ristretto points.
         * Described in [RFC9496](https://www.rfc-editor.org/rfc/rfc9496#name-equals).
         */
        equals(other) {
          this.assertSame(other);
          const { X: X1, Y: Y1 } = this.ep;
          const { X: X2, Y: Y2 } = other.ep;
          const mod2 = (n3) => Fp.create(n3);
          const one = mod2(X1 * Y2) === mod2(Y1 * X2);
          const two = mod2(Y1 * Y2) === mod2(X1 * X2);
          return one || two;
        }
        is0() {
          return this.equals(__RistrettoPoint.ZERO);
        }
      };
      _RistrettoPoint.BASE = /* @__PURE__ */ (() => new _RistrettoPoint(ed25519.Point.BASE))();
      _RistrettoPoint.ZERO = /* @__PURE__ */ (() => new _RistrettoPoint(ed25519.Point.ZERO))();
      _RistrettoPoint.Fp = /* @__PURE__ */ (() => Fp)();
      _RistrettoPoint.Fn = /* @__PURE__ */ (() => Fn)();
    }
  });

  // (disabled):node_modules/buffer/index.js
  var require_buffer2 = __commonJS({
    "(disabled):node_modules/buffer/index.js"() {
    }
  });

  // node_modules/bn.js/lib/bn.js
  var require_bn = __commonJS({
    "node_modules/bn.js/lib/bn.js"(exports, module) {
      (function(module2, exports2) {
        "use strict";
        function assert3(val, msg) {
          if (!val) throw new Error(msg || "Assertion failed");
        }
        function inherits(ctor, superCtor) {
          ctor.super_ = superCtor;
          var TempCtor = function() {
          };
          TempCtor.prototype = superCtor.prototype;
          ctor.prototype = new TempCtor();
          ctor.prototype.constructor = ctor;
        }
        function BN2(number3, base2, endian) {
          if (BN2.isBN(number3)) {
            return number3;
          }
          this.negative = 0;
          this.words = null;
          this.length = 0;
          this.red = null;
          if (number3 !== null) {
            if (base2 === "le" || base2 === "be") {
              endian = base2;
              base2 = 10;
            }
            this._init(number3 || 0, base2 || 10, endian || "be");
          }
        }
        if (typeof module2 === "object") {
          module2.exports = BN2;
        } else {
          exports2.BN = BN2;
        }
        BN2.BN = BN2;
        BN2.wordSize = 26;
        var Buffer4;
        try {
          if (typeof window !== "undefined" && typeof window.Buffer !== "undefined") {
            Buffer4 = window.Buffer;
          } else {
            Buffer4 = require_buffer2().Buffer;
          }
        } catch (e3) {
        }
        BN2.isBN = function isBN(num) {
          if (num instanceof BN2) {
            return true;
          }
          return num !== null && typeof num === "object" && num.constructor.wordSize === BN2.wordSize && Array.isArray(num.words);
        };
        BN2.max = function max2(left, right) {
          if (left.cmp(right) > 0) return left;
          return right;
        };
        BN2.min = function min2(left, right) {
          if (left.cmp(right) < 0) return left;
          return right;
        };
        BN2.prototype._init = function init(number3, base2, endian) {
          if (typeof number3 === "number") {
            return this._initNumber(number3, base2, endian);
          }
          if (typeof number3 === "object") {
            return this._initArray(number3, base2, endian);
          }
          if (base2 === "hex") {
            base2 = 16;
          }
          assert3(base2 === (base2 | 0) && base2 >= 2 && base2 <= 36);
          number3 = number3.toString().replace(/\s+/g, "");
          var start = 0;
          if (number3[0] === "-") {
            start++;
            this.negative = 1;
          }
          if (start < number3.length) {
            if (base2 === 16) {
              this._parseHex(number3, start, endian);
            } else {
              this._parseBase(number3, base2, start);
              if (endian === "le") {
                this._initArray(this.toArray(), base2, endian);
              }
            }
          }
        };
        BN2.prototype._initNumber = function _initNumber(number3, base2, endian) {
          if (number3 < 0) {
            this.negative = 1;
            number3 = -number3;
          }
          if (number3 < 67108864) {
            this.words = [number3 & 67108863];
            this.length = 1;
          } else if (number3 < 4503599627370496) {
            this.words = [
              number3 & 67108863,
              number3 / 67108864 & 67108863
            ];
            this.length = 2;
          } else {
            assert3(number3 < 9007199254740992);
            this.words = [
              number3 & 67108863,
              number3 / 67108864 & 67108863,
              1
            ];
            this.length = 3;
          }
          if (endian !== "le") return;
          this._initArray(this.toArray(), base2, endian);
        };
        BN2.prototype._initArray = function _initArray(number3, base2, endian) {
          assert3(typeof number3.length === "number");
          if (number3.length <= 0) {
            this.words = [0];
            this.length = 1;
            return this;
          }
          this.length = Math.ceil(number3.length / 3);
          this.words = new Array(this.length);
          for (var i2 = 0; i2 < this.length; i2++) {
            this.words[i2] = 0;
          }
          var j, w;
          var off = 0;
          if (endian === "be") {
            for (i2 = number3.length - 1, j = 0; i2 >= 0; i2 -= 3) {
              w = number3[i2] | number3[i2 - 1] << 8 | number3[i2 - 2] << 16;
              this.words[j] |= w << off & 67108863;
              this.words[j + 1] = w >>> 26 - off & 67108863;
              off += 24;
              if (off >= 26) {
                off -= 26;
                j++;
              }
            }
          } else if (endian === "le") {
            for (i2 = 0, j = 0; i2 < number3.length; i2 += 3) {
              w = number3[i2] | number3[i2 + 1] << 8 | number3[i2 + 2] << 16;
              this.words[j] |= w << off & 67108863;
              this.words[j + 1] = w >>> 26 - off & 67108863;
              off += 24;
              if (off >= 26) {
                off -= 26;
                j++;
              }
            }
          }
          return this._strip();
        };
        function parseHex4Bits(string2, index3) {
          var c2 = string2.charCodeAt(index3);
          if (c2 >= 48 && c2 <= 57) {
            return c2 - 48;
          } else if (c2 >= 65 && c2 <= 70) {
            return c2 - 55;
          } else if (c2 >= 97 && c2 <= 102) {
            return c2 - 87;
          } else {
            assert3(false, "Invalid character in " + string2);
          }
        }
        function parseHexByte(string2, lowerBound, index3) {
          var r2 = parseHex4Bits(string2, index3);
          if (index3 - 1 >= lowerBound) {
            r2 |= parseHex4Bits(string2, index3 - 1) << 4;
          }
          return r2;
        }
        BN2.prototype._parseHex = function _parseHex(number3, start, endian) {
          this.length = Math.ceil((number3.length - start) / 6);
          this.words = new Array(this.length);
          for (var i2 = 0; i2 < this.length; i2++) {
            this.words[i2] = 0;
          }
          var off = 0;
          var j = 0;
          var w;
          if (endian === "be") {
            for (i2 = number3.length - 1; i2 >= start; i2 -= 2) {
              w = parseHexByte(number3, start, i2) << off;
              this.words[j] |= w & 67108863;
              if (off >= 18) {
                off -= 18;
                j += 1;
                this.words[j] |= w >>> 26;
              } else {
                off += 8;
              }
            }
          } else {
            var parseLength = number3.length - start;
            for (i2 = parseLength % 2 === 0 ? start + 1 : start; i2 < number3.length; i2 += 2) {
              w = parseHexByte(number3, start, i2) << off;
              this.words[j] |= w & 67108863;
              if (off >= 18) {
                off -= 18;
                j += 1;
                this.words[j] |= w >>> 26;
              } else {
                off += 8;
              }
            }
          }
          this._strip();
        };
        function parseBase(str, start, end, mul) {
          var r2 = 0;
          var b2 = 0;
          var len = Math.min(str.length, end);
          for (var i2 = start; i2 < len; i2++) {
            var c2 = str.charCodeAt(i2) - 48;
            r2 *= mul;
            if (c2 >= 49) {
              b2 = c2 - 49 + 10;
            } else if (c2 >= 17) {
              b2 = c2 - 17 + 10;
            } else {
              b2 = c2;
            }
            assert3(c2 >= 0 && b2 < mul, "Invalid character");
            r2 += b2;
          }
          return r2;
        }
        BN2.prototype._parseBase = function _parseBase(number3, base2, start) {
          this.words = [0];
          this.length = 1;
          for (var limbLen = 0, limbPow = 1; limbPow <= 67108863; limbPow *= base2) {
            limbLen++;
          }
          limbLen--;
          limbPow = limbPow / base2 | 0;
          var total = number3.length - start;
          var mod2 = total % limbLen;
          var end = Math.min(total, total - mod2) + start;
          var word = 0;
          for (var i2 = start; i2 < end; i2 += limbLen) {
            word = parseBase(number3, i2, i2 + limbLen, base2);
            this.imuln(limbPow);
            if (this.words[0] + word < 67108864) {
              this.words[0] += word;
            } else {
              this._iaddn(word);
            }
          }
          if (mod2 !== 0) {
            var pow = 1;
            word = parseBase(number3, i2, number3.length, base2);
            for (i2 = 0; i2 < mod2; i2++) {
              pow *= base2;
            }
            this.imuln(pow);
            if (this.words[0] + word < 67108864) {
              this.words[0] += word;
            } else {
              this._iaddn(word);
            }
          }
          this._strip();
        };
        BN2.prototype.copy = function copy3(dest) {
          dest.words = new Array(this.length);
          for (var i2 = 0; i2 < this.length; i2++) {
            dest.words[i2] = this.words[i2];
          }
          dest.length = this.length;
          dest.negative = this.negative;
          dest.red = this.red;
        };
        function move(dest, src) {
          dest.words = src.words;
          dest.length = src.length;
          dest.negative = src.negative;
          dest.red = src.red;
        }
        BN2.prototype._move = function _move(dest) {
          move(dest, this);
        };
        BN2.prototype.clone = function clone() {
          var r2 = new BN2(null);
          this.copy(r2);
          return r2;
        };
        BN2.prototype._expand = function _expand(size5) {
          while (this.length < size5) {
            this.words[this.length++] = 0;
          }
          return this;
        };
        BN2.prototype._strip = function strip() {
          while (this.length > 1 && this.words[this.length - 1] === 0) {
            this.length--;
          }
          return this._normSign();
        };
        BN2.prototype._normSign = function _normSign() {
          if (this.length === 1 && this.words[0] === 0) {
            this.negative = 0;
          }
          return this;
        };
        if (typeof Symbol !== "undefined" && typeof Symbol.for === "function") {
          try {
            BN2.prototype[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")] = inspect;
          } catch (e3) {
            BN2.prototype.inspect = inspect;
          }
        } else {
          BN2.prototype.inspect = inspect;
        }
        function inspect() {
          return (this.red ? "<BN-R: " : "<BN: ") + this.toString(16) + ">";
        }
        var zeros = [
          "",
          "0",
          "00",
          "000",
          "0000",
          "00000",
          "000000",
          "0000000",
          "00000000",
          "000000000",
          "0000000000",
          "00000000000",
          "000000000000",
          "0000000000000",
          "00000000000000",
          "000000000000000",
          "0000000000000000",
          "00000000000000000",
          "000000000000000000",
          "0000000000000000000",
          "00000000000000000000",
          "000000000000000000000",
          "0000000000000000000000",
          "00000000000000000000000",
          "000000000000000000000000",
          "0000000000000000000000000"
        ];
        var groupSizes = [
          0,
          0,
          25,
          16,
          12,
          11,
          10,
          9,
          8,
          8,
          7,
          7,
          7,
          7,
          6,
          6,
          6,
          6,
          6,
          6,
          6,
          5,
          5,
          5,
          5,
          5,
          5,
          5,
          5,
          5,
          5,
          5,
          5,
          5,
          5,
          5,
          5
        ];
        var groupBases = [
          0,
          0,
          33554432,
          43046721,
          16777216,
          48828125,
          60466176,
          40353607,
          16777216,
          43046721,
          1e7,
          19487171,
          35831808,
          62748517,
          7529536,
          11390625,
          16777216,
          24137569,
          34012224,
          47045881,
          64e6,
          4084101,
          5153632,
          6436343,
          7962624,
          9765625,
          11881376,
          14348907,
          17210368,
          20511149,
          243e5,
          28629151,
          33554432,
          39135393,
          45435424,
          52521875,
          60466176
        ];
        BN2.prototype.toString = function toString(base2, padding) {
          base2 = base2 || 10;
          padding = padding | 0 || 1;
          var out;
          if (base2 === 16 || base2 === "hex") {
            out = "";
            var off = 0;
            var carry = 0;
            for (var i2 = 0; i2 < this.length; i2++) {
              var w = this.words[i2];
              var word = ((w << off | carry) & 16777215).toString(16);
              carry = w >>> 24 - off & 16777215;
              off += 2;
              if (off >= 26) {
                off -= 26;
                i2--;
              }
              if (carry !== 0 || i2 !== this.length - 1) {
                out = zeros[6 - word.length] + word + out;
              } else {
                out = word + out;
              }
            }
            if (carry !== 0) {
              out = carry.toString(16) + out;
            }
            while (out.length % padding !== 0) {
              out = "0" + out;
            }
            if (this.negative !== 0) {
              out = "-" + out;
            }
            return out;
          }
          if (base2 === (base2 | 0) && base2 >= 2 && base2 <= 36) {
            var groupSize = groupSizes[base2];
            var groupBase = groupBases[base2];
            out = "";
            var c2 = this.clone();
            c2.negative = 0;
            while (!c2.isZero()) {
              var r2 = c2.modrn(groupBase).toString(base2);
              c2 = c2.idivn(groupBase);
              if (!c2.isZero()) {
                out = zeros[groupSize - r2.length] + r2 + out;
              } else {
                out = r2 + out;
              }
            }
            if (this.isZero()) {
              out = "0" + out;
            }
            while (out.length % padding !== 0) {
              out = "0" + out;
            }
            if (this.negative !== 0) {
              out = "-" + out;
            }
            return out;
          }
          assert3(false, "Base should be between 2 and 36");
        };
        BN2.prototype.toNumber = function toNumber() {
          var ret = this.words[0];
          if (this.length === 2) {
            ret += this.words[1] * 67108864;
          } else if (this.length === 3 && this.words[2] === 1) {
            ret += 4503599627370496 + this.words[1] * 67108864;
          } else if (this.length > 2) {
            assert3(false, "Number can only safely store up to 53 bits");
          }
          return this.negative !== 0 ? -ret : ret;
        };
        BN2.prototype.toJSON = function toJSON() {
          return this.toString(16, 2);
        };
        if (Buffer4) {
          BN2.prototype.toBuffer = function toBuffer2(endian, length2) {
            return this.toArrayLike(Buffer4, endian, length2);
          };
        }
        BN2.prototype.toArray = function toArray(endian, length2) {
          return this.toArrayLike(Array, endian, length2);
        };
        var allocate = function allocate2(ArrayType, size5) {
          if (ArrayType.allocUnsafe) {
            return ArrayType.allocUnsafe(size5);
          }
          return new ArrayType(size5);
        };
        BN2.prototype.toArrayLike = function toArrayLike(ArrayType, endian, length2) {
          this._strip();
          var byteLength = this.byteLength();
          var reqLength = length2 || Math.max(1, byteLength);
          assert3(byteLength <= reqLength, "byte array longer than desired length");
          assert3(reqLength > 0, "Requested array length <= 0");
          var res = allocate(ArrayType, reqLength);
          var postfix = endian === "le" ? "LE" : "BE";
          this["_toArrayLike" + postfix](res, byteLength);
          return res;
        };
        BN2.prototype._toArrayLikeLE = function _toArrayLikeLE(res, byteLength) {
          var position2 = 0;
          var carry = 0;
          for (var i2 = 0, shift4 = 0; i2 < this.length; i2++) {
            var word = this.words[i2] << shift4 | carry;
            res[position2++] = word & 255;
            if (position2 < res.length) {
              res[position2++] = word >> 8 & 255;
            }
            if (position2 < res.length) {
              res[position2++] = word >> 16 & 255;
            }
            if (shift4 === 6) {
              if (position2 < res.length) {
                res[position2++] = word >> 24 & 255;
              }
              carry = 0;
              shift4 = 0;
            } else {
              carry = word >>> 24;
              shift4 += 2;
            }
          }
          if (position2 < res.length) {
            res[position2++] = carry;
            while (position2 < res.length) {
              res[position2++] = 0;
            }
          }
        };
        BN2.prototype._toArrayLikeBE = function _toArrayLikeBE(res, byteLength) {
          var position2 = res.length - 1;
          var carry = 0;
          for (var i2 = 0, shift4 = 0; i2 < this.length; i2++) {
            var word = this.words[i2] << shift4 | carry;
            res[position2--] = word & 255;
            if (position2 >= 0) {
              res[position2--] = word >> 8 & 255;
            }
            if (position2 >= 0) {
              res[position2--] = word >> 16 & 255;
            }
            if (shift4 === 6) {
              if (position2 >= 0) {
                res[position2--] = word >> 24 & 255;
              }
              carry = 0;
              shift4 = 0;
            } else {
              carry = word >>> 24;
              shift4 += 2;
            }
          }
          if (position2 >= 0) {
            res[position2--] = carry;
            while (position2 >= 0) {
              res[position2--] = 0;
            }
          }
        };
        if (Math.clz32) {
          BN2.prototype._countBits = function _countBits(w) {
            return 32 - Math.clz32(w);
          };
        } else {
          BN2.prototype._countBits = function _countBits(w) {
            var t2 = w;
            var r2 = 0;
            if (t2 >= 4096) {
              r2 += 13;
              t2 >>>= 13;
            }
            if (t2 >= 64) {
              r2 += 7;
              t2 >>>= 7;
            }
            if (t2 >= 8) {
              r2 += 4;
              t2 >>>= 4;
            }
            if (t2 >= 2) {
              r2 += 2;
              t2 >>>= 2;
            }
            return r2 + t2;
          };
        }
        BN2.prototype._zeroBits = function _zeroBits(w) {
          if (w === 0) return 26;
          var t2 = w;
          var r2 = 0;
          if ((t2 & 8191) === 0) {
            r2 += 13;
            t2 >>>= 13;
          }
          if ((t2 & 127) === 0) {
            r2 += 7;
            t2 >>>= 7;
          }
          if ((t2 & 15) === 0) {
            r2 += 4;
            t2 >>>= 4;
          }
          if ((t2 & 3) === 0) {
            r2 += 2;
            t2 >>>= 2;
          }
          if ((t2 & 1) === 0) {
            r2++;
          }
          return r2;
        };
        BN2.prototype.bitLength = function bitLength() {
          var w = this.words[this.length - 1];
          var hi = this._countBits(w);
          return (this.length - 1) * 26 + hi;
        };
        function toBitArray(num) {
          var w = new Array(num.bitLength());
          for (var bit = 0; bit < w.length; bit++) {
            var off = bit / 26 | 0;
            var wbit = bit % 26;
            w[bit] = num.words[off] >>> wbit & 1;
          }
          return w;
        }
        BN2.prototype.zeroBits = function zeroBits() {
          if (this.isZero()) return 0;
          var r2 = 0;
          for (var i2 = 0; i2 < this.length; i2++) {
            var b2 = this._zeroBits(this.words[i2]);
            r2 += b2;
            if (b2 !== 26) break;
          }
          return r2;
        };
        BN2.prototype.byteLength = function byteLength() {
          return Math.ceil(this.bitLength() / 8);
        };
        BN2.prototype.toTwos = function toTwos(width) {
          if (this.negative !== 0) {
            return this.abs().inotn(width).iaddn(1);
          }
          return this.clone();
        };
        BN2.prototype.fromTwos = function fromTwos(width) {
          if (this.testn(width - 1)) {
            return this.notn(width).iaddn(1).ineg();
          }
          return this.clone();
        };
        BN2.prototype.isNeg = function isNeg() {
          return this.negative !== 0;
        };
        BN2.prototype.neg = function neg() {
          return this.clone().ineg();
        };
        BN2.prototype.ineg = function ineg() {
          if (!this.isZero()) {
            this.negative ^= 1;
          }
          return this;
        };
        BN2.prototype.iuor = function iuor(num) {
          while (this.length < num.length) {
            this.words[this.length++] = 0;
          }
          for (var i2 = 0; i2 < num.length; i2++) {
            this.words[i2] = this.words[i2] | num.words[i2];
          }
          return this._strip();
        };
        BN2.prototype.ior = function ior(num) {
          assert3((this.negative | num.negative) === 0);
          return this.iuor(num);
        };
        BN2.prototype.or = function or(num) {
          if (this.length > num.length) return this.clone().ior(num);
          return num.clone().ior(this);
        };
        BN2.prototype.uor = function uor(num) {
          if (this.length > num.length) return this.clone().iuor(num);
          return num.clone().iuor(this);
        };
        BN2.prototype.iuand = function iuand(num) {
          var b2;
          if (this.length > num.length) {
            b2 = num;
          } else {
            b2 = this;
          }
          for (var i2 = 0; i2 < b2.length; i2++) {
            this.words[i2] = this.words[i2] & num.words[i2];
          }
          this.length = b2.length;
          return this._strip();
        };
        BN2.prototype.iand = function iand(num) {
          assert3((this.negative | num.negative) === 0);
          return this.iuand(num);
        };
        BN2.prototype.and = function and(num) {
          if (this.length > num.length) return this.clone().iand(num);
          return num.clone().iand(this);
        };
        BN2.prototype.uand = function uand(num) {
          if (this.length > num.length) return this.clone().iuand(num);
          return num.clone().iuand(this);
        };
        BN2.prototype.iuxor = function iuxor(num) {
          var a2;
          var b2;
          if (this.length > num.length) {
            a2 = this;
            b2 = num;
          } else {
            a2 = num;
            b2 = this;
          }
          for (var i2 = 0; i2 < b2.length; i2++) {
            this.words[i2] = a2.words[i2] ^ b2.words[i2];
          }
          if (this !== a2) {
            for (; i2 < a2.length; i2++) {
              this.words[i2] = a2.words[i2];
            }
          }
          this.length = a2.length;
          return this._strip();
        };
        BN2.prototype.ixor = function ixor(num) {
          assert3((this.negative | num.negative) === 0);
          return this.iuxor(num);
        };
        BN2.prototype.xor = function xor(num) {
          if (this.length > num.length) return this.clone().ixor(num);
          return num.clone().ixor(this);
        };
        BN2.prototype.uxor = function uxor(num) {
          if (this.length > num.length) return this.clone().iuxor(num);
          return num.clone().iuxor(this);
        };
        BN2.prototype.inotn = function inotn(width) {
          assert3(typeof width === "number" && width >= 0);
          var bytesNeeded = Math.ceil(width / 26) | 0;
          var bitsLeft = width % 26;
          this._expand(bytesNeeded);
          if (bitsLeft > 0) {
            bytesNeeded--;
          }
          for (var i2 = 0; i2 < bytesNeeded; i2++) {
            this.words[i2] = ~this.words[i2] & 67108863;
          }
          if (bitsLeft > 0) {
            this.words[i2] = ~this.words[i2] & 67108863 >> 26 - bitsLeft;
          }
          return this._strip();
        };
        BN2.prototype.notn = function notn(width) {
          return this.clone().inotn(width);
        };
        BN2.prototype.setn = function setn(bit, val) {
          assert3(typeof bit === "number" && bit >= 0);
          var off = bit / 26 | 0;
          var wbit = bit % 26;
          this._expand(off + 1);
          if (val) {
            this.words[off] = this.words[off] | 1 << wbit;
          } else {
            this.words[off] = this.words[off] & ~(1 << wbit);
          }
          return this._strip();
        };
        BN2.prototype.iadd = function iadd(num) {
          var r2;
          if (this.negative !== 0 && num.negative === 0) {
            this.negative = 0;
            r2 = this.isub(num);
            this.negative ^= 1;
            return this._normSign();
          } else if (this.negative === 0 && num.negative !== 0) {
            num.negative = 0;
            r2 = this.isub(num);
            num.negative = 1;
            return r2._normSign();
          }
          var a2, b2;
          if (this.length > num.length) {
            a2 = this;
            b2 = num;
          } else {
            a2 = num;
            b2 = this;
          }
          var carry = 0;
          for (var i2 = 0; i2 < b2.length; i2++) {
            r2 = (a2.words[i2] | 0) + (b2.words[i2] | 0) + carry;
            this.words[i2] = r2 & 67108863;
            carry = r2 >>> 26;
          }
          for (; carry !== 0 && i2 < a2.length; i2++) {
            r2 = (a2.words[i2] | 0) + carry;
            this.words[i2] = r2 & 67108863;
            carry = r2 >>> 26;
          }
          this.length = a2.length;
          if (carry !== 0) {
            this.words[this.length] = carry;
            this.length++;
          } else if (a2 !== this) {
            for (; i2 < a2.length; i2++) {
              this.words[i2] = a2.words[i2];
            }
          }
          return this;
        };
        BN2.prototype.add = function add3(num) {
          var res;
          if (num.negative !== 0 && this.negative === 0) {
            num.negative = 0;
            res = this.sub(num);
            num.negative ^= 1;
            return res;
          } else if (num.negative === 0 && this.negative !== 0) {
            this.negative = 0;
            res = num.sub(this);
            this.negative = 1;
            return res;
          }
          if (this.length > num.length) return this.clone().iadd(num);
          return num.clone().iadd(this);
        };
        BN2.prototype.isub = function isub(num) {
          if (num.negative !== 0) {
            num.negative = 0;
            var r2 = this.iadd(num);
            num.negative = 1;
            return r2._normSign();
          } else if (this.negative !== 0) {
            this.negative = 0;
            this.iadd(num);
            this.negative = 1;
            return this._normSign();
          }
          var cmp = this.cmp(num);
          if (cmp === 0) {
            this.negative = 0;
            this.length = 1;
            this.words[0] = 0;
            return this;
          }
          var a2, b2;
          if (cmp > 0) {
            a2 = this;
            b2 = num;
          } else {
            a2 = num;
            b2 = this;
          }
          var carry = 0;
          for (var i2 = 0; i2 < b2.length; i2++) {
            r2 = (a2.words[i2] | 0) - (b2.words[i2] | 0) + carry;
            carry = r2 >> 26;
            this.words[i2] = r2 & 67108863;
          }
          for (; carry !== 0 && i2 < a2.length; i2++) {
            r2 = (a2.words[i2] | 0) + carry;
            carry = r2 >> 26;
            this.words[i2] = r2 & 67108863;
          }
          if (carry === 0 && i2 < a2.length && a2 !== this) {
            for (; i2 < a2.length; i2++) {
              this.words[i2] = a2.words[i2];
            }
          }
          this.length = Math.max(this.length, i2);
          if (a2 !== this) {
            this.negative = 1;
          }
          return this._strip();
        };
        BN2.prototype.sub = function sub(num) {
          return this.clone().isub(num);
        };
        function smallMulTo(self2, num, out) {
          out.negative = num.negative ^ self2.negative;
          var len = self2.length + num.length | 0;
          out.length = len;
          len = len - 1 | 0;
          var a2 = self2.words[0] | 0;
          var b2 = num.words[0] | 0;
          var r2 = a2 * b2;
          var lo = r2 & 67108863;
          var carry = r2 / 67108864 | 0;
          out.words[0] = lo;
          for (var k = 1; k < len; k++) {
            var ncarry = carry >>> 26;
            var rword = carry & 67108863;
            var maxJ = Math.min(k, num.length - 1);
            for (var j = Math.max(0, k - self2.length + 1); j <= maxJ; j++) {
              var i2 = k - j | 0;
              a2 = self2.words[i2] | 0;
              b2 = num.words[j] | 0;
              r2 = a2 * b2 + rword;
              ncarry += r2 / 67108864 | 0;
              rword = r2 & 67108863;
            }
            out.words[k] = rword | 0;
            carry = ncarry | 0;
          }
          if (carry !== 0) {
            out.words[k] = carry | 0;
          } else {
            out.length--;
          }
          return out._strip();
        }
        var comb10MulTo = function comb10MulTo2(self2, num, out) {
          var a2 = self2.words;
          var b2 = num.words;
          var o3 = out.words;
          var c2 = 0;
          var lo;
          var mid;
          var hi;
          var a0 = a2[0] | 0;
          var al0 = a0 & 8191;
          var ah0 = a0 >>> 13;
          var a1 = a2[1] | 0;
          var al1 = a1 & 8191;
          var ah1 = a1 >>> 13;
          var a22 = a2[2] | 0;
          var al2 = a22 & 8191;
          var ah2 = a22 >>> 13;
          var a3 = a2[3] | 0;
          var al3 = a3 & 8191;
          var ah3 = a3 >>> 13;
          var a4 = a2[4] | 0;
          var al4 = a4 & 8191;
          var ah4 = a4 >>> 13;
          var a5 = a2[5] | 0;
          var al5 = a5 & 8191;
          var ah5 = a5 >>> 13;
          var a6 = a2[6] | 0;
          var al6 = a6 & 8191;
          var ah6 = a6 >>> 13;
          var a7 = a2[7] | 0;
          var al7 = a7 & 8191;
          var ah7 = a7 >>> 13;
          var a8 = a2[8] | 0;
          var al8 = a8 & 8191;
          var ah8 = a8 >>> 13;
          var a9 = a2[9] | 0;
          var al9 = a9 & 8191;
          var ah9 = a9 >>> 13;
          var b0 = b2[0] | 0;
          var bl0 = b0 & 8191;
          var bh0 = b0 >>> 13;
          var b1 = b2[1] | 0;
          var bl1 = b1 & 8191;
          var bh1 = b1 >>> 13;
          var b22 = b2[2] | 0;
          var bl2 = b22 & 8191;
          var bh2 = b22 >>> 13;
          var b3 = b2[3] | 0;
          var bl3 = b3 & 8191;
          var bh3 = b3 >>> 13;
          var b4 = b2[4] | 0;
          var bl4 = b4 & 8191;
          var bh4 = b4 >>> 13;
          var b5 = b2[5] | 0;
          var bl5 = b5 & 8191;
          var bh5 = b5 >>> 13;
          var b6 = b2[6] | 0;
          var bl6 = b6 & 8191;
          var bh6 = b6 >>> 13;
          var b7 = b2[7] | 0;
          var bl7 = b7 & 8191;
          var bh7 = b7 >>> 13;
          var b8 = b2[8] | 0;
          var bl8 = b8 & 8191;
          var bh8 = b8 >>> 13;
          var b9 = b2[9] | 0;
          var bl9 = b9 & 8191;
          var bh9 = b9 >>> 13;
          out.negative = self2.negative ^ num.negative;
          out.length = 19;
          lo = Math.imul(al0, bl0);
          mid = Math.imul(al0, bh0);
          mid = mid + Math.imul(ah0, bl0) | 0;
          hi = Math.imul(ah0, bh0);
          var w0 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w0 >>> 26) | 0;
          w0 &= 67108863;
          lo = Math.imul(al1, bl0);
          mid = Math.imul(al1, bh0);
          mid = mid + Math.imul(ah1, bl0) | 0;
          hi = Math.imul(ah1, bh0);
          lo = lo + Math.imul(al0, bl1) | 0;
          mid = mid + Math.imul(al0, bh1) | 0;
          mid = mid + Math.imul(ah0, bl1) | 0;
          hi = hi + Math.imul(ah0, bh1) | 0;
          var w1 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w1 >>> 26) | 0;
          w1 &= 67108863;
          lo = Math.imul(al2, bl0);
          mid = Math.imul(al2, bh0);
          mid = mid + Math.imul(ah2, bl0) | 0;
          hi = Math.imul(ah2, bh0);
          lo = lo + Math.imul(al1, bl1) | 0;
          mid = mid + Math.imul(al1, bh1) | 0;
          mid = mid + Math.imul(ah1, bl1) | 0;
          hi = hi + Math.imul(ah1, bh1) | 0;
          lo = lo + Math.imul(al0, bl2) | 0;
          mid = mid + Math.imul(al0, bh2) | 0;
          mid = mid + Math.imul(ah0, bl2) | 0;
          hi = hi + Math.imul(ah0, bh2) | 0;
          var w2 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w2 >>> 26) | 0;
          w2 &= 67108863;
          lo = Math.imul(al3, bl0);
          mid = Math.imul(al3, bh0);
          mid = mid + Math.imul(ah3, bl0) | 0;
          hi = Math.imul(ah3, bh0);
          lo = lo + Math.imul(al2, bl1) | 0;
          mid = mid + Math.imul(al2, bh1) | 0;
          mid = mid + Math.imul(ah2, bl1) | 0;
          hi = hi + Math.imul(ah2, bh1) | 0;
          lo = lo + Math.imul(al1, bl2) | 0;
          mid = mid + Math.imul(al1, bh2) | 0;
          mid = mid + Math.imul(ah1, bl2) | 0;
          hi = hi + Math.imul(ah1, bh2) | 0;
          lo = lo + Math.imul(al0, bl3) | 0;
          mid = mid + Math.imul(al0, bh3) | 0;
          mid = mid + Math.imul(ah0, bl3) | 0;
          hi = hi + Math.imul(ah0, bh3) | 0;
          var w3 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w3 >>> 26) | 0;
          w3 &= 67108863;
          lo = Math.imul(al4, bl0);
          mid = Math.imul(al4, bh0);
          mid = mid + Math.imul(ah4, bl0) | 0;
          hi = Math.imul(ah4, bh0);
          lo = lo + Math.imul(al3, bl1) | 0;
          mid = mid + Math.imul(al3, bh1) | 0;
          mid = mid + Math.imul(ah3, bl1) | 0;
          hi = hi + Math.imul(ah3, bh1) | 0;
          lo = lo + Math.imul(al2, bl2) | 0;
          mid = mid + Math.imul(al2, bh2) | 0;
          mid = mid + Math.imul(ah2, bl2) | 0;
          hi = hi + Math.imul(ah2, bh2) | 0;
          lo = lo + Math.imul(al1, bl3) | 0;
          mid = mid + Math.imul(al1, bh3) | 0;
          mid = mid + Math.imul(ah1, bl3) | 0;
          hi = hi + Math.imul(ah1, bh3) | 0;
          lo = lo + Math.imul(al0, bl4) | 0;
          mid = mid + Math.imul(al0, bh4) | 0;
          mid = mid + Math.imul(ah0, bl4) | 0;
          hi = hi + Math.imul(ah0, bh4) | 0;
          var w4 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w4 >>> 26) | 0;
          w4 &= 67108863;
          lo = Math.imul(al5, bl0);
          mid = Math.imul(al5, bh0);
          mid = mid + Math.imul(ah5, bl0) | 0;
          hi = Math.imul(ah5, bh0);
          lo = lo + Math.imul(al4, bl1) | 0;
          mid = mid + Math.imul(al4, bh1) | 0;
          mid = mid + Math.imul(ah4, bl1) | 0;
          hi = hi + Math.imul(ah4, bh1) | 0;
          lo = lo + Math.imul(al3, bl2) | 0;
          mid = mid + Math.imul(al3, bh2) | 0;
          mid = mid + Math.imul(ah3, bl2) | 0;
          hi = hi + Math.imul(ah3, bh2) | 0;
          lo = lo + Math.imul(al2, bl3) | 0;
          mid = mid + Math.imul(al2, bh3) | 0;
          mid = mid + Math.imul(ah2, bl3) | 0;
          hi = hi + Math.imul(ah2, bh3) | 0;
          lo = lo + Math.imul(al1, bl4) | 0;
          mid = mid + Math.imul(al1, bh4) | 0;
          mid = mid + Math.imul(ah1, bl4) | 0;
          hi = hi + Math.imul(ah1, bh4) | 0;
          lo = lo + Math.imul(al0, bl5) | 0;
          mid = mid + Math.imul(al0, bh5) | 0;
          mid = mid + Math.imul(ah0, bl5) | 0;
          hi = hi + Math.imul(ah0, bh5) | 0;
          var w5 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w5 >>> 26) | 0;
          w5 &= 67108863;
          lo = Math.imul(al6, bl0);
          mid = Math.imul(al6, bh0);
          mid = mid + Math.imul(ah6, bl0) | 0;
          hi = Math.imul(ah6, bh0);
          lo = lo + Math.imul(al5, bl1) | 0;
          mid = mid + Math.imul(al5, bh1) | 0;
          mid = mid + Math.imul(ah5, bl1) | 0;
          hi = hi + Math.imul(ah5, bh1) | 0;
          lo = lo + Math.imul(al4, bl2) | 0;
          mid = mid + Math.imul(al4, bh2) | 0;
          mid = mid + Math.imul(ah4, bl2) | 0;
          hi = hi + Math.imul(ah4, bh2) | 0;
          lo = lo + Math.imul(al3, bl3) | 0;
          mid = mid + Math.imul(al3, bh3) | 0;
          mid = mid + Math.imul(ah3, bl3) | 0;
          hi = hi + Math.imul(ah3, bh3) | 0;
          lo = lo + Math.imul(al2, bl4) | 0;
          mid = mid + Math.imul(al2, bh4) | 0;
          mid = mid + Math.imul(ah2, bl4) | 0;
          hi = hi + Math.imul(ah2, bh4) | 0;
          lo = lo + Math.imul(al1, bl5) | 0;
          mid = mid + Math.imul(al1, bh5) | 0;
          mid = mid + Math.imul(ah1, bl5) | 0;
          hi = hi + Math.imul(ah1, bh5) | 0;
          lo = lo + Math.imul(al0, bl6) | 0;
          mid = mid + Math.imul(al0, bh6) | 0;
          mid = mid + Math.imul(ah0, bl6) | 0;
          hi = hi + Math.imul(ah0, bh6) | 0;
          var w6 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w6 >>> 26) | 0;
          w6 &= 67108863;
          lo = Math.imul(al7, bl0);
          mid = Math.imul(al7, bh0);
          mid = mid + Math.imul(ah7, bl0) | 0;
          hi = Math.imul(ah7, bh0);
          lo = lo + Math.imul(al6, bl1) | 0;
          mid = mid + Math.imul(al6, bh1) | 0;
          mid = mid + Math.imul(ah6, bl1) | 0;
          hi = hi + Math.imul(ah6, bh1) | 0;
          lo = lo + Math.imul(al5, bl2) | 0;
          mid = mid + Math.imul(al5, bh2) | 0;
          mid = mid + Math.imul(ah5, bl2) | 0;
          hi = hi + Math.imul(ah5, bh2) | 0;
          lo = lo + Math.imul(al4, bl3) | 0;
          mid = mid + Math.imul(al4, bh3) | 0;
          mid = mid + Math.imul(ah4, bl3) | 0;
          hi = hi + Math.imul(ah4, bh3) | 0;
          lo = lo + Math.imul(al3, bl4) | 0;
          mid = mid + Math.imul(al3, bh4) | 0;
          mid = mid + Math.imul(ah3, bl4) | 0;
          hi = hi + Math.imul(ah3, bh4) | 0;
          lo = lo + Math.imul(al2, bl5) | 0;
          mid = mid + Math.imul(al2, bh5) | 0;
          mid = mid + Math.imul(ah2, bl5) | 0;
          hi = hi + Math.imul(ah2, bh5) | 0;
          lo = lo + Math.imul(al1, bl6) | 0;
          mid = mid + Math.imul(al1, bh6) | 0;
          mid = mid + Math.imul(ah1, bl6) | 0;
          hi = hi + Math.imul(ah1, bh6) | 0;
          lo = lo + Math.imul(al0, bl7) | 0;
          mid = mid + Math.imul(al0, bh7) | 0;
          mid = mid + Math.imul(ah0, bl7) | 0;
          hi = hi + Math.imul(ah0, bh7) | 0;
          var w7 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w7 >>> 26) | 0;
          w7 &= 67108863;
          lo = Math.imul(al8, bl0);
          mid = Math.imul(al8, bh0);
          mid = mid + Math.imul(ah8, bl0) | 0;
          hi = Math.imul(ah8, bh0);
          lo = lo + Math.imul(al7, bl1) | 0;
          mid = mid + Math.imul(al7, bh1) | 0;
          mid = mid + Math.imul(ah7, bl1) | 0;
          hi = hi + Math.imul(ah7, bh1) | 0;
          lo = lo + Math.imul(al6, bl2) | 0;
          mid = mid + Math.imul(al6, bh2) | 0;
          mid = mid + Math.imul(ah6, bl2) | 0;
          hi = hi + Math.imul(ah6, bh2) | 0;
          lo = lo + Math.imul(al5, bl3) | 0;
          mid = mid + Math.imul(al5, bh3) | 0;
          mid = mid + Math.imul(ah5, bl3) | 0;
          hi = hi + Math.imul(ah5, bh3) | 0;
          lo = lo + Math.imul(al4, bl4) | 0;
          mid = mid + Math.imul(al4, bh4) | 0;
          mid = mid + Math.imul(ah4, bl4) | 0;
          hi = hi + Math.imul(ah4, bh4) | 0;
          lo = lo + Math.imul(al3, bl5) | 0;
          mid = mid + Math.imul(al3, bh5) | 0;
          mid = mid + Math.imul(ah3, bl5) | 0;
          hi = hi + Math.imul(ah3, bh5) | 0;
          lo = lo + Math.imul(al2, bl6) | 0;
          mid = mid + Math.imul(al2, bh6) | 0;
          mid = mid + Math.imul(ah2, bl6) | 0;
          hi = hi + Math.imul(ah2, bh6) | 0;
          lo = lo + Math.imul(al1, bl7) | 0;
          mid = mid + Math.imul(al1, bh7) | 0;
          mid = mid + Math.imul(ah1, bl7) | 0;
          hi = hi + Math.imul(ah1, bh7) | 0;
          lo = lo + Math.imul(al0, bl8) | 0;
          mid = mid + Math.imul(al0, bh8) | 0;
          mid = mid + Math.imul(ah0, bl8) | 0;
          hi = hi + Math.imul(ah0, bh8) | 0;
          var w8 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w8 >>> 26) | 0;
          w8 &= 67108863;
          lo = Math.imul(al9, bl0);
          mid = Math.imul(al9, bh0);
          mid = mid + Math.imul(ah9, bl0) | 0;
          hi = Math.imul(ah9, bh0);
          lo = lo + Math.imul(al8, bl1) | 0;
          mid = mid + Math.imul(al8, bh1) | 0;
          mid = mid + Math.imul(ah8, bl1) | 0;
          hi = hi + Math.imul(ah8, bh1) | 0;
          lo = lo + Math.imul(al7, bl2) | 0;
          mid = mid + Math.imul(al7, bh2) | 0;
          mid = mid + Math.imul(ah7, bl2) | 0;
          hi = hi + Math.imul(ah7, bh2) | 0;
          lo = lo + Math.imul(al6, bl3) | 0;
          mid = mid + Math.imul(al6, bh3) | 0;
          mid = mid + Math.imul(ah6, bl3) | 0;
          hi = hi + Math.imul(ah6, bh3) | 0;
          lo = lo + Math.imul(al5, bl4) | 0;
          mid = mid + Math.imul(al5, bh4) | 0;
          mid = mid + Math.imul(ah5, bl4) | 0;
          hi = hi + Math.imul(ah5, bh4) | 0;
          lo = lo + Math.imul(al4, bl5) | 0;
          mid = mid + Math.imul(al4, bh5) | 0;
          mid = mid + Math.imul(ah4, bl5) | 0;
          hi = hi + Math.imul(ah4, bh5) | 0;
          lo = lo + Math.imul(al3, bl6) | 0;
          mid = mid + Math.imul(al3, bh6) | 0;
          mid = mid + Math.imul(ah3, bl6) | 0;
          hi = hi + Math.imul(ah3, bh6) | 0;
          lo = lo + Math.imul(al2, bl7) | 0;
          mid = mid + Math.imul(al2, bh7) | 0;
          mid = mid + Math.imul(ah2, bl7) | 0;
          hi = hi + Math.imul(ah2, bh7) | 0;
          lo = lo + Math.imul(al1, bl8) | 0;
          mid = mid + Math.imul(al1, bh8) | 0;
          mid = mid + Math.imul(ah1, bl8) | 0;
          hi = hi + Math.imul(ah1, bh8) | 0;
          lo = lo + Math.imul(al0, bl9) | 0;
          mid = mid + Math.imul(al0, bh9) | 0;
          mid = mid + Math.imul(ah0, bl9) | 0;
          hi = hi + Math.imul(ah0, bh9) | 0;
          var w9 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w9 >>> 26) | 0;
          w9 &= 67108863;
          lo = Math.imul(al9, bl1);
          mid = Math.imul(al9, bh1);
          mid = mid + Math.imul(ah9, bl1) | 0;
          hi = Math.imul(ah9, bh1);
          lo = lo + Math.imul(al8, bl2) | 0;
          mid = mid + Math.imul(al8, bh2) | 0;
          mid = mid + Math.imul(ah8, bl2) | 0;
          hi = hi + Math.imul(ah8, bh2) | 0;
          lo = lo + Math.imul(al7, bl3) | 0;
          mid = mid + Math.imul(al7, bh3) | 0;
          mid = mid + Math.imul(ah7, bl3) | 0;
          hi = hi + Math.imul(ah7, bh3) | 0;
          lo = lo + Math.imul(al6, bl4) | 0;
          mid = mid + Math.imul(al6, bh4) | 0;
          mid = mid + Math.imul(ah6, bl4) | 0;
          hi = hi + Math.imul(ah6, bh4) | 0;
          lo = lo + Math.imul(al5, bl5) | 0;
          mid = mid + Math.imul(al5, bh5) | 0;
          mid = mid + Math.imul(ah5, bl5) | 0;
          hi = hi + Math.imul(ah5, bh5) | 0;
          lo = lo + Math.imul(al4, bl6) | 0;
          mid = mid + Math.imul(al4, bh6) | 0;
          mid = mid + Math.imul(ah4, bl6) | 0;
          hi = hi + Math.imul(ah4, bh6) | 0;
          lo = lo + Math.imul(al3, bl7) | 0;
          mid = mid + Math.imul(al3, bh7) | 0;
          mid = mid + Math.imul(ah3, bl7) | 0;
          hi = hi + Math.imul(ah3, bh7) | 0;
          lo = lo + Math.imul(al2, bl8) | 0;
          mid = mid + Math.imul(al2, bh8) | 0;
          mid = mid + Math.imul(ah2, bl8) | 0;
          hi = hi + Math.imul(ah2, bh8) | 0;
          lo = lo + Math.imul(al1, bl9) | 0;
          mid = mid + Math.imul(al1, bh9) | 0;
          mid = mid + Math.imul(ah1, bl9) | 0;
          hi = hi + Math.imul(ah1, bh9) | 0;
          var w10 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w10 >>> 26) | 0;
          w10 &= 67108863;
          lo = Math.imul(al9, bl2);
          mid = Math.imul(al9, bh2);
          mid = mid + Math.imul(ah9, bl2) | 0;
          hi = Math.imul(ah9, bh2);
          lo = lo + Math.imul(al8, bl3) | 0;
          mid = mid + Math.imul(al8, bh3) | 0;
          mid = mid + Math.imul(ah8, bl3) | 0;
          hi = hi + Math.imul(ah8, bh3) | 0;
          lo = lo + Math.imul(al7, bl4) | 0;
          mid = mid + Math.imul(al7, bh4) | 0;
          mid = mid + Math.imul(ah7, bl4) | 0;
          hi = hi + Math.imul(ah7, bh4) | 0;
          lo = lo + Math.imul(al6, bl5) | 0;
          mid = mid + Math.imul(al6, bh5) | 0;
          mid = mid + Math.imul(ah6, bl5) | 0;
          hi = hi + Math.imul(ah6, bh5) | 0;
          lo = lo + Math.imul(al5, bl6) | 0;
          mid = mid + Math.imul(al5, bh6) | 0;
          mid = mid + Math.imul(ah5, bl6) | 0;
          hi = hi + Math.imul(ah5, bh6) | 0;
          lo = lo + Math.imul(al4, bl7) | 0;
          mid = mid + Math.imul(al4, bh7) | 0;
          mid = mid + Math.imul(ah4, bl7) | 0;
          hi = hi + Math.imul(ah4, bh7) | 0;
          lo = lo + Math.imul(al3, bl8) | 0;
          mid = mid + Math.imul(al3, bh8) | 0;
          mid = mid + Math.imul(ah3, bl8) | 0;
          hi = hi + Math.imul(ah3, bh8) | 0;
          lo = lo + Math.imul(al2, bl9) | 0;
          mid = mid + Math.imul(al2, bh9) | 0;
          mid = mid + Math.imul(ah2, bl9) | 0;
          hi = hi + Math.imul(ah2, bh9) | 0;
          var w11 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w11 >>> 26) | 0;
          w11 &= 67108863;
          lo = Math.imul(al9, bl3);
          mid = Math.imul(al9, bh3);
          mid = mid + Math.imul(ah9, bl3) | 0;
          hi = Math.imul(ah9, bh3);
          lo = lo + Math.imul(al8, bl4) | 0;
          mid = mid + Math.imul(al8, bh4) | 0;
          mid = mid + Math.imul(ah8, bl4) | 0;
          hi = hi + Math.imul(ah8, bh4) | 0;
          lo = lo + Math.imul(al7, bl5) | 0;
          mid = mid + Math.imul(al7, bh5) | 0;
          mid = mid + Math.imul(ah7, bl5) | 0;
          hi = hi + Math.imul(ah7, bh5) | 0;
          lo = lo + Math.imul(al6, bl6) | 0;
          mid = mid + Math.imul(al6, bh6) | 0;
          mid = mid + Math.imul(ah6, bl6) | 0;
          hi = hi + Math.imul(ah6, bh6) | 0;
          lo = lo + Math.imul(al5, bl7) | 0;
          mid = mid + Math.imul(al5, bh7) | 0;
          mid = mid + Math.imul(ah5, bl7) | 0;
          hi = hi + Math.imul(ah5, bh7) | 0;
          lo = lo + Math.imul(al4, bl8) | 0;
          mid = mid + Math.imul(al4, bh8) | 0;
          mid = mid + Math.imul(ah4, bl8) | 0;
          hi = hi + Math.imul(ah4, bh8) | 0;
          lo = lo + Math.imul(al3, bl9) | 0;
          mid = mid + Math.imul(al3, bh9) | 0;
          mid = mid + Math.imul(ah3, bl9) | 0;
          hi = hi + Math.imul(ah3, bh9) | 0;
          var w12 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w12 >>> 26) | 0;
          w12 &= 67108863;
          lo = Math.imul(al9, bl4);
          mid = Math.imul(al9, bh4);
          mid = mid + Math.imul(ah9, bl4) | 0;
          hi = Math.imul(ah9, bh4);
          lo = lo + Math.imul(al8, bl5) | 0;
          mid = mid + Math.imul(al8, bh5) | 0;
          mid = mid + Math.imul(ah8, bl5) | 0;
          hi = hi + Math.imul(ah8, bh5) | 0;
          lo = lo + Math.imul(al7, bl6) | 0;
          mid = mid + Math.imul(al7, bh6) | 0;
          mid = mid + Math.imul(ah7, bl6) | 0;
          hi = hi + Math.imul(ah7, bh6) | 0;
          lo = lo + Math.imul(al6, bl7) | 0;
          mid = mid + Math.imul(al6, bh7) | 0;
          mid = mid + Math.imul(ah6, bl7) | 0;
          hi = hi + Math.imul(ah6, bh7) | 0;
          lo = lo + Math.imul(al5, bl8) | 0;
          mid = mid + Math.imul(al5, bh8) | 0;
          mid = mid + Math.imul(ah5, bl8) | 0;
          hi = hi + Math.imul(ah5, bh8) | 0;
          lo = lo + Math.imul(al4, bl9) | 0;
          mid = mid + Math.imul(al4, bh9) | 0;
          mid = mid + Math.imul(ah4, bl9) | 0;
          hi = hi + Math.imul(ah4, bh9) | 0;
          var w13 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w13 >>> 26) | 0;
          w13 &= 67108863;
          lo = Math.imul(al9, bl5);
          mid = Math.imul(al9, bh5);
          mid = mid + Math.imul(ah9, bl5) | 0;
          hi = Math.imul(ah9, bh5);
          lo = lo + Math.imul(al8, bl6) | 0;
          mid = mid + Math.imul(al8, bh6) | 0;
          mid = mid + Math.imul(ah8, bl6) | 0;
          hi = hi + Math.imul(ah8, bh6) | 0;
          lo = lo + Math.imul(al7, bl7) | 0;
          mid = mid + Math.imul(al7, bh7) | 0;
          mid = mid + Math.imul(ah7, bl7) | 0;
          hi = hi + Math.imul(ah7, bh7) | 0;
          lo = lo + Math.imul(al6, bl8) | 0;
          mid = mid + Math.imul(al6, bh8) | 0;
          mid = mid + Math.imul(ah6, bl8) | 0;
          hi = hi + Math.imul(ah6, bh8) | 0;
          lo = lo + Math.imul(al5, bl9) | 0;
          mid = mid + Math.imul(al5, bh9) | 0;
          mid = mid + Math.imul(ah5, bl9) | 0;
          hi = hi + Math.imul(ah5, bh9) | 0;
          var w14 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w14 >>> 26) | 0;
          w14 &= 67108863;
          lo = Math.imul(al9, bl6);
          mid = Math.imul(al9, bh6);
          mid = mid + Math.imul(ah9, bl6) | 0;
          hi = Math.imul(ah9, bh6);
          lo = lo + Math.imul(al8, bl7) | 0;
          mid = mid + Math.imul(al8, bh7) | 0;
          mid = mid + Math.imul(ah8, bl7) | 0;
          hi = hi + Math.imul(ah8, bh7) | 0;
          lo = lo + Math.imul(al7, bl8) | 0;
          mid = mid + Math.imul(al7, bh8) | 0;
          mid = mid + Math.imul(ah7, bl8) | 0;
          hi = hi + Math.imul(ah7, bh8) | 0;
          lo = lo + Math.imul(al6, bl9) | 0;
          mid = mid + Math.imul(al6, bh9) | 0;
          mid = mid + Math.imul(ah6, bl9) | 0;
          hi = hi + Math.imul(ah6, bh9) | 0;
          var w15 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w15 >>> 26) | 0;
          w15 &= 67108863;
          lo = Math.imul(al9, bl7);
          mid = Math.imul(al9, bh7);
          mid = mid + Math.imul(ah9, bl7) | 0;
          hi = Math.imul(ah9, bh7);
          lo = lo + Math.imul(al8, bl8) | 0;
          mid = mid + Math.imul(al8, bh8) | 0;
          mid = mid + Math.imul(ah8, bl8) | 0;
          hi = hi + Math.imul(ah8, bh8) | 0;
          lo = lo + Math.imul(al7, bl9) | 0;
          mid = mid + Math.imul(al7, bh9) | 0;
          mid = mid + Math.imul(ah7, bl9) | 0;
          hi = hi + Math.imul(ah7, bh9) | 0;
          var w16 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w16 >>> 26) | 0;
          w16 &= 67108863;
          lo = Math.imul(al9, bl8);
          mid = Math.imul(al9, bh8);
          mid = mid + Math.imul(ah9, bl8) | 0;
          hi = Math.imul(ah9, bh8);
          lo = lo + Math.imul(al8, bl9) | 0;
          mid = mid + Math.imul(al8, bh9) | 0;
          mid = mid + Math.imul(ah8, bl9) | 0;
          hi = hi + Math.imul(ah8, bh9) | 0;
          var w17 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w17 >>> 26) | 0;
          w17 &= 67108863;
          lo = Math.imul(al9, bl9);
          mid = Math.imul(al9, bh9);
          mid = mid + Math.imul(ah9, bl9) | 0;
          hi = Math.imul(ah9, bh9);
          var w18 = (c2 + lo | 0) + ((mid & 8191) << 13) | 0;
          c2 = (hi + (mid >>> 13) | 0) + (w18 >>> 26) | 0;
          w18 &= 67108863;
          o3[0] = w0;
          o3[1] = w1;
          o3[2] = w2;
          o3[3] = w3;
          o3[4] = w4;
          o3[5] = w5;
          o3[6] = w6;
          o3[7] = w7;
          o3[8] = w8;
          o3[9] = w9;
          o3[10] = w10;
          o3[11] = w11;
          o3[12] = w12;
          o3[13] = w13;
          o3[14] = w14;
          o3[15] = w15;
          o3[16] = w16;
          o3[17] = w17;
          o3[18] = w18;
          if (c2 !== 0) {
            o3[19] = c2;
            out.length++;
          }
          return out;
        };
        if (!Math.imul) {
          comb10MulTo = smallMulTo;
        }
        function bigMulTo(self2, num, out) {
          out.negative = num.negative ^ self2.negative;
          out.length = self2.length + num.length;
          var carry = 0;
          var hncarry = 0;
          for (var k = 0; k < out.length - 1; k++) {
            var ncarry = hncarry;
            hncarry = 0;
            var rword = carry & 67108863;
            var maxJ = Math.min(k, num.length - 1);
            for (var j = Math.max(0, k - self2.length + 1); j <= maxJ; j++) {
              var i2 = k - j;
              var a2 = self2.words[i2] | 0;
              var b2 = num.words[j] | 0;
              var r2 = a2 * b2;
              var lo = r2 & 67108863;
              ncarry = ncarry + (r2 / 67108864 | 0) | 0;
              lo = lo + rword | 0;
              rword = lo & 67108863;
              ncarry = ncarry + (lo >>> 26) | 0;
              hncarry += ncarry >>> 26;
              ncarry &= 67108863;
            }
            out.words[k] = rword;
            carry = ncarry;
            ncarry = hncarry;
          }
          if (carry !== 0) {
            out.words[k] = carry;
          } else {
            out.length--;
          }
          return out._strip();
        }
        function jumboMulTo(self2, num, out) {
          return bigMulTo(self2, num, out);
        }
        BN2.prototype.mulTo = function mulTo(num, out) {
          var res;
          var len = this.length + num.length;
          if (this.length === 10 && num.length === 10) {
            res = comb10MulTo(this, num, out);
          } else if (len < 63) {
            res = smallMulTo(this, num, out);
          } else if (len < 1024) {
            res = bigMulTo(this, num, out);
          } else {
            res = jumboMulTo(this, num, out);
          }
          return res;
        };
        function FFTM(x, y) {
          this.x = x;
          this.y = y;
        }
        FFTM.prototype.makeRBT = function makeRBT(N) {
          var t2 = new Array(N);
          var l2 = BN2.prototype._countBits(N) - 1;
          for (var i2 = 0; i2 < N; i2++) {
            t2[i2] = this.revBin(i2, l2, N);
          }
          return t2;
        };
        FFTM.prototype.revBin = function revBin(x, l2, N) {
          if (x === 0 || x === N - 1) return x;
          var rb = 0;
          for (var i2 = 0; i2 < l2; i2++) {
            rb |= (x & 1) << l2 - i2 - 1;
            x >>= 1;
          }
          return rb;
        };
        FFTM.prototype.permute = function permute(rbt, rws, iws, rtws, itws, N) {
          for (var i2 = 0; i2 < N; i2++) {
            rtws[i2] = rws[rbt[i2]];
            itws[i2] = iws[rbt[i2]];
          }
        };
        FFTM.prototype.transform = function transform(rws, iws, rtws, itws, N, rbt) {
          this.permute(rbt, rws, iws, rtws, itws, N);
          for (var s2 = 1; s2 < N; s2 <<= 1) {
            var l2 = s2 << 1;
            var rtwdf = Math.cos(2 * Math.PI / l2);
            var itwdf = Math.sin(2 * Math.PI / l2);
            for (var p2 = 0; p2 < N; p2 += l2) {
              var rtwdf_ = rtwdf;
              var itwdf_ = itwdf;
              for (var j = 0; j < s2; j++) {
                var re = rtws[p2 + j];
                var ie = itws[p2 + j];
                var ro = rtws[p2 + j + s2];
                var io = itws[p2 + j + s2];
                var rx = rtwdf_ * ro - itwdf_ * io;
                io = rtwdf_ * io + itwdf_ * ro;
                ro = rx;
                rtws[p2 + j] = re + ro;
                itws[p2 + j] = ie + io;
                rtws[p2 + j + s2] = re - ro;
                itws[p2 + j + s2] = ie - io;
                if (j !== l2) {
                  rx = rtwdf * rtwdf_ - itwdf * itwdf_;
                  itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;
                  rtwdf_ = rx;
                }
              }
            }
          }
        };
        FFTM.prototype.guessLen13b = function guessLen13b(n3, m2) {
          var N = Math.max(m2, n3) | 1;
          var odd = N & 1;
          var i2 = 0;
          for (N = N / 2 | 0; N; N = N >>> 1) {
            i2++;
          }
          return 1 << i2 + 1 + odd;
        };
        FFTM.prototype.conjugate = function conjugate(rws, iws, N) {
          if (N <= 1) return;
          for (var i2 = 0; i2 < N / 2; i2++) {
            var t2 = rws[i2];
            rws[i2] = rws[N - i2 - 1];
            rws[N - i2 - 1] = t2;
            t2 = iws[i2];
            iws[i2] = -iws[N - i2 - 1];
            iws[N - i2 - 1] = -t2;
          }
        };
        FFTM.prototype.normalize13b = function normalize13b(ws, N) {
          var carry = 0;
          for (var i2 = 0; i2 < N / 2; i2++) {
            var w = Math.round(ws[2 * i2 + 1] / N) * 8192 + Math.round(ws[2 * i2] / N) + carry;
            ws[i2] = w & 67108863;
            if (w < 67108864) {
              carry = 0;
            } else {
              carry = w / 67108864 | 0;
            }
          }
          return ws;
        };
        FFTM.prototype.convert13b = function convert13b(ws, len, rws, N) {
          var carry = 0;
          for (var i2 = 0; i2 < len; i2++) {
            carry = carry + (ws[i2] | 0);
            rws[2 * i2] = carry & 8191;
            carry = carry >>> 13;
            rws[2 * i2 + 1] = carry & 8191;
            carry = carry >>> 13;
          }
          for (i2 = 2 * len; i2 < N; ++i2) {
            rws[i2] = 0;
          }
          assert3(carry === 0);
          assert3((carry & ~8191) === 0);
        };
        FFTM.prototype.stub = function stub(N) {
          var ph = new Array(N);
          for (var i2 = 0; i2 < N; i2++) {
            ph[i2] = 0;
          }
          return ph;
        };
        FFTM.prototype.mulp = function mulp(x, y, out) {
          var N = 2 * this.guessLen13b(x.length, y.length);
          var rbt = this.makeRBT(N);
          var _3 = this.stub(N);
          var rws = new Array(N);
          var rwst = new Array(N);
          var iwst = new Array(N);
          var nrws = new Array(N);
          var nrwst = new Array(N);
          var niwst = new Array(N);
          var rmws = out.words;
          rmws.length = N;
          this.convert13b(x.words, x.length, rws, N);
          this.convert13b(y.words, y.length, nrws, N);
          this.transform(rws, _3, rwst, iwst, N, rbt);
          this.transform(nrws, _3, nrwst, niwst, N, rbt);
          for (var i2 = 0; i2 < N; i2++) {
            var rx = rwst[i2] * nrwst[i2] - iwst[i2] * niwst[i2];
            iwst[i2] = rwst[i2] * niwst[i2] + iwst[i2] * nrwst[i2];
            rwst[i2] = rx;
          }
          this.conjugate(rwst, iwst, N);
          this.transform(rwst, iwst, rmws, _3, N, rbt);
          this.conjugate(rmws, _3, N);
          this.normalize13b(rmws, N);
          out.negative = x.negative ^ y.negative;
          out.length = x.length + y.length;
          return out._strip();
        };
        BN2.prototype.mul = function mul(num) {
          var out = new BN2(null);
          out.words = new Array(this.length + num.length);
          return this.mulTo(num, out);
        };
        BN2.prototype.mulf = function mulf(num) {
          var out = new BN2(null);
          out.words = new Array(this.length + num.length);
          return jumboMulTo(this, num, out);
        };
        BN2.prototype.imul = function imul(num) {
          return this.clone().mulTo(num, this);
        };
        BN2.prototype.imuln = function imuln(num) {
          var isNegNum = num < 0;
          if (isNegNum) num = -num;
          assert3(typeof num === "number");
          assert3(num < 67108864);
          var carry = 0;
          for (var i2 = 0; i2 < this.length; i2++) {
            var w = (this.words[i2] | 0) * num;
            var lo = (w & 67108863) + (carry & 67108863);
            carry >>= 26;
            carry += w / 67108864 | 0;
            carry += lo >>> 26;
            this.words[i2] = lo & 67108863;
          }
          if (carry !== 0) {
            this.words[i2] = carry;
            this.length++;
          }
          this.length = num === 0 ? 1 : this.length;
          return isNegNum ? this.ineg() : this;
        };
        BN2.prototype.muln = function muln(num) {
          return this.clone().imuln(num);
        };
        BN2.prototype.sqr = function sqr() {
          return this.mul(this);
        };
        BN2.prototype.isqr = function isqr() {
          return this.imul(this.clone());
        };
        BN2.prototype.pow = function pow(num) {
          var w = toBitArray(num);
          if (w.length === 0) return new BN2(1);
          var res = this;
          for (var i2 = 0; i2 < w.length; i2++, res = res.sqr()) {
            if (w[i2] !== 0) break;
          }
          if (++i2 < w.length) {
            for (var q = res.sqr(); i2 < w.length; i2++, q = q.sqr()) {
              if (w[i2] === 0) continue;
              res = res.mul(q);
            }
          }
          return res;
        };
        BN2.prototype.iushln = function iushln(bits) {
          assert3(typeof bits === "number" && bits >= 0);
          var r2 = bits % 26;
          var s2 = (bits - r2) / 26;
          var carryMask = 67108863 >>> 26 - r2 << 26 - r2;
          var i2;
          if (r2 !== 0) {
            var carry = 0;
            for (i2 = 0; i2 < this.length; i2++) {
              var newCarry = this.words[i2] & carryMask;
              var c2 = (this.words[i2] | 0) - newCarry << r2;
              this.words[i2] = c2 | carry;
              carry = newCarry >>> 26 - r2;
            }
            if (carry) {
              this.words[i2] = carry;
              this.length++;
            }
          }
          if (s2 !== 0) {
            for (i2 = this.length - 1; i2 >= 0; i2--) {
              this.words[i2 + s2] = this.words[i2];
            }
            for (i2 = 0; i2 < s2; i2++) {
              this.words[i2] = 0;
            }
            this.length += s2;
          }
          return this._strip();
        };
        BN2.prototype.ishln = function ishln(bits) {
          assert3(this.negative === 0);
          return this.iushln(bits);
        };
        BN2.prototype.iushrn = function iushrn(bits, hint, extended) {
          assert3(typeof bits === "number" && bits >= 0);
          var h2;
          if (hint) {
            h2 = (hint - hint % 26) / 26;
          } else {
            h2 = 0;
          }
          var r2 = bits % 26;
          var s2 = Math.min((bits - r2) / 26, this.length);
          var mask2 = 67108863 ^ 67108863 >>> r2 << r2;
          var maskedWords = extended;
          h2 -= s2;
          h2 = Math.max(0, h2);
          if (maskedWords) {
            for (var i2 = 0; i2 < s2; i2++) {
              maskedWords.words[i2] = this.words[i2];
            }
            maskedWords.length = s2;
          }
          if (s2 === 0) {
          } else if (this.length > s2) {
            this.length -= s2;
            for (i2 = 0; i2 < this.length; i2++) {
              this.words[i2] = this.words[i2 + s2];
            }
          } else {
            this.words[0] = 0;
            this.length = 1;
          }
          var carry = 0;
          for (i2 = this.length - 1; i2 >= 0 && (carry !== 0 || i2 >= h2); i2--) {
            var word = this.words[i2] | 0;
            this.words[i2] = carry << 26 - r2 | word >>> r2;
            carry = word & mask2;
          }
          if (maskedWords && carry !== 0) {
            maskedWords.words[maskedWords.length++] = carry;
          }
          if (this.length === 0) {
            this.words[0] = 0;
            this.length = 1;
          }
          return this._strip();
        };
        BN2.prototype.ishrn = function ishrn(bits, hint, extended) {
          assert3(this.negative === 0);
          return this.iushrn(bits, hint, extended);
        };
        BN2.prototype.shln = function shln(bits) {
          return this.clone().ishln(bits);
        };
        BN2.prototype.ushln = function ushln(bits) {
          return this.clone().iushln(bits);
        };
        BN2.prototype.shrn = function shrn(bits) {
          return this.clone().ishrn(bits);
        };
        BN2.prototype.ushrn = function ushrn(bits) {
          return this.clone().iushrn(bits);
        };
        BN2.prototype.testn = function testn(bit) {
          assert3(typeof bit === "number" && bit >= 0);
          var r2 = bit % 26;
          var s2 = (bit - r2) / 26;
          var q = 1 << r2;
          if (this.length <= s2) return false;
          var w = this.words[s2];
          return !!(w & q);
        };
        BN2.prototype.imaskn = function imaskn(bits) {
          assert3(typeof bits === "number" && bits >= 0);
          var r2 = bits % 26;
          var s2 = (bits - r2) / 26;
          assert3(this.negative === 0, "imaskn works only with positive numbers");
          if (this.length <= s2) {
            return this;
          }
          if (r2 !== 0) {
            s2++;
          }
          this.length = Math.min(s2, this.length);
          if (r2 !== 0) {
            var mask2 = 67108863 ^ 67108863 >>> r2 << r2;
            this.words[this.length - 1] &= mask2;
          }
          if (this.length === 0) {
            this.words[0] = 0;
            this.length = 1;
          }
          return this._strip();
        };
        BN2.prototype.maskn = function maskn(bits) {
          return this.clone().imaskn(bits);
        };
        BN2.prototype.iaddn = function iaddn(num) {
          assert3(typeof num === "number");
          assert3(num < 67108864);
          if (num < 0) return this.isubn(-num);
          if (this.negative !== 0) {
            if (this.length === 1 && (this.words[0] | 0) <= num) {
              this.words[0] = num - (this.words[0] | 0);
              this.negative = 0;
              return this;
            }
            this.negative = 0;
            this.isubn(num);
            this.negative = 1;
            return this;
          }
          return this._iaddn(num);
        };
        BN2.prototype._iaddn = function _iaddn(num) {
          this.words[0] += num;
          for (var i2 = 0; i2 < this.length && this.words[i2] >= 67108864; i2++) {
            this.words[i2] -= 67108864;
            if (i2 === this.length - 1) {
              this.words[i2 + 1] = 1;
            } else {
              this.words[i2 + 1]++;
            }
          }
          this.length = Math.max(this.length, i2 + 1);
          return this;
        };
        BN2.prototype.isubn = function isubn(num) {
          assert3(typeof num === "number");
          assert3(num < 67108864);
          if (num < 0) return this.iaddn(-num);
          if (this.negative !== 0) {
            this.negative = 0;
            this.iaddn(num);
            this.negative = 1;
            return this;
          }
          this.words[0] -= num;
          if (this.length === 1 && this.words[0] < 0) {
            this.words[0] = -this.words[0];
            this.negative = 1;
          } else {
            for (var i2 = 0; i2 < this.length && this.words[i2] < 0; i2++) {
              this.words[i2] += 67108864;
              this.words[i2 + 1] -= 1;
            }
          }
          return this._strip();
        };
        BN2.prototype.addn = function addn(num) {
          return this.clone().iaddn(num);
        };
        BN2.prototype.subn = function subn(num) {
          return this.clone().isubn(num);
        };
        BN2.prototype.iabs = function iabs() {
          this.negative = 0;
          return this;
        };
        BN2.prototype.abs = function abs2() {
          return this.clone().iabs();
        };
        BN2.prototype._ishlnsubmul = function _ishlnsubmul(num, mul, shift4) {
          var len = num.length + shift4;
          var i2;
          this._expand(len);
          var w;
          var carry = 0;
          for (i2 = 0; i2 < num.length; i2++) {
            w = (this.words[i2 + shift4] | 0) + carry;
            var right = (num.words[i2] | 0) * mul;
            w -= right & 67108863;
            carry = (w >> 26) - (right / 67108864 | 0);
            this.words[i2 + shift4] = w & 67108863;
          }
          for (; i2 < this.length - shift4; i2++) {
            w = (this.words[i2 + shift4] | 0) + carry;
            carry = w >> 26;
            this.words[i2 + shift4] = w & 67108863;
          }
          if (carry === 0) return this._strip();
          assert3(carry === -1);
          carry = 0;
          for (i2 = 0; i2 < this.length; i2++) {
            w = -(this.words[i2] | 0) + carry;
            carry = w >> 26;
            this.words[i2] = w & 67108863;
          }
          this.negative = 1;
          return this._strip();
        };
        BN2.prototype._wordDiv = function _wordDiv(num, mode) {
          var shift4 = this.length - num.length;
          var a2 = this.clone();
          var b2 = num;
          var bhi = b2.words[b2.length - 1] | 0;
          var bhiBits = this._countBits(bhi);
          shift4 = 26 - bhiBits;
          if (shift4 !== 0) {
            b2 = b2.ushln(shift4);
            a2.iushln(shift4);
            bhi = b2.words[b2.length - 1] | 0;
          }
          var m2 = a2.length - b2.length;
          var q;
          if (mode !== "mod") {
            q = new BN2(null);
            q.length = m2 + 1;
            q.words = new Array(q.length);
            for (var i2 = 0; i2 < q.length; i2++) {
              q.words[i2] = 0;
            }
          }
          var diff = a2.clone()._ishlnsubmul(b2, 1, m2);
          if (diff.negative === 0) {
            a2 = diff;
            if (q) {
              q.words[m2] = 1;
            }
          }
          for (var j = m2 - 1; j >= 0; j--) {
            var qj = (a2.words[b2.length + j] | 0) * 67108864 + (a2.words[b2.length + j - 1] | 0);
            qj = Math.min(qj / bhi | 0, 67108863);
            a2._ishlnsubmul(b2, qj, j);
            while (a2.negative !== 0) {
              qj--;
              a2.negative = 0;
              a2._ishlnsubmul(b2, 1, j);
              if (!a2.isZero()) {
                a2.negative ^= 1;
              }
            }
            if (q) {
              q.words[j] = qj;
            }
          }
          if (q) {
            q._strip();
          }
          a2._strip();
          if (mode !== "div" && shift4 !== 0) {
            a2.iushrn(shift4);
          }
          return {
            div: q || null,
            mod: a2
          };
        };
        BN2.prototype.divmod = function divmod(num, mode, positive) {
          assert3(!num.isZero());
          if (this.isZero()) {
            return {
              div: new BN2(0),
              mod: new BN2(0)
            };
          }
          var div, mod2, res;
          if (this.negative !== 0 && num.negative === 0) {
            res = this.neg().divmod(num, mode);
            if (mode !== "mod") {
              div = res.div.neg();
            }
            if (mode !== "div") {
              mod2 = res.mod.neg();
              if (positive && mod2.negative !== 0) {
                mod2.iadd(num);
              }
            }
            return {
              div,
              mod: mod2
            };
          }
          if (this.negative === 0 && num.negative !== 0) {
            res = this.divmod(num.neg(), mode);
            if (mode !== "mod") {
              div = res.div.neg();
            }
            return {
              div,
              mod: res.mod
            };
          }
          if ((this.negative & num.negative) !== 0) {
            res = this.neg().divmod(num.neg(), mode);
            if (mode !== "div") {
              mod2 = res.mod.neg();
              if (positive && mod2.negative !== 0) {
                mod2.isub(num);
              }
            }
            return {
              div: res.div,
              mod: mod2
            };
          }
          if (num.length > this.length || this.cmp(num) < 0) {
            return {
              div: new BN2(0),
              mod: this
            };
          }
          if (num.length === 1) {
            if (mode === "div") {
              return {
                div: this.divn(num.words[0]),
                mod: null
              };
            }
            if (mode === "mod") {
              return {
                div: null,
                mod: new BN2(this.modrn(num.words[0]))
              };
            }
            return {
              div: this.divn(num.words[0]),
              mod: new BN2(this.modrn(num.words[0]))
            };
          }
          return this._wordDiv(num, mode);
        };
        BN2.prototype.div = function div(num) {
          return this.divmod(num, "div", false).div;
        };
        BN2.prototype.mod = function mod2(num) {
          return this.divmod(num, "mod", false).mod;
        };
        BN2.prototype.umod = function umod(num) {
          return this.divmod(num, "mod", true).mod;
        };
        BN2.prototype.divRound = function divRound(num) {
          var dm = this.divmod(num);
          if (dm.mod.isZero()) return dm.div;
          var mod2 = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;
          var half = num.ushrn(1);
          var r2 = num.andln(1);
          var cmp = mod2.cmp(half);
          if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;
          return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);
        };
        BN2.prototype.modrn = function modrn(num) {
          var isNegNum = num < 0;
          if (isNegNum) num = -num;
          assert3(num <= 67108863);
          var p2 = (1 << 26) % num;
          var acc = 0;
          for (var i2 = this.length - 1; i2 >= 0; i2--) {
            acc = (p2 * acc + (this.words[i2] | 0)) % num;
          }
          return isNegNum ? -acc : acc;
        };
        BN2.prototype.modn = function modn(num) {
          return this.modrn(num);
        };
        BN2.prototype.idivn = function idivn(num) {
          var isNegNum = num < 0;
          if (isNegNum) num = -num;
          assert3(num <= 67108863);
          var carry = 0;
          for (var i2 = this.length - 1; i2 >= 0; i2--) {
            var w = (this.words[i2] | 0) + carry * 67108864;
            this.words[i2] = w / num | 0;
            carry = w % num;
          }
          this._strip();
          return isNegNum ? this.ineg() : this;
        };
        BN2.prototype.divn = function divn(num) {
          return this.clone().idivn(num);
        };
        BN2.prototype.egcd = function egcd(p2) {
          assert3(p2.negative === 0);
          assert3(!p2.isZero());
          var x = this;
          var y = p2.clone();
          if (x.negative !== 0) {
            x = x.umod(p2);
          } else {
            x = x.clone();
          }
          var A = new BN2(1);
          var B = new BN2(0);
          var C = new BN2(0);
          var D = new BN2(1);
          var g2 = 0;
          while (x.isEven() && y.isEven()) {
            x.iushrn(1);
            y.iushrn(1);
            ++g2;
          }
          var yp = y.clone();
          var xp = x.clone();
          while (!x.isZero()) {
            for (var i2 = 0, im = 1; (x.words[0] & im) === 0 && i2 < 26; ++i2, im <<= 1) ;
            if (i2 > 0) {
              x.iushrn(i2);
              while (i2-- > 0) {
                if (A.isOdd() || B.isOdd()) {
                  A.iadd(yp);
                  B.isub(xp);
                }
                A.iushrn(1);
                B.iushrn(1);
              }
            }
            for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1) ;
            if (j > 0) {
              y.iushrn(j);
              while (j-- > 0) {
                if (C.isOdd() || D.isOdd()) {
                  C.iadd(yp);
                  D.isub(xp);
                }
                C.iushrn(1);
                D.iushrn(1);
              }
            }
            if (x.cmp(y) >= 0) {
              x.isub(y);
              A.isub(C);
              B.isub(D);
            } else {
              y.isub(x);
              C.isub(A);
              D.isub(B);
            }
          }
          return {
            a: C,
            b: D,
            gcd: y.iushln(g2)
          };
        };
        BN2.prototype._invmp = function _invmp(p2) {
          assert3(p2.negative === 0);
          assert3(!p2.isZero());
          var a2 = this;
          var b2 = p2.clone();
          if (a2.negative !== 0) {
            a2 = a2.umod(p2);
          } else {
            a2 = a2.clone();
          }
          var x1 = new BN2(1);
          var x2 = new BN2(0);
          var delta = b2.clone();
          while (a2.cmpn(1) > 0 && b2.cmpn(1) > 0) {
            for (var i2 = 0, im = 1; (a2.words[0] & im) === 0 && i2 < 26; ++i2, im <<= 1) ;
            if (i2 > 0) {
              a2.iushrn(i2);
              while (i2-- > 0) {
                if (x1.isOdd()) {
                  x1.iadd(delta);
                }
                x1.iushrn(1);
              }
            }
            for (var j = 0, jm = 1; (b2.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1) ;
            if (j > 0) {
              b2.iushrn(j);
              while (j-- > 0) {
                if (x2.isOdd()) {
                  x2.iadd(delta);
                }
                x2.iushrn(1);
              }
            }
            if (a2.cmp(b2) >= 0) {
              a2.isub(b2);
              x1.isub(x2);
            } else {
              b2.isub(a2);
              x2.isub(x1);
            }
          }
          var res;
          if (a2.cmpn(1) === 0) {
            res = x1;
          } else {
            res = x2;
          }
          if (res.cmpn(0) < 0) {
            res.iadd(p2);
          }
          return res;
        };
        BN2.prototype.gcd = function gcd(num) {
          if (this.isZero()) return num.abs();
          if (num.isZero()) return this.abs();
          var a2 = this.clone();
          var b2 = num.clone();
          a2.negative = 0;
          b2.negative = 0;
          for (var shift4 = 0; a2.isEven() && b2.isEven(); shift4++) {
            a2.iushrn(1);
            b2.iushrn(1);
          }
          do {
            while (a2.isEven()) {
              a2.iushrn(1);
            }
            while (b2.isEven()) {
              b2.iushrn(1);
            }
            var r2 = a2.cmp(b2);
            if (r2 < 0) {
              var t2 = a2;
              a2 = b2;
              b2 = t2;
            } else if (r2 === 0 || b2.cmpn(1) === 0) {
              break;
            }
            a2.isub(b2);
          } while (true);
          return b2.iushln(shift4);
        };
        BN2.prototype.invm = function invm(num) {
          return this.egcd(num).a.umod(num);
        };
        BN2.prototype.isEven = function isEven() {
          return (this.words[0] & 1) === 0;
        };
        BN2.prototype.isOdd = function isOdd() {
          return (this.words[0] & 1) === 1;
        };
        BN2.prototype.andln = function andln(num) {
          return this.words[0] & num;
        };
        BN2.prototype.bincn = function bincn(bit) {
          assert3(typeof bit === "number");
          var r2 = bit % 26;
          var s2 = (bit - r2) / 26;
          var q = 1 << r2;
          if (this.length <= s2) {
            this._expand(s2 + 1);
            this.words[s2] |= q;
            return this;
          }
          var carry = q;
          for (var i2 = s2; carry !== 0 && i2 < this.length; i2++) {
            var w = this.words[i2] | 0;
            w += carry;
            carry = w >>> 26;
            w &= 67108863;
            this.words[i2] = w;
          }
          if (carry !== 0) {
            this.words[i2] = carry;
            this.length++;
          }
          return this;
        };
        BN2.prototype.isZero = function isZero() {
          return this.length === 1 && this.words[0] === 0;
        };
        BN2.prototype.cmpn = function cmpn(num) {
          var negative = num < 0;
          if (this.negative !== 0 && !negative) return -1;
          if (this.negative === 0 && negative) return 1;
          this._strip();
          var res;
          if (this.length > 1) {
            res = 1;
          } else {
            if (negative) {
              num = -num;
            }
            assert3(num <= 67108863, "Number is too big");
            var w = this.words[0] | 0;
            res = w === num ? 0 : w < num ? -1 : 1;
          }
          if (this.negative !== 0) return -res | 0;
          return res;
        };
        BN2.prototype.cmp = function cmp(num) {
          if (this.negative !== 0 && num.negative === 0) return -1;
          if (this.negative === 0 && num.negative !== 0) return 1;
          var res = this.ucmp(num);
          if (this.negative !== 0) return -res | 0;
          return res;
        };
        BN2.prototype.ucmp = function ucmp(num) {
          if (this.length > num.length) return 1;
          if (this.length < num.length) return -1;
          var res = 0;
          for (var i2 = this.length - 1; i2 >= 0; i2--) {
            var a2 = this.words[i2] | 0;
            var b2 = num.words[i2] | 0;
            if (a2 === b2) continue;
            if (a2 < b2) {
              res = -1;
            } else if (a2 > b2) {
              res = 1;
            }
            break;
          }
          return res;
        };
        BN2.prototype.gtn = function gtn(num) {
          return this.cmpn(num) === 1;
        };
        BN2.prototype.gt = function gt2(num) {
          return this.cmp(num) === 1;
        };
        BN2.prototype.gten = function gten(num) {
          return this.cmpn(num) >= 0;
        };
        BN2.prototype.gte = function gte(num) {
          return this.cmp(num) >= 0;
        };
        BN2.prototype.ltn = function ltn(num) {
          return this.cmpn(num) === -1;
        };
        BN2.prototype.lt = function lt(num) {
          return this.cmp(num) === -1;
        };
        BN2.prototype.lten = function lten(num) {
          return this.cmpn(num) <= 0;
        };
        BN2.prototype.lte = function lte(num) {
          return this.cmp(num) <= 0;
        };
        BN2.prototype.eqn = function eqn(num) {
          return this.cmpn(num) === 0;
        };
        BN2.prototype.eq = function eq(num) {
          return this.cmp(num) === 0;
        };
        BN2.red = function red(num) {
          return new Red(num);
        };
        BN2.prototype.toRed = function toRed(ctx) {
          assert3(!this.red, "Already a number in reduction context");
          assert3(this.negative === 0, "red works only with positives");
          return ctx.convertTo(this)._forceRed(ctx);
        };
        BN2.prototype.fromRed = function fromRed() {
          assert3(this.red, "fromRed works only with numbers in reduction context");
          return this.red.convertFrom(this);
        };
        BN2.prototype._forceRed = function _forceRed(ctx) {
          this.red = ctx;
          return this;
        };
        BN2.prototype.forceRed = function forceRed(ctx) {
          assert3(!this.red, "Already a number in reduction context");
          return this._forceRed(ctx);
        };
        BN2.prototype.redAdd = function redAdd(num) {
          assert3(this.red, "redAdd works only with red numbers");
          return this.red.add(this, num);
        };
        BN2.prototype.redIAdd = function redIAdd(num) {
          assert3(this.red, "redIAdd works only with red numbers");
          return this.red.iadd(this, num);
        };
        BN2.prototype.redSub = function redSub(num) {
          assert3(this.red, "redSub works only with red numbers");
          return this.red.sub(this, num);
        };
        BN2.prototype.redISub = function redISub(num) {
          assert3(this.red, "redISub works only with red numbers");
          return this.red.isub(this, num);
        };
        BN2.prototype.redShl = function redShl(num) {
          assert3(this.red, "redShl works only with red numbers");
          return this.red.shl(this, num);
        };
        BN2.prototype.redMul = function redMul(num) {
          assert3(this.red, "redMul works only with red numbers");
          this.red._verify2(this, num);
          return this.red.mul(this, num);
        };
        BN2.prototype.redIMul = function redIMul(num) {
          assert3(this.red, "redMul works only with red numbers");
          this.red._verify2(this, num);
          return this.red.imul(this, num);
        };
        BN2.prototype.redSqr = function redSqr() {
          assert3(this.red, "redSqr works only with red numbers");
          this.red._verify1(this);
          return this.red.sqr(this);
        };
        BN2.prototype.redISqr = function redISqr() {
          assert3(this.red, "redISqr works only with red numbers");
          this.red._verify1(this);
          return this.red.isqr(this);
        };
        BN2.prototype.redSqrt = function redSqrt() {
          assert3(this.red, "redSqrt works only with red numbers");
          this.red._verify1(this);
          return this.red.sqrt(this);
        };
        BN2.prototype.redInvm = function redInvm() {
          assert3(this.red, "redInvm works only with red numbers");
          this.red._verify1(this);
          return this.red.invm(this);
        };
        BN2.prototype.redNeg = function redNeg() {
          assert3(this.red, "redNeg works only with red numbers");
          this.red._verify1(this);
          return this.red.neg(this);
        };
        BN2.prototype.redPow = function redPow(num) {
          assert3(this.red && !num.red, "redPow(normalNum)");
          this.red._verify1(this);
          return this.red.pow(this, num);
        };
        var primes = {
          k256: null,
          p224: null,
          p192: null,
          p25519: null
        };
        function MPrime(name, p2) {
          this.name = name;
          this.p = new BN2(p2, 16);
          this.n = this.p.bitLength();
          this.k = new BN2(1).iushln(this.n).isub(this.p);
          this.tmp = this._tmp();
        }
        MPrime.prototype._tmp = function _tmp() {
          var tmp = new BN2(null);
          tmp.words = new Array(Math.ceil(this.n / 13));
          return tmp;
        };
        MPrime.prototype.ireduce = function ireduce(num) {
          var r2 = num;
          var rlen;
          do {
            this.split(r2, this.tmp);
            r2 = this.imulK(r2);
            r2 = r2.iadd(this.tmp);
            rlen = r2.bitLength();
          } while (rlen > this.n);
          var cmp = rlen < this.n ? -1 : r2.ucmp(this.p);
          if (cmp === 0) {
            r2.words[0] = 0;
            r2.length = 1;
          } else if (cmp > 0) {
            r2.isub(this.p);
          } else {
            if (r2.strip !== void 0) {
              r2.strip();
            } else {
              r2._strip();
            }
          }
          return r2;
        };
        MPrime.prototype.split = function split3(input, out) {
          input.iushrn(this.n, 0, out);
        };
        MPrime.prototype.imulK = function imulK(num) {
          return num.imul(this.k);
        };
        function K256() {
          MPrime.call(
            this,
            "k256",
            "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f"
          );
        }
        inherits(K256, MPrime);
        K256.prototype.split = function split3(input, output2) {
          var mask2 = 4194303;
          var outLen = Math.min(input.length, 9);
          for (var i2 = 0; i2 < outLen; i2++) {
            output2.words[i2] = input.words[i2];
          }
          output2.length = outLen;
          if (input.length <= 9) {
            input.words[0] = 0;
            input.length = 1;
            return;
          }
          var prev3 = input.words[9];
          output2.words[output2.length++] = prev3 & mask2;
          for (i2 = 10; i2 < input.length; i2++) {
            var next2 = input.words[i2] | 0;
            input.words[i2 - 10] = (next2 & mask2) << 4 | prev3 >>> 22;
            prev3 = next2;
          }
          prev3 >>>= 22;
          input.words[i2 - 10] = prev3;
          if (prev3 === 0 && input.length > 10) {
            input.length -= 10;
          } else {
            input.length -= 9;
          }
        };
        K256.prototype.imulK = function imulK(num) {
          num.words[num.length] = 0;
          num.words[num.length + 1] = 0;
          num.length += 2;
          var lo = 0;
          for (var i2 = 0; i2 < num.length; i2++) {
            var w = num.words[i2] | 0;
            lo += w * 977;
            num.words[i2] = lo & 67108863;
            lo = w * 64 + (lo / 67108864 | 0);
          }
          if (num.words[num.length - 1] === 0) {
            num.length--;
            if (num.words[num.length - 1] === 0) {
              num.length--;
            }
          }
          return num;
        };
        function P224() {
          MPrime.call(
            this,
            "p224",
            "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001"
          );
        }
        inherits(P224, MPrime);
        function P192() {
          MPrime.call(
            this,
            "p192",
            "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff"
          );
        }
        inherits(P192, MPrime);
        function P25519() {
          MPrime.call(
            this,
            "25519",
            "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed"
          );
        }
        inherits(P25519, MPrime);
        P25519.prototype.imulK = function imulK(num) {
          var carry = 0;
          for (var i2 = 0; i2 < num.length; i2++) {
            var hi = (num.words[i2] | 0) * 19 + carry;
            var lo = hi & 67108863;
            hi >>>= 26;
            num.words[i2] = lo;
            carry = hi;
          }
          if (carry !== 0) {
            num.words[num.length++] = carry;
          }
          return num;
        };
        BN2._prime = function prime(name) {
          if (primes[name]) return primes[name];
          var prime2;
          if (name === "k256") {
            prime2 = new K256();
          } else if (name === "p224") {
            prime2 = new P224();
          } else if (name === "p192") {
            prime2 = new P192();
          } else if (name === "p25519") {
            prime2 = new P25519();
          } else {
            throw new Error("Unknown prime " + name);
          }
          primes[name] = prime2;
          return prime2;
        };
        function Red(m2) {
          if (typeof m2 === "string") {
            var prime = BN2._prime(m2);
            this.m = prime.p;
            this.prime = prime;
          } else {
            assert3(m2.gtn(1), "modulus must be greater than 1");
            this.m = m2;
            this.prime = null;
          }
        }
        Red.prototype._verify1 = function _verify1(a2) {
          assert3(a2.negative === 0, "red works only with positives");
          assert3(a2.red, "red works only with red numbers");
        };
        Red.prototype._verify2 = function _verify2(a2, b2) {
          assert3((a2.negative | b2.negative) === 0, "red works only with positives");
          assert3(
            a2.red && a2.red === b2.red,
            "red works only with red numbers"
          );
        };
        Red.prototype.imod = function imod(a2) {
          if (this.prime) return this.prime.ireduce(a2)._forceRed(this);
          move(a2, a2.umod(this.m)._forceRed(this));
          return a2;
        };
        Red.prototype.neg = function neg(a2) {
          if (a2.isZero()) {
            return a2.clone();
          }
          return this.m.sub(a2)._forceRed(this);
        };
        Red.prototype.add = function add3(a2, b2) {
          this._verify2(a2, b2);
          var res = a2.add(b2);
          if (res.cmp(this.m) >= 0) {
            res.isub(this.m);
          }
          return res._forceRed(this);
        };
        Red.prototype.iadd = function iadd(a2, b2) {
          this._verify2(a2, b2);
          var res = a2.iadd(b2);
          if (res.cmp(this.m) >= 0) {
            res.isub(this.m);
          }
          return res;
        };
        Red.prototype.sub = function sub(a2, b2) {
          this._verify2(a2, b2);
          var res = a2.sub(b2);
          if (res.cmpn(0) < 0) {
            res.iadd(this.m);
          }
          return res._forceRed(this);
        };
        Red.prototype.isub = function isub(a2, b2) {
          this._verify2(a2, b2);
          var res = a2.isub(b2);
          if (res.cmpn(0) < 0) {
            res.iadd(this.m);
          }
          return res;
        };
        Red.prototype.shl = function shl(a2, num) {
          this._verify1(a2);
          return this.imod(a2.ushln(num));
        };
        Red.prototype.imul = function imul(a2, b2) {
          this._verify2(a2, b2);
          return this.imod(a2.imul(b2));
        };
        Red.prototype.mul = function mul(a2, b2) {
          this._verify2(a2, b2);
          return this.imod(a2.mul(b2));
        };
        Red.prototype.isqr = function isqr(a2) {
          return this.imul(a2, a2.clone());
        };
        Red.prototype.sqr = function sqr(a2) {
          return this.mul(a2, a2);
        };
        Red.prototype.sqrt = function sqrt(a2) {
          if (a2.isZero()) return a2.clone();
          var mod3 = this.m.andln(3);
          assert3(mod3 % 2 === 1);
          if (mod3 === 3) {
            var pow = this.m.add(new BN2(1)).iushrn(2);
            return this.pow(a2, pow);
          }
          var q = this.m.subn(1);
          var s2 = 0;
          while (!q.isZero() && q.andln(1) === 0) {
            s2++;
            q.iushrn(1);
          }
          assert3(!q.isZero());
          var one = new BN2(1).toRed(this);
          var nOne = one.redNeg();
          var lpow = this.m.subn(1).iushrn(1);
          var z = this.m.bitLength();
          z = new BN2(2 * z * z).toRed(this);
          while (this.pow(z, lpow).cmp(nOne) !== 0) {
            z.redIAdd(nOne);
          }
          var c2 = this.pow(z, q);
          var r2 = this.pow(a2, q.addn(1).iushrn(1));
          var t2 = this.pow(a2, q);
          var m2 = s2;
          while (t2.cmp(one) !== 0) {
            var tmp = t2;
            for (var i2 = 0; tmp.cmp(one) !== 0; i2++) {
              tmp = tmp.redSqr();
            }
            assert3(i2 < m2);
            var b2 = this.pow(c2, new BN2(1).iushln(m2 - i2 - 1));
            r2 = r2.redMul(b2);
            c2 = b2.redSqr();
            t2 = t2.redMul(c2);
            m2 = i2;
          }
          return r2;
        };
        Red.prototype.invm = function invm(a2) {
          var inv = a2._invmp(this.m);
          if (inv.negative !== 0) {
            inv.negative = 0;
            return this.imod(inv).redNeg();
          } else {
            return this.imod(inv);
          }
        };
        Red.prototype.pow = function pow(a2, num) {
          if (num.isZero()) return new BN2(1).toRed(this);
          if (num.cmpn(1) === 0) return a2.clone();
          var windowSize = 4;
          var wnd = new Array(1 << windowSize);
          wnd[0] = new BN2(1).toRed(this);
          wnd[1] = a2;
          for (var i2 = 2; i2 < wnd.length; i2++) {
            wnd[i2] = this.mul(wnd[i2 - 1], a2);
          }
          var res = wnd[0];
          var current = 0;
          var currentLen = 0;
          var start = num.bitLength() % 26;
          if (start === 0) {
            start = 26;
          }
          for (i2 = num.length - 1; i2 >= 0; i2--) {
            var word = num.words[i2];
            for (var j = start - 1; j >= 0; j--) {
              var bit = word >> j & 1;
              if (res !== wnd[0]) {
                res = this.sqr(res);
              }
              if (bit === 0 && current === 0) {
                currentLen = 0;
                continue;
              }
              current <<= 1;
              current |= bit;
              currentLen++;
              if (currentLen !== windowSize && (i2 !== 0 || j !== 0)) continue;
              res = this.mul(res, wnd[current]);
              currentLen = 0;
              current = 0;
            }
            start = 26;
          }
          return res;
        };
        Red.prototype.convertTo = function convertTo(num) {
          var r2 = num.umod(this.m);
          return r2 === num ? r2.clone() : r2;
        };
        Red.prototype.convertFrom = function convertFrom(num) {
          var res = num.clone();
          res.red = null;
          return res;
        };
        BN2.mont = function mont(num) {
          return new Mont(num);
        };
        function Mont(m2) {
          Red.call(this, m2);
          this.shift = this.m.bitLength();
          if (this.shift % 26 !== 0) {
            this.shift += 26 - this.shift % 26;
          }
          this.r = new BN2(1).iushln(this.shift);
          this.r2 = this.imod(this.r.sqr());
          this.rinv = this.r._invmp(this.m);
          this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);
          this.minv = this.minv.umod(this.r);
          this.minv = this.r.sub(this.minv);
        }
        inherits(Mont, Red);
        Mont.prototype.convertTo = function convertTo(num) {
          return this.imod(num.ushln(this.shift));
        };
        Mont.prototype.convertFrom = function convertFrom(num) {
          var r2 = this.imod(num.mul(this.rinv));
          r2.red = null;
          return r2;
        };
        Mont.prototype.imul = function imul(a2, b2) {
          if (a2.isZero() || b2.isZero()) {
            a2.words[0] = 0;
            a2.length = 1;
            return a2;
          }
          var t2 = a2.imul(b2);
          var c2 = t2.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);
          var u2 = t2.isub(c2).iushrn(this.shift);
          var res = u2;
          if (u2.cmp(this.m) >= 0) {
            res = u2.isub(this.m);
          } else if (u2.cmpn(0) < 0) {
            res = u2.iadd(this.m);
          }
          return res._forceRed(this);
        };
        Mont.prototype.mul = function mul(a2, b2) {
          if (a2.isZero() || b2.isZero()) return new BN2(0)._forceRed(this);
          var t2 = a2.mul(b2);
          var c2 = t2.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);
          var u2 = t2.isub(c2).iushrn(this.shift);
          var res = u2;
          if (u2.cmp(this.m) >= 0) {
            res = u2.isub(this.m);
          } else if (u2.cmpn(0) < 0) {
            res = u2.iadd(this.m);
          }
          return res._forceRed(this);
        };
        Mont.prototype.invm = function invm(a2) {
          var res = this.imod(a2._invmp(this.m).mul(this.r2));
          return res._forceRed(this);
        };
      })(typeof module === "undefined" || module, exports);
    }
  });

  // node_modules/safe-buffer/index.js
  var require_safe_buffer = __commonJS({
    "node_modules/safe-buffer/index.js"(exports, module) {
      var buffer = require_buffer();
      var Buffer4 = buffer.Buffer;
      function copyProps(src, dst) {
        for (var key in src) {
          dst[key] = src[key];
        }
      }
      if (Buffer4.from && Buffer4.alloc && Buffer4.allocUnsafe && Buffer4.allocUnsafeSlow) {
        module.exports = buffer;
      } else {
        copyProps(buffer, exports);
        exports.Buffer = SafeBuffer;
      }
      function SafeBuffer(arg, encodingOrOffset, length2) {
        return Buffer4(arg, encodingOrOffset, length2);
      }
      SafeBuffer.prototype = Object.create(Buffer4.prototype);
      copyProps(Buffer4, SafeBuffer);
      SafeBuffer.from = function(arg, encodingOrOffset, length2) {
        if (typeof arg === "number") {
          throw new TypeError("Argument must not be a number");
        }
        return Buffer4(arg, encodingOrOffset, length2);
      };
      SafeBuffer.alloc = function(size5, fill, encoding) {
        if (typeof size5 !== "number") {
          throw new TypeError("Argument must be a number");
        }
        var buf = Buffer4(size5);
        if (fill !== void 0) {
          if (typeof encoding === "string") {
            buf.fill(fill, encoding);
          } else {
            buf.fill(fill);
          }
        } else {
          buf.fill(0);
        }
        return buf;
      };
      SafeBuffer.allocUnsafe = function(size5) {
        if (typeof size5 !== "number") {
          throw new TypeError("Argument must be a number");
        }
        return Buffer4(size5);
      };
      SafeBuffer.allocUnsafeSlow = function(size5) {
        if (typeof size5 !== "number") {
          throw new TypeError("Argument must be a number");
        }
        return buffer.SlowBuffer(size5);
      };
    }
  });

  // node_modules/@solana/web3.js/node_modules/base-x/src/index.js
  var require_src = __commonJS({
    "node_modules/@solana/web3.js/node_modules/base-x/src/index.js"(exports, module) {
      "use strict";
      var _Buffer = require_safe_buffer().Buffer;
      function base2(ALPHABET2) {
        if (ALPHABET2.length >= 255) {
          throw new TypeError("Alphabet too long");
        }
        var BASE_MAP = new Uint8Array(256);
        for (var j = 0; j < BASE_MAP.length; j++) {
          BASE_MAP[j] = 255;
        }
        for (var i2 = 0; i2 < ALPHABET2.length; i2++) {
          var x = ALPHABET2.charAt(i2);
          var xc = x.charCodeAt(0);
          if (BASE_MAP[xc] !== 255) {
            throw new TypeError(x + " is ambiguous");
          }
          BASE_MAP[xc] = i2;
        }
        var BASE = ALPHABET2.length;
        var LEADER = ALPHABET2.charAt(0);
        var FACTOR = Math.log(BASE) / Math.log(256);
        var iFACTOR = Math.log(256) / Math.log(BASE);
        function encode2(source) {
          if (Array.isArray(source) || source instanceof Uint8Array) {
            source = _Buffer.from(source);
          }
          if (!_Buffer.isBuffer(source)) {
            throw new TypeError("Expected Buffer");
          }
          if (source.length === 0) {
            return "";
          }
          var zeroes = 0;
          var length2 = 0;
          var pbegin = 0;
          var pend = source.length;
          while (pbegin !== pend && source[pbegin] === 0) {
            pbegin++;
            zeroes++;
          }
          var size5 = (pend - pbegin) * iFACTOR + 1 >>> 0;
          var b58 = new Uint8Array(size5);
          while (pbegin !== pend) {
            var carry = source[pbegin];
            var i3 = 0;
            for (var it1 = size5 - 1; (carry !== 0 || i3 < length2) && it1 !== -1; it1--, i3++) {
              carry += 256 * b58[it1] >>> 0;
              b58[it1] = carry % BASE >>> 0;
              carry = carry / BASE >>> 0;
            }
            if (carry !== 0) {
              throw new Error("Non-zero carry");
            }
            length2 = i3;
            pbegin++;
          }
          var it2 = size5 - length2;
          while (it2 !== size5 && b58[it2] === 0) {
            it2++;
          }
          var str = LEADER.repeat(zeroes);
          for (; it2 < size5; ++it2) {
            str += ALPHABET2.charAt(b58[it2]);
          }
          return str;
        }
        function decodeUnsafe(source) {
          if (typeof source !== "string") {
            throw new TypeError("Expected String");
          }
          if (source.length === 0) {
            return _Buffer.alloc(0);
          }
          var psz = 0;
          var zeroes = 0;
          var length2 = 0;
          while (source[psz] === LEADER) {
            zeroes++;
            psz++;
          }
          var size5 = (source.length - psz) * FACTOR + 1 >>> 0;
          var b256 = new Uint8Array(size5);
          while (psz < source.length) {
            var charCode = source.charCodeAt(psz);
            if (charCode > 255) {
              return;
            }
            var carry = BASE_MAP[charCode];
            if (carry === 255) {
              return;
            }
            var i3 = 0;
            for (var it3 = size5 - 1; (carry !== 0 || i3 < length2) && it3 !== -1; it3--, i3++) {
              carry += BASE * b256[it3] >>> 0;
              b256[it3] = carry % 256 >>> 0;
              carry = carry / 256 >>> 0;
            }
            if (carry !== 0) {
              throw new Error("Non-zero carry");
            }
            length2 = i3;
            psz++;
          }
          var it4 = size5 - length2;
          while (it4 !== size5 && b256[it4] === 0) {
            it4++;
          }
          var vch = _Buffer.allocUnsafe(zeroes + (size5 - it4));
          vch.fill(0, 0, zeroes);
          var j2 = zeroes;
          while (it4 !== size5) {
            vch[j2++] = b256[it4++];
          }
          return vch;
        }
        function decode(string2) {
          var buffer = decodeUnsafe(string2);
          if (buffer) {
            return buffer;
          }
          throw new Error("Non-base" + BASE + " character");
        }
        return {
          encode: encode2,
          decodeUnsafe,
          decode
        };
      }
      module.exports = base2;
    }
  });

  // node_modules/@solana/web3.js/node_modules/bs58/index.js
  var require_bs58 = __commonJS({
    "node_modules/@solana/web3.js/node_modules/bs58/index.js"(exports, module) {
      var basex = require_src();
      var ALPHABET2 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
      module.exports = basex(ALPHABET2);
    }
  });

  // node_modules/@noble/hashes/esm/_assert.js
  function number(n3) {
    if (!Number.isSafeInteger(n3) || n3 < 0)
      throw new Error(`positive integer expected, not ${n3}`);
  }
  function isBytes2(a2) {
    return a2 instanceof Uint8Array || a2 != null && typeof a2 === "object" && a2.constructor.name === "Uint8Array";
  }
  function bytes(b2, ...lengths) {
    if (!isBytes2(b2))
      throw new Error("Uint8Array expected");
    if (lengths.length > 0 && !lengths.includes(b2.length))
      throw new Error(`Uint8Array expected of length ${lengths}, not of length=${b2.length}`);
  }
  function exists(instance2, checkFinished = true) {
    if (instance2.destroyed)
      throw new Error("Hash instance has been destroyed");
    if (checkFinished && instance2.finished)
      throw new Error("Hash#digest() has already been called");
  }
  function output(out, instance2) {
    bytes(out);
    const min2 = instance2.outputLen;
    if (out.length < min2) {
      throw new Error(`digestInto() expects output buffer of length at least ${min2}`);
    }
  }
  var init_assert = __esm({
    "node_modules/@noble/hashes/esm/_assert.js"() {
    }
  });

  // node_modules/@noble/hashes/esm/utils.js
  function byteSwap32(arr) {
    for (let i2 = 0; i2 < arr.length; i2++) {
      arr[i2] = byteSwap(arr[i2]);
    }
  }
  function utf8ToBytes2(str) {
    if (typeof str !== "string")
      throw new Error(`utf8ToBytes expected string, got ${typeof str}`);
    return new Uint8Array(new TextEncoder().encode(str));
  }
  function toBytes2(data2) {
    if (typeof data2 === "string")
      data2 = utf8ToBytes2(data2);
    bytes(data2);
    return data2;
  }
  function wrapConstructor(hashCons) {
    const hashC = (msg) => hashCons().update(toBytes2(msg)).digest();
    const tmp = hashCons();
    hashC.outputLen = tmp.outputLen;
    hashC.blockLen = tmp.blockLen;
    hashC.create = () => hashCons();
    return hashC;
  }
  function wrapXOFConstructorWithOpts(hashCons) {
    const hashC = (msg, opts) => hashCons(opts).update(toBytes2(msg)).digest();
    const tmp = hashCons({});
    hashC.outputLen = tmp.outputLen;
    hashC.blockLen = tmp.blockLen;
    hashC.create = (opts) => hashCons(opts);
    return hashC;
  }
  var u32, createView2, rotr2, isLE, byteSwap, Hash2, toStr;
  var init_utils9 = __esm({
    "node_modules/@noble/hashes/esm/utils.js"() {
      init_assert();
      u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));
      createView2 = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
      rotr2 = (word, shift4) => word << 32 - shift4 | word >>> shift4;
      isLE = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
      byteSwap = (word) => word << 24 & 4278190080 | word << 8 & 16711680 | word >>> 8 & 65280 | word >>> 24 & 255;
      Hash2 = class {
        // Safe version that clones internal state
        clone() {
          return this._cloneInto();
        }
      };
      toStr = {}.toString;
    }
  });

  // node_modules/@noble/hashes/esm/_md.js
  function setBigUint642(view, byteOffset, value, isLE2) {
    if (typeof view.setBigUint64 === "function")
      return view.setBigUint64(byteOffset, value, isLE2);
    const _32n3 = BigInt(32);
    const _u32_max = BigInt(4294967295);
    const wh = Number(value >> _32n3 & _u32_max);
    const wl = Number(value & _u32_max);
    const h2 = isLE2 ? 4 : 0;
    const l2 = isLE2 ? 0 : 4;
    view.setUint32(byteOffset + h2, wh, isLE2);
    view.setUint32(byteOffset + l2, wl, isLE2);
  }
  var Chi2, Maj2, HashMD2;
  var init_md2 = __esm({
    "node_modules/@noble/hashes/esm/_md.js"() {
      init_assert();
      init_utils9();
      Chi2 = (a2, b2, c2) => a2 & b2 ^ ~a2 & c2;
      Maj2 = (a2, b2, c2) => a2 & b2 ^ a2 & c2 ^ b2 & c2;
      HashMD2 = class extends Hash2 {
        constructor(blockLen, outputLen, padOffset, isLE2) {
          super();
          this.blockLen = blockLen;
          this.outputLen = outputLen;
          this.padOffset = padOffset;
          this.isLE = isLE2;
          this.finished = false;
          this.length = 0;
          this.pos = 0;
          this.destroyed = false;
          this.buffer = new Uint8Array(blockLen);
          this.view = createView2(this.buffer);
        }
        update(data2) {
          exists(this);
          const { view, buffer, blockLen } = this;
          data2 = toBytes2(data2);
          const len = data2.length;
          for (let pos = 0; pos < len; ) {
            const take = Math.min(blockLen - this.pos, len - pos);
            if (take === blockLen) {
              const dataView = createView2(data2);
              for (; blockLen <= len - pos; pos += blockLen)
                this.process(dataView, pos);
              continue;
            }
            buffer.set(data2.subarray(pos, pos + take), this.pos);
            this.pos += take;
            pos += take;
            if (this.pos === blockLen) {
              this.process(view, 0);
              this.pos = 0;
            }
          }
          this.length += data2.length;
          this.roundClean();
          return this;
        }
        digestInto(out) {
          exists(this);
          output(out, this);
          this.finished = true;
          const { buffer, view, blockLen, isLE: isLE2 } = this;
          let { pos } = this;
          buffer[pos++] = 128;
          this.buffer.subarray(pos).fill(0);
          if (this.padOffset > blockLen - pos) {
            this.process(view, 0);
            pos = 0;
          }
          for (let i2 = pos; i2 < blockLen; i2++)
            buffer[i2] = 0;
          setBigUint642(view, blockLen - 8, BigInt(this.length * 8), isLE2);
          this.process(view, 0);
          const oview = createView2(out);
          const len = this.outputLen;
          if (len % 4)
            throw new Error("_sha2: outputLen should be aligned to 32bit");
          const outLen = len / 4;
          const state = this.get();
          if (outLen > state.length)
            throw new Error("_sha2: outputLen bigger than state");
          for (let i2 = 0; i2 < outLen; i2++)
            oview.setUint32(4 * i2, state[i2], isLE2);
        }
        digest() {
          const { buffer, outputLen } = this;
          this.digestInto(buffer);
          const res = buffer.slice(0, outputLen);
          this.destroy();
          return res;
        }
        _cloneInto(to) {
          to || (to = new this.constructor());
          to.set(...this.get());
          const { blockLen, buffer, length: length2, finished, destroyed, pos } = this;
          to.length = length2;
          to.pos = pos;
          to.finished = finished;
          to.destroyed = destroyed;
          if (length2 % blockLen)
            to.buffer.set(buffer);
          return to;
        }
      };
    }
  });

  // node_modules/@noble/hashes/esm/sha256.js
  var SHA256_K2, SHA256_IV2, SHA256_W2, SHA2562, sha2562;
  var init_sha256 = __esm({
    "node_modules/@noble/hashes/esm/sha256.js"() {
      init_md2();
      init_utils9();
      SHA256_K2 = /* @__PURE__ */ new Uint32Array([
        1116352408,
        1899447441,
        3049323471,
        3921009573,
        961987163,
        1508970993,
        2453635748,
        2870763221,
        3624381080,
        310598401,
        607225278,
        1426881987,
        1925078388,
        2162078206,
        2614888103,
        3248222580,
        3835390401,
        4022224774,
        264347078,
        604807628,
        770255983,
        1249150122,
        1555081692,
        1996064986,
        2554220882,
        2821834349,
        2952996808,
        3210313671,
        3336571891,
        3584528711,
        113926993,
        338241895,
        666307205,
        773529912,
        1294757372,
        1396182291,
        1695183700,
        1986661051,
        2177026350,
        2456956037,
        2730485921,
        2820302411,
        3259730800,
        3345764771,
        3516065817,
        3600352804,
        4094571909,
        275423344,
        430227734,
        506948616,
        659060556,
        883997877,
        958139571,
        1322822218,
        1537002063,
        1747873779,
        1955562222,
        2024104815,
        2227730452,
        2361852424,
        2428436474,
        2756734187,
        3204031479,
        3329325298
      ]);
      SHA256_IV2 = /* @__PURE__ */ new Uint32Array([
        1779033703,
        3144134277,
        1013904242,
        2773480762,
        1359893119,
        2600822924,
        528734635,
        1541459225
      ]);
      SHA256_W2 = /* @__PURE__ */ new Uint32Array(64);
      SHA2562 = class extends HashMD2 {
        constructor() {
          super(64, 32, 8, false);
          this.A = SHA256_IV2[0] | 0;
          this.B = SHA256_IV2[1] | 0;
          this.C = SHA256_IV2[2] | 0;
          this.D = SHA256_IV2[3] | 0;
          this.E = SHA256_IV2[4] | 0;
          this.F = SHA256_IV2[5] | 0;
          this.G = SHA256_IV2[6] | 0;
          this.H = SHA256_IV2[7] | 0;
        }
        get() {
          const { A, B, C, D, E, F, G, H } = this;
          return [A, B, C, D, E, F, G, H];
        }
        // prettier-ignore
        set(A, B, C, D, E, F, G, H) {
          this.A = A | 0;
          this.B = B | 0;
          this.C = C | 0;
          this.D = D | 0;
          this.E = E | 0;
          this.F = F | 0;
          this.G = G | 0;
          this.H = H | 0;
        }
        process(view, offset5) {
          for (let i2 = 0; i2 < 16; i2++, offset5 += 4)
            SHA256_W2[i2] = view.getUint32(offset5, false);
          for (let i2 = 16; i2 < 64; i2++) {
            const W15 = SHA256_W2[i2 - 15];
            const W2 = SHA256_W2[i2 - 2];
            const s0 = rotr2(W15, 7) ^ rotr2(W15, 18) ^ W15 >>> 3;
            const s1 = rotr2(W2, 17) ^ rotr2(W2, 19) ^ W2 >>> 10;
            SHA256_W2[i2] = s1 + SHA256_W2[i2 - 7] + s0 + SHA256_W2[i2 - 16] | 0;
          }
          let { A, B, C, D, E, F, G, H } = this;
          for (let i2 = 0; i2 < 64; i2++) {
            const sigma1 = rotr2(E, 6) ^ rotr2(E, 11) ^ rotr2(E, 25);
            const T1 = H + sigma1 + Chi2(E, F, G) + SHA256_K2[i2] + SHA256_W2[i2] | 0;
            const sigma0 = rotr2(A, 2) ^ rotr2(A, 13) ^ rotr2(A, 22);
            const T2 = sigma0 + Maj2(A, B, C) | 0;
            H = G;
            G = F;
            F = E;
            E = D + T1 | 0;
            D = C;
            C = B;
            B = A;
            A = T1 + T2 | 0;
          }
          A = A + this.A | 0;
          B = B + this.B | 0;
          C = C + this.C | 0;
          D = D + this.D | 0;
          E = E + this.E | 0;
          F = F + this.F | 0;
          G = G + this.G | 0;
          H = H + this.H | 0;
          this.set(A, B, C, D, E, F, G, H);
        }
        roundClean() {
          SHA256_W2.fill(0);
        }
        destroy() {
          this.set(0, 0, 0, 0, 0, 0, 0, 0);
          this.buffer.fill(0);
        }
      };
      sha2562 = /* @__PURE__ */ wrapConstructor(() => new SHA2562());
    }
  });

  // node_modules/borsh/node_modules/base-x/src/index.js
  var require_src2 = __commonJS({
    "node_modules/borsh/node_modules/base-x/src/index.js"(exports, module) {
      "use strict";
      var _Buffer = require_safe_buffer().Buffer;
      function base2(ALPHABET2) {
        if (ALPHABET2.length >= 255) {
          throw new TypeError("Alphabet too long");
        }
        var BASE_MAP = new Uint8Array(256);
        for (var j = 0; j < BASE_MAP.length; j++) {
          BASE_MAP[j] = 255;
        }
        for (var i2 = 0; i2 < ALPHABET2.length; i2++) {
          var x = ALPHABET2.charAt(i2);
          var xc = x.charCodeAt(0);
          if (BASE_MAP[xc] !== 255) {
            throw new TypeError(x + " is ambiguous");
          }
          BASE_MAP[xc] = i2;
        }
        var BASE = ALPHABET2.length;
        var LEADER = ALPHABET2.charAt(0);
        var FACTOR = Math.log(BASE) / Math.log(256);
        var iFACTOR = Math.log(256) / Math.log(BASE);
        function encode2(source) {
          if (Array.isArray(source) || source instanceof Uint8Array) {
            source = _Buffer.from(source);
          }
          if (!_Buffer.isBuffer(source)) {
            throw new TypeError("Expected Buffer");
          }
          if (source.length === 0) {
            return "";
          }
          var zeroes = 0;
          var length2 = 0;
          var pbegin = 0;
          var pend = source.length;
          while (pbegin !== pend && source[pbegin] === 0) {
            pbegin++;
            zeroes++;
          }
          var size5 = (pend - pbegin) * iFACTOR + 1 >>> 0;
          var b58 = new Uint8Array(size5);
          while (pbegin !== pend) {
            var carry = source[pbegin];
            var i3 = 0;
            for (var it1 = size5 - 1; (carry !== 0 || i3 < length2) && it1 !== -1; it1--, i3++) {
              carry += 256 * b58[it1] >>> 0;
              b58[it1] = carry % BASE >>> 0;
              carry = carry / BASE >>> 0;
            }
            if (carry !== 0) {
              throw new Error("Non-zero carry");
            }
            length2 = i3;
            pbegin++;
          }
          var it2 = size5 - length2;
          while (it2 !== size5 && b58[it2] === 0) {
            it2++;
          }
          var str = LEADER.repeat(zeroes);
          for (; it2 < size5; ++it2) {
            str += ALPHABET2.charAt(b58[it2]);
          }
          return str;
        }
        function decodeUnsafe(source) {
          if (typeof source !== "string") {
            throw new TypeError("Expected String");
          }
          if (source.length === 0) {
            return _Buffer.alloc(0);
          }
          var psz = 0;
          var zeroes = 0;
          var length2 = 0;
          while (source[psz] === LEADER) {
            zeroes++;
            psz++;
          }
          var size5 = (source.length - psz) * FACTOR + 1 >>> 0;
          var b256 = new Uint8Array(size5);
          while (psz < source.length) {
            var charCode = source.charCodeAt(psz);
            if (charCode > 255) {
              return;
            }
            var carry = BASE_MAP[charCode];
            if (carry === 255) {
              return;
            }
            var i3 = 0;
            for (var it3 = size5 - 1; (carry !== 0 || i3 < length2) && it3 !== -1; it3--, i3++) {
              carry += BASE * b256[it3] >>> 0;
              b256[it3] = carry % 256 >>> 0;
              carry = carry / 256 >>> 0;
            }
            if (carry !== 0) {
              throw new Error("Non-zero carry");
            }
            length2 = i3;
            psz++;
          }
          var it4 = size5 - length2;
          while (it4 !== size5 && b256[it4] === 0) {
            it4++;
          }
          var vch = _Buffer.allocUnsafe(zeroes + (size5 - it4));
          vch.fill(0, 0, zeroes);
          var j2 = zeroes;
          while (it4 !== size5) {
            vch[j2++] = b256[it4++];
          }
          return vch;
        }
        function decode(string2) {
          var buffer = decodeUnsafe(string2);
          if (buffer) {
            return buffer;
          }
          throw new Error("Non-base" + BASE + " character");
        }
        return {
          encode: encode2,
          decodeUnsafe,
          decode
        };
      }
      module.exports = base2;
    }
  });

  // node_modules/borsh/node_modules/bs58/index.js
  var require_bs582 = __commonJS({
    "node_modules/borsh/node_modules/bs58/index.js"(exports, module) {
      var basex = require_src2();
      var ALPHABET2 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
      module.exports = basex(ALPHABET2);
    }
  });

  // node_modules/text-encoding-utf-8/lib/encoding.lib.js
  var require_encoding_lib = __commonJS({
    "node_modules/text-encoding-utf-8/lib/encoding.lib.js"(exports) {
      "use strict";
      function inRange2(a2, min2, max2) {
        return min2 <= a2 && a2 <= max2;
      }
      function ToDictionary(o3) {
        if (o3 === void 0) return {};
        if (o3 === Object(o3)) return o3;
        throw TypeError("Could not convert argument to dictionary");
      }
      function stringToCodePoints(string2) {
        var s2 = String(string2);
        var n3 = s2.length;
        var i2 = 0;
        var u2 = [];
        while (i2 < n3) {
          var c2 = s2.charCodeAt(i2);
          if (c2 < 55296 || c2 > 57343) {
            u2.push(c2);
          } else if (56320 <= c2 && c2 <= 57343) {
            u2.push(65533);
          } else if (55296 <= c2 && c2 <= 56319) {
            if (i2 === n3 - 1) {
              u2.push(65533);
            } else {
              var d2 = string2.charCodeAt(i2 + 1);
              if (56320 <= d2 && d2 <= 57343) {
                var a2 = c2 & 1023;
                var b2 = d2 & 1023;
                u2.push(65536 + (a2 << 10) + b2);
                i2 += 1;
              } else {
                u2.push(65533);
              }
            }
          }
          i2 += 1;
        }
        return u2;
      }
      function codePointsToString(code_points) {
        var s2 = "";
        for (var i2 = 0; i2 < code_points.length; ++i2) {
          var cp = code_points[i2];
          if (cp <= 65535) {
            s2 += String.fromCharCode(cp);
          } else {
            cp -= 65536;
            s2 += String.fromCharCode(
              (cp >> 10) + 55296,
              (cp & 1023) + 56320
            );
          }
        }
        return s2;
      }
      var end_of_stream = -1;
      function Stream(tokens) {
        this.tokens = [].slice.call(tokens);
      }
      Stream.prototype = {
        /**
         * @return {boolean} True if end-of-stream has been hit.
         */
        endOfStream: function() {
          return !this.tokens.length;
        },
        /**
         * When a token is read from a stream, the first token in the
         * stream must be returned and subsequently removed, and
         * end-of-stream must be returned otherwise.
         *
         * @return {number} Get the next token from the stream, or
         * end_of_stream.
         */
        read: function() {
          if (!this.tokens.length)
            return end_of_stream;
          return this.tokens.shift();
        },
        /**
         * When one or more tokens are prepended to a stream, those tokens
         * must be inserted, in given order, before the first token in the
         * stream.
         *
         * @param {(number|!Array.<number>)} token The token(s) to prepend to the stream.
         */
        prepend: function(token2) {
          if (Array.isArray(token2)) {
            var tokens = (
              /**@type {!Array.<number>}*/
              token2
            );
            while (tokens.length)
              this.tokens.unshift(tokens.pop());
          } else {
            this.tokens.unshift(token2);
          }
        },
        /**
         * When one or more tokens are pushed to a stream, those tokens
         * must be inserted, in given order, after the last token in the
         * stream.
         *
         * @param {(number|!Array.<number>)} token The tokens(s) to prepend to the stream.
         */
        push: function(token2) {
          if (Array.isArray(token2)) {
            var tokens = (
              /**@type {!Array.<number>}*/
              token2
            );
            while (tokens.length)
              this.tokens.push(tokens.shift());
          } else {
            this.tokens.push(token2);
          }
        }
      };
      var finished = -1;
      function decoderError(fatal, opt_code_point) {
        if (fatal)
          throw TypeError("Decoder error");
        return opt_code_point || 65533;
      }
      var DEFAULT_ENCODING = "utf-8";
      function TextDecoder2(encoding, options2) {
        if (!(this instanceof TextDecoder2)) {
          return new TextDecoder2(encoding, options2);
        }
        encoding = encoding !== void 0 ? String(encoding).toLowerCase() : DEFAULT_ENCODING;
        if (encoding !== DEFAULT_ENCODING) {
          throw new Error("Encoding not supported. Only utf-8 is supported");
        }
        options2 = ToDictionary(options2);
        this._streaming = false;
        this._BOMseen = false;
        this._decoder = null;
        this._fatal = Boolean(options2["fatal"]);
        this._ignoreBOM = Boolean(options2["ignoreBOM"]);
        Object.defineProperty(this, "encoding", { value: "utf-8" });
        Object.defineProperty(this, "fatal", { value: this._fatal });
        Object.defineProperty(this, "ignoreBOM", { value: this._ignoreBOM });
      }
      TextDecoder2.prototype = {
        /**
         * @param {ArrayBufferView=} input The buffer of bytes to decode.
         * @param {Object=} options
         * @return {string} The decoded string.
         */
        decode: function decode(input, options2) {
          var bytes2;
          if (typeof input === "object" && input instanceof ArrayBuffer) {
            bytes2 = new Uint8Array(input);
          } else if (typeof input === "object" && "buffer" in input && input.buffer instanceof ArrayBuffer) {
            bytes2 = new Uint8Array(
              input.buffer,
              input.byteOffset,
              input.byteLength
            );
          } else {
            bytes2 = new Uint8Array(0);
          }
          options2 = ToDictionary(options2);
          if (!this._streaming) {
            this._decoder = new UTF8Decoder({ fatal: this._fatal });
            this._BOMseen = false;
          }
          this._streaming = Boolean(options2["stream"]);
          var input_stream = new Stream(bytes2);
          var code_points = [];
          var result;
          while (!input_stream.endOfStream()) {
            result = this._decoder.handler(input_stream, input_stream.read());
            if (result === finished)
              break;
            if (result === null)
              continue;
            if (Array.isArray(result))
              code_points.push.apply(
                code_points,
                /**@type {!Array.<number>}*/
                result
              );
            else
              code_points.push(result);
          }
          if (!this._streaming) {
            do {
              result = this._decoder.handler(input_stream, input_stream.read());
              if (result === finished)
                break;
              if (result === null)
                continue;
              if (Array.isArray(result))
                code_points.push.apply(
                  code_points,
                  /**@type {!Array.<number>}*/
                  result
                );
              else
                code_points.push(result);
            } while (!input_stream.endOfStream());
            this._decoder = null;
          }
          if (code_points.length) {
            if (["utf-8"].indexOf(this.encoding) !== -1 && !this._ignoreBOM && !this._BOMseen) {
              if (code_points[0] === 65279) {
                this._BOMseen = true;
                code_points.shift();
              } else {
                this._BOMseen = true;
              }
            }
          }
          return codePointsToString(code_points);
        }
      };
      function TextEncoder2(encoding, options2) {
        if (!(this instanceof TextEncoder2))
          return new TextEncoder2(encoding, options2);
        encoding = encoding !== void 0 ? String(encoding).toLowerCase() : DEFAULT_ENCODING;
        if (encoding !== DEFAULT_ENCODING) {
          throw new Error("Encoding not supported. Only utf-8 is supported");
        }
        options2 = ToDictionary(options2);
        this._streaming = false;
        this._encoder = null;
        this._options = { fatal: Boolean(options2["fatal"]) };
        Object.defineProperty(this, "encoding", { value: "utf-8" });
      }
      TextEncoder2.prototype = {
        /**
         * @param {string=} opt_string The string to encode.
         * @param {Object=} options
         * @return {Uint8Array} Encoded bytes, as a Uint8Array.
         */
        encode: function encode2(opt_string, options2) {
          opt_string = opt_string ? String(opt_string) : "";
          options2 = ToDictionary(options2);
          if (!this._streaming)
            this._encoder = new UTF8Encoder(this._options);
          this._streaming = Boolean(options2["stream"]);
          var bytes2 = [];
          var input_stream = new Stream(stringToCodePoints(opt_string));
          var result;
          while (!input_stream.endOfStream()) {
            result = this._encoder.handler(input_stream, input_stream.read());
            if (result === finished)
              break;
            if (Array.isArray(result))
              bytes2.push.apply(
                bytes2,
                /**@type {!Array.<number>}*/
                result
              );
            else
              bytes2.push(result);
          }
          if (!this._streaming) {
            while (true) {
              result = this._encoder.handler(input_stream, input_stream.read());
              if (result === finished)
                break;
              if (Array.isArray(result))
                bytes2.push.apply(
                  bytes2,
                  /**@type {!Array.<number>}*/
                  result
                );
              else
                bytes2.push(result);
            }
            this._encoder = null;
          }
          return new Uint8Array(bytes2);
        }
      };
      function UTF8Decoder(options2) {
        var fatal = options2.fatal;
        var utf8_code_point = 0, utf8_bytes_seen = 0, utf8_bytes_needed = 0, utf8_lower_boundary = 128, utf8_upper_boundary = 191;
        this.handler = function(stream, bite) {
          if (bite === end_of_stream && utf8_bytes_needed !== 0) {
            utf8_bytes_needed = 0;
            return decoderError(fatal);
          }
          if (bite === end_of_stream)
            return finished;
          if (utf8_bytes_needed === 0) {
            if (inRange2(bite, 0, 127)) {
              return bite;
            }
            if (inRange2(bite, 194, 223)) {
              utf8_bytes_needed = 1;
              utf8_code_point = bite - 192;
            } else if (inRange2(bite, 224, 239)) {
              if (bite === 224)
                utf8_lower_boundary = 160;
              if (bite === 237)
                utf8_upper_boundary = 159;
              utf8_bytes_needed = 2;
              utf8_code_point = bite - 224;
            } else if (inRange2(bite, 240, 244)) {
              if (bite === 240)
                utf8_lower_boundary = 144;
              if (bite === 244)
                utf8_upper_boundary = 143;
              utf8_bytes_needed = 3;
              utf8_code_point = bite - 240;
            } else {
              return decoderError(fatal);
            }
            utf8_code_point = utf8_code_point << 6 * utf8_bytes_needed;
            return null;
          }
          if (!inRange2(bite, utf8_lower_boundary, utf8_upper_boundary)) {
            utf8_code_point = utf8_bytes_needed = utf8_bytes_seen = 0;
            utf8_lower_boundary = 128;
            utf8_upper_boundary = 191;
            stream.prepend(bite);
            return decoderError(fatal);
          }
          utf8_lower_boundary = 128;
          utf8_upper_boundary = 191;
          utf8_bytes_seen += 1;
          utf8_code_point += bite - 128 << 6 * (utf8_bytes_needed - utf8_bytes_seen);
          if (utf8_bytes_seen !== utf8_bytes_needed)
            return null;
          var code_point = utf8_code_point;
          utf8_code_point = utf8_bytes_needed = utf8_bytes_seen = 0;
          return code_point;
        };
      }
      function UTF8Encoder(options2) {
        var fatal = options2.fatal;
        this.handler = function(stream, code_point) {
          if (code_point === end_of_stream)
            return finished;
          if (inRange2(code_point, 0, 127))
            return code_point;
          var count2, offset5;
          if (inRange2(code_point, 128, 2047)) {
            count2 = 1;
            offset5 = 192;
          } else if (inRange2(code_point, 2048, 65535)) {
            count2 = 2;
            offset5 = 224;
          } else if (inRange2(code_point, 65536, 1114111)) {
            count2 = 3;
            offset5 = 240;
          }
          var bytes2 = [(code_point >> 6 * count2) + offset5];
          while (count2 > 0) {
            var temp = code_point >> 6 * (count2 - 1);
            bytes2.push(128 | temp & 63);
            count2 -= 1;
          }
          return bytes2;
        };
      }
      exports.TextEncoder = TextEncoder2;
      exports.TextDecoder = TextDecoder2;
    }
  });

  // node_modules/borsh/lib/index.js
  var require_lib = __commonJS({
    "node_modules/borsh/lib/index.js"(exports) {
      "use strict";
      var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o3, m2, k, k2) {
        if (k2 === void 0) k2 = k;
        Object.defineProperty(o3, k2, { enumerable: true, get: function() {
          return m2[k];
        } });
      }) : (function(o3, m2, k, k2) {
        if (k2 === void 0) k2 = k;
        o3[k2] = m2[k];
      }));
      var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o3, v) {
        Object.defineProperty(o3, "default", { enumerable: true, value: v });
      }) : function(o3, v) {
        o3["default"] = v;
      });
      var __decorate = exports && exports.__decorate || function(decorators, target2, key, desc) {
        var c2 = arguments.length, r2 = c2 < 3 ? target2 : desc === null ? desc = Object.getOwnPropertyDescriptor(target2, key) : desc, d2;
        if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r2 = Reflect.decorate(decorators, target2, key, desc);
        else for (var i2 = decorators.length - 1; i2 >= 0; i2--) if (d2 = decorators[i2]) r2 = (c2 < 3 ? d2(r2) : c2 > 3 ? d2(target2, key, r2) : d2(target2, key)) || r2;
        return c2 > 3 && r2 && Object.defineProperty(target2, key, r2), r2;
      };
      var __importStar = exports && exports.__importStar || function(mod2) {
        if (mod2 && mod2.__esModule) return mod2;
        var result = {};
        if (mod2 != null) {
          for (var k in mod2) if (k !== "default" && Object.hasOwnProperty.call(mod2, k)) __createBinding(result, mod2, k);
        }
        __setModuleDefault(result, mod2);
        return result;
      };
      var __importDefault = exports && exports.__importDefault || function(mod2) {
        return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
      };
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.deserializeUnchecked = exports.deserialize = exports.serialize = exports.BinaryReader = exports.BinaryWriter = exports.BorshError = exports.baseDecode = exports.baseEncode = void 0;
      var bn_js_1 = __importDefault(require_bn());
      var bs58_1 = __importDefault(require_bs582());
      var encoding = __importStar(require_encoding_lib());
      var ResolvedTextDecoder = typeof TextDecoder !== "function" ? encoding.TextDecoder : TextDecoder;
      var textDecoder = new ResolvedTextDecoder("utf-8", { fatal: true });
      function baseEncode(value) {
        if (typeof value === "string") {
          value = Buffer.from(value, "utf8");
        }
        return bs58_1.default.encode(Buffer.from(value));
      }
      exports.baseEncode = baseEncode;
      function baseDecode(value) {
        return Buffer.from(bs58_1.default.decode(value));
      }
      exports.baseDecode = baseDecode;
      var INITIAL_LENGTH = 1024;
      var BorshError = class extends Error {
        constructor(message) {
          super(message);
          this.fieldPath = [];
          this.originalMessage = message;
        }
        addToFieldPath(fieldName) {
          this.fieldPath.splice(0, 0, fieldName);
          this.message = this.originalMessage + ": " + this.fieldPath.join(".");
        }
      };
      exports.BorshError = BorshError;
      var BinaryWriter = class {
        constructor() {
          this.buf = Buffer.alloc(INITIAL_LENGTH);
          this.length = 0;
        }
        maybeResize() {
          if (this.buf.length < 16 + this.length) {
            this.buf = Buffer.concat([this.buf, Buffer.alloc(INITIAL_LENGTH)]);
          }
        }
        writeU8(value) {
          this.maybeResize();
          this.buf.writeUInt8(value, this.length);
          this.length += 1;
        }
        writeU16(value) {
          this.maybeResize();
          this.buf.writeUInt16LE(value, this.length);
          this.length += 2;
        }
        writeU32(value) {
          this.maybeResize();
          this.buf.writeUInt32LE(value, this.length);
          this.length += 4;
        }
        writeU64(value) {
          this.maybeResize();
          this.writeBuffer(Buffer.from(new bn_js_1.default(value).toArray("le", 8)));
        }
        writeU128(value) {
          this.maybeResize();
          this.writeBuffer(Buffer.from(new bn_js_1.default(value).toArray("le", 16)));
        }
        writeU256(value) {
          this.maybeResize();
          this.writeBuffer(Buffer.from(new bn_js_1.default(value).toArray("le", 32)));
        }
        writeU512(value) {
          this.maybeResize();
          this.writeBuffer(Buffer.from(new bn_js_1.default(value).toArray("le", 64)));
        }
        writeBuffer(buffer) {
          this.buf = Buffer.concat([
            Buffer.from(this.buf.subarray(0, this.length)),
            buffer,
            Buffer.alloc(INITIAL_LENGTH)
          ]);
          this.length += buffer.length;
        }
        writeString(str) {
          this.maybeResize();
          const b2 = Buffer.from(str, "utf8");
          this.writeU32(b2.length);
          this.writeBuffer(b2);
        }
        writeFixedArray(array2) {
          this.writeBuffer(Buffer.from(array2));
        }
        writeArray(array2, fn) {
          this.maybeResize();
          this.writeU32(array2.length);
          for (const elem of array2) {
            this.maybeResize();
            fn(elem);
          }
        }
        toArray() {
          return this.buf.subarray(0, this.length);
        }
      };
      exports.BinaryWriter = BinaryWriter;
      function handlingRangeError(target2, propertyKey, propertyDescriptor) {
        const originalMethod = propertyDescriptor.value;
        propertyDescriptor.value = function(...args) {
          try {
            return originalMethod.apply(this, args);
          } catch (e3) {
            if (e3 instanceof RangeError) {
              const code = e3.code;
              if (["ERR_BUFFER_OUT_OF_BOUNDS", "ERR_OUT_OF_RANGE"].indexOf(code) >= 0) {
                throw new BorshError("Reached the end of buffer when deserializing");
              }
            }
            throw e3;
          }
        };
      }
      var BinaryReader = class {
        constructor(buf) {
          this.buf = buf;
          this.offset = 0;
        }
        readU8() {
          const value = this.buf.readUInt8(this.offset);
          this.offset += 1;
          return value;
        }
        readU16() {
          const value = this.buf.readUInt16LE(this.offset);
          this.offset += 2;
          return value;
        }
        readU32() {
          const value = this.buf.readUInt32LE(this.offset);
          this.offset += 4;
          return value;
        }
        readU64() {
          const buf = this.readBuffer(8);
          return new bn_js_1.default(buf, "le");
        }
        readU128() {
          const buf = this.readBuffer(16);
          return new bn_js_1.default(buf, "le");
        }
        readU256() {
          const buf = this.readBuffer(32);
          return new bn_js_1.default(buf, "le");
        }
        readU512() {
          const buf = this.readBuffer(64);
          return new bn_js_1.default(buf, "le");
        }
        readBuffer(len) {
          if (this.offset + len > this.buf.length) {
            throw new BorshError(`Expected buffer length ${len} isn't within bounds`);
          }
          const result = this.buf.slice(this.offset, this.offset + len);
          this.offset += len;
          return result;
        }
        readString() {
          const len = this.readU32();
          const buf = this.readBuffer(len);
          try {
            return textDecoder.decode(buf);
          } catch (e3) {
            throw new BorshError(`Error decoding UTF-8 string: ${e3}`);
          }
        }
        readFixedArray(len) {
          return new Uint8Array(this.readBuffer(len));
        }
        readArray(fn) {
          const len = this.readU32();
          const result = Array();
          for (let i2 = 0; i2 < len; ++i2) {
            result.push(fn());
          }
          return result;
        }
      };
      __decorate([
        handlingRangeError
      ], BinaryReader.prototype, "readU8", null);
      __decorate([
        handlingRangeError
      ], BinaryReader.prototype, "readU16", null);
      __decorate([
        handlingRangeError
      ], BinaryReader.prototype, "readU32", null);
      __decorate([
        handlingRangeError
      ], BinaryReader.prototype, "readU64", null);
      __decorate([
        handlingRangeError
      ], BinaryReader.prototype, "readU128", null);
      __decorate([
        handlingRangeError
      ], BinaryReader.prototype, "readU256", null);
      __decorate([
        handlingRangeError
      ], BinaryReader.prototype, "readU512", null);
      __decorate([
        handlingRangeError
      ], BinaryReader.prototype, "readString", null);
      __decorate([
        handlingRangeError
      ], BinaryReader.prototype, "readFixedArray", null);
      __decorate([
        handlingRangeError
      ], BinaryReader.prototype, "readArray", null);
      exports.BinaryReader = BinaryReader;
      function capitalizeFirstLetter(string2) {
        return string2.charAt(0).toUpperCase() + string2.slice(1);
      }
      function serializeField(schema, fieldName, value, fieldType, writer) {
        try {
          if (typeof fieldType === "string") {
            writer[`write${capitalizeFirstLetter(fieldType)}`](value);
          } else if (fieldType instanceof Array) {
            if (typeof fieldType[0] === "number") {
              if (value.length !== fieldType[0]) {
                throw new BorshError(`Expecting byte array of length ${fieldType[0]}, but got ${value.length} bytes`);
              }
              writer.writeFixedArray(value);
            } else if (fieldType.length === 2 && typeof fieldType[1] === "number") {
              if (value.length !== fieldType[1]) {
                throw new BorshError(`Expecting byte array of length ${fieldType[1]}, but got ${value.length} bytes`);
              }
              for (let i2 = 0; i2 < fieldType[1]; i2++) {
                serializeField(schema, null, value[i2], fieldType[0], writer);
              }
            } else {
              writer.writeArray(value, (item) => {
                serializeField(schema, fieldName, item, fieldType[0], writer);
              });
            }
          } else if (fieldType.kind !== void 0) {
            switch (fieldType.kind) {
              case "option": {
                if (value === null || value === void 0) {
                  writer.writeU8(0);
                } else {
                  writer.writeU8(1);
                  serializeField(schema, fieldName, value, fieldType.type, writer);
                }
                break;
              }
              case "map": {
                writer.writeU32(value.size);
                value.forEach((val, key) => {
                  serializeField(schema, fieldName, key, fieldType.key, writer);
                  serializeField(schema, fieldName, val, fieldType.value, writer);
                });
                break;
              }
              default:
                throw new BorshError(`FieldType ${fieldType} unrecognized`);
            }
          } else {
            serializeStruct(schema, value, writer);
          }
        } catch (error2) {
          if (error2 instanceof BorshError) {
            error2.addToFieldPath(fieldName);
          }
          throw error2;
        }
      }
      function serializeStruct(schema, obj, writer) {
        if (typeof obj.borshSerialize === "function") {
          obj.borshSerialize(writer);
          return;
        }
        const structSchema = schema.get(obj.constructor);
        if (!structSchema) {
          throw new BorshError(`Class ${obj.constructor.name} is missing in schema`);
        }
        if (structSchema.kind === "struct") {
          structSchema.fields.map(([fieldName, fieldType]) => {
            serializeField(schema, fieldName, obj[fieldName], fieldType, writer);
          });
        } else if (structSchema.kind === "enum") {
          const name = obj[structSchema.field];
          for (let idx = 0; idx < structSchema.values.length; ++idx) {
            const [fieldName, fieldType] = structSchema.values[idx];
            if (fieldName === name) {
              writer.writeU8(idx);
              serializeField(schema, fieldName, obj[fieldName], fieldType, writer);
              break;
            }
          }
        } else {
          throw new BorshError(`Unexpected schema kind: ${structSchema.kind} for ${obj.constructor.name}`);
        }
      }
      function serialize4(schema, obj, Writer = BinaryWriter) {
        const writer = new Writer();
        serializeStruct(schema, obj, writer);
        return writer.toArray();
      }
      exports.serialize = serialize4;
      function deserializeField(schema, fieldName, fieldType, reader) {
        try {
          if (typeof fieldType === "string") {
            return reader[`read${capitalizeFirstLetter(fieldType)}`]();
          }
          if (fieldType instanceof Array) {
            if (typeof fieldType[0] === "number") {
              return reader.readFixedArray(fieldType[0]);
            } else if (typeof fieldType[1] === "number") {
              const arr = [];
              for (let i2 = 0; i2 < fieldType[1]; i2++) {
                arr.push(deserializeField(schema, null, fieldType[0], reader));
              }
              return arr;
            } else {
              return reader.readArray(() => deserializeField(schema, fieldName, fieldType[0], reader));
            }
          }
          if (fieldType.kind === "option") {
            const option = reader.readU8();
            if (option) {
              return deserializeField(schema, fieldName, fieldType.type, reader);
            }
            return void 0;
          }
          if (fieldType.kind === "map") {
            let map = /* @__PURE__ */ new Map();
            const length2 = reader.readU32();
            for (let i2 = 0; i2 < length2; i2++) {
              const key = deserializeField(schema, fieldName, fieldType.key, reader);
              const val = deserializeField(schema, fieldName, fieldType.value, reader);
              map.set(key, val);
            }
            return map;
          }
          return deserializeStruct(schema, fieldType, reader);
        } catch (error2) {
          if (error2 instanceof BorshError) {
            error2.addToFieldPath(fieldName);
          }
          throw error2;
        }
      }
      function deserializeStruct(schema, classType, reader) {
        if (typeof classType.borshDeserialize === "function") {
          return classType.borshDeserialize(reader);
        }
        const structSchema = schema.get(classType);
        if (!structSchema) {
          throw new BorshError(`Class ${classType.name} is missing in schema`);
        }
        if (structSchema.kind === "struct") {
          const result = {};
          for (const [fieldName, fieldType] of schema.get(classType).fields) {
            result[fieldName] = deserializeField(schema, fieldName, fieldType, reader);
          }
          return new classType(result);
        }
        if (structSchema.kind === "enum") {
          const idx = reader.readU8();
          if (idx >= structSchema.values.length) {
            throw new BorshError(`Enum index: ${idx} is out of range`);
          }
          const [fieldName, fieldType] = structSchema.values[idx];
          const fieldValue = deserializeField(schema, fieldName, fieldType, reader);
          return new classType({ [fieldName]: fieldValue });
        }
        throw new BorshError(`Unexpected schema kind: ${structSchema.kind} for ${classType.constructor.name}`);
      }
      function deserialize2(schema, classType, buffer, Reader = BinaryReader) {
        const reader = new Reader(buffer);
        const result = deserializeStruct(schema, classType, reader);
        if (reader.offset < buffer.length) {
          throw new BorshError(`Unexpected ${buffer.length - reader.offset} bytes after deserialized data`);
        }
        return result;
      }
      exports.deserialize = deserialize2;
      function deserializeUnchecked2(schema, classType, buffer, Reader = BinaryReader) {
        const reader = new Reader(buffer);
        return deserializeStruct(schema, classType, reader);
      }
      exports.deserializeUnchecked = deserializeUnchecked2;
    }
  });

  // node_modules/@solana/buffer-layout/lib/Layout.js
  var require_Layout = __commonJS({
    "node_modules/@solana/buffer-layout/lib/Layout.js"(exports) {
      "use strict";
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.s16 = exports.s8 = exports.nu64be = exports.u48be = exports.u40be = exports.u32be = exports.u24be = exports.u16be = exports.nu64 = exports.u48 = exports.u40 = exports.u32 = exports.u24 = exports.u16 = exports.u8 = exports.offset = exports.greedy = exports.Constant = exports.UTF8 = exports.CString = exports.Blob = exports.Boolean = exports.BitField = exports.BitStructure = exports.VariantLayout = exports.Union = exports.UnionLayoutDiscriminator = exports.UnionDiscriminator = exports.Structure = exports.Sequence = exports.DoubleBE = exports.Double = exports.FloatBE = exports.Float = exports.NearInt64BE = exports.NearInt64 = exports.NearUInt64BE = exports.NearUInt64 = exports.IntBE = exports.Int = exports.UIntBE = exports.UInt = exports.OffsetLayout = exports.GreedyCount = exports.ExternalLayout = exports.bindConstructorLayout = exports.nameWithProperty = exports.Layout = exports.uint8ArrayToBuffer = exports.checkUint8Array = void 0;
      exports.constant = exports.utf8 = exports.cstr = exports.blob = exports.unionLayoutDiscriminator = exports.union = exports.seq = exports.bits = exports.struct = exports.f64be = exports.f64 = exports.f32be = exports.f32 = exports.ns64be = exports.s48be = exports.s40be = exports.s32be = exports.s24be = exports.s16be = exports.ns64 = exports.s48 = exports.s40 = exports.s32 = exports.s24 = void 0;
      var buffer_1 = require_buffer();
      function checkUint8Array(b2) {
        if (!(b2 instanceof Uint8Array)) {
          throw new TypeError("b must be a Uint8Array");
        }
      }
      exports.checkUint8Array = checkUint8Array;
      function uint8ArrayToBuffer(b2) {
        checkUint8Array(b2);
        return buffer_1.Buffer.from(b2.buffer, b2.byteOffset, b2.length);
      }
      exports.uint8ArrayToBuffer = uint8ArrayToBuffer;
      var Layout = class {
        constructor(span, property) {
          if (!Number.isInteger(span)) {
            throw new TypeError("span must be an integer");
          }
          this.span = span;
          this.property = property;
        }
        /** Function to create an Object into which decoded properties will
         * be written.
         *
         * Used only for layouts that {@link Layout#decode|decode} to Object
         * instances, which means:
         * * {@link Structure}
         * * {@link Union}
         * * {@link VariantLayout}
         * * {@link BitStructure}
         *
         * If left undefined the JavaScript representation of these layouts
         * will be Object instances.
         *
         * See {@link bindConstructorLayout}.
         */
        makeDestinationObject() {
          return {};
        }
        /**
         * Calculate the span of a specific instance of a layout.
         *
         * @param {Uint8Array} b - the buffer that contains an encoded instance.
         *
         * @param {Number} [offset] - the offset at which the encoded instance
         * starts.  If absent a zero offset is inferred.
         *
         * @return {Number} - the number of bytes covered by the layout
         * instance.  If this method is not overridden in a subclass the
         * definition-time constant {@link Layout#span|span} will be
         * returned.
         *
         * @throws {RangeError} - if the length of the value cannot be
         * determined.
         */
        getSpan(b2, offset5) {
          if (0 > this.span) {
            throw new RangeError("indeterminate span");
          }
          return this.span;
        }
        /**
         * Replicate the layout using a new property.
         *
         * This function must be used to get a structurally-equivalent layout
         * with a different name since all {@link Layout} instances are
         * immutable.
         *
         * **NOTE** This is a shallow copy.  All fields except {@link
         * Layout#property|property} are strictly equal to the origin layout.
         *
         * @param {String} property - the value for {@link
         * Layout#property|property} in the replica.
         *
         * @returns {Layout} - the copy with {@link Layout#property|property}
         * set to `property`.
         */
        replicate(property) {
          const rv = Object.create(this.constructor.prototype);
          Object.assign(rv, this);
          rv.property = property;
          return rv;
        }
        /**
         * Create an object from layout properties and an array of values.
         *
         * **NOTE** This function returns `undefined` if invoked on a layout
         * that does not return its value as an Object.  Objects are
         * returned for things that are a {@link Structure}, which includes
         * {@link VariantLayout|variant layouts} if they are structures, and
         * excludes {@link Union}s.  If you want this feature for a union
         * you must use {@link Union.getVariant|getVariant} to select the
         * desired layout.
         *
         * @param {Array} values - an array of values that correspond to the
         * default order for properties.  As with {@link Layout#decode|decode}
         * layout elements that have no property name are skipped when
         * iterating over the array values.  Only the top-level properties are
         * assigned; arguments are not assigned to properties of contained
         * layouts.  Any unused values are ignored.
         *
         * @return {(Object|undefined)}
         */
        fromArray(values) {
          return void 0;
        }
      };
      exports.Layout = Layout;
      function nameWithProperty(name, lo) {
        if (lo.property) {
          return name + "[" + lo.property + "]";
        }
        return name;
      }
      exports.nameWithProperty = nameWithProperty;
      function bindConstructorLayout(Class, layout) {
        if ("function" !== typeof Class) {
          throw new TypeError("Class must be constructor");
        }
        if (Object.prototype.hasOwnProperty.call(Class, "layout_")) {
          throw new Error("Class is already bound to a layout");
        }
        if (!(layout && layout instanceof Layout)) {
          throw new TypeError("layout must be a Layout");
        }
        if (Object.prototype.hasOwnProperty.call(layout, "boundConstructor_")) {
          throw new Error("layout is already bound to a constructor");
        }
        Class.layout_ = layout;
        layout.boundConstructor_ = Class;
        layout.makeDestinationObject = (() => new Class());
        Object.defineProperty(Class.prototype, "encode", {
          value(b2, offset5) {
            return layout.encode(this, b2, offset5);
          },
          writable: true
        });
        Object.defineProperty(Class, "decode", {
          value(b2, offset5) {
            return layout.decode(b2, offset5);
          },
          writable: true
        });
      }
      exports.bindConstructorLayout = bindConstructorLayout;
      var ExternalLayout = class extends Layout {
        /**
         * Return `true` iff the external layout decodes to an unsigned
         * integer layout.
         *
         * In that case it can be used as the source of {@link
         * Sequence#count|Sequence counts}, {@link Blob#length|Blob lengths},
         * or as {@link UnionLayoutDiscriminator#layout|external union
         * discriminators}.
         *
         * @abstract
         */
        isCount() {
          throw new Error("ExternalLayout is abstract");
        }
      };
      exports.ExternalLayout = ExternalLayout;
      var GreedyCount = class extends ExternalLayout {
        constructor(elementSpan = 1, property) {
          if (!Number.isInteger(elementSpan) || 0 >= elementSpan) {
            throw new TypeError("elementSpan must be a (positive) integer");
          }
          super(-1, property);
          this.elementSpan = elementSpan;
        }
        /** @override */
        isCount() {
          return true;
        }
        /** @override */
        decode(b2, offset5 = 0) {
          checkUint8Array(b2);
          const rem = b2.length - offset5;
          return Math.floor(rem / this.elementSpan);
        }
        /** @override */
        encode(src, b2, offset5) {
          return 0;
        }
      };
      exports.GreedyCount = GreedyCount;
      var OffsetLayout = class extends ExternalLayout {
        constructor(layout, offset5 = 0, property) {
          if (!(layout instanceof Layout)) {
            throw new TypeError("layout must be a Layout");
          }
          if (!Number.isInteger(offset5)) {
            throw new TypeError("offset must be integer or undefined");
          }
          super(layout.span, property || layout.property);
          this.layout = layout;
          this.offset = offset5;
        }
        /** @override */
        isCount() {
          return this.layout instanceof UInt || this.layout instanceof UIntBE;
        }
        /** @override */
        decode(b2, offset5 = 0) {
          return this.layout.decode(b2, offset5 + this.offset);
        }
        /** @override */
        encode(src, b2, offset5 = 0) {
          return this.layout.encode(src, b2, offset5 + this.offset);
        }
      };
      exports.OffsetLayout = OffsetLayout;
      var UInt = class extends Layout {
        constructor(span, property) {
          super(span, property);
          if (6 < this.span) {
            throw new RangeError("span must not exceed 6 bytes");
          }
        }
        /** @override */
        decode(b2, offset5 = 0) {
          return uint8ArrayToBuffer(b2).readUIntLE(offset5, this.span);
        }
        /** @override */
        encode(src, b2, offset5 = 0) {
          uint8ArrayToBuffer(b2).writeUIntLE(src, offset5, this.span);
          return this.span;
        }
      };
      exports.UInt = UInt;
      var UIntBE = class extends Layout {
        constructor(span, property) {
          super(span, property);
          if (6 < this.span) {
            throw new RangeError("span must not exceed 6 bytes");
          }
        }
        /** @override */
        decode(b2, offset5 = 0) {
          return uint8ArrayToBuffer(b2).readUIntBE(offset5, this.span);
        }
        /** @override */
        encode(src, b2, offset5 = 0) {
          uint8ArrayToBuffer(b2).writeUIntBE(src, offset5, this.span);
          return this.span;
        }
      };
      exports.UIntBE = UIntBE;
      var Int = class extends Layout {
        constructor(span, property) {
          super(span, property);
          if (6 < this.span) {
            throw new RangeError("span must not exceed 6 bytes");
          }
        }
        /** @override */
        decode(b2, offset5 = 0) {
          return uint8ArrayToBuffer(b2).readIntLE(offset5, this.span);
        }
        /** @override */
        encode(src, b2, offset5 = 0) {
          uint8ArrayToBuffer(b2).writeIntLE(src, offset5, this.span);
          return this.span;
        }
      };
      exports.Int = Int;
      var IntBE = class extends Layout {
        constructor(span, property) {
          super(span, property);
          if (6 < this.span) {
            throw new RangeError("span must not exceed 6 bytes");
          }
        }
        /** @override */
        decode(b2, offset5 = 0) {
          return uint8ArrayToBuffer(b2).readIntBE(offset5, this.span);
        }
        /** @override */
        encode(src, b2, offset5 = 0) {
          uint8ArrayToBuffer(b2).writeIntBE(src, offset5, this.span);
          return this.span;
        }
      };
      exports.IntBE = IntBE;
      var V2E32 = Math.pow(2, 32);
      function divmodInt64(src) {
        const hi32 = Math.floor(src / V2E32);
        const lo32 = src - hi32 * V2E32;
        return { hi32, lo32 };
      }
      function roundedInt64(hi32, lo32) {
        return hi32 * V2E32 + lo32;
      }
      var NearUInt64 = class extends Layout {
        constructor(property) {
          super(8, property);
        }
        /** @override */
        decode(b2, offset5 = 0) {
          const buffer = uint8ArrayToBuffer(b2);
          const lo32 = buffer.readUInt32LE(offset5);
          const hi32 = buffer.readUInt32LE(offset5 + 4);
          return roundedInt64(hi32, lo32);
        }
        /** @override */
        encode(src, b2, offset5 = 0) {
          const split3 = divmodInt64(src);
          const buffer = uint8ArrayToBuffer(b2);
          buffer.writeUInt32LE(split3.lo32, offset5);
          buffer.writeUInt32LE(split3.hi32, offset5 + 4);
          return 8;
        }
      };
      exports.NearUInt64 = NearUInt64;
      var NearUInt64BE = class extends Layout {
        constructor(property) {
          super(8, property);
        }
        /** @override */
        decode(b2, offset5 = 0) {
          const buffer = uint8ArrayToBuffer(b2);
          const hi32 = buffer.readUInt32BE(offset5);
          const lo32 = buffer.readUInt32BE(offset5 + 4);
          return roundedInt64(hi32, lo32);
        }
        /** @override */
        encode(src, b2, offset5 = 0) {
          const split3 = divmodInt64(src);
          const buffer = uint8ArrayToBuffer(b2);
          buffer.writeUInt32BE(split3.hi32, offset5);
          buffer.writeUInt32BE(split3.lo32, offset5 + 4);
          return 8;
        }
      };
      exports.NearUInt64BE = NearUInt64BE;
      var NearInt64 = class extends Layout {
        constructor(property) {
          super(8, property);
        }
        /** @override */
        decode(b2, offset5 = 0) {
          const buffer = uint8ArrayToBuffer(b2);
          const lo32 = buffer.readUInt32LE(offset5);
          const hi32 = buffer.readInt32LE(offset5 + 4);
          return roundedInt64(hi32, lo32);
        }
        /** @override */
        encode(src, b2, offset5 = 0) {
          const split3 = divmodInt64(src);
          const buffer = uint8ArrayToBuffer(b2);
          buffer.writeUInt32LE(split3.lo32, offset5);
          buffer.writeInt32LE(split3.hi32, offset5 + 4);
          return 8;
        }
      };
      exports.NearInt64 = NearInt64;
      var NearInt64BE = class extends Layout {
        constructor(property) {
          super(8, property);
        }
        /** @override */
        decode(b2, offset5 = 0) {
          const buffer = uint8ArrayToBuffer(b2);
          const hi32 = buffer.readInt32BE(offset5);
          const lo32 = buffer.readUInt32BE(offset5 + 4);
          return roundedInt64(hi32, lo32);
        }
        /** @override */
        encode(src, b2, offset5 = 0) {
          const split3 = divmodInt64(src);
          const buffer = uint8ArrayToBuffer(b2);
          buffer.writeInt32BE(split3.hi32, offset5);
          buffer.writeUInt32BE(split3.lo32, offset5 + 4);
          return 8;
        }
      };
      exports.NearInt64BE = NearInt64BE;
      var Float = class extends Layout {
        constructor(property) {
          super(4, property);
        }
        /** @override */
        decode(b2, offset5 = 0) {
          return uint8ArrayToBuffer(b2).readFloatLE(offset5);
        }
        /** @override */
        encode(src, b2, offset5 = 0) {
          uint8ArrayToBuffer(b2).writeFloatLE(src, offset5);
          return 4;
        }
      };
      exports.Float = Float;
      var FloatBE = class extends Layout {
        constructor(property) {
          super(4, property);
        }
        /** @override */
        decode(b2, offset5 = 0) {
          return uint8ArrayToBuffer(b2).readFloatBE(offset5);
        }
        /** @override */
        encode(src, b2, offset5 = 0) {
          uint8ArrayToBuffer(b2).writeFloatBE(src, offset5);
          return 4;
        }
      };
      exports.FloatBE = FloatBE;
      var Double = class extends Layout {
        constructor(property) {
          super(8, property);
        }
        /** @override */
        decode(b2, offset5 = 0) {
          return uint8ArrayToBuffer(b2).readDoubleLE(offset5);
        }
        /** @override */
        encode(src, b2, offset5 = 0) {
          uint8ArrayToBuffer(b2).writeDoubleLE(src, offset5);
          return 8;
        }
      };
      exports.Double = Double;
      var DoubleBE = class extends Layout {
        constructor(property) {
          super(8, property);
        }
        /** @override */
        decode(b2, offset5 = 0) {
          return uint8ArrayToBuffer(b2).readDoubleBE(offset5);
        }
        /** @override */
        encode(src, b2, offset5 = 0) {
          uint8ArrayToBuffer(b2).writeDoubleBE(src, offset5);
          return 8;
        }
      };
      exports.DoubleBE = DoubleBE;
      var Sequence = class extends Layout {
        constructor(elementLayout, count2, property) {
          if (!(elementLayout instanceof Layout)) {
            throw new TypeError("elementLayout must be a Layout");
          }
          if (!(count2 instanceof ExternalLayout && count2.isCount() || Number.isInteger(count2) && 0 <= count2)) {
            throw new TypeError("count must be non-negative integer or an unsigned integer ExternalLayout");
          }
          let span = -1;
          if (!(count2 instanceof ExternalLayout) && 0 < elementLayout.span) {
            span = count2 * elementLayout.span;
          }
          super(span, property);
          this.elementLayout = elementLayout;
          this.count = count2;
        }
        /** @override */
        getSpan(b2, offset5 = 0) {
          if (0 <= this.span) {
            return this.span;
          }
          let span = 0;
          let count2 = this.count;
          if (count2 instanceof ExternalLayout) {
            count2 = count2.decode(b2, offset5);
          }
          if (0 < this.elementLayout.span) {
            span = count2 * this.elementLayout.span;
          } else {
            let idx = 0;
            while (idx < count2) {
              span += this.elementLayout.getSpan(b2, offset5 + span);
              ++idx;
            }
          }
          return span;
        }
        /** @override */
        decode(b2, offset5 = 0) {
          const rv = [];
          let i2 = 0;
          let count2 = this.count;
          if (count2 instanceof ExternalLayout) {
            count2 = count2.decode(b2, offset5);
          }
          while (i2 < count2) {
            rv.push(this.elementLayout.decode(b2, offset5));
            offset5 += this.elementLayout.getSpan(b2, offset5);
            i2 += 1;
          }
          return rv;
        }
        /** Implement {@link Layout#encode|encode} for {@link Sequence}.
         *
         * **NOTE** If `src` is shorter than {@link Sequence#count|count} then
         * the unused space in the buffer is left unchanged.  If `src` is
         * longer than {@link Sequence#count|count} the unneeded elements are
         * ignored.
         *
         * **NOTE** If {@link Layout#count|count} is an instance of {@link
         * ExternalLayout} then the length of `src` will be encoded as the
         * count after `src` is encoded. */
        encode(src, b2, offset5 = 0) {
          const elo = this.elementLayout;
          const span = src.reduce((span2, v) => {
            return span2 + elo.encode(v, b2, offset5 + span2);
          }, 0);
          if (this.count instanceof ExternalLayout) {
            this.count.encode(src.length, b2, offset5);
          }
          return span;
        }
      };
      exports.Sequence = Sequence;
      var Structure = class extends Layout {
        constructor(fields, property, decodePrefixes) {
          if (!(Array.isArray(fields) && fields.reduce((acc, v) => acc && v instanceof Layout, true))) {
            throw new TypeError("fields must be array of Layout instances");
          }
          if ("boolean" === typeof property && void 0 === decodePrefixes) {
            decodePrefixes = property;
            property = void 0;
          }
          for (const fd of fields) {
            if (0 > fd.span && void 0 === fd.property) {
              throw new Error("fields cannot contain unnamed variable-length layout");
            }
          }
          let span = -1;
          try {
            span = fields.reduce((span2, fd) => span2 + fd.getSpan(), 0);
          } catch (e3) {
          }
          super(span, property);
          this.fields = fields;
          this.decodePrefixes = !!decodePrefixes;
        }
        /** @override */
        getSpan(b2, offset5 = 0) {
          if (0 <= this.span) {
            return this.span;
          }
          let span = 0;
          try {
            span = this.fields.reduce((span2, fd) => {
              const fsp = fd.getSpan(b2, offset5);
              offset5 += fsp;
              return span2 + fsp;
            }, 0);
          } catch (e3) {
            throw new RangeError("indeterminate span");
          }
          return span;
        }
        /** @override */
        decode(b2, offset5 = 0) {
          checkUint8Array(b2);
          const dest = this.makeDestinationObject();
          for (const fd of this.fields) {
            if (void 0 !== fd.property) {
              dest[fd.property] = fd.decode(b2, offset5);
            }
            offset5 += fd.getSpan(b2, offset5);
            if (this.decodePrefixes && b2.length === offset5) {
              break;
            }
          }
          return dest;
        }
        /** Implement {@link Layout#encode|encode} for {@link Structure}.
         *
         * If `src` is missing a property for a member with a defined {@link
         * Layout#property|property} the corresponding region of the buffer is
         * left unmodified. */
        encode(src, b2, offset5 = 0) {
          const firstOffset = offset5;
          let lastOffset = 0;
          let lastWrote = 0;
          for (const fd of this.fields) {
            let span = fd.span;
            lastWrote = 0 < span ? span : 0;
            if (void 0 !== fd.property) {
              const fv = src[fd.property];
              if (void 0 !== fv) {
                lastWrote = fd.encode(fv, b2, offset5);
                if (0 > span) {
                  span = fd.getSpan(b2, offset5);
                }
              }
            }
            lastOffset = offset5;
            offset5 += span;
          }
          return lastOffset + lastWrote - firstOffset;
        }
        /** @override */
        fromArray(values) {
          const dest = this.makeDestinationObject();
          for (const fd of this.fields) {
            if (void 0 !== fd.property && 0 < values.length) {
              dest[fd.property] = values.shift();
            }
          }
          return dest;
        }
        /**
         * Get access to the layout of a given property.
         *
         * @param {String} property - the structure member of interest.
         *
         * @return {Layout} - the layout associated with `property`, or
         * undefined if there is no such property.
         */
        layoutFor(property) {
          if ("string" !== typeof property) {
            throw new TypeError("property must be string");
          }
          for (const fd of this.fields) {
            if (fd.property === property) {
              return fd;
            }
          }
          return void 0;
        }
        /**
         * Get the offset of a structure member.
         *
         * @param {String} property - the structure member of interest.
         *
         * @return {Number} - the offset in bytes to the start of `property`
         * within the structure, or undefined if `property` is not a field
         * within the structure.  If the property is a member but follows a
         * variable-length structure member a negative number will be
         * returned.
         */
        offsetOf(property) {
          if ("string" !== typeof property) {
            throw new TypeError("property must be string");
          }
          let offset5 = 0;
          for (const fd of this.fields) {
            if (fd.property === property) {
              return offset5;
            }
            if (0 > fd.span) {
              offset5 = -1;
            } else if (0 <= offset5) {
              offset5 += fd.span;
            }
          }
          return void 0;
        }
      };
      exports.Structure = Structure;
      var UnionDiscriminator = class {
        constructor(property) {
          this.property = property;
        }
        /** Analog to {@link Layout#decode|Layout decode} for union discriminators.
         *
         * The implementation of this method need not reference the buffer if
         * variant information is available through other means. */
        decode(b2, offset5) {
          throw new Error("UnionDiscriminator is abstract");
        }
        /** Analog to {@link Layout#decode|Layout encode} for union discriminators.
         *
         * The implementation of this method need not store the value if
         * variant information is maintained through other means. */
        encode(src, b2, offset5) {
          throw new Error("UnionDiscriminator is abstract");
        }
      };
      exports.UnionDiscriminator = UnionDiscriminator;
      var UnionLayoutDiscriminator = class extends UnionDiscriminator {
        constructor(layout, property) {
          if (!(layout instanceof ExternalLayout && layout.isCount())) {
            throw new TypeError("layout must be an unsigned integer ExternalLayout");
          }
          super(property || layout.property || "variant");
          this.layout = layout;
        }
        /** Delegate decoding to {@link UnionLayoutDiscriminator#layout|layout}. */
        decode(b2, offset5) {
          return this.layout.decode(b2, offset5);
        }
        /** Delegate encoding to {@link UnionLayoutDiscriminator#layout|layout}. */
        encode(src, b2, offset5) {
          return this.layout.encode(src, b2, offset5);
        }
      };
      exports.UnionLayoutDiscriminator = UnionLayoutDiscriminator;
      var Union = class extends Layout {
        constructor(discr, defaultLayout, property) {
          let discriminator;
          if (discr instanceof UInt || discr instanceof UIntBE) {
            discriminator = new UnionLayoutDiscriminator(new OffsetLayout(discr));
          } else if (discr instanceof ExternalLayout && discr.isCount()) {
            discriminator = new UnionLayoutDiscriminator(discr);
          } else if (!(discr instanceof UnionDiscriminator)) {
            throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");
          } else {
            discriminator = discr;
          }
          if (void 0 === defaultLayout) {
            defaultLayout = null;
          }
          if (!(null === defaultLayout || defaultLayout instanceof Layout)) {
            throw new TypeError("defaultLayout must be null or a Layout");
          }
          if (null !== defaultLayout) {
            if (0 > defaultLayout.span) {
              throw new Error("defaultLayout must have constant span");
            }
            if (void 0 === defaultLayout.property) {
              defaultLayout = defaultLayout.replicate("content");
            }
          }
          let span = -1;
          if (defaultLayout) {
            span = defaultLayout.span;
            if (0 <= span && (discr instanceof UInt || discr instanceof UIntBE)) {
              span += discriminator.layout.span;
            }
          }
          super(span, property);
          this.discriminator = discriminator;
          this.usesPrefixDiscriminator = discr instanceof UInt || discr instanceof UIntBE;
          this.defaultLayout = defaultLayout;
          this.registry = {};
          let boundGetSourceVariant = this.defaultGetSourceVariant.bind(this);
          this.getSourceVariant = function(src) {
            return boundGetSourceVariant(src);
          };
          this.configGetSourceVariant = function(gsv) {
            boundGetSourceVariant = gsv.bind(this);
          };
        }
        /** @override */
        getSpan(b2, offset5 = 0) {
          if (0 <= this.span) {
            return this.span;
          }
          const vlo = this.getVariant(b2, offset5);
          if (!vlo) {
            throw new Error("unable to determine span for unrecognized variant");
          }
          return vlo.getSpan(b2, offset5);
        }
        /**
         * Method to infer a registered Union variant compatible with `src`.
         *
         * The first satisfied rule in the following sequence defines the
         * return value:
         * * If `src` has properties matching the Union discriminator and
         *   the default layout, `undefined` is returned regardless of the
         *   value of the discriminator property (this ensures the default
         *   layout will be used);
         * * If `src` has a property matching the Union discriminator, the
         *   value of the discriminator identifies a registered variant, and
         *   either (a) the variant has no layout, or (b) `src` has the
         *   variant's property, then the variant is returned (because the
         *   source satisfies the constraints of the variant it identifies);
         * * If `src` does not have a property matching the Union
         *   discriminator, but does have a property matching a registered
         *   variant, then the variant is returned (because the source
         *   matches a variant without an explicit conflict);
         * * An error is thrown (because we either can't identify a variant,
         *   or we were explicitly told the variant but can't satisfy it).
         *
         * @param {Object} src - an object presumed to be compatible with
         * the content of the Union.
         *
         * @return {(undefined|VariantLayout)} - as described above.
         *
         * @throws {Error} - if `src` cannot be associated with a default or
         * registered variant.
         */
        defaultGetSourceVariant(src) {
          if (Object.prototype.hasOwnProperty.call(src, this.discriminator.property)) {
            if (this.defaultLayout && this.defaultLayout.property && Object.prototype.hasOwnProperty.call(src, this.defaultLayout.property)) {
              return void 0;
            }
            const vlo = this.registry[src[this.discriminator.property]];
            if (vlo && (!vlo.layout || vlo.property && Object.prototype.hasOwnProperty.call(src, vlo.property))) {
              return vlo;
            }
          } else {
            for (const tag in this.registry) {
              const vlo = this.registry[tag];
              if (vlo.property && Object.prototype.hasOwnProperty.call(src, vlo.property)) {
                return vlo;
              }
            }
          }
          throw new Error("unable to infer src variant");
        }
        /** Implement {@link Layout#decode|decode} for {@link Union}.
         *
         * If the variant is {@link Union#addVariant|registered} the return
         * value is an instance of that variant, with no explicit
         * discriminator.  Otherwise the {@link Union#defaultLayout|default
         * layout} is used to decode the content. */
        decode(b2, offset5 = 0) {
          let dest;
          const dlo = this.discriminator;
          const discr = dlo.decode(b2, offset5);
          const clo = this.registry[discr];
          if (void 0 === clo) {
            const defaultLayout = this.defaultLayout;
            let contentOffset = 0;
            if (this.usesPrefixDiscriminator) {
              contentOffset = dlo.layout.span;
            }
            dest = this.makeDestinationObject();
            dest[dlo.property] = discr;
            dest[defaultLayout.property] = defaultLayout.decode(b2, offset5 + contentOffset);
          } else {
            dest = clo.decode(b2, offset5);
          }
          return dest;
        }
        /** Implement {@link Layout#encode|encode} for {@link Union}.
         *
         * This API assumes the `src` object is consistent with the union's
         * {@link Union#defaultLayout|default layout}.  To encode variants
         * use the appropriate variant-specific {@link VariantLayout#encode}
         * method. */
        encode(src, b2, offset5 = 0) {
          const vlo = this.getSourceVariant(src);
          if (void 0 === vlo) {
            const dlo = this.discriminator;
            const clo = this.defaultLayout;
            let contentOffset = 0;
            if (this.usesPrefixDiscriminator) {
              contentOffset = dlo.layout.span;
            }
            dlo.encode(src[dlo.property], b2, offset5);
            return contentOffset + clo.encode(src[clo.property], b2, offset5 + contentOffset);
          }
          return vlo.encode(src, b2, offset5);
        }
        /** Register a new variant structure within a union.  The newly
         * created variant is returned.
         *
         * @param {Number} variant - initializer for {@link
         * VariantLayout#variant|variant}.
         *
         * @param {Layout} layout - initializer for {@link
         * VariantLayout#layout|layout}.
         *
         * @param {String} property - initializer for {@link
         * Layout#property|property}.
         *
         * @return {VariantLayout} */
        addVariant(variant, layout, property) {
          const rv = new VariantLayout(this, variant, layout, property);
          this.registry[variant] = rv;
          return rv;
        }
        /**
         * Get the layout associated with a registered variant.
         *
         * If `vb` does not produce a registered variant the function returns
         * `undefined`.
         *
         * @param {(Number|Uint8Array)} vb - either the variant number, or a
         * buffer from which the discriminator is to be read.
         *
         * @param {Number} offset - offset into `vb` for the start of the
         * union.  Used only when `vb` is an instance of {Uint8Array}.
         *
         * @return {({VariantLayout}|undefined)}
         */
        getVariant(vb, offset5 = 0) {
          let variant;
          if (vb instanceof Uint8Array) {
            variant = this.discriminator.decode(vb, offset5);
          } else {
            variant = vb;
          }
          return this.registry[variant];
        }
      };
      exports.Union = Union;
      var VariantLayout = class extends Layout {
        constructor(union2, variant, layout, property) {
          if (!(union2 instanceof Union)) {
            throw new TypeError("union must be a Union");
          }
          if (!Number.isInteger(variant) || 0 > variant) {
            throw new TypeError("variant must be a (non-negative) integer");
          }
          if ("string" === typeof layout && void 0 === property) {
            property = layout;
            layout = null;
          }
          if (layout) {
            if (!(layout instanceof Layout)) {
              throw new TypeError("layout must be a Layout");
            }
            if (null !== union2.defaultLayout && 0 <= layout.span && layout.span > union2.defaultLayout.span) {
              throw new Error("variant span exceeds span of containing union");
            }
            if ("string" !== typeof property) {
              throw new TypeError("variant must have a String property");
            }
          }
          let span = union2.span;
          if (0 > union2.span) {
            span = layout ? layout.span : 0;
            if (0 <= span && union2.usesPrefixDiscriminator) {
              span += union2.discriminator.layout.span;
            }
          }
          super(span, property);
          this.union = union2;
          this.variant = variant;
          this.layout = layout || null;
        }
        /** @override */
        getSpan(b2, offset5 = 0) {
          if (0 <= this.span) {
            return this.span;
          }
          let contentOffset = 0;
          if (this.union.usesPrefixDiscriminator) {
            contentOffset = this.union.discriminator.layout.span;
          }
          let span = 0;
          if (this.layout) {
            span = this.layout.getSpan(b2, offset5 + contentOffset);
          }
          return contentOffset + span;
        }
        /** @override */
        decode(b2, offset5 = 0) {
          const dest = this.makeDestinationObject();
          if (this !== this.union.getVariant(b2, offset5)) {
            throw new Error("variant mismatch");
          }
          let contentOffset = 0;
          if (this.union.usesPrefixDiscriminator) {
            contentOffset = this.union.discriminator.layout.span;
          }
          if (this.layout) {
            dest[this.property] = this.layout.decode(b2, offset5 + contentOffset);
          } else if (this.property) {
            dest[this.property] = true;
          } else if (this.union.usesPrefixDiscriminator) {
            dest[this.union.discriminator.property] = this.variant;
          }
          return dest;
        }
        /** @override */
        encode(src, b2, offset5 = 0) {
          let contentOffset = 0;
          if (this.union.usesPrefixDiscriminator) {
            contentOffset = this.union.discriminator.layout.span;
          }
          if (this.layout && !Object.prototype.hasOwnProperty.call(src, this.property)) {
            throw new TypeError("variant lacks property " + this.property);
          }
          this.union.discriminator.encode(this.variant, b2, offset5);
          let span = contentOffset;
          if (this.layout) {
            this.layout.encode(src[this.property], b2, offset5 + contentOffset);
            span += this.layout.getSpan(b2, offset5 + contentOffset);
            if (0 <= this.union.span && span > this.union.span) {
              throw new Error("encoded variant overruns containing union");
            }
          }
          return span;
        }
        /** Delegate {@link Layout#fromArray|fromArray} to {@link
         * VariantLayout#layout|layout}. */
        fromArray(values) {
          if (this.layout) {
            return this.layout.fromArray(values);
          }
          return void 0;
        }
      };
      exports.VariantLayout = VariantLayout;
      function fixBitwiseResult(v) {
        if (0 > v) {
          v += 4294967296;
        }
        return v;
      }
      var BitStructure = class extends Layout {
        constructor(word, msb, property) {
          if (!(word instanceof UInt || word instanceof UIntBE)) {
            throw new TypeError("word must be a UInt or UIntBE layout");
          }
          if ("string" === typeof msb && void 0 === property) {
            property = msb;
            msb = false;
          }
          if (4 < word.span) {
            throw new RangeError("word cannot exceed 32 bits");
          }
          super(word.span, property);
          this.word = word;
          this.msb = !!msb;
          this.fields = [];
          let value = 0;
          this._packedSetValue = function(v) {
            value = fixBitwiseResult(v);
            return this;
          };
          this._packedGetValue = function() {
            return value;
          };
        }
        /** @override */
        decode(b2, offset5 = 0) {
          const dest = this.makeDestinationObject();
          const value = this.word.decode(b2, offset5);
          this._packedSetValue(value);
          for (const fd of this.fields) {
            if (void 0 !== fd.property) {
              dest[fd.property] = fd.decode(b2);
            }
          }
          return dest;
        }
        /** Implement {@link Layout#encode|encode} for {@link BitStructure}.
         *
         * If `src` is missing a property for a member with a defined {@link
         * Layout#property|property} the corresponding region of the packed
         * value is left unmodified.  Unused bits are also left unmodified. */
        encode(src, b2, offset5 = 0) {
          const value = this.word.decode(b2, offset5);
          this._packedSetValue(value);
          for (const fd of this.fields) {
            if (void 0 !== fd.property) {
              const fv = src[fd.property];
              if (void 0 !== fv) {
                fd.encode(fv);
              }
            }
          }
          return this.word.encode(this._packedGetValue(), b2, offset5);
        }
        /** Register a new bitfield with a containing bit structure.  The
         * resulting bitfield is returned.
         *
         * @param {Number} bits - initializer for {@link BitField#bits|bits}.
         *
         * @param {string} property - initializer for {@link
         * Layout#property|property}.
         *
         * @return {BitField} */
        addField(bits, property) {
          const bf = new BitField(this, bits, property);
          this.fields.push(bf);
          return bf;
        }
        /** As with {@link BitStructure#addField|addField} for single-bit
         * fields with `boolean` value representation.
         *
         * @param {string} property - initializer for {@link
         * Layout#property|property}.
         *
         * @return {Boolean} */
        // `Boolean` conflicts with the native primitive type
        // eslint-disable-next-line @typescript-eslint/ban-types
        addBoolean(property) {
          const bf = new Boolean2(this, property);
          this.fields.push(bf);
          return bf;
        }
        /**
         * Get access to the bit field for a given property.
         *
         * @param {String} property - the bit field of interest.
         *
         * @return {BitField} - the field associated with `property`, or
         * undefined if there is no such property.
         */
        fieldFor(property) {
          if ("string" !== typeof property) {
            throw new TypeError("property must be string");
          }
          for (const fd of this.fields) {
            if (fd.property === property) {
              return fd;
            }
          }
          return void 0;
        }
      };
      exports.BitStructure = BitStructure;
      var BitField = class {
        constructor(container, bits, property) {
          if (!(container instanceof BitStructure)) {
            throw new TypeError("container must be a BitStructure");
          }
          if (!Number.isInteger(bits) || 0 >= bits) {
            throw new TypeError("bits must be positive integer");
          }
          const totalBits = 8 * container.span;
          const usedBits = container.fields.reduce((sum, fd) => sum + fd.bits, 0);
          if (bits + usedBits > totalBits) {
            throw new Error("bits too long for span remainder (" + (totalBits - usedBits) + " of " + totalBits + " remain)");
          }
          this.container = container;
          this.bits = bits;
          this.valueMask = (1 << bits) - 1;
          if (32 === bits) {
            this.valueMask = 4294967295;
          }
          this.start = usedBits;
          if (this.container.msb) {
            this.start = totalBits - usedBits - bits;
          }
          this.wordMask = fixBitwiseResult(this.valueMask << this.start);
          this.property = property;
        }
        /** Store a value into the corresponding subsequence of the containing
         * bit field. */
        decode(b2, offset5) {
          const word = this.container._packedGetValue();
          const wordValue = fixBitwiseResult(word & this.wordMask);
          const value = wordValue >>> this.start;
          return value;
        }
        /** Store a value into the corresponding subsequence of the containing
         * bit field.
         *
         * **NOTE** This is not a specialization of {@link
         * Layout#encode|Layout.encode} and there is no return value. */
        encode(value) {
          if ("number" !== typeof value || !Number.isInteger(value) || value !== fixBitwiseResult(value & this.valueMask)) {
            throw new TypeError(nameWithProperty("BitField.encode", this) + " value must be integer not exceeding " + this.valueMask);
          }
          const word = this.container._packedGetValue();
          const wordValue = fixBitwiseResult(value << this.start);
          this.container._packedSetValue(fixBitwiseResult(word & ~this.wordMask) | wordValue);
        }
      };
      exports.BitField = BitField;
      var Boolean2 = class extends BitField {
        constructor(container, property) {
          super(container, 1, property);
        }
        /** Override {@link BitField#decode|decode} for {@link Boolean|Boolean}.
         *
         * @returns {boolean} */
        decode(b2, offset5) {
          return !!super.decode(b2, offset5);
        }
        /** @override */
        encode(value) {
          if ("boolean" === typeof value) {
            value = +value;
          }
          super.encode(value);
        }
      };
      exports.Boolean = Boolean2;
      var Blob2 = class extends Layout {
        constructor(length2, property) {
          if (!(length2 instanceof ExternalLayout && length2.isCount() || Number.isInteger(length2) && 0 <= length2)) {
            throw new TypeError("length must be positive integer or an unsigned integer ExternalLayout");
          }
          let span = -1;
          if (!(length2 instanceof ExternalLayout)) {
            span = length2;
          }
          super(span, property);
          this.length = length2;
        }
        /** @override */
        getSpan(b2, offset5) {
          let span = this.span;
          if (0 > span) {
            span = this.length.decode(b2, offset5);
          }
          return span;
        }
        /** @override */
        decode(b2, offset5 = 0) {
          let span = this.span;
          if (0 > span) {
            span = this.length.decode(b2, offset5);
          }
          return uint8ArrayToBuffer(b2).slice(offset5, offset5 + span);
        }
        /** Implement {@link Layout#encode|encode} for {@link Blob}.
         *
         * **NOTE** If {@link Layout#count|count} is an instance of {@link
         * ExternalLayout} then the length of `src` will be encoded as the
         * count after `src` is encoded. */
        encode(src, b2, offset5) {
          let span = this.length;
          if (this.length instanceof ExternalLayout) {
            span = src.length;
          }
          if (!(src instanceof Uint8Array && span === src.length)) {
            throw new TypeError(nameWithProperty("Blob.encode", this) + " requires (length " + span + ") Uint8Array as src");
          }
          if (offset5 + span > b2.length) {
            throw new RangeError("encoding overruns Uint8Array");
          }
          const srcBuffer = uint8ArrayToBuffer(src);
          uint8ArrayToBuffer(b2).write(srcBuffer.toString("hex"), offset5, span, "hex");
          if (this.length instanceof ExternalLayout) {
            this.length.encode(span, b2, offset5);
          }
          return span;
        }
      };
      exports.Blob = Blob2;
      var CString = class extends Layout {
        constructor(property) {
          super(-1, property);
        }
        /** @override */
        getSpan(b2, offset5 = 0) {
          checkUint8Array(b2);
          let idx = offset5;
          while (idx < b2.length && 0 !== b2[idx]) {
            idx += 1;
          }
          return 1 + idx - offset5;
        }
        /** @override */
        decode(b2, offset5 = 0) {
          const span = this.getSpan(b2, offset5);
          return uint8ArrayToBuffer(b2).slice(offset5, offset5 + span - 1).toString("utf-8");
        }
        /** @override */
        encode(src, b2, offset5 = 0) {
          if ("string" !== typeof src) {
            src = String(src);
          }
          const srcb = buffer_1.Buffer.from(src, "utf8");
          const span = srcb.length;
          if (offset5 + span > b2.length) {
            throw new RangeError("encoding overruns Buffer");
          }
          const buffer = uint8ArrayToBuffer(b2);
          srcb.copy(buffer, offset5);
          buffer[offset5 + span] = 0;
          return span + 1;
        }
      };
      exports.CString = CString;
      var UTF8 = class extends Layout {
        constructor(maxSpan, property) {
          if ("string" === typeof maxSpan && void 0 === property) {
            property = maxSpan;
            maxSpan = void 0;
          }
          if (void 0 === maxSpan) {
            maxSpan = -1;
          } else if (!Number.isInteger(maxSpan)) {
            throw new TypeError("maxSpan must be an integer");
          }
          super(-1, property);
          this.maxSpan = maxSpan;
        }
        /** @override */
        getSpan(b2, offset5 = 0) {
          checkUint8Array(b2);
          return b2.length - offset5;
        }
        /** @override */
        decode(b2, offset5 = 0) {
          const span = this.getSpan(b2, offset5);
          if (0 <= this.maxSpan && this.maxSpan < span) {
            throw new RangeError("text length exceeds maxSpan");
          }
          return uint8ArrayToBuffer(b2).slice(offset5, offset5 + span).toString("utf-8");
        }
        /** @override */
        encode(src, b2, offset5 = 0) {
          if ("string" !== typeof src) {
            src = String(src);
          }
          const srcb = buffer_1.Buffer.from(src, "utf8");
          const span = srcb.length;
          if (0 <= this.maxSpan && this.maxSpan < span) {
            throw new RangeError("text length exceeds maxSpan");
          }
          if (offset5 + span > b2.length) {
            throw new RangeError("encoding overruns Buffer");
          }
          srcb.copy(uint8ArrayToBuffer(b2), offset5);
          return span;
        }
      };
      exports.UTF8 = UTF8;
      var Constant = class extends Layout {
        constructor(value, property) {
          super(0, property);
          this.value = value;
        }
        /** @override */
        decode(b2, offset5) {
          return this.value;
        }
        /** @override */
        encode(src, b2, offset5) {
          return 0;
        }
      };
      exports.Constant = Constant;
      exports.greedy = ((elementSpan, property) => new GreedyCount(elementSpan, property));
      exports.offset = ((layout, offset5, property) => new OffsetLayout(layout, offset5, property));
      exports.u8 = ((property) => new UInt(1, property));
      exports.u16 = ((property) => new UInt(2, property));
      exports.u24 = ((property) => new UInt(3, property));
      exports.u32 = ((property) => new UInt(4, property));
      exports.u40 = ((property) => new UInt(5, property));
      exports.u48 = ((property) => new UInt(6, property));
      exports.nu64 = ((property) => new NearUInt64(property));
      exports.u16be = ((property) => new UIntBE(2, property));
      exports.u24be = ((property) => new UIntBE(3, property));
      exports.u32be = ((property) => new UIntBE(4, property));
      exports.u40be = ((property) => new UIntBE(5, property));
      exports.u48be = ((property) => new UIntBE(6, property));
      exports.nu64be = ((property) => new NearUInt64BE(property));
      exports.s8 = ((property) => new Int(1, property));
      exports.s16 = ((property) => new Int(2, property));
      exports.s24 = ((property) => new Int(3, property));
      exports.s32 = ((property) => new Int(4, property));
      exports.s40 = ((property) => new Int(5, property));
      exports.s48 = ((property) => new Int(6, property));
      exports.ns64 = ((property) => new NearInt64(property));
      exports.s16be = ((property) => new IntBE(2, property));
      exports.s24be = ((property) => new IntBE(3, property));
      exports.s32be = ((property) => new IntBE(4, property));
      exports.s40be = ((property) => new IntBE(5, property));
      exports.s48be = ((property) => new IntBE(6, property));
      exports.ns64be = ((property) => new NearInt64BE(property));
      exports.f32 = ((property) => new Float(property));
      exports.f32be = ((property) => new FloatBE(property));
      exports.f64 = ((property) => new Double(property));
      exports.f64be = ((property) => new DoubleBE(property));
      exports.struct = ((fields, property, decodePrefixes) => new Structure(fields, property, decodePrefixes));
      exports.bits = ((word, msb, property) => new BitStructure(word, msb, property));
      exports.seq = ((elementLayout, count2, property) => new Sequence(elementLayout, count2, property));
      exports.union = ((discr, defaultLayout, property) => new Union(discr, defaultLayout, property));
      exports.unionLayoutDiscriminator = ((layout, property) => new UnionLayoutDiscriminator(layout, property));
      exports.blob = ((length2, property) => new Blob2(length2, property));
      exports.cstr = ((property) => new CString(property));
      exports.utf8 = ((maxSpan, property) => new UTF8(maxSpan, property));
      exports.constant = ((value, property) => new Constant(value, property));
    }
  });

  // node_modules/@solana/web3.js/node_modules/@solana/errors/dist/index.browser.mjs
  function getHumanReadableErrorMessage(code, context = {}) {
    const messageFormatString = SolanaErrorMessages[code];
    if (messageFormatString.length === 0) {
      return "";
    }
    let state;
    function commitStateUpTo(endIndex) {
      if (state[TYPE] === 2) {
        const variableName = messageFormatString.slice(state[START_INDEX] + 1, endIndex);
        fragments.push(
          variableName in context ? (
            // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
            `${context[variableName]}`
          ) : `$${variableName}`
        );
      } else if (state[TYPE] === 1) {
        fragments.push(messageFormatString.slice(state[START_INDEX], endIndex));
      }
    }
    const fragments = [];
    messageFormatString.split("").forEach((char2, ii) => {
      if (ii === 0) {
        state = {
          [START_INDEX]: 0,
          [TYPE]: messageFormatString[0] === "\\" ? 0 : messageFormatString[0] === "$" ? 2 : 1
          /* Text */
        };
        return;
      }
      let nextState;
      switch (state[TYPE]) {
        case 0:
          nextState = {
            [START_INDEX]: ii,
            [TYPE]: 1
            /* Text */
          };
          break;
        case 1:
          if (char2 === "\\") {
            nextState = {
              [START_INDEX]: ii,
              [TYPE]: 0
              /* EscapeSequence */
            };
          } else if (char2 === "$") {
            nextState = {
              [START_INDEX]: ii,
              [TYPE]: 2
              /* Variable */
            };
          }
          break;
        case 2:
          if (char2 === "\\") {
            nextState = {
              [START_INDEX]: ii,
              [TYPE]: 0
              /* EscapeSequence */
            };
          } else if (char2 === "$") {
            nextState = {
              [START_INDEX]: ii,
              [TYPE]: 2
              /* Variable */
            };
          } else if (!char2.match(/\w/)) {
            nextState = {
              [START_INDEX]: ii,
              [TYPE]: 1
              /* Text */
            };
          }
          break;
      }
      if (nextState) {
        if (state !== nextState) {
          commitStateUpTo(ii);
        }
        state = nextState;
      }
    });
    commitStateUpTo();
    return fragments.join("");
  }
  function getErrorMessage(code, context = {}) {
    if (true) {
      return getHumanReadableErrorMessage(code, context);
    } else {
      let decodingAdviceMessage = `Solana error #${code}; Decode this error by running \`npx @solana/errors decode -- ${code}`;
      if (Object.keys(context).length) {
        decodingAdviceMessage += ` '${encodeContextObject(context)}'`;
      }
      return `${decodingAdviceMessage}\``;
    }
  }
  var SOLANA_ERROR__BLOCK_HEIGHT_EXCEEDED, SOLANA_ERROR__INVALID_NONCE, SOLANA_ERROR__NONCE_ACCOUNT_NOT_FOUND, SOLANA_ERROR__BLOCKHASH_STRING_LENGTH_OUT_OF_RANGE, SOLANA_ERROR__INVALID_BLOCKHASH_BYTE_LENGTH, SOLANA_ERROR__LAMPORTS_OUT_OF_RANGE, SOLANA_ERROR__MALFORMED_BIGINT_STRING, SOLANA_ERROR__MALFORMED_NUMBER_STRING, SOLANA_ERROR__TIMESTAMP_OUT_OF_RANGE, SOLANA_ERROR__MALFORMED_JSON_RPC_ERROR, SOLANA_ERROR__JSON_RPC__PARSE_ERROR, SOLANA_ERROR__JSON_RPC__INTERNAL_ERROR, SOLANA_ERROR__JSON_RPC__INVALID_PARAMS, SOLANA_ERROR__JSON_RPC__METHOD_NOT_FOUND, SOLANA_ERROR__JSON_RPC__INVALID_REQUEST, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHED, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_UNSUPPORTED_TRANSACTION_VERSION, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_STATUS_NOT_AVAILABLE_YET, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_SIGNATURE_LEN_MISMATCH, SOLANA_ERROR__JSON_RPC__SCAN_ERROR, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_HISTORY_NOT_AVAILABLE, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_NO_SNAPSHOT, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SLOT_SKIPPED, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_PRECOMPILE_VERIFICATION_FAILURE, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_NODE_UNHEALTHY, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_NOT_AVAILABLE, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_SIGNATURE_VERIFICATION_FAILURE, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE, SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_CLEANED_UP, SOLANA_ERROR__ADDRESSES__INVALID_BYTE_LENGTH, SOLANA_ERROR__ADDRESSES__STRING_LENGTH_OUT_OF_RANGE, SOLANA_ERROR__ADDRESSES__INVALID_BASE58_ENCODED_ADDRESS, SOLANA_ERROR__ADDRESSES__INVALID_ED25519_PUBLIC_KEY, SOLANA_ERROR__ADDRESSES__MALFORMED_PDA, SOLANA_ERROR__ADDRESSES__PDA_BUMP_SEED_OUT_OF_RANGE, SOLANA_ERROR__ADDRESSES__MAX_NUMBER_OF_PDA_SEEDS_EXCEEDED, SOLANA_ERROR__ADDRESSES__MAX_PDA_SEED_LENGTH_EXCEEDED, SOLANA_ERROR__ADDRESSES__INVALID_SEEDS_POINT_ON_CURVE, SOLANA_ERROR__ADDRESSES__FAILED_TO_FIND_VIABLE_PDA_BUMP_SEED, SOLANA_ERROR__ADDRESSES__PDA_ENDS_WITH_PDA_MARKER, SOLANA_ERROR__ADDRESSES__INVALID_OFF_CURVE_ADDRESS, SOLANA_ERROR__ACCOUNTS__ACCOUNT_NOT_FOUND, SOLANA_ERROR__ACCOUNTS__ONE_OR_MORE_ACCOUNTS_NOT_FOUND, SOLANA_ERROR__ACCOUNTS__FAILED_TO_DECODE_ACCOUNT, SOLANA_ERROR__ACCOUNTS__EXPECTED_DECODED_ACCOUNT, SOLANA_ERROR__ACCOUNTS__EXPECTED_ALL_ACCOUNTS_TO_BE_DECODED, SOLANA_ERROR__SUBTLE_CRYPTO__DISALLOWED_IN_INSECURE_CONTEXT, SOLANA_ERROR__SUBTLE_CRYPTO__DIGEST_UNIMPLEMENTED, SOLANA_ERROR__SUBTLE_CRYPTO__ED25519_ALGORITHM_UNIMPLEMENTED, SOLANA_ERROR__SUBTLE_CRYPTO__EXPORT_FUNCTION_UNIMPLEMENTED, SOLANA_ERROR__SUBTLE_CRYPTO__GENERATE_FUNCTION_UNIMPLEMENTED, SOLANA_ERROR__SUBTLE_CRYPTO__SIGN_FUNCTION_UNIMPLEMENTED, SOLANA_ERROR__SUBTLE_CRYPTO__VERIFY_FUNCTION_UNIMPLEMENTED, SOLANA_ERROR__SUBTLE_CRYPTO__CANNOT_EXPORT_NON_EXTRACTABLE_KEY, SOLANA_ERROR__CRYPTO__RANDOM_VALUES_FUNCTION_UNIMPLEMENTED, SOLANA_ERROR__KEYS__INVALID_KEY_PAIR_BYTE_LENGTH, SOLANA_ERROR__KEYS__INVALID_PRIVATE_KEY_BYTE_LENGTH, SOLANA_ERROR__KEYS__INVALID_SIGNATURE_BYTE_LENGTH, SOLANA_ERROR__KEYS__SIGNATURE_STRING_LENGTH_OUT_OF_RANGE, SOLANA_ERROR__KEYS__PUBLIC_KEY_MUST_MATCH_PRIVATE_KEY, SOLANA_ERROR__INSTRUCTION__EXPECTED_TO_HAVE_ACCOUNTS, SOLANA_ERROR__INSTRUCTION__EXPECTED_TO_HAVE_DATA, SOLANA_ERROR__INSTRUCTION__PROGRAM_ID_MISMATCH, SOLANA_ERROR__INSTRUCTION_ERROR__UNKNOWN, SOLANA_ERROR__INSTRUCTION_ERROR__GENERIC_ERROR, SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ARGUMENT, SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_INSTRUCTION_DATA, SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ACCOUNT_DATA, SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_DATA_TOO_SMALL, SOLANA_ERROR__INSTRUCTION_ERROR__INSUFFICIENT_FUNDS, SOLANA_ERROR__INSTRUCTION_ERROR__INCORRECT_PROGRAM_ID, SOLANA_ERROR__INSTRUCTION_ERROR__MISSING_REQUIRED_SIGNATURE, SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_ALREADY_INITIALIZED, SOLANA_ERROR__INSTRUCTION_ERROR__UNINITIALIZED_ACCOUNT, SOLANA_ERROR__INSTRUCTION_ERROR__UNBALANCED_INSTRUCTION, SOLANA_ERROR__INSTRUCTION_ERROR__MODIFIED_PROGRAM_ID, SOLANA_ERROR__INSTRUCTION_ERROR__EXTERNAL_ACCOUNT_LAMPORT_SPEND, SOLANA_ERROR__INSTRUCTION_ERROR__EXTERNAL_ACCOUNT_DATA_MODIFIED, SOLANA_ERROR__INSTRUCTION_ERROR__READONLY_LAMPORT_CHANGE, SOLANA_ERROR__INSTRUCTION_ERROR__READONLY_DATA_MODIFIED, SOLANA_ERROR__INSTRUCTION_ERROR__DUPLICATE_ACCOUNT_INDEX, SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_MODIFIED, SOLANA_ERROR__INSTRUCTION_ERROR__RENT_EPOCH_MODIFIED, SOLANA_ERROR__INSTRUCTION_ERROR__NOT_ENOUGH_ACCOUNT_KEYS, SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_DATA_SIZE_CHANGED, SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_NOT_EXECUTABLE, SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_BORROW_FAILED, SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_BORROW_OUTSTANDING, SOLANA_ERROR__INSTRUCTION_ERROR__DUPLICATE_ACCOUNT_OUT_OF_SYNC, SOLANA_ERROR__INSTRUCTION_ERROR__CUSTOM, SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ERROR, SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_DATA_MODIFIED, SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_LAMPORT_CHANGE, SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_ACCOUNT_NOT_RENT_EXEMPT, SOLANA_ERROR__INSTRUCTION_ERROR__UNSUPPORTED_PROGRAM_ID, SOLANA_ERROR__INSTRUCTION_ERROR__CALL_DEPTH, SOLANA_ERROR__INSTRUCTION_ERROR__MISSING_ACCOUNT, SOLANA_ERROR__INSTRUCTION_ERROR__REENTRANCY_NOT_ALLOWED, SOLANA_ERROR__INSTRUCTION_ERROR__MAX_SEED_LENGTH_EXCEEDED, SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_SEEDS, SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_REALLOC, SOLANA_ERROR__INSTRUCTION_ERROR__COMPUTATIONAL_BUDGET_EXCEEDED, SOLANA_ERROR__INSTRUCTION_ERROR__PRIVILEGE_ESCALATION, SOLANA_ERROR__INSTRUCTION_ERROR__PROGRAM_ENVIRONMENT_SETUP_FAILURE, SOLANA_ERROR__INSTRUCTION_ERROR__PROGRAM_FAILED_TO_COMPLETE, SOLANA_ERROR__INSTRUCTION_ERROR__PROGRAM_FAILED_TO_COMPILE, SOLANA_ERROR__INSTRUCTION_ERROR__IMMUTABLE, SOLANA_ERROR__INSTRUCTION_ERROR__INCORRECT_AUTHORITY, SOLANA_ERROR__INSTRUCTION_ERROR__BORSH_IO_ERROR, SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_NOT_RENT_EXEMPT, SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ACCOUNT_OWNER, SOLANA_ERROR__INSTRUCTION_ERROR__ARITHMETIC_OVERFLOW, SOLANA_ERROR__INSTRUCTION_ERROR__UNSUPPORTED_SYSVAR, SOLANA_ERROR__INSTRUCTION_ERROR__ILLEGAL_OWNER, SOLANA_ERROR__INSTRUCTION_ERROR__MAX_ACCOUNTS_DATA_ALLOCATIONS_EXCEEDED, SOLANA_ERROR__INSTRUCTION_ERROR__MAX_ACCOUNTS_EXCEEDED, SOLANA_ERROR__INSTRUCTION_ERROR__MAX_INSTRUCTION_TRACE_LENGTH_EXCEEDED, SOLANA_ERROR__INSTRUCTION_ERROR__BUILTIN_PROGRAMS_MUST_CONSUME_COMPUTE_UNITS, SOLANA_ERROR__SIGNER__ADDRESS_CANNOT_HAVE_MULTIPLE_SIGNERS, SOLANA_ERROR__SIGNER__EXPECTED_KEY_PAIR_SIGNER, SOLANA_ERROR__SIGNER__EXPECTED_MESSAGE_SIGNER, SOLANA_ERROR__SIGNER__EXPECTED_MESSAGE_MODIFYING_SIGNER, SOLANA_ERROR__SIGNER__EXPECTED_MESSAGE_PARTIAL_SIGNER, SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_SIGNER, SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_MODIFYING_SIGNER, SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_PARTIAL_SIGNER, SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_SENDING_SIGNER, SOLANA_ERROR__SIGNER__TRANSACTION_CANNOT_HAVE_MULTIPLE_SENDING_SIGNERS, SOLANA_ERROR__SIGNER__TRANSACTION_SENDING_SIGNER_MISSING, SOLANA_ERROR__SIGNER__WALLET_MULTISIGN_UNIMPLEMENTED, SOLANA_ERROR__TRANSACTION__INVOKED_PROGRAMS_CANNOT_PAY_FEES, SOLANA_ERROR__TRANSACTION__INVOKED_PROGRAMS_MUST_NOT_BE_WRITABLE, SOLANA_ERROR__TRANSACTION__EXPECTED_BLOCKHASH_LIFETIME, SOLANA_ERROR__TRANSACTION__EXPECTED_NONCE_LIFETIME, SOLANA_ERROR__TRANSACTION__VERSION_NUMBER_OUT_OF_RANGE, SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_ADDRESS_LOOKUP_TABLE_CONTENTS_MISSING, SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_ADDRESS_LOOKUP_TABLE_INDEX_OUT_OF_RANGE, SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_INSTRUCTION_PROGRAM_ADDRESS_NOT_FOUND, SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_FEE_PAYER_MISSING, SOLANA_ERROR__TRANSACTION__SIGNATURES_MISSING, SOLANA_ERROR__TRANSACTION__ADDRESS_MISSING, SOLANA_ERROR__TRANSACTION__FEE_PAYER_MISSING, SOLANA_ERROR__TRANSACTION__FEE_PAYER_SIGNATURE_MISSING, SOLANA_ERROR__TRANSACTION__INVALID_NONCE_TRANSACTION_INSTRUCTIONS_MISSING, SOLANA_ERROR__TRANSACTION__INVALID_NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE, SOLANA_ERROR__TRANSACTION__ADDRESSES_CANNOT_SIGN_TRANSACTION, SOLANA_ERROR__TRANSACTION__CANNOT_ENCODE_WITH_EMPTY_SIGNATURES, SOLANA_ERROR__TRANSACTION__MESSAGE_SIGNATURES_MISMATCH, SOLANA_ERROR__TRANSACTION__FAILED_TO_ESTIMATE_COMPUTE_LIMIT, SOLANA_ERROR__TRANSACTION__FAILED_WHEN_SIMULATING_TO_ESTIMATE_COMPUTE_LIMIT, SOLANA_ERROR__TRANSACTION__EXCEEDS_SIZE_LIMIT, SOLANA_ERROR__TRANSACTION_ERROR__UNKNOWN, SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_IN_USE, SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_LOADED_TWICE, SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_NOT_FOUND, SOLANA_ERROR__TRANSACTION_ERROR__PROGRAM_ACCOUNT_NOT_FOUND, SOLANA_ERROR__TRANSACTION_ERROR__INSUFFICIENT_FUNDS_FOR_FEE, SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ACCOUNT_FOR_FEE, SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED, SOLANA_ERROR__TRANSACTION_ERROR__BLOCKHASH_NOT_FOUND, SOLANA_ERROR__TRANSACTION_ERROR__CALL_CHAIN_TOO_DEEP, SOLANA_ERROR__TRANSACTION_ERROR__MISSING_SIGNATURE_FOR_FEE, SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ACCOUNT_INDEX, SOLANA_ERROR__TRANSACTION_ERROR__SIGNATURE_FAILURE, SOLANA_ERROR__TRANSACTION_ERROR__INVALID_PROGRAM_FOR_EXECUTION, SOLANA_ERROR__TRANSACTION_ERROR__SANITIZE_FAILURE, SOLANA_ERROR__TRANSACTION_ERROR__CLUSTER_MAINTENANCE, SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_BORROW_OUTSTANDING, SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_MAX_BLOCK_COST_LIMIT, SOLANA_ERROR__TRANSACTION_ERROR__UNSUPPORTED_VERSION, SOLANA_ERROR__TRANSACTION_ERROR__INVALID_WRITABLE_ACCOUNT, SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_MAX_ACCOUNT_COST_LIMIT, SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_ACCOUNT_DATA_BLOCK_LIMIT, SOLANA_ERROR__TRANSACTION_ERROR__TOO_MANY_ACCOUNT_LOCKS, SOLANA_ERROR__TRANSACTION_ERROR__ADDRESS_LOOKUP_TABLE_NOT_FOUND, SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_OWNER, SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_DATA, SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_INDEX, SOLANA_ERROR__TRANSACTION_ERROR__INVALID_RENT_PAYING_ACCOUNT, SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_MAX_VOTE_COST_LIMIT, SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_ACCOUNT_DATA_TOTAL_LIMIT, SOLANA_ERROR__TRANSACTION_ERROR__DUPLICATE_INSTRUCTION, SOLANA_ERROR__TRANSACTION_ERROR__INSUFFICIENT_FUNDS_FOR_RENT, SOLANA_ERROR__TRANSACTION_ERROR__MAX_LOADED_ACCOUNTS_DATA_SIZE_EXCEEDED, SOLANA_ERROR__TRANSACTION_ERROR__INVALID_LOADED_ACCOUNTS_DATA_SIZE_LIMIT, SOLANA_ERROR__TRANSACTION_ERROR__RESANITIZATION_NEEDED, SOLANA_ERROR__TRANSACTION_ERROR__PROGRAM_EXECUTION_TEMPORARILY_RESTRICTED, SOLANA_ERROR__TRANSACTION_ERROR__UNBALANCED_TRANSACTION, SOLANA_ERROR__CODECS__CANNOT_DECODE_EMPTY_BYTE_ARRAY, SOLANA_ERROR__CODECS__INVALID_BYTE_LENGTH, SOLANA_ERROR__CODECS__EXPECTED_FIXED_LENGTH, SOLANA_ERROR__CODECS__EXPECTED_VARIABLE_LENGTH, SOLANA_ERROR__CODECS__ENCODER_DECODER_SIZE_COMPATIBILITY_MISMATCH, SOLANA_ERROR__CODECS__ENCODER_DECODER_FIXED_SIZE_MISMATCH, SOLANA_ERROR__CODECS__ENCODER_DECODER_MAX_SIZE_MISMATCH, SOLANA_ERROR__CODECS__INVALID_NUMBER_OF_ITEMS, SOLANA_ERROR__CODECS__ENUM_DISCRIMINATOR_OUT_OF_RANGE, SOLANA_ERROR__CODECS__INVALID_DISCRIMINATED_UNION_VARIANT, SOLANA_ERROR__CODECS__INVALID_ENUM_VARIANT, SOLANA_ERROR__CODECS__NUMBER_OUT_OF_RANGE, SOLANA_ERROR__CODECS__INVALID_STRING_FOR_BASE, SOLANA_ERROR__CODECS__EXPECTED_POSITIVE_BYTE_LENGTH, SOLANA_ERROR__CODECS__OFFSET_OUT_OF_RANGE, SOLANA_ERROR__CODECS__INVALID_LITERAL_UNION_VARIANT, SOLANA_ERROR__CODECS__LITERAL_UNION_DISCRIMINATOR_OUT_OF_RANGE, SOLANA_ERROR__CODECS__UNION_VARIANT_OUT_OF_RANGE, SOLANA_ERROR__CODECS__INVALID_CONSTANT, SOLANA_ERROR__CODECS__EXPECTED_ZERO_VALUE_TO_MATCH_ITEM_FIXED_SIZE, SOLANA_ERROR__CODECS__ENCODED_BYTES_MUST_NOT_INCLUDE_SENTINEL, SOLANA_ERROR__CODECS__SENTINEL_MISSING_IN_DECODED_BYTES, SOLANA_ERROR__CODECS__CANNOT_USE_LEXICAL_VALUES_AS_ENUM_DISCRIMINATORS, SOLANA_ERROR__RPC__INTEGER_OVERFLOW, SOLANA_ERROR__RPC__TRANSPORT_HTTP_HEADER_FORBIDDEN, SOLANA_ERROR__RPC__TRANSPORT_HTTP_ERROR, SOLANA_ERROR__RPC__API_PLAN_MISSING_FOR_RPC_METHOD, SOLANA_ERROR__RPC_SUBSCRIPTIONS__CANNOT_CREATE_SUBSCRIPTION_PLAN, SOLANA_ERROR__RPC_SUBSCRIPTIONS__EXPECTED_SERVER_SUBSCRIPTION_ID, SOLANA_ERROR__RPC_SUBSCRIPTIONS__CHANNEL_CLOSED_BEFORE_MESSAGE_BUFFERED, SOLANA_ERROR__RPC_SUBSCRIPTIONS__CHANNEL_CONNECTION_CLOSED, SOLANA_ERROR__RPC_SUBSCRIPTIONS__CHANNEL_FAILED_TO_CONNECT, SOLANA_ERROR__INVARIANT_VIOLATION__SUBSCRIPTION_ITERATOR_STATE_MISSING, SOLANA_ERROR__INVARIANT_VIOLATION__SUBSCRIPTION_ITERATOR_MUST_NOT_POLL_BEFORE_RESOLVING_EXISTING_MESSAGE_PROMISE, SOLANA_ERROR__INVARIANT_VIOLATION__CACHED_ABORTABLE_ITERABLE_CACHE_ENTRY_MISSING, SOLANA_ERROR__INVARIANT_VIOLATION__SWITCH_MUST_BE_EXHAUSTIVE, SOLANA_ERROR__INVARIANT_VIOLATION__DATA_PUBLISHER_CHANNEL_UNIMPLEMENTED, SolanaErrorMessages, START_INDEX, TYPE, SolanaError;
  var init_index_browser = __esm({
    "node_modules/@solana/web3.js/node_modules/@solana/errors/dist/index.browser.mjs"() {
      SOLANA_ERROR__BLOCK_HEIGHT_EXCEEDED = 1;
      SOLANA_ERROR__INVALID_NONCE = 2;
      SOLANA_ERROR__NONCE_ACCOUNT_NOT_FOUND = 3;
      SOLANA_ERROR__BLOCKHASH_STRING_LENGTH_OUT_OF_RANGE = 4;
      SOLANA_ERROR__INVALID_BLOCKHASH_BYTE_LENGTH = 5;
      SOLANA_ERROR__LAMPORTS_OUT_OF_RANGE = 6;
      SOLANA_ERROR__MALFORMED_BIGINT_STRING = 7;
      SOLANA_ERROR__MALFORMED_NUMBER_STRING = 8;
      SOLANA_ERROR__TIMESTAMP_OUT_OF_RANGE = 9;
      SOLANA_ERROR__MALFORMED_JSON_RPC_ERROR = 10;
      SOLANA_ERROR__JSON_RPC__PARSE_ERROR = -32700;
      SOLANA_ERROR__JSON_RPC__INTERNAL_ERROR = -32603;
      SOLANA_ERROR__JSON_RPC__INVALID_PARAMS = -32602;
      SOLANA_ERROR__JSON_RPC__METHOD_NOT_FOUND = -32601;
      SOLANA_ERROR__JSON_RPC__INVALID_REQUEST = -32600;
      SOLANA_ERROR__JSON_RPC__SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHED = -32016;
      SOLANA_ERROR__JSON_RPC__SERVER_ERROR_UNSUPPORTED_TRANSACTION_VERSION = -32015;
      SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_STATUS_NOT_AVAILABLE_YET = -32014;
      SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_SIGNATURE_LEN_MISMATCH = -32013;
      SOLANA_ERROR__JSON_RPC__SCAN_ERROR = -32012;
      SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_HISTORY_NOT_AVAILABLE = -32011;
      SOLANA_ERROR__JSON_RPC__SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX = -32010;
      SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED = -32009;
      SOLANA_ERROR__JSON_RPC__SERVER_ERROR_NO_SNAPSHOT = -32008;
      SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SLOT_SKIPPED = -32007;
      SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_PRECOMPILE_VERIFICATION_FAILURE = -32006;
      SOLANA_ERROR__JSON_RPC__SERVER_ERROR_NODE_UNHEALTHY = -32005;
      SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_NOT_AVAILABLE = -32004;
      SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_SIGNATURE_VERIFICATION_FAILURE = -32003;
      SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE = -32002;
      SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_CLEANED_UP = -32001;
      SOLANA_ERROR__ADDRESSES__INVALID_BYTE_LENGTH = 28e5;
      SOLANA_ERROR__ADDRESSES__STRING_LENGTH_OUT_OF_RANGE = 2800001;
      SOLANA_ERROR__ADDRESSES__INVALID_BASE58_ENCODED_ADDRESS = 2800002;
      SOLANA_ERROR__ADDRESSES__INVALID_ED25519_PUBLIC_KEY = 2800003;
      SOLANA_ERROR__ADDRESSES__MALFORMED_PDA = 2800004;
      SOLANA_ERROR__ADDRESSES__PDA_BUMP_SEED_OUT_OF_RANGE = 2800005;
      SOLANA_ERROR__ADDRESSES__MAX_NUMBER_OF_PDA_SEEDS_EXCEEDED = 2800006;
      SOLANA_ERROR__ADDRESSES__MAX_PDA_SEED_LENGTH_EXCEEDED = 2800007;
      SOLANA_ERROR__ADDRESSES__INVALID_SEEDS_POINT_ON_CURVE = 2800008;
      SOLANA_ERROR__ADDRESSES__FAILED_TO_FIND_VIABLE_PDA_BUMP_SEED = 2800009;
      SOLANA_ERROR__ADDRESSES__PDA_ENDS_WITH_PDA_MARKER = 2800010;
      SOLANA_ERROR__ADDRESSES__INVALID_OFF_CURVE_ADDRESS = 2800011;
      SOLANA_ERROR__ACCOUNTS__ACCOUNT_NOT_FOUND = 323e4;
      SOLANA_ERROR__ACCOUNTS__ONE_OR_MORE_ACCOUNTS_NOT_FOUND = 32300001;
      SOLANA_ERROR__ACCOUNTS__FAILED_TO_DECODE_ACCOUNT = 3230002;
      SOLANA_ERROR__ACCOUNTS__EXPECTED_DECODED_ACCOUNT = 3230003;
      SOLANA_ERROR__ACCOUNTS__EXPECTED_ALL_ACCOUNTS_TO_BE_DECODED = 3230004;
      SOLANA_ERROR__SUBTLE_CRYPTO__DISALLOWED_IN_INSECURE_CONTEXT = 361e4;
      SOLANA_ERROR__SUBTLE_CRYPTO__DIGEST_UNIMPLEMENTED = 3610001;
      SOLANA_ERROR__SUBTLE_CRYPTO__ED25519_ALGORITHM_UNIMPLEMENTED = 3610002;
      SOLANA_ERROR__SUBTLE_CRYPTO__EXPORT_FUNCTION_UNIMPLEMENTED = 3610003;
      SOLANA_ERROR__SUBTLE_CRYPTO__GENERATE_FUNCTION_UNIMPLEMENTED = 3610004;
      SOLANA_ERROR__SUBTLE_CRYPTO__SIGN_FUNCTION_UNIMPLEMENTED = 3610005;
      SOLANA_ERROR__SUBTLE_CRYPTO__VERIFY_FUNCTION_UNIMPLEMENTED = 3610006;
      SOLANA_ERROR__SUBTLE_CRYPTO__CANNOT_EXPORT_NON_EXTRACTABLE_KEY = 3610007;
      SOLANA_ERROR__CRYPTO__RANDOM_VALUES_FUNCTION_UNIMPLEMENTED = 3611e3;
      SOLANA_ERROR__KEYS__INVALID_KEY_PAIR_BYTE_LENGTH = 3704e3;
      SOLANA_ERROR__KEYS__INVALID_PRIVATE_KEY_BYTE_LENGTH = 3704001;
      SOLANA_ERROR__KEYS__INVALID_SIGNATURE_BYTE_LENGTH = 3704002;
      SOLANA_ERROR__KEYS__SIGNATURE_STRING_LENGTH_OUT_OF_RANGE = 3704003;
      SOLANA_ERROR__KEYS__PUBLIC_KEY_MUST_MATCH_PRIVATE_KEY = 3704004;
      SOLANA_ERROR__INSTRUCTION__EXPECTED_TO_HAVE_ACCOUNTS = 4128e3;
      SOLANA_ERROR__INSTRUCTION__EXPECTED_TO_HAVE_DATA = 4128001;
      SOLANA_ERROR__INSTRUCTION__PROGRAM_ID_MISMATCH = 4128002;
      SOLANA_ERROR__INSTRUCTION_ERROR__UNKNOWN = 4615e3;
      SOLANA_ERROR__INSTRUCTION_ERROR__GENERIC_ERROR = 4615001;
      SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ARGUMENT = 4615002;
      SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_INSTRUCTION_DATA = 4615003;
      SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ACCOUNT_DATA = 4615004;
      SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_DATA_TOO_SMALL = 4615005;
      SOLANA_ERROR__INSTRUCTION_ERROR__INSUFFICIENT_FUNDS = 4615006;
      SOLANA_ERROR__INSTRUCTION_ERROR__INCORRECT_PROGRAM_ID = 4615007;
      SOLANA_ERROR__INSTRUCTION_ERROR__MISSING_REQUIRED_SIGNATURE = 4615008;
      SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_ALREADY_INITIALIZED = 4615009;
      SOLANA_ERROR__INSTRUCTION_ERROR__UNINITIALIZED_ACCOUNT = 4615010;
      SOLANA_ERROR__INSTRUCTION_ERROR__UNBALANCED_INSTRUCTION = 4615011;
      SOLANA_ERROR__INSTRUCTION_ERROR__MODIFIED_PROGRAM_ID = 4615012;
      SOLANA_ERROR__INSTRUCTION_ERROR__EXTERNAL_ACCOUNT_LAMPORT_SPEND = 4615013;
      SOLANA_ERROR__INSTRUCTION_ERROR__EXTERNAL_ACCOUNT_DATA_MODIFIED = 4615014;
      SOLANA_ERROR__INSTRUCTION_ERROR__READONLY_LAMPORT_CHANGE = 4615015;
      SOLANA_ERROR__INSTRUCTION_ERROR__READONLY_DATA_MODIFIED = 4615016;
      SOLANA_ERROR__INSTRUCTION_ERROR__DUPLICATE_ACCOUNT_INDEX = 4615017;
      SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_MODIFIED = 4615018;
      SOLANA_ERROR__INSTRUCTION_ERROR__RENT_EPOCH_MODIFIED = 4615019;
      SOLANA_ERROR__INSTRUCTION_ERROR__NOT_ENOUGH_ACCOUNT_KEYS = 4615020;
      SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_DATA_SIZE_CHANGED = 4615021;
      SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_NOT_EXECUTABLE = 4615022;
      SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_BORROW_FAILED = 4615023;
      SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_BORROW_OUTSTANDING = 4615024;
      SOLANA_ERROR__INSTRUCTION_ERROR__DUPLICATE_ACCOUNT_OUT_OF_SYNC = 4615025;
      SOLANA_ERROR__INSTRUCTION_ERROR__CUSTOM = 4615026;
      SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ERROR = 4615027;
      SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_DATA_MODIFIED = 4615028;
      SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_LAMPORT_CHANGE = 4615029;
      SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_ACCOUNT_NOT_RENT_EXEMPT = 4615030;
      SOLANA_ERROR__INSTRUCTION_ERROR__UNSUPPORTED_PROGRAM_ID = 4615031;
      SOLANA_ERROR__INSTRUCTION_ERROR__CALL_DEPTH = 4615032;
      SOLANA_ERROR__INSTRUCTION_ERROR__MISSING_ACCOUNT = 4615033;
      SOLANA_ERROR__INSTRUCTION_ERROR__REENTRANCY_NOT_ALLOWED = 4615034;
      SOLANA_ERROR__INSTRUCTION_ERROR__MAX_SEED_LENGTH_EXCEEDED = 4615035;
      SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_SEEDS = 4615036;
      SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_REALLOC = 4615037;
      SOLANA_ERROR__INSTRUCTION_ERROR__COMPUTATIONAL_BUDGET_EXCEEDED = 4615038;
      SOLANA_ERROR__INSTRUCTION_ERROR__PRIVILEGE_ESCALATION = 4615039;
      SOLANA_ERROR__INSTRUCTION_ERROR__PROGRAM_ENVIRONMENT_SETUP_FAILURE = 4615040;
      SOLANA_ERROR__INSTRUCTION_ERROR__PROGRAM_FAILED_TO_COMPLETE = 4615041;
      SOLANA_ERROR__INSTRUCTION_ERROR__PROGRAM_FAILED_TO_COMPILE = 4615042;
      SOLANA_ERROR__INSTRUCTION_ERROR__IMMUTABLE = 4615043;
      SOLANA_ERROR__INSTRUCTION_ERROR__INCORRECT_AUTHORITY = 4615044;
      SOLANA_ERROR__INSTRUCTION_ERROR__BORSH_IO_ERROR = 4615045;
      SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_NOT_RENT_EXEMPT = 4615046;
      SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ACCOUNT_OWNER = 4615047;
      SOLANA_ERROR__INSTRUCTION_ERROR__ARITHMETIC_OVERFLOW = 4615048;
      SOLANA_ERROR__INSTRUCTION_ERROR__UNSUPPORTED_SYSVAR = 4615049;
      SOLANA_ERROR__INSTRUCTION_ERROR__ILLEGAL_OWNER = 4615050;
      SOLANA_ERROR__INSTRUCTION_ERROR__MAX_ACCOUNTS_DATA_ALLOCATIONS_EXCEEDED = 4615051;
      SOLANA_ERROR__INSTRUCTION_ERROR__MAX_ACCOUNTS_EXCEEDED = 4615052;
      SOLANA_ERROR__INSTRUCTION_ERROR__MAX_INSTRUCTION_TRACE_LENGTH_EXCEEDED = 4615053;
      SOLANA_ERROR__INSTRUCTION_ERROR__BUILTIN_PROGRAMS_MUST_CONSUME_COMPUTE_UNITS = 4615054;
      SOLANA_ERROR__SIGNER__ADDRESS_CANNOT_HAVE_MULTIPLE_SIGNERS = 5508e3;
      SOLANA_ERROR__SIGNER__EXPECTED_KEY_PAIR_SIGNER = 5508001;
      SOLANA_ERROR__SIGNER__EXPECTED_MESSAGE_SIGNER = 5508002;
      SOLANA_ERROR__SIGNER__EXPECTED_MESSAGE_MODIFYING_SIGNER = 5508003;
      SOLANA_ERROR__SIGNER__EXPECTED_MESSAGE_PARTIAL_SIGNER = 5508004;
      SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_SIGNER = 5508005;
      SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_MODIFYING_SIGNER = 5508006;
      SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_PARTIAL_SIGNER = 5508007;
      SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_SENDING_SIGNER = 5508008;
      SOLANA_ERROR__SIGNER__TRANSACTION_CANNOT_HAVE_MULTIPLE_SENDING_SIGNERS = 5508009;
      SOLANA_ERROR__SIGNER__TRANSACTION_SENDING_SIGNER_MISSING = 5508010;
      SOLANA_ERROR__SIGNER__WALLET_MULTISIGN_UNIMPLEMENTED = 5508011;
      SOLANA_ERROR__TRANSACTION__INVOKED_PROGRAMS_CANNOT_PAY_FEES = 5663e3;
      SOLANA_ERROR__TRANSACTION__INVOKED_PROGRAMS_MUST_NOT_BE_WRITABLE = 5663001;
      SOLANA_ERROR__TRANSACTION__EXPECTED_BLOCKHASH_LIFETIME = 5663002;
      SOLANA_ERROR__TRANSACTION__EXPECTED_NONCE_LIFETIME = 5663003;
      SOLANA_ERROR__TRANSACTION__VERSION_NUMBER_OUT_OF_RANGE = 5663004;
      SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_ADDRESS_LOOKUP_TABLE_CONTENTS_MISSING = 5663005;
      SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_ADDRESS_LOOKUP_TABLE_INDEX_OUT_OF_RANGE = 5663006;
      SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_INSTRUCTION_PROGRAM_ADDRESS_NOT_FOUND = 5663007;
      SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_FEE_PAYER_MISSING = 5663008;
      SOLANA_ERROR__TRANSACTION__SIGNATURES_MISSING = 5663009;
      SOLANA_ERROR__TRANSACTION__ADDRESS_MISSING = 5663010;
      SOLANA_ERROR__TRANSACTION__FEE_PAYER_MISSING = 5663011;
      SOLANA_ERROR__TRANSACTION__FEE_PAYER_SIGNATURE_MISSING = 5663012;
      SOLANA_ERROR__TRANSACTION__INVALID_NONCE_TRANSACTION_INSTRUCTIONS_MISSING = 5663013;
      SOLANA_ERROR__TRANSACTION__INVALID_NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE = 5663014;
      SOLANA_ERROR__TRANSACTION__ADDRESSES_CANNOT_SIGN_TRANSACTION = 5663015;
      SOLANA_ERROR__TRANSACTION__CANNOT_ENCODE_WITH_EMPTY_SIGNATURES = 5663016;
      SOLANA_ERROR__TRANSACTION__MESSAGE_SIGNATURES_MISMATCH = 5663017;
      SOLANA_ERROR__TRANSACTION__FAILED_TO_ESTIMATE_COMPUTE_LIMIT = 5663018;
      SOLANA_ERROR__TRANSACTION__FAILED_WHEN_SIMULATING_TO_ESTIMATE_COMPUTE_LIMIT = 5663019;
      SOLANA_ERROR__TRANSACTION__EXCEEDS_SIZE_LIMIT = 5663020;
      SOLANA_ERROR__TRANSACTION_ERROR__UNKNOWN = 705e4;
      SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_IN_USE = 7050001;
      SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_LOADED_TWICE = 7050002;
      SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_NOT_FOUND = 7050003;
      SOLANA_ERROR__TRANSACTION_ERROR__PROGRAM_ACCOUNT_NOT_FOUND = 7050004;
      SOLANA_ERROR__TRANSACTION_ERROR__INSUFFICIENT_FUNDS_FOR_FEE = 7050005;
      SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ACCOUNT_FOR_FEE = 7050006;
      SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED = 7050007;
      SOLANA_ERROR__TRANSACTION_ERROR__BLOCKHASH_NOT_FOUND = 7050008;
      SOLANA_ERROR__TRANSACTION_ERROR__CALL_CHAIN_TOO_DEEP = 7050009;
      SOLANA_ERROR__TRANSACTION_ERROR__MISSING_SIGNATURE_FOR_FEE = 7050010;
      SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ACCOUNT_INDEX = 7050011;
      SOLANA_ERROR__TRANSACTION_ERROR__SIGNATURE_FAILURE = 7050012;
      SOLANA_ERROR__TRANSACTION_ERROR__INVALID_PROGRAM_FOR_EXECUTION = 7050013;
      SOLANA_ERROR__TRANSACTION_ERROR__SANITIZE_FAILURE = 7050014;
      SOLANA_ERROR__TRANSACTION_ERROR__CLUSTER_MAINTENANCE = 7050015;
      SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_BORROW_OUTSTANDING = 7050016;
      SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_MAX_BLOCK_COST_LIMIT = 7050017;
      SOLANA_ERROR__TRANSACTION_ERROR__UNSUPPORTED_VERSION = 7050018;
      SOLANA_ERROR__TRANSACTION_ERROR__INVALID_WRITABLE_ACCOUNT = 7050019;
      SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_MAX_ACCOUNT_COST_LIMIT = 7050020;
      SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_ACCOUNT_DATA_BLOCK_LIMIT = 7050021;
      SOLANA_ERROR__TRANSACTION_ERROR__TOO_MANY_ACCOUNT_LOCKS = 7050022;
      SOLANA_ERROR__TRANSACTION_ERROR__ADDRESS_LOOKUP_TABLE_NOT_FOUND = 7050023;
      SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_OWNER = 7050024;
      SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_DATA = 7050025;
      SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_INDEX = 7050026;
      SOLANA_ERROR__TRANSACTION_ERROR__INVALID_RENT_PAYING_ACCOUNT = 7050027;
      SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_MAX_VOTE_COST_LIMIT = 7050028;
      SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_ACCOUNT_DATA_TOTAL_LIMIT = 7050029;
      SOLANA_ERROR__TRANSACTION_ERROR__DUPLICATE_INSTRUCTION = 7050030;
      SOLANA_ERROR__TRANSACTION_ERROR__INSUFFICIENT_FUNDS_FOR_RENT = 7050031;
      SOLANA_ERROR__TRANSACTION_ERROR__MAX_LOADED_ACCOUNTS_DATA_SIZE_EXCEEDED = 7050032;
      SOLANA_ERROR__TRANSACTION_ERROR__INVALID_LOADED_ACCOUNTS_DATA_SIZE_LIMIT = 7050033;
      SOLANA_ERROR__TRANSACTION_ERROR__RESANITIZATION_NEEDED = 7050034;
      SOLANA_ERROR__TRANSACTION_ERROR__PROGRAM_EXECUTION_TEMPORARILY_RESTRICTED = 7050035;
      SOLANA_ERROR__TRANSACTION_ERROR__UNBALANCED_TRANSACTION = 7050036;
      SOLANA_ERROR__CODECS__CANNOT_DECODE_EMPTY_BYTE_ARRAY = 8078e3;
      SOLANA_ERROR__CODECS__INVALID_BYTE_LENGTH = 8078001;
      SOLANA_ERROR__CODECS__EXPECTED_FIXED_LENGTH = 8078002;
      SOLANA_ERROR__CODECS__EXPECTED_VARIABLE_LENGTH = 8078003;
      SOLANA_ERROR__CODECS__ENCODER_DECODER_SIZE_COMPATIBILITY_MISMATCH = 8078004;
      SOLANA_ERROR__CODECS__ENCODER_DECODER_FIXED_SIZE_MISMATCH = 8078005;
      SOLANA_ERROR__CODECS__ENCODER_DECODER_MAX_SIZE_MISMATCH = 8078006;
      SOLANA_ERROR__CODECS__INVALID_NUMBER_OF_ITEMS = 8078007;
      SOLANA_ERROR__CODECS__ENUM_DISCRIMINATOR_OUT_OF_RANGE = 8078008;
      SOLANA_ERROR__CODECS__INVALID_DISCRIMINATED_UNION_VARIANT = 8078009;
      SOLANA_ERROR__CODECS__INVALID_ENUM_VARIANT = 8078010;
      SOLANA_ERROR__CODECS__NUMBER_OUT_OF_RANGE = 8078011;
      SOLANA_ERROR__CODECS__INVALID_STRING_FOR_BASE = 8078012;
      SOLANA_ERROR__CODECS__EXPECTED_POSITIVE_BYTE_LENGTH = 8078013;
      SOLANA_ERROR__CODECS__OFFSET_OUT_OF_RANGE = 8078014;
      SOLANA_ERROR__CODECS__INVALID_LITERAL_UNION_VARIANT = 8078015;
      SOLANA_ERROR__CODECS__LITERAL_UNION_DISCRIMINATOR_OUT_OF_RANGE = 8078016;
      SOLANA_ERROR__CODECS__UNION_VARIANT_OUT_OF_RANGE = 8078017;
      SOLANA_ERROR__CODECS__INVALID_CONSTANT = 8078018;
      SOLANA_ERROR__CODECS__EXPECTED_ZERO_VALUE_TO_MATCH_ITEM_FIXED_SIZE = 8078019;
      SOLANA_ERROR__CODECS__ENCODED_BYTES_MUST_NOT_INCLUDE_SENTINEL = 8078020;
      SOLANA_ERROR__CODECS__SENTINEL_MISSING_IN_DECODED_BYTES = 8078021;
      SOLANA_ERROR__CODECS__CANNOT_USE_LEXICAL_VALUES_AS_ENUM_DISCRIMINATORS = 8078022;
      SOLANA_ERROR__RPC__INTEGER_OVERFLOW = 81e5;
      SOLANA_ERROR__RPC__TRANSPORT_HTTP_HEADER_FORBIDDEN = 8100001;
      SOLANA_ERROR__RPC__TRANSPORT_HTTP_ERROR = 8100002;
      SOLANA_ERROR__RPC__API_PLAN_MISSING_FOR_RPC_METHOD = 8100003;
      SOLANA_ERROR__RPC_SUBSCRIPTIONS__CANNOT_CREATE_SUBSCRIPTION_PLAN = 819e4;
      SOLANA_ERROR__RPC_SUBSCRIPTIONS__EXPECTED_SERVER_SUBSCRIPTION_ID = 8190001;
      SOLANA_ERROR__RPC_SUBSCRIPTIONS__CHANNEL_CLOSED_BEFORE_MESSAGE_BUFFERED = 8190002;
      SOLANA_ERROR__RPC_SUBSCRIPTIONS__CHANNEL_CONNECTION_CLOSED = 8190003;
      SOLANA_ERROR__RPC_SUBSCRIPTIONS__CHANNEL_FAILED_TO_CONNECT = 8190004;
      SOLANA_ERROR__INVARIANT_VIOLATION__SUBSCRIPTION_ITERATOR_STATE_MISSING = 99e5;
      SOLANA_ERROR__INVARIANT_VIOLATION__SUBSCRIPTION_ITERATOR_MUST_NOT_POLL_BEFORE_RESOLVING_EXISTING_MESSAGE_PROMISE = 9900001;
      SOLANA_ERROR__INVARIANT_VIOLATION__CACHED_ABORTABLE_ITERABLE_CACHE_ENTRY_MISSING = 9900002;
      SOLANA_ERROR__INVARIANT_VIOLATION__SWITCH_MUST_BE_EXHAUSTIVE = 9900003;
      SOLANA_ERROR__INVARIANT_VIOLATION__DATA_PUBLISHER_CHANNEL_UNIMPLEMENTED = 9900004;
      SolanaErrorMessages = {
        [SOLANA_ERROR__ACCOUNTS__ACCOUNT_NOT_FOUND]: "Account not found at address: $address",
        [SOLANA_ERROR__ACCOUNTS__EXPECTED_ALL_ACCOUNTS_TO_BE_DECODED]: "Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",
        [SOLANA_ERROR__ACCOUNTS__EXPECTED_DECODED_ACCOUNT]: "Expected decoded account at address: $address",
        [SOLANA_ERROR__ACCOUNTS__FAILED_TO_DECODE_ACCOUNT]: "Failed to decode account data at address: $address",
        [SOLANA_ERROR__ACCOUNTS__ONE_OR_MORE_ACCOUNTS_NOT_FOUND]: "Accounts not found at addresses: $addresses",
        [SOLANA_ERROR__ADDRESSES__FAILED_TO_FIND_VIABLE_PDA_BUMP_SEED]: "Unable to find a viable program address bump seed.",
        [SOLANA_ERROR__ADDRESSES__INVALID_BASE58_ENCODED_ADDRESS]: "$putativeAddress is not a base58-encoded address.",
        [SOLANA_ERROR__ADDRESSES__INVALID_BYTE_LENGTH]: "Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",
        [SOLANA_ERROR__ADDRESSES__INVALID_ED25519_PUBLIC_KEY]: "The `CryptoKey` must be an `Ed25519` public key.",
        [SOLANA_ERROR__ADDRESSES__INVALID_OFF_CURVE_ADDRESS]: "$putativeOffCurveAddress is not a base58-encoded off-curve address.",
        [SOLANA_ERROR__ADDRESSES__INVALID_SEEDS_POINT_ON_CURVE]: "Invalid seeds; point must fall off the Ed25519 curve.",
        [SOLANA_ERROR__ADDRESSES__MALFORMED_PDA]: "Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",
        [SOLANA_ERROR__ADDRESSES__MAX_NUMBER_OF_PDA_SEEDS_EXCEEDED]: "A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",
        [SOLANA_ERROR__ADDRESSES__MAX_PDA_SEED_LENGTH_EXCEEDED]: "The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",
        [SOLANA_ERROR__ADDRESSES__PDA_BUMP_SEED_OUT_OF_RANGE]: "Expected program derived address bump to be in the range [0, 255], got: $bump.",
        [SOLANA_ERROR__ADDRESSES__PDA_ENDS_WITH_PDA_MARKER]: "Program address cannot end with PDA marker.",
        [SOLANA_ERROR__ADDRESSES__STRING_LENGTH_OUT_OF_RANGE]: "Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",
        [SOLANA_ERROR__BLOCKHASH_STRING_LENGTH_OUT_OF_RANGE]: "Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",
        [SOLANA_ERROR__BLOCK_HEIGHT_EXCEEDED]: "The network has progressed past the last block for which this transaction could have been committed.",
        [SOLANA_ERROR__CODECS__CANNOT_DECODE_EMPTY_BYTE_ARRAY]: "Codec [$codecDescription] cannot decode empty byte arrays.",
        [SOLANA_ERROR__CODECS__CANNOT_USE_LEXICAL_VALUES_AS_ENUM_DISCRIMINATORS]: "Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",
        [SOLANA_ERROR__CODECS__ENCODED_BYTES_MUST_NOT_INCLUDE_SENTINEL]: "Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",
        [SOLANA_ERROR__CODECS__ENCODER_DECODER_FIXED_SIZE_MISMATCH]: "Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",
        [SOLANA_ERROR__CODECS__ENCODER_DECODER_MAX_SIZE_MISMATCH]: "Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",
        [SOLANA_ERROR__CODECS__ENCODER_DECODER_SIZE_COMPATIBILITY_MISMATCH]: "Encoder and decoder must either both be fixed-size or variable-size.",
        [SOLANA_ERROR__CODECS__ENUM_DISCRIMINATOR_OUT_OF_RANGE]: "Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",
        [SOLANA_ERROR__CODECS__EXPECTED_FIXED_LENGTH]: "Expected a fixed-size codec, got a variable-size one.",
        [SOLANA_ERROR__CODECS__EXPECTED_POSITIVE_BYTE_LENGTH]: "Codec [$codecDescription] expected a positive byte length, got $bytesLength.",
        [SOLANA_ERROR__CODECS__EXPECTED_VARIABLE_LENGTH]: "Expected a variable-size codec, got a fixed-size one.",
        [SOLANA_ERROR__CODECS__EXPECTED_ZERO_VALUE_TO_MATCH_ITEM_FIXED_SIZE]: "Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",
        [SOLANA_ERROR__CODECS__INVALID_BYTE_LENGTH]: "Codec [$codecDescription] expected $expected bytes, got $bytesLength.",
        [SOLANA_ERROR__CODECS__INVALID_CONSTANT]: "Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",
        [SOLANA_ERROR__CODECS__INVALID_DISCRIMINATED_UNION_VARIANT]: "Invalid discriminated union variant. Expected one of [$variants], got $value.",
        [SOLANA_ERROR__CODECS__INVALID_ENUM_VARIANT]: "Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",
        [SOLANA_ERROR__CODECS__INVALID_LITERAL_UNION_VARIANT]: "Invalid literal union variant. Expected one of [$variants], got $value.",
        [SOLANA_ERROR__CODECS__INVALID_NUMBER_OF_ITEMS]: "Expected [$codecDescription] to have $expected items, got $actual.",
        [SOLANA_ERROR__CODECS__INVALID_STRING_FOR_BASE]: "Invalid value $value for base $base with alphabet $alphabet.",
        [SOLANA_ERROR__CODECS__LITERAL_UNION_DISCRIMINATOR_OUT_OF_RANGE]: "Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",
        [SOLANA_ERROR__CODECS__NUMBER_OUT_OF_RANGE]: "Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",
        [SOLANA_ERROR__CODECS__OFFSET_OUT_OF_RANGE]: "Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",
        [SOLANA_ERROR__CODECS__SENTINEL_MISSING_IN_DECODED_BYTES]: "Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",
        [SOLANA_ERROR__CODECS__UNION_VARIANT_OUT_OF_RANGE]: "Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",
        [SOLANA_ERROR__CRYPTO__RANDOM_VALUES_FUNCTION_UNIMPLEMENTED]: "No random values implementation could be found.",
        [SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_ALREADY_INITIALIZED]: "instruction requires an uninitialized account",
        [SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_BORROW_FAILED]: "instruction tries to borrow reference for an account which is already borrowed",
        [SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_BORROW_OUTSTANDING]: "instruction left account with an outstanding borrowed reference",
        [SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_DATA_SIZE_CHANGED]: "program other than the account's owner changed the size of the account data",
        [SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_DATA_TOO_SMALL]: "account data too small for instruction",
        [SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_NOT_EXECUTABLE]: "instruction expected an executable account",
        [SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_NOT_RENT_EXEMPT]: "An account does not have enough lamports to be rent-exempt",
        [SOLANA_ERROR__INSTRUCTION_ERROR__ARITHMETIC_OVERFLOW]: "Program arithmetic overflowed",
        [SOLANA_ERROR__INSTRUCTION_ERROR__BORSH_IO_ERROR]: "Failed to serialize or deserialize account data: $encodedData",
        [SOLANA_ERROR__INSTRUCTION_ERROR__BUILTIN_PROGRAMS_MUST_CONSUME_COMPUTE_UNITS]: "Builtin programs must consume compute units",
        [SOLANA_ERROR__INSTRUCTION_ERROR__CALL_DEPTH]: "Cross-program invocation call depth too deep",
        [SOLANA_ERROR__INSTRUCTION_ERROR__COMPUTATIONAL_BUDGET_EXCEEDED]: "Computational budget exceeded",
        [SOLANA_ERROR__INSTRUCTION_ERROR__CUSTOM]: "custom program error: #$code",
        [SOLANA_ERROR__INSTRUCTION_ERROR__DUPLICATE_ACCOUNT_INDEX]: "instruction contains duplicate accounts",
        [SOLANA_ERROR__INSTRUCTION_ERROR__DUPLICATE_ACCOUNT_OUT_OF_SYNC]: "instruction modifications of multiply-passed account differ",
        [SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_ACCOUNT_NOT_RENT_EXEMPT]: "executable accounts must be rent exempt",
        [SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_DATA_MODIFIED]: "instruction changed executable accounts data",
        [SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_LAMPORT_CHANGE]: "instruction changed the balance of an executable account",
        [SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_MODIFIED]: "instruction changed executable bit of an account",
        [SOLANA_ERROR__INSTRUCTION_ERROR__EXTERNAL_ACCOUNT_DATA_MODIFIED]: "instruction modified data of an account it does not own",
        [SOLANA_ERROR__INSTRUCTION_ERROR__EXTERNAL_ACCOUNT_LAMPORT_SPEND]: "instruction spent from the balance of an account it does not own",
        [SOLANA_ERROR__INSTRUCTION_ERROR__GENERIC_ERROR]: "generic instruction error",
        [SOLANA_ERROR__INSTRUCTION_ERROR__ILLEGAL_OWNER]: "Provided owner is not allowed",
        [SOLANA_ERROR__INSTRUCTION_ERROR__IMMUTABLE]: "Account is immutable",
        [SOLANA_ERROR__INSTRUCTION_ERROR__INCORRECT_AUTHORITY]: "Incorrect authority provided",
        [SOLANA_ERROR__INSTRUCTION_ERROR__INCORRECT_PROGRAM_ID]: "incorrect program id for instruction",
        [SOLANA_ERROR__INSTRUCTION_ERROR__INSUFFICIENT_FUNDS]: "insufficient funds for instruction",
        [SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ACCOUNT_DATA]: "invalid account data for instruction",
        [SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ACCOUNT_OWNER]: "Invalid account owner",
        [SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ARGUMENT]: "invalid program argument",
        [SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ERROR]: "program returned invalid error code",
        [SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_INSTRUCTION_DATA]: "invalid instruction data",
        [SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_REALLOC]: "Failed to reallocate account data",
        [SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_SEEDS]: "Provided seeds do not result in a valid address",
        [SOLANA_ERROR__INSTRUCTION_ERROR__MAX_ACCOUNTS_DATA_ALLOCATIONS_EXCEEDED]: "Accounts data allocations exceeded the maximum allowed per transaction",
        [SOLANA_ERROR__INSTRUCTION_ERROR__MAX_ACCOUNTS_EXCEEDED]: "Max accounts exceeded",
        [SOLANA_ERROR__INSTRUCTION_ERROR__MAX_INSTRUCTION_TRACE_LENGTH_EXCEEDED]: "Max instruction trace length exceeded",
        [SOLANA_ERROR__INSTRUCTION_ERROR__MAX_SEED_LENGTH_EXCEEDED]: "Length of the seed is too long for address generation",
        [SOLANA_ERROR__INSTRUCTION_ERROR__MISSING_ACCOUNT]: "An account required by the instruction is missing",
        [SOLANA_ERROR__INSTRUCTION_ERROR__MISSING_REQUIRED_SIGNATURE]: "missing required signature for instruction",
        [SOLANA_ERROR__INSTRUCTION_ERROR__MODIFIED_PROGRAM_ID]: "instruction illegally modified the program id of an account",
        [SOLANA_ERROR__INSTRUCTION_ERROR__NOT_ENOUGH_ACCOUNT_KEYS]: "insufficient account keys for instruction",
        [SOLANA_ERROR__INSTRUCTION_ERROR__PRIVILEGE_ESCALATION]: "Cross-program invocation with unauthorized signer or writable account",
        [SOLANA_ERROR__INSTRUCTION_ERROR__PROGRAM_ENVIRONMENT_SETUP_FAILURE]: "Failed to create program execution environment",
        [SOLANA_ERROR__INSTRUCTION_ERROR__PROGRAM_FAILED_TO_COMPILE]: "Program failed to compile",
        [SOLANA_ERROR__INSTRUCTION_ERROR__PROGRAM_FAILED_TO_COMPLETE]: "Program failed to complete",
        [SOLANA_ERROR__INSTRUCTION_ERROR__READONLY_DATA_MODIFIED]: "instruction modified data of a read-only account",
        [SOLANA_ERROR__INSTRUCTION_ERROR__READONLY_LAMPORT_CHANGE]: "instruction changed the balance of a read-only account",
        [SOLANA_ERROR__INSTRUCTION_ERROR__REENTRANCY_NOT_ALLOWED]: "Cross-program invocation reentrancy not allowed for this instruction",
        [SOLANA_ERROR__INSTRUCTION_ERROR__RENT_EPOCH_MODIFIED]: "instruction modified rent epoch of an account",
        [SOLANA_ERROR__INSTRUCTION_ERROR__UNBALANCED_INSTRUCTION]: "sum of account balances before and after instruction do not match",
        [SOLANA_ERROR__INSTRUCTION_ERROR__UNINITIALIZED_ACCOUNT]: "instruction requires an initialized account",
        [SOLANA_ERROR__INSTRUCTION_ERROR__UNKNOWN]: "",
        [SOLANA_ERROR__INSTRUCTION_ERROR__UNSUPPORTED_PROGRAM_ID]: "Unsupported program id",
        [SOLANA_ERROR__INSTRUCTION_ERROR__UNSUPPORTED_SYSVAR]: "Unsupported sysvar",
        [SOLANA_ERROR__INSTRUCTION__EXPECTED_TO_HAVE_ACCOUNTS]: "The instruction does not have any accounts.",
        [SOLANA_ERROR__INSTRUCTION__EXPECTED_TO_HAVE_DATA]: "The instruction does not have any data.",
        [SOLANA_ERROR__INSTRUCTION__PROGRAM_ID_MISMATCH]: "Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",
        [SOLANA_ERROR__INVALID_BLOCKHASH_BYTE_LENGTH]: "Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",
        [SOLANA_ERROR__INVALID_NONCE]: "The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",
        [SOLANA_ERROR__INVARIANT_VIOLATION__CACHED_ABORTABLE_ITERABLE_CACHE_ENTRY_MISSING]: "Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",
        [SOLANA_ERROR__INVARIANT_VIOLATION__DATA_PUBLISHER_CHANNEL_UNIMPLEMENTED]: "Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",
        [SOLANA_ERROR__INVARIANT_VIOLATION__SUBSCRIPTION_ITERATOR_MUST_NOT_POLL_BEFORE_RESOLVING_EXISTING_MESSAGE_PROMISE]: "Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",
        [SOLANA_ERROR__INVARIANT_VIOLATION__SUBSCRIPTION_ITERATOR_STATE_MISSING]: "Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",
        [SOLANA_ERROR__INVARIANT_VIOLATION__SWITCH_MUST_BE_EXHAUSTIVE]: "Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",
        [SOLANA_ERROR__JSON_RPC__INTERNAL_ERROR]: "JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",
        [SOLANA_ERROR__JSON_RPC__INVALID_PARAMS]: "JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",
        [SOLANA_ERROR__JSON_RPC__INVALID_REQUEST]: "JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",
        [SOLANA_ERROR__JSON_RPC__METHOD_NOT_FOUND]: "JSON-RPC error: The method does not exist / is not available ($__serverMessage)",
        [SOLANA_ERROR__JSON_RPC__PARSE_ERROR]: "JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",
        [SOLANA_ERROR__JSON_RPC__SCAN_ERROR]: "$__serverMessage",
        [SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_CLEANED_UP]: "$__serverMessage",
        [SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_NOT_AVAILABLE]: "$__serverMessage",
        [SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_STATUS_NOT_AVAILABLE_YET]: "$__serverMessage",
        [SOLANA_ERROR__JSON_RPC__SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX]: "$__serverMessage",
        [SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED]: "$__serverMessage",
        [SOLANA_ERROR__JSON_RPC__SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHED]: "Minimum context slot has not been reached",
        [SOLANA_ERROR__JSON_RPC__SERVER_ERROR_NODE_UNHEALTHY]: "Node is unhealthy; behind by $numSlotsBehind slots",
        [SOLANA_ERROR__JSON_RPC__SERVER_ERROR_NO_SNAPSHOT]: "No snapshot",
        [SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE]: "Transaction simulation failed",
        [SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SLOT_SKIPPED]: "$__serverMessage",
        [SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_HISTORY_NOT_AVAILABLE]: "Transaction history is not available from this node",
        [SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_PRECOMPILE_VERIFICATION_FAILURE]: "$__serverMessage",
        [SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_SIGNATURE_LEN_MISMATCH]: "Transaction signature length mismatch",
        [SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_SIGNATURE_VERIFICATION_FAILURE]: "Transaction signature verification failure",
        [SOLANA_ERROR__JSON_RPC__SERVER_ERROR_UNSUPPORTED_TRANSACTION_VERSION]: "$__serverMessage",
        [SOLANA_ERROR__KEYS__INVALID_KEY_PAIR_BYTE_LENGTH]: "Key pair bytes must be of length 64, got $byteLength.",
        [SOLANA_ERROR__KEYS__INVALID_PRIVATE_KEY_BYTE_LENGTH]: "Expected private key bytes with length 32. Actual length: $actualLength.",
        [SOLANA_ERROR__KEYS__INVALID_SIGNATURE_BYTE_LENGTH]: "Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",
        [SOLANA_ERROR__KEYS__PUBLIC_KEY_MUST_MATCH_PRIVATE_KEY]: "The provided private key does not match the provided public key.",
        [SOLANA_ERROR__KEYS__SIGNATURE_STRING_LENGTH_OUT_OF_RANGE]: "Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",
        [SOLANA_ERROR__LAMPORTS_OUT_OF_RANGE]: "Lamports value must be in the range [0, 2e64-1]",
        [SOLANA_ERROR__MALFORMED_BIGINT_STRING]: "`$value` cannot be parsed as a `BigInt`",
        [SOLANA_ERROR__MALFORMED_JSON_RPC_ERROR]: "$message",
        [SOLANA_ERROR__MALFORMED_NUMBER_STRING]: "`$value` cannot be parsed as a `Number`",
        [SOLANA_ERROR__NONCE_ACCOUNT_NOT_FOUND]: "No nonce account could be found at address `$nonceAccountAddress`",
        [SOLANA_ERROR__RPC_SUBSCRIPTIONS__CANNOT_CREATE_SUBSCRIPTION_PLAN]: "The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",
        [SOLANA_ERROR__RPC_SUBSCRIPTIONS__CHANNEL_CLOSED_BEFORE_MESSAGE_BUFFERED]: "WebSocket was closed before payload could be added to the send buffer",
        [SOLANA_ERROR__RPC_SUBSCRIPTIONS__CHANNEL_CONNECTION_CLOSED]: "WebSocket connection closed",
        [SOLANA_ERROR__RPC_SUBSCRIPTIONS__CHANNEL_FAILED_TO_CONNECT]: "WebSocket failed to connect",
        [SOLANA_ERROR__RPC_SUBSCRIPTIONS__EXPECTED_SERVER_SUBSCRIPTION_ID]: "Failed to obtain a subscription id from the server",
        [SOLANA_ERROR__RPC__API_PLAN_MISSING_FOR_RPC_METHOD]: "Could not find an API plan for RPC method: `$method`",
        [SOLANA_ERROR__RPC__INTEGER_OVERFLOW]: "The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",
        [SOLANA_ERROR__RPC__TRANSPORT_HTTP_ERROR]: "HTTP error ($statusCode): $message",
        [SOLANA_ERROR__RPC__TRANSPORT_HTTP_HEADER_FORBIDDEN]: "HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",
        [SOLANA_ERROR__SIGNER__ADDRESS_CANNOT_HAVE_MULTIPLE_SIGNERS]: "Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",
        [SOLANA_ERROR__SIGNER__EXPECTED_KEY_PAIR_SIGNER]: "The provided value does not implement the `KeyPairSigner` interface",
        [SOLANA_ERROR__SIGNER__EXPECTED_MESSAGE_MODIFYING_SIGNER]: "The provided value does not implement the `MessageModifyingSigner` interface",
        [SOLANA_ERROR__SIGNER__EXPECTED_MESSAGE_PARTIAL_SIGNER]: "The provided value does not implement the `MessagePartialSigner` interface",
        [SOLANA_ERROR__SIGNER__EXPECTED_MESSAGE_SIGNER]: "The provided value does not implement any of the `MessageSigner` interfaces",
        [SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_MODIFYING_SIGNER]: "The provided value does not implement the `TransactionModifyingSigner` interface",
        [SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_PARTIAL_SIGNER]: "The provided value does not implement the `TransactionPartialSigner` interface",
        [SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_SENDING_SIGNER]: "The provided value does not implement the `TransactionSendingSigner` interface",
        [SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_SIGNER]: "The provided value does not implement any of the `TransactionSigner` interfaces",
        [SOLANA_ERROR__SIGNER__TRANSACTION_CANNOT_HAVE_MULTIPLE_SENDING_SIGNERS]: "More than one `TransactionSendingSigner` was identified.",
        [SOLANA_ERROR__SIGNER__TRANSACTION_SENDING_SIGNER_MISSING]: "No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",
        [SOLANA_ERROR__SIGNER__WALLET_MULTISIGN_UNIMPLEMENTED]: "Wallet account signers do not support signing multiple messages/transactions in a single operation",
        [SOLANA_ERROR__SUBTLE_CRYPTO__CANNOT_EXPORT_NON_EXTRACTABLE_KEY]: "Cannot export a non-extractable key.",
        [SOLANA_ERROR__SUBTLE_CRYPTO__DIGEST_UNIMPLEMENTED]: "No digest implementation could be found.",
        [SOLANA_ERROR__SUBTLE_CRYPTO__DISALLOWED_IN_INSECURE_CONTEXT]: "Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",
        [SOLANA_ERROR__SUBTLE_CRYPTO__ED25519_ALGORITHM_UNIMPLEMENTED]: "This runtime does not support the generation of Ed25519 key pairs.\n\nInstall @solana/webcrypto-ed25519-polyfill and call its `install` function before generating keys in environments that do not support Ed25519.\n\nFor a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.",
        [SOLANA_ERROR__SUBTLE_CRYPTO__EXPORT_FUNCTION_UNIMPLEMENTED]: "No signature verification implementation could be found.",
        [SOLANA_ERROR__SUBTLE_CRYPTO__GENERATE_FUNCTION_UNIMPLEMENTED]: "No key generation implementation could be found.",
        [SOLANA_ERROR__SUBTLE_CRYPTO__SIGN_FUNCTION_UNIMPLEMENTED]: "No signing implementation could be found.",
        [SOLANA_ERROR__SUBTLE_CRYPTO__VERIFY_FUNCTION_UNIMPLEMENTED]: "No key export implementation could be found.",
        [SOLANA_ERROR__TIMESTAMP_OUT_OF_RANGE]: "Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",
        [SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_BORROW_OUTSTANDING]: "Transaction processing left an account with an outstanding borrowed reference",
        [SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_IN_USE]: "Account in use",
        [SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_LOADED_TWICE]: "Account loaded twice",
        [SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_NOT_FOUND]: "Attempt to debit an account but found no record of a prior credit.",
        [SOLANA_ERROR__TRANSACTION_ERROR__ADDRESS_LOOKUP_TABLE_NOT_FOUND]: "Transaction loads an address table account that doesn't exist",
        [SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED]: "This transaction has already been processed",
        [SOLANA_ERROR__TRANSACTION_ERROR__BLOCKHASH_NOT_FOUND]: "Blockhash not found",
        [SOLANA_ERROR__TRANSACTION_ERROR__CALL_CHAIN_TOO_DEEP]: "Loader call chain is too deep",
        [SOLANA_ERROR__TRANSACTION_ERROR__CLUSTER_MAINTENANCE]: "Transactions are currently disabled due to cluster maintenance",
        [SOLANA_ERROR__TRANSACTION_ERROR__DUPLICATE_INSTRUCTION]: "Transaction contains a duplicate instruction ($index) that is not allowed",
        [SOLANA_ERROR__TRANSACTION_ERROR__INSUFFICIENT_FUNDS_FOR_FEE]: "Insufficient funds for fee",
        [SOLANA_ERROR__TRANSACTION_ERROR__INSUFFICIENT_FUNDS_FOR_RENT]: "Transaction results in an account ($accountIndex) with insufficient funds for rent",
        [SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ACCOUNT_FOR_FEE]: "This account may not be used to pay transaction fees",
        [SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ACCOUNT_INDEX]: "Transaction contains an invalid account reference",
        [SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_DATA]: "Transaction loads an address table account with invalid data",
        [SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_INDEX]: "Transaction address table lookup uses an invalid index",
        [SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_OWNER]: "Transaction loads an address table account with an invalid owner",
        [SOLANA_ERROR__TRANSACTION_ERROR__INVALID_LOADED_ACCOUNTS_DATA_SIZE_LIMIT]: "LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",
        [SOLANA_ERROR__TRANSACTION_ERROR__INVALID_PROGRAM_FOR_EXECUTION]: "This program may not be used for executing instructions",
        [SOLANA_ERROR__TRANSACTION_ERROR__INVALID_RENT_PAYING_ACCOUNT]: "Transaction leaves an account with a lower balance than rent-exempt minimum",
        [SOLANA_ERROR__TRANSACTION_ERROR__INVALID_WRITABLE_ACCOUNT]: "Transaction loads a writable account that cannot be written",
        [SOLANA_ERROR__TRANSACTION_ERROR__MAX_LOADED_ACCOUNTS_DATA_SIZE_EXCEEDED]: "Transaction exceeded max loaded accounts data size cap",
        [SOLANA_ERROR__TRANSACTION_ERROR__MISSING_SIGNATURE_FOR_FEE]: "Transaction requires a fee but has no signature present",
        [SOLANA_ERROR__TRANSACTION_ERROR__PROGRAM_ACCOUNT_NOT_FOUND]: "Attempt to load a program that does not exist",
        [SOLANA_ERROR__TRANSACTION_ERROR__PROGRAM_EXECUTION_TEMPORARILY_RESTRICTED]: "Execution of the program referenced by account at index $accountIndex is temporarily restricted.",
        [SOLANA_ERROR__TRANSACTION_ERROR__RESANITIZATION_NEEDED]: "ResanitizationNeeded",
        [SOLANA_ERROR__TRANSACTION_ERROR__SANITIZE_FAILURE]: "Transaction failed to sanitize accounts offsets correctly",
        [SOLANA_ERROR__TRANSACTION_ERROR__SIGNATURE_FAILURE]: "Transaction did not pass signature verification",
        [SOLANA_ERROR__TRANSACTION_ERROR__TOO_MANY_ACCOUNT_LOCKS]: "Transaction locked too many accounts",
        [SOLANA_ERROR__TRANSACTION_ERROR__UNBALANCED_TRANSACTION]: "Sum of account balances before and after transaction do not match",
        [SOLANA_ERROR__TRANSACTION_ERROR__UNKNOWN]: "The transaction failed with the error `$errorName`",
        [SOLANA_ERROR__TRANSACTION_ERROR__UNSUPPORTED_VERSION]: "Transaction version is unsupported",
        [SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_ACCOUNT_DATA_BLOCK_LIMIT]: "Transaction would exceed account data limit within the block",
        [SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_ACCOUNT_DATA_TOTAL_LIMIT]: "Transaction would exceed total account data limit",
        [SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_MAX_ACCOUNT_COST_LIMIT]: "Transaction would exceed max account limit within the block",
        [SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_MAX_BLOCK_COST_LIMIT]: "Transaction would exceed max Block Cost Limit",
        [SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_MAX_VOTE_COST_LIMIT]: "Transaction would exceed max Vote Cost Limit",
        [SOLANA_ERROR__TRANSACTION__ADDRESSES_CANNOT_SIGN_TRANSACTION]: "Attempted to sign a transaction with an address that is not a signer for it",
        [SOLANA_ERROR__TRANSACTION__ADDRESS_MISSING]: "Transaction is missing an address at index: $index.",
        [SOLANA_ERROR__TRANSACTION__CANNOT_ENCODE_WITH_EMPTY_SIGNATURES]: "Transaction has no expected signers therefore it cannot be encoded",
        [SOLANA_ERROR__TRANSACTION__EXCEEDS_SIZE_LIMIT]: "Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",
        [SOLANA_ERROR__TRANSACTION__EXPECTED_BLOCKHASH_LIFETIME]: "Transaction does not have a blockhash lifetime",
        [SOLANA_ERROR__TRANSACTION__EXPECTED_NONCE_LIFETIME]: "Transaction is not a durable nonce transaction",
        [SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_ADDRESS_LOOKUP_TABLE_CONTENTS_MISSING]: "Contents of these address lookup tables unknown: $lookupTableAddresses",
        [SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_ADDRESS_LOOKUP_TABLE_INDEX_OUT_OF_RANGE]: "Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",
        [SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_FEE_PAYER_MISSING]: "No fee payer set in CompiledTransaction",
        [SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_INSTRUCTION_PROGRAM_ADDRESS_NOT_FOUND]: "Could not find program address at index $index",
        [SOLANA_ERROR__TRANSACTION__FAILED_TO_ESTIMATE_COMPUTE_LIMIT]: "Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",
        [SOLANA_ERROR__TRANSACTION__FAILED_WHEN_SIMULATING_TO_ESTIMATE_COMPUTE_LIMIT]: "Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",
        [SOLANA_ERROR__TRANSACTION__FEE_PAYER_MISSING]: "Transaction is missing a fee payer.",
        [SOLANA_ERROR__TRANSACTION__FEE_PAYER_SIGNATURE_MISSING]: "Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",
        [SOLANA_ERROR__TRANSACTION__INVALID_NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE]: "Transaction first instruction is not advance nonce account instruction.",
        [SOLANA_ERROR__TRANSACTION__INVALID_NONCE_TRANSACTION_INSTRUCTIONS_MISSING]: "Transaction with no instructions cannot be durable nonce transaction.",
        [SOLANA_ERROR__TRANSACTION__INVOKED_PROGRAMS_CANNOT_PAY_FEES]: "This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",
        [SOLANA_ERROR__TRANSACTION__INVOKED_PROGRAMS_MUST_NOT_BE_WRITABLE]: "This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",
        [SOLANA_ERROR__TRANSACTION__MESSAGE_SIGNATURES_MISMATCH]: "The transaction message expected the transaction to have $signerAddressesLength signatures, got $signaturesLength.",
        [SOLANA_ERROR__TRANSACTION__SIGNATURES_MISSING]: "Transaction is missing signatures for addresses: $addresses.",
        [SOLANA_ERROR__TRANSACTION__VERSION_NUMBER_OUT_OF_RANGE]: "Transaction version must be in the range [0, 127]. `$actualVersion` given"
      };
      START_INDEX = "i";
      TYPE = "t";
      SolanaError = class extends Error {
        /**
         * Indicates the root cause of this {@link SolanaError}, if any.
         *
         * For example, a transaction error might have an instruction error as its root cause. In this
         * case, you will be able to access the instruction error on the transaction error as `cause`.
         */
        cause = this.cause;
        /**
         * Contains context that can assist in understanding or recovering from a {@link SolanaError}.
         */
        context;
        constructor(...[code, contextAndErrorOptions]) {
          let context;
          let errorOptions;
          if (contextAndErrorOptions) {
            const { cause, ...contextRest } = contextAndErrorOptions;
            if (cause) {
              errorOptions = { cause };
            }
            if (Object.keys(contextRest).length > 0) {
              context = contextRest;
            }
          }
          const message = getErrorMessage(code, context);
          super(message, errorOptions);
          this.context = {
            __code: code,
            ...context
          };
          this.name = "SolanaError";
        }
      };
    }
  });

  // node_modules/@solana/web3.js/node_modules/@solana/codecs-core/dist/index.browser.mjs
  function getEncodedSize(value, encoder) {
    return "fixedSize" in encoder ? encoder.fixedSize : encoder.getSizeFromValue(value);
  }
  function createEncoder(encoder) {
    return Object.freeze({
      ...encoder,
      encode: (value) => {
        const bytes2 = new Uint8Array(getEncodedSize(value, encoder));
        encoder.write(value, bytes2, 0);
        return bytes2;
      }
    });
  }
  function createDecoder(decoder) {
    return Object.freeze({
      ...decoder,
      decode: (bytes2, offset5 = 0) => decoder.read(bytes2, offset5)[0]
    });
  }
  function isFixedSize(codec) {
    return "fixedSize" in codec && typeof codec.fixedSize === "number";
  }
  function combineCodec(encoder, decoder) {
    if (isFixedSize(encoder) !== isFixedSize(decoder)) {
      throw new SolanaError(SOLANA_ERROR__CODECS__ENCODER_DECODER_SIZE_COMPATIBILITY_MISMATCH);
    }
    if (isFixedSize(encoder) && isFixedSize(decoder) && encoder.fixedSize !== decoder.fixedSize) {
      throw new SolanaError(SOLANA_ERROR__CODECS__ENCODER_DECODER_FIXED_SIZE_MISMATCH, {
        decoderFixedSize: decoder.fixedSize,
        encoderFixedSize: encoder.fixedSize
      });
    }
    if (!isFixedSize(encoder) && !isFixedSize(decoder) && encoder.maxSize !== decoder.maxSize) {
      throw new SolanaError(SOLANA_ERROR__CODECS__ENCODER_DECODER_MAX_SIZE_MISMATCH, {
        decoderMaxSize: decoder.maxSize,
        encoderMaxSize: encoder.maxSize
      });
    }
    return {
      ...decoder,
      ...encoder,
      decode: decoder.decode,
      encode: encoder.encode,
      read: decoder.read,
      write: encoder.write
    };
  }
  function assertByteArrayIsNotEmptyForCodec(codecDescription, bytes2, offset5 = 0) {
    if (bytes2.length - offset5 <= 0) {
      throw new SolanaError(SOLANA_ERROR__CODECS__CANNOT_DECODE_EMPTY_BYTE_ARRAY, {
        codecDescription
      });
    }
  }
  function assertByteArrayHasEnoughBytesForCodec(codecDescription, expected, bytes2, offset5 = 0) {
    const bytesLength = bytes2.length - offset5;
    if (bytesLength < expected) {
      throw new SolanaError(SOLANA_ERROR__CODECS__INVALID_BYTE_LENGTH, {
        bytesLength,
        codecDescription,
        expected
      });
    }
  }
  var init_index_browser2 = __esm({
    "node_modules/@solana/web3.js/node_modules/@solana/codecs-core/dist/index.browser.mjs"() {
      init_index_browser();
    }
  });

  // node_modules/@solana/web3.js/node_modules/@solana/codecs-numbers/dist/index.browser.mjs
  function assertNumberIsBetweenForCodec(codecDescription, min2, max2, value) {
    if (value < min2 || value > max2) {
      throw new SolanaError(SOLANA_ERROR__CODECS__NUMBER_OUT_OF_RANGE, {
        codecDescription,
        max: max2,
        min: min2,
        value
      });
    }
  }
  function isLittleEndian(config) {
    return config?.endian === 1 ? false : true;
  }
  function numberEncoderFactory(input) {
    return createEncoder({
      fixedSize: input.size,
      write(value, bytes2, offset5) {
        if (input.range) {
          assertNumberIsBetweenForCodec(input.name, input.range[0], input.range[1], value);
        }
        const arrayBuffer = new ArrayBuffer(input.size);
        input.set(new DataView(arrayBuffer), value, isLittleEndian(input.config));
        bytes2.set(new Uint8Array(arrayBuffer), offset5);
        return offset5 + input.size;
      }
    });
  }
  function numberDecoderFactory(input) {
    return createDecoder({
      fixedSize: input.size,
      read(bytes2, offset5 = 0) {
        assertByteArrayIsNotEmptyForCodec(input.name, bytes2, offset5);
        assertByteArrayHasEnoughBytesForCodec(input.name, input.size, bytes2, offset5);
        const view = new DataView(toArrayBuffer(bytes2, offset5, input.size));
        return [input.get(view, isLittleEndian(input.config)), offset5 + input.size];
      }
    });
  }
  function toArrayBuffer(bytes2, offset5, length2) {
    const bytesOffset = bytes2.byteOffset + (offset5 ?? 0);
    const bytesLength = length2 ?? bytes2.byteLength;
    return bytes2.buffer.slice(bytesOffset, bytesOffset + bytesLength);
  }
  var getU64Encoder, getU64Decoder, getU64Codec;
  var init_index_browser3 = __esm({
    "node_modules/@solana/web3.js/node_modules/@solana/codecs-numbers/dist/index.browser.mjs"() {
      init_index_browser();
      init_index_browser2();
      getU64Encoder = (config = {}) => numberEncoderFactory({
        config,
        name: "u64",
        range: [0n, BigInt("0xffffffffffffffff")],
        set: (view, value, le) => view.setBigUint64(0, BigInt(value), le),
        size: 8
      });
      getU64Decoder = (config = {}) => numberDecoderFactory({
        config,
        get: (view, le) => view.getBigUint64(0, le),
        name: "u64",
        size: 8
      });
      getU64Codec = (config = {}) => combineCodec(getU64Encoder(config), getU64Decoder(config));
    }
  });

  // node_modules/superstruct/dist/index.mjs
  function isIterable(x) {
    return isObject(x) && typeof x[Symbol.iterator] === "function";
  }
  function isObject(x) {
    return typeof x === "object" && x != null;
  }
  function isNonArrayObject(x) {
    return isObject(x) && !Array.isArray(x);
  }
  function print(value) {
    if (typeof value === "symbol") {
      return value.toString();
    }
    return typeof value === "string" ? JSON.stringify(value) : `${value}`;
  }
  function shiftIterator(input) {
    const { done, value } = input.next();
    return done ? void 0 : value;
  }
  function toFailure(result, context, struct2, value) {
    if (result === true) {
      return;
    } else if (result === false) {
      result = {};
    } else if (typeof result === "string") {
      result = { message: result };
    }
    const { path, branch } = context;
    const { type: type2 } = struct2;
    const { refinement, message = `Expected a value of type \`${type2}\`${refinement ? ` with refinement \`${refinement}\`` : ""}, but received: \`${print(value)}\`` } = result;
    return {
      value,
      type: type2,
      refinement,
      key: path[path.length - 1],
      path,
      branch,
      ...result,
      message
    };
  }
  function* toFailures(result, context, struct2, value) {
    if (!isIterable(result)) {
      result = [result];
    }
    for (const r2 of result) {
      const failure = toFailure(r2, context, struct2, value);
      if (failure) {
        yield failure;
      }
    }
  }
  function* run(value, struct2, options2 = {}) {
    const { path = [], branch = [value], coerce: coerce2 = false, mask: mask2 = false } = options2;
    const ctx = { path, branch, mask: mask2 };
    if (coerce2) {
      value = struct2.coercer(value, ctx);
    }
    let status = "valid";
    for (const failure of struct2.validator(value, ctx)) {
      failure.explanation = options2.message;
      status = "not_valid";
      yield [failure, void 0];
    }
    for (let [k, v, s2] of struct2.entries(value, ctx)) {
      const ts = run(v, s2, {
        path: k === void 0 ? path : [...path, k],
        branch: k === void 0 ? branch : [...branch, v],
        coerce: coerce2,
        mask: mask2,
        message: options2.message
      });
      for (const t2 of ts) {
        if (t2[0]) {
          status = t2[0].refinement != null ? "not_refined" : "not_valid";
          yield [t2[0], void 0];
        } else if (coerce2) {
          v = t2[1];
          if (k === void 0) {
            value = v;
          } else if (value instanceof Map) {
            value.set(k, v);
          } else if (value instanceof Set) {
            value.add(v);
          } else if (isObject(value)) {
            if (v !== void 0 || k in value)
              value[k] = v;
          }
        }
      }
    }
    if (status !== "not_valid") {
      for (const failure of struct2.refiner(value, ctx)) {
        failure.explanation = options2.message;
        status = "not_refined";
        yield [failure, void 0];
      }
    }
    if (status === "valid") {
      yield [void 0, value];
    }
  }
  function assert(value, struct2, message) {
    const result = validate2(value, struct2, { message });
    if (result[0]) {
      throw result[0];
    }
  }
  function create(value, struct2, message) {
    const result = validate2(value, struct2, { coerce: true, message });
    if (result[0]) {
      throw result[0];
    } else {
      return result[1];
    }
  }
  function mask(value, struct2, message) {
    const result = validate2(value, struct2, { coerce: true, mask: true, message });
    if (result[0]) {
      throw result[0];
    } else {
      return result[1];
    }
  }
  function is(value, struct2) {
    const result = validate2(value, struct2);
    return !result[0];
  }
  function validate2(value, struct2, options2 = {}) {
    const tuples = run(value, struct2, options2);
    const tuple2 = shiftIterator(tuples);
    if (tuple2[0]) {
      const error2 = new StructError(tuple2[0], function* () {
        for (const t2 of tuples) {
          if (t2[0]) {
            yield t2[0];
          }
        }
      });
      return [error2, void 0];
    } else {
      const v = tuple2[1];
      return [void 0, v];
    }
  }
  function define2(name, validator) {
    return new Struct({ type: name, schema: null, validator });
  }
  function any() {
    return define2("any", () => true);
  }
  function array(Element2) {
    return new Struct({
      type: "array",
      schema: Element2,
      *entries(value) {
        if (Element2 && Array.isArray(value)) {
          for (const [i2, v] of value.entries()) {
            yield [i2, v, Element2];
          }
        }
      },
      coercer(value) {
        return Array.isArray(value) ? value.slice() : value;
      },
      validator(value) {
        return Array.isArray(value) || `Expected an array value, but received: ${print(value)}`;
      }
    });
  }
  function boolean() {
    return define2("boolean", (value) => {
      return typeof value === "boolean";
    });
  }
  function instance(Class) {
    return define2("instance", (value) => {
      return value instanceof Class || `Expected a \`${Class.name}\` instance, but received: ${print(value)}`;
    });
  }
  function literal(constant) {
    const description = print(constant);
    const t2 = typeof constant;
    return new Struct({
      type: "literal",
      schema: t2 === "string" || t2 === "number" || t2 === "boolean" ? constant : null,
      validator(value) {
        return value === constant || `Expected the literal \`${description}\`, but received: ${print(value)}`;
      }
    });
  }
  function never() {
    return define2("never", () => false);
  }
  function nullable(struct2) {
    return new Struct({
      ...struct2,
      validator: (value, ctx) => value === null || struct2.validator(value, ctx),
      refiner: (value, ctx) => value === null || struct2.refiner(value, ctx)
    });
  }
  function number2() {
    return define2("number", (value) => {
      return typeof value === "number" && !isNaN(value) || `Expected a number, but received: ${print(value)}`;
    });
  }
  function optional(struct2) {
    return new Struct({
      ...struct2,
      validator: (value, ctx) => value === void 0 || struct2.validator(value, ctx),
      refiner: (value, ctx) => value === void 0 || struct2.refiner(value, ctx)
    });
  }
  function record(Key, Value) {
    return new Struct({
      type: "record",
      schema: null,
      *entries(value) {
        if (isObject(value)) {
          for (const k in value) {
            const v = value[k];
            yield [k, k, Key];
            yield [k, v, Value];
          }
        }
      },
      validator(value) {
        return isNonArrayObject(value) || `Expected an object, but received: ${print(value)}`;
      },
      coercer(value) {
        return isNonArrayObject(value) ? { ...value } : value;
      }
    });
  }
  function string() {
    return define2("string", (value) => {
      return typeof value === "string" || `Expected a string, but received: ${print(value)}`;
    });
  }
  function tuple(Structs) {
    const Never = never();
    return new Struct({
      type: "tuple",
      schema: null,
      *entries(value) {
        if (Array.isArray(value)) {
          const length2 = Math.max(Structs.length, value.length);
          for (let i2 = 0; i2 < length2; i2++) {
            yield [i2, value[i2], Structs[i2] || Never];
          }
        }
      },
      validator(value) {
        return Array.isArray(value) || `Expected an array, but received: ${print(value)}`;
      },
      coercer(value) {
        return Array.isArray(value) ? value.slice() : value;
      }
    });
  }
  function type(schema) {
    const keys2 = Object.keys(schema);
    return new Struct({
      type: "type",
      schema,
      *entries(value) {
        if (isObject(value)) {
          for (const k of keys2) {
            yield [k, value[k], schema[k]];
          }
        }
      },
      validator(value) {
        return isNonArrayObject(value) || `Expected an object, but received: ${print(value)}`;
      },
      coercer(value) {
        return isNonArrayObject(value) ? { ...value } : value;
      }
    });
  }
  function union(Structs) {
    const description = Structs.map((s2) => s2.type).join(" | ");
    return new Struct({
      type: "union",
      schema: null,
      coercer(value, ctx) {
        for (const S2 of Structs) {
          const [error2, coerced] = S2.validate(value, {
            coerce: true,
            mask: ctx.mask
          });
          if (!error2) {
            return coerced;
          }
        }
        return value;
      },
      validator(value, ctx) {
        const failures = [];
        for (const S2 of Structs) {
          const [...tuples] = run(value, S2, ctx);
          const [first] = tuples;
          if (!first[0]) {
            return [];
          } else {
            for (const [failure] of tuples) {
              if (failure) {
                failures.push(failure);
              }
            }
          }
        }
        return [
          `Expected the value to satisfy a union of \`${description}\`, but received: ${print(value)}`,
          ...failures
        ];
      }
    });
  }
  function unknown() {
    return define2("unknown", () => true);
  }
  function coerce(struct2, condition, coercer) {
    return new Struct({
      ...struct2,
      coercer: (value, ctx) => {
        return is(value, condition) ? struct2.coercer(coercer(value, ctx), ctx) : struct2.coercer(value, ctx);
      }
    });
  }
  var StructError, Struct;
  var init_dist4 = __esm({
    "node_modules/superstruct/dist/index.mjs"() {
      StructError = class extends TypeError {
        constructor(failure, failures) {
          let cached;
          const { message, explanation, ...rest } = failure;
          const { path } = failure;
          const msg = path.length === 0 ? message : `At path: ${path.join(".")} -- ${message}`;
          super(explanation ?? msg);
          if (explanation != null)
            this.cause = msg;
          Object.assign(this, rest);
          this.name = this.constructor.name;
          this.failures = () => {
            return cached ?? (cached = [failure, ...failures()]);
          };
        }
      };
      Struct = class {
        constructor(props) {
          const { type: type2, schema, validator, refiner, coercer = (value) => value, entries = function* () {
          } } = props;
          this.type = type2;
          this.schema = schema;
          this.entries = entries;
          this.coercer = coercer;
          if (validator) {
            this.validator = (value, context) => {
              const result = validator(value, context);
              return toFailures(result, context, this, value);
            };
          } else {
            this.validator = () => [];
          }
          if (refiner) {
            this.refiner = (value, context) => {
              const result = refiner(value, context);
              return toFailures(result, context, this, value);
            };
          } else {
            this.refiner = () => [];
          }
        }
        /**
         * Assert that a value passes the struct's validation, throwing if it doesn't.
         */
        assert(value, message) {
          return assert(value, this, message);
        }
        /**
         * Create a value with the struct's coercion logic, then validate it.
         */
        create(value, message) {
          return create(value, this, message);
        }
        /**
         * Check if a value passes the struct's validation.
         */
        is(value) {
          return is(value, this);
        }
        /**
         * Mask a value, coercing and validating it, but returning only the subset of
         * properties defined by the struct's schema. Masking applies recursively to
         * props of `object` structs only.
         */
        mask(value, message) {
          return mask(value, this, message);
        }
        /**
         * Validate a value with the struct's validation logic, returning a tuple
         * representing the result.
         *
         * You may optionally pass `true` for the `coerce` argument to coerce
         * the value before attempting to validate it. If you do, the result will
         * contain the coerced result when successful. Also, `mask` will turn on
         * masking of the unknown `object` props recursively if passed.
         */
        validate(value, options2 = {}) {
          return validate2(value, this, options2);
        }
      };
    }
  });

  // node_modules/uuid/dist/esm-browser/rng.js
  function rng() {
    if (!getRandomValues) {
      getRandomValues = typeof crypto !== "undefined" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== "undefined" && typeof msCrypto.getRandomValues === "function" && msCrypto.getRandomValues.bind(msCrypto);
      if (!getRandomValues) {
        throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
      }
    }
    return getRandomValues(rnds8);
  }
  var getRandomValues, rnds8;
  var init_rng = __esm({
    "node_modules/uuid/dist/esm-browser/rng.js"() {
      rnds8 = new Uint8Array(16);
    }
  });

  // node_modules/uuid/dist/esm-browser/regex.js
  var regex_default;
  var init_regex = __esm({
    "node_modules/uuid/dist/esm-browser/regex.js"() {
      regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
    }
  });

  // node_modules/uuid/dist/esm-browser/validate.js
  function validate3(uuid) {
    return typeof uuid === "string" && regex_default.test(uuid);
  }
  var validate_default;
  var init_validate = __esm({
    "node_modules/uuid/dist/esm-browser/validate.js"() {
      init_regex();
      validate_default = validate3;
    }
  });

  // node_modules/uuid/dist/esm-browser/stringify.js
  function stringify2(arr) {
    var offset5 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
    var uuid = (byteToHex[arr[offset5 + 0]] + byteToHex[arr[offset5 + 1]] + byteToHex[arr[offset5 + 2]] + byteToHex[arr[offset5 + 3]] + "-" + byteToHex[arr[offset5 + 4]] + byteToHex[arr[offset5 + 5]] + "-" + byteToHex[arr[offset5 + 6]] + byteToHex[arr[offset5 + 7]] + "-" + byteToHex[arr[offset5 + 8]] + byteToHex[arr[offset5 + 9]] + "-" + byteToHex[arr[offset5 + 10]] + byteToHex[arr[offset5 + 11]] + byteToHex[arr[offset5 + 12]] + byteToHex[arr[offset5 + 13]] + byteToHex[arr[offset5 + 14]] + byteToHex[arr[offset5 + 15]]).toLowerCase();
    if (!validate_default(uuid)) {
      throw TypeError("Stringified UUID is invalid");
    }
    return uuid;
  }
  var byteToHex, i2, stringify_default;
  var init_stringify = __esm({
    "node_modules/uuid/dist/esm-browser/stringify.js"() {
      init_validate();
      byteToHex = [];
      for (i2 = 0; i2 < 256; ++i2) {
        byteToHex.push((i2 + 256).toString(16).substr(1));
      }
      stringify_default = stringify2;
    }
  });

  // node_modules/uuid/dist/esm-browser/v1.js
  function v1(options2, buf, offset5) {
    var i2 = buf && offset5 || 0;
    var b2 = buf || new Array(16);
    options2 = options2 || {};
    var node2 = options2.node || _nodeId;
    var clockseq = options2.clockseq !== void 0 ? options2.clockseq : _clockseq;
    if (node2 == null || clockseq == null) {
      var seedBytes = options2.random || (options2.rng || rng)();
      if (node2 == null) {
        node2 = _nodeId = [seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];
      }
      if (clockseq == null) {
        clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 16383;
      }
    }
    var msecs = options2.msecs !== void 0 ? options2.msecs : Date.now();
    var nsecs = options2.nsecs !== void 0 ? options2.nsecs : _lastNSecs + 1;
    var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4;
    if (dt < 0 && options2.clockseq === void 0) {
      clockseq = clockseq + 1 & 16383;
    }
    if ((dt < 0 || msecs > _lastMSecs) && options2.nsecs === void 0) {
      nsecs = 0;
    }
    if (nsecs >= 1e4) {
      throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
    }
    _lastMSecs = msecs;
    _lastNSecs = nsecs;
    _clockseq = clockseq;
    msecs += 122192928e5;
    var tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296;
    b2[i2++] = tl >>> 24 & 255;
    b2[i2++] = tl >>> 16 & 255;
    b2[i2++] = tl >>> 8 & 255;
    b2[i2++] = tl & 255;
    var tmh = msecs / 4294967296 * 1e4 & 268435455;
    b2[i2++] = tmh >>> 8 & 255;
    b2[i2++] = tmh & 255;
    b2[i2++] = tmh >>> 24 & 15 | 16;
    b2[i2++] = tmh >>> 16 & 255;
    b2[i2++] = clockseq >>> 8 | 128;
    b2[i2++] = clockseq & 255;
    for (var n3 = 0; n3 < 6; ++n3) {
      b2[i2 + n3] = node2[n3];
    }
    return buf || stringify_default(b2);
  }
  var _nodeId, _clockseq, _lastMSecs, _lastNSecs, v1_default;
  var init_v1 = __esm({
    "node_modules/uuid/dist/esm-browser/v1.js"() {
      init_rng();
      init_stringify();
      _lastMSecs = 0;
      _lastNSecs = 0;
      v1_default = v1;
    }
  });

  // node_modules/uuid/dist/esm-browser/parse.js
  function parse4(uuid) {
    if (!validate_default(uuid)) {
      throw TypeError("Invalid UUID");
    }
    var v;
    var arr = new Uint8Array(16);
    arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;
    arr[1] = v >>> 16 & 255;
    arr[2] = v >>> 8 & 255;
    arr[3] = v & 255;
    arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;
    arr[5] = v & 255;
    arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;
    arr[7] = v & 255;
    arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;
    arr[9] = v & 255;
    arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255;
    arr[11] = v / 4294967296 & 255;
    arr[12] = v >>> 24 & 255;
    arr[13] = v >>> 16 & 255;
    arr[14] = v >>> 8 & 255;
    arr[15] = v & 255;
    return arr;
  }
  var parse_default;
  var init_parse = __esm({
    "node_modules/uuid/dist/esm-browser/parse.js"() {
      init_validate();
      parse_default = parse4;
    }
  });

  // node_modules/uuid/dist/esm-browser/v35.js
  function stringToBytes(str) {
    str = unescape(encodeURIComponent(str));
    var bytes2 = [];
    for (var i2 = 0; i2 < str.length; ++i2) {
      bytes2.push(str.charCodeAt(i2));
    }
    return bytes2;
  }
  function v35_default(name, version2, hashfunc) {
    function generateUUID(value, namespace, buf, offset5) {
      if (typeof value === "string") {
        value = stringToBytes(value);
      }
      if (typeof namespace === "string") {
        namespace = parse_default(namespace);
      }
      if (namespace.length !== 16) {
        throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");
      }
      var bytes2 = new Uint8Array(16 + value.length);
      bytes2.set(namespace);
      bytes2.set(value, namespace.length);
      bytes2 = hashfunc(bytes2);
      bytes2[6] = bytes2[6] & 15 | version2;
      bytes2[8] = bytes2[8] & 63 | 128;
      if (buf) {
        offset5 = offset5 || 0;
        for (var i2 = 0; i2 < 16; ++i2) {
          buf[offset5 + i2] = bytes2[i2];
        }
        return buf;
      }
      return stringify_default(bytes2);
    }
    try {
      generateUUID.name = name;
    } catch (err) {
    }
    generateUUID.DNS = DNS;
    generateUUID.URL = URL2;
    return generateUUID;
  }
  var DNS, URL2;
  var init_v35 = __esm({
    "node_modules/uuid/dist/esm-browser/v35.js"() {
      init_stringify();
      init_parse();
      DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8";
      URL2 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
    }
  });

  // node_modules/uuid/dist/esm-browser/md5.js
  function md5(bytes2) {
    if (typeof bytes2 === "string") {
      var msg = unescape(encodeURIComponent(bytes2));
      bytes2 = new Uint8Array(msg.length);
      for (var i2 = 0; i2 < msg.length; ++i2) {
        bytes2[i2] = msg.charCodeAt(i2);
      }
    }
    return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes2), bytes2.length * 8));
  }
  function md5ToHexEncodedArray(input) {
    var output2 = [];
    var length32 = input.length * 32;
    var hexTab = "0123456789abcdef";
    for (var i2 = 0; i2 < length32; i2 += 8) {
      var x = input[i2 >> 5] >>> i2 % 32 & 255;
      var hex = parseInt(hexTab.charAt(x >>> 4 & 15) + hexTab.charAt(x & 15), 16);
      output2.push(hex);
    }
    return output2;
  }
  function getOutputLength(inputLength8) {
    return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;
  }
  function wordsToMd5(x, len) {
    x[len >> 5] |= 128 << len % 32;
    x[getOutputLength(len) - 1] = len;
    var a2 = 1732584193;
    var b2 = -271733879;
    var c2 = -1732584194;
    var d2 = 271733878;
    for (var i2 = 0; i2 < x.length; i2 += 16) {
      var olda = a2;
      var oldb = b2;
      var oldc = c2;
      var oldd = d2;
      a2 = md5ff(a2, b2, c2, d2, x[i2], 7, -680876936);
      d2 = md5ff(d2, a2, b2, c2, x[i2 + 1], 12, -389564586);
      c2 = md5ff(c2, d2, a2, b2, x[i2 + 2], 17, 606105819);
      b2 = md5ff(b2, c2, d2, a2, x[i2 + 3], 22, -1044525330);
      a2 = md5ff(a2, b2, c2, d2, x[i2 + 4], 7, -176418897);
      d2 = md5ff(d2, a2, b2, c2, x[i2 + 5], 12, 1200080426);
      c2 = md5ff(c2, d2, a2, b2, x[i2 + 6], 17, -1473231341);
      b2 = md5ff(b2, c2, d2, a2, x[i2 + 7], 22, -45705983);
      a2 = md5ff(a2, b2, c2, d2, x[i2 + 8], 7, 1770035416);
      d2 = md5ff(d2, a2, b2, c2, x[i2 + 9], 12, -1958414417);
      c2 = md5ff(c2, d2, a2, b2, x[i2 + 10], 17, -42063);
      b2 = md5ff(b2, c2, d2, a2, x[i2 + 11], 22, -1990404162);
      a2 = md5ff(a2, b2, c2, d2, x[i2 + 12], 7, 1804603682);
      d2 = md5ff(d2, a2, b2, c2, x[i2 + 13], 12, -40341101);
      c2 = md5ff(c2, d2, a2, b2, x[i2 + 14], 17, -1502002290);
      b2 = md5ff(b2, c2, d2, a2, x[i2 + 15], 22, 1236535329);
      a2 = md5gg(a2, b2, c2, d2, x[i2 + 1], 5, -165796510);
      d2 = md5gg(d2, a2, b2, c2, x[i2 + 6], 9, -1069501632);
      c2 = md5gg(c2, d2, a2, b2, x[i2 + 11], 14, 643717713);
      b2 = md5gg(b2, c2, d2, a2, x[i2], 20, -373897302);
      a2 = md5gg(a2, b2, c2, d2, x[i2 + 5], 5, -701558691);
      d2 = md5gg(d2, a2, b2, c2, x[i2 + 10], 9, 38016083);
      c2 = md5gg(c2, d2, a2, b2, x[i2 + 15], 14, -660478335);
      b2 = md5gg(b2, c2, d2, a2, x[i2 + 4], 20, -405537848);
      a2 = md5gg(a2, b2, c2, d2, x[i2 + 9], 5, 568446438);
      d2 = md5gg(d2, a2, b2, c2, x[i2 + 14], 9, -1019803690);
      c2 = md5gg(c2, d2, a2, b2, x[i2 + 3], 14, -187363961);
      b2 = md5gg(b2, c2, d2, a2, x[i2 + 8], 20, 1163531501);
      a2 = md5gg(a2, b2, c2, d2, x[i2 + 13], 5, -1444681467);
      d2 = md5gg(d2, a2, b2, c2, x[i2 + 2], 9, -51403784);
      c2 = md5gg(c2, d2, a2, b2, x[i2 + 7], 14, 1735328473);
      b2 = md5gg(b2, c2, d2, a2, x[i2 + 12], 20, -1926607734);
      a2 = md5hh(a2, b2, c2, d2, x[i2 + 5], 4, -378558);
      d2 = md5hh(d2, a2, b2, c2, x[i2 + 8], 11, -2022574463);
      c2 = md5hh(c2, d2, a2, b2, x[i2 + 11], 16, 1839030562);
      b2 = md5hh(b2, c2, d2, a2, x[i2 + 14], 23, -35309556);
      a2 = md5hh(a2, b2, c2, d2, x[i2 + 1], 4, -1530992060);
      d2 = md5hh(d2, a2, b2, c2, x[i2 + 4], 11, 1272893353);
      c2 = md5hh(c2, d2, a2, b2, x[i2 + 7], 16, -155497632);
      b2 = md5hh(b2, c2, d2, a2, x[i2 + 10], 23, -1094730640);
      a2 = md5hh(a2, b2, c2, d2, x[i2 + 13], 4, 681279174);
      d2 = md5hh(d2, a2, b2, c2, x[i2], 11, -358537222);
      c2 = md5hh(c2, d2, a2, b2, x[i2 + 3], 16, -722521979);
      b2 = md5hh(b2, c2, d2, a2, x[i2 + 6], 23, 76029189);
      a2 = md5hh(a2, b2, c2, d2, x[i2 + 9], 4, -640364487);
      d2 = md5hh(d2, a2, b2, c2, x[i2 + 12], 11, -421815835);
      c2 = md5hh(c2, d2, a2, b2, x[i2 + 15], 16, 530742520);
      b2 = md5hh(b2, c2, d2, a2, x[i2 + 2], 23, -995338651);
      a2 = md5ii(a2, b2, c2, d2, x[i2], 6, -198630844);
      d2 = md5ii(d2, a2, b2, c2, x[i2 + 7], 10, 1126891415);
      c2 = md5ii(c2, d2, a2, b2, x[i2 + 14], 15, -1416354905);
      b2 = md5ii(b2, c2, d2, a2, x[i2 + 5], 21, -57434055);
      a2 = md5ii(a2, b2, c2, d2, x[i2 + 12], 6, 1700485571);
      d2 = md5ii(d2, a2, b2, c2, x[i2 + 3], 10, -1894986606);
      c2 = md5ii(c2, d2, a2, b2, x[i2 + 10], 15, -1051523);
      b2 = md5ii(b2, c2, d2, a2, x[i2 + 1], 21, -2054922799);
      a2 = md5ii(a2, b2, c2, d2, x[i2 + 8], 6, 1873313359);
      d2 = md5ii(d2, a2, b2, c2, x[i2 + 15], 10, -30611744);
      c2 = md5ii(c2, d2, a2, b2, x[i2 + 6], 15, -1560198380);
      b2 = md5ii(b2, c2, d2, a2, x[i2 + 13], 21, 1309151649);
      a2 = md5ii(a2, b2, c2, d2, x[i2 + 4], 6, -145523070);
      d2 = md5ii(d2, a2, b2, c2, x[i2 + 11], 10, -1120210379);
      c2 = md5ii(c2, d2, a2, b2, x[i2 + 2], 15, 718787259);
      b2 = md5ii(b2, c2, d2, a2, x[i2 + 9], 21, -343485551);
      a2 = safeAdd(a2, olda);
      b2 = safeAdd(b2, oldb);
      c2 = safeAdd(c2, oldc);
      d2 = safeAdd(d2, oldd);
    }
    return [a2, b2, c2, d2];
  }
  function bytesToWords(input) {
    if (input.length === 0) {
      return [];
    }
    var length8 = input.length * 8;
    var output2 = new Uint32Array(getOutputLength(length8));
    for (var i2 = 0; i2 < length8; i2 += 8) {
      output2[i2 >> 5] |= (input[i2 / 8] & 255) << i2 % 32;
    }
    return output2;
  }
  function safeAdd(x, y) {
    var lsw = (x & 65535) + (y & 65535);
    var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
    return msw << 16 | lsw & 65535;
  }
  function bitRotateLeft(num, cnt) {
    return num << cnt | num >>> 32 - cnt;
  }
  function md5cmn(q, a2, b2, x, s2, t2) {
    return safeAdd(bitRotateLeft(safeAdd(safeAdd(a2, q), safeAdd(x, t2)), s2), b2);
  }
  function md5ff(a2, b2, c2, d2, x, s2, t2) {
    return md5cmn(b2 & c2 | ~b2 & d2, a2, b2, x, s2, t2);
  }
  function md5gg(a2, b2, c2, d2, x, s2, t2) {
    return md5cmn(b2 & d2 | c2 & ~d2, a2, b2, x, s2, t2);
  }
  function md5hh(a2, b2, c2, d2, x, s2, t2) {
    return md5cmn(b2 ^ c2 ^ d2, a2, b2, x, s2, t2);
  }
  function md5ii(a2, b2, c2, d2, x, s2, t2) {
    return md5cmn(c2 ^ (b2 | ~d2), a2, b2, x, s2, t2);
  }
  var md5_default;
  var init_md5 = __esm({
    "node_modules/uuid/dist/esm-browser/md5.js"() {
      md5_default = md5;
    }
  });

  // node_modules/uuid/dist/esm-browser/v3.js
  var v3, v3_default;
  var init_v3 = __esm({
    "node_modules/uuid/dist/esm-browser/v3.js"() {
      init_v35();
      init_md5();
      v3 = v35_default("v3", 48, md5_default);
      v3_default = v3;
    }
  });

  // node_modules/uuid/dist/esm-browser/v4.js
  function v4(options2, buf, offset5) {
    options2 = options2 || {};
    var rnds = options2.random || (options2.rng || rng)();
    rnds[6] = rnds[6] & 15 | 64;
    rnds[8] = rnds[8] & 63 | 128;
    if (buf) {
      offset5 = offset5 || 0;
      for (var i2 = 0; i2 < 16; ++i2) {
        buf[offset5 + i2] = rnds[i2];
      }
      return buf;
    }
    return stringify_default(rnds);
  }
  var v4_default;
  var init_v4 = __esm({
    "node_modules/uuid/dist/esm-browser/v4.js"() {
      init_rng();
      init_stringify();
      v4_default = v4;
    }
  });

  // node_modules/uuid/dist/esm-browser/sha1.js
  function f2(s2, x, y, z) {
    switch (s2) {
      case 0:
        return x & y ^ ~x & z;
      case 1:
        return x ^ y ^ z;
      case 2:
        return x & y ^ x & z ^ y & z;
      case 3:
        return x ^ y ^ z;
    }
  }
  function ROTL(x, n3) {
    return x << n3 | x >>> 32 - n3;
  }
  function sha1(bytes2) {
    var K = [1518500249, 1859775393, 2400959708, 3395469782];
    var H = [1732584193, 4023233417, 2562383102, 271733878, 3285377520];
    if (typeof bytes2 === "string") {
      var msg = unescape(encodeURIComponent(bytes2));
      bytes2 = [];
      for (var i2 = 0; i2 < msg.length; ++i2) {
        bytes2.push(msg.charCodeAt(i2));
      }
    } else if (!Array.isArray(bytes2)) {
      bytes2 = Array.prototype.slice.call(bytes2);
    }
    bytes2.push(128);
    var l2 = bytes2.length / 4 + 2;
    var N = Math.ceil(l2 / 16);
    var M = new Array(N);
    for (var _i = 0; _i < N; ++_i) {
      var arr = new Uint32Array(16);
      for (var j = 0; j < 16; ++j) {
        arr[j] = bytes2[_i * 64 + j * 4] << 24 | bytes2[_i * 64 + j * 4 + 1] << 16 | bytes2[_i * 64 + j * 4 + 2] << 8 | bytes2[_i * 64 + j * 4 + 3];
      }
      M[_i] = arr;
    }
    M[N - 1][14] = (bytes2.length - 1) * 8 / Math.pow(2, 32);
    M[N - 1][14] = Math.floor(M[N - 1][14]);
    M[N - 1][15] = (bytes2.length - 1) * 8 & 4294967295;
    for (var _i2 = 0; _i2 < N; ++_i2) {
      var W = new Uint32Array(80);
      for (var t2 = 0; t2 < 16; ++t2) {
        W[t2] = M[_i2][t2];
      }
      for (var _t2 = 16; _t2 < 80; ++_t2) {
        W[_t2] = ROTL(W[_t2 - 3] ^ W[_t2 - 8] ^ W[_t2 - 14] ^ W[_t2 - 16], 1);
      }
      var a2 = H[0];
      var b2 = H[1];
      var c2 = H[2];
      var d2 = H[3];
      var e3 = H[4];
      for (var _t22 = 0; _t22 < 80; ++_t22) {
        var s2 = Math.floor(_t22 / 20);
        var T = ROTL(a2, 5) + f2(s2, b2, c2, d2) + e3 + K[s2] + W[_t22] >>> 0;
        e3 = d2;
        d2 = c2;
        c2 = ROTL(b2, 30) >>> 0;
        b2 = a2;
        a2 = T;
      }
      H[0] = H[0] + a2 >>> 0;
      H[1] = H[1] + b2 >>> 0;
      H[2] = H[2] + c2 >>> 0;
      H[3] = H[3] + d2 >>> 0;
      H[4] = H[4] + e3 >>> 0;
    }
    return [H[0] >> 24 & 255, H[0] >> 16 & 255, H[0] >> 8 & 255, H[0] & 255, H[1] >> 24 & 255, H[1] >> 16 & 255, H[1] >> 8 & 255, H[1] & 255, H[2] >> 24 & 255, H[2] >> 16 & 255, H[2] >> 8 & 255, H[2] & 255, H[3] >> 24 & 255, H[3] >> 16 & 255, H[3] >> 8 & 255, H[3] & 255, H[4] >> 24 & 255, H[4] >> 16 & 255, H[4] >> 8 & 255, H[4] & 255];
  }
  var sha1_default;
  var init_sha1 = __esm({
    "node_modules/uuid/dist/esm-browser/sha1.js"() {
      sha1_default = sha1;
    }
  });

  // node_modules/uuid/dist/esm-browser/v5.js
  var v5, v5_default;
  var init_v5 = __esm({
    "node_modules/uuid/dist/esm-browser/v5.js"() {
      init_v35();
      init_sha1();
      v5 = v35_default("v5", 80, sha1_default);
      v5_default = v5;
    }
  });

  // node_modules/uuid/dist/esm-browser/nil.js
  var nil_default;
  var init_nil = __esm({
    "node_modules/uuid/dist/esm-browser/nil.js"() {
      nil_default = "00000000-0000-0000-0000-000000000000";
    }
  });

  // node_modules/uuid/dist/esm-browser/version.js
  function version(uuid) {
    if (!validate_default(uuid)) {
      throw TypeError("Invalid UUID");
    }
    return parseInt(uuid.substr(14, 1), 16);
  }
  var version_default;
  var init_version = __esm({
    "node_modules/uuid/dist/esm-browser/version.js"() {
      init_validate();
      version_default = version;
    }
  });

  // node_modules/uuid/dist/esm-browser/index.js
  var esm_browser_exports = {};
  __export(esm_browser_exports, {
    NIL: () => nil_default,
    parse: () => parse_default,
    stringify: () => stringify_default,
    v1: () => v1_default,
    v3: () => v3_default,
    v4: () => v4_default,
    v5: () => v5_default,
    validate: () => validate_default,
    version: () => version_default
  });
  var init_esm_browser = __esm({
    "node_modules/uuid/dist/esm-browser/index.js"() {
      init_v1();
      init_v3();
      init_v4();
      init_v5();
      init_nil();
      init_version();
      init_validate();
      init_stringify();
      init_parse();
    }
  });

  // node_modules/jayson/lib/generateRequest.js
  var require_generateRequest = __commonJS({
    "node_modules/jayson/lib/generateRequest.js"(exports, module) {
      "use strict";
      var uuid = (init_esm_browser(), __toCommonJS(esm_browser_exports)).v4;
      var generateRequest = function(method, params, id, options2) {
        if (typeof method !== "string") {
          throw new TypeError(method + " must be a string");
        }
        options2 = options2 || {};
        const version2 = typeof options2.version === "number" ? options2.version : 2;
        if (version2 !== 1 && version2 !== 2) {
          throw new TypeError(version2 + " must be 1 or 2");
        }
        const request = {
          method
        };
        if (version2 === 2) {
          request.jsonrpc = "2.0";
        }
        if (params) {
          if (typeof params !== "object" && !Array.isArray(params)) {
            throw new TypeError(params + " must be an object, array or omitted");
          }
          request.params = params;
        }
        if (typeof id === "undefined") {
          const generator = typeof options2.generator === "function" ? options2.generator : function() {
            return uuid();
          };
          request.id = generator(request, options2);
        } else if (version2 === 2 && id === null) {
          if (options2.notificationIdNull) {
            request.id = null;
          }
        } else {
          request.id = id;
        }
        return request;
      };
      module.exports = generateRequest;
    }
  });

  // node_modules/jayson/lib/client/browser/index.js
  var require_browser = __commonJS({
    "node_modules/jayson/lib/client/browser/index.js"(exports, module) {
      "use strict";
      var uuid = (init_esm_browser(), __toCommonJS(esm_browser_exports)).v4;
      var generateRequest = require_generateRequest();
      var ClientBrowser = function(callServer, options2) {
        if (!(this instanceof ClientBrowser)) {
          return new ClientBrowser(callServer, options2);
        }
        if (!options2) {
          options2 = {};
        }
        this.options = {
          reviver: typeof options2.reviver !== "undefined" ? options2.reviver : null,
          replacer: typeof options2.replacer !== "undefined" ? options2.replacer : null,
          generator: typeof options2.generator !== "undefined" ? options2.generator : function() {
            return uuid();
          },
          version: typeof options2.version !== "undefined" ? options2.version : 2,
          notificationIdNull: typeof options2.notificationIdNull === "boolean" ? options2.notificationIdNull : false
        };
        this.callServer = callServer;
      };
      module.exports = ClientBrowser;
      ClientBrowser.prototype.request = function(method, params, id, callback) {
        const self2 = this;
        let request = null;
        const isBatch = Array.isArray(method) && typeof params === "function";
        if (this.options.version === 1 && isBatch) {
          throw new TypeError("JSON-RPC 1.0 does not support batching");
        }
        const isRaw = !isBatch && method && typeof method === "object" && typeof params === "function";
        if (isBatch || isRaw) {
          callback = params;
          request = method;
        } else {
          if (typeof id === "function") {
            callback = id;
            id = void 0;
          }
          const hasCallback = typeof callback === "function";
          try {
            request = generateRequest(method, params, id, {
              generator: this.options.generator,
              version: this.options.version,
              notificationIdNull: this.options.notificationIdNull
            });
          } catch (err) {
            if (hasCallback) {
              callback(err);
              return;
            }
            throw err;
          }
          if (!hasCallback) {
            return request;
          }
        }
        let message;
        try {
          message = JSON.stringify(request, this.options.replacer);
        } catch (err) {
          callback(err);
          return;
        }
        this.callServer(message, function(err, response) {
          self2._parseResponse(err, response, callback);
        });
        return request;
      };
      ClientBrowser.prototype._parseResponse = function(err, responseText, callback) {
        if (err) {
          callback(err);
          return;
        }
        if (!responseText) {
          callback();
          return;
        }
        let response;
        try {
          response = JSON.parse(responseText, this.options.reviver);
        } catch (err2) {
          callback(err2);
          return;
        }
        if (callback.length === 3) {
          if (Array.isArray(response)) {
            const isError = function(res) {
              return typeof res.error !== "undefined";
            };
            const isNotError = function(res) {
              return !isError(res);
            };
            callback(null, response.filter(isError), response.filter(isNotError));
            return;
          } else {
            callback(null, response.error, response.result);
            return;
          }
        }
        callback(null, response);
      };
    }
  });

  // node_modules/rpc-websockets/dist/index.browser.mjs
  function WebSocket2(address, options2) {
    return new WebSocketBrowserImpl(address, options2);
  }
  var import_buffer, WebSocketBrowserImpl, DefaultDataPack, CommonClient;
  var init_index_browser4 = __esm({
    "node_modules/rpc-websockets/dist/index.browser.mjs"() {
      import_buffer = __toESM(require_buffer(), 1);
      init_eventemitter3();
      WebSocketBrowserImpl = class extends import_index3.default {
        socket;
        /** Instantiate a WebSocket class
        * @constructor
        * @param {String} address - url to a websocket server
        * @param {WebSocketBrowserOptions} options - websocket options
        * @return {WebSocketBrowserImpl} - returns a WebSocket instance
        */
        constructor(address, options2) {
          super();
          this.socket = new window.WebSocket(address, options2.protocols);
          this.socket.onopen = () => this.emit("open");
          this.socket.onmessage = (event) => this.emit("message", event.data);
          this.socket.onerror = (error2) => this.emit("error", error2);
          this.socket.onclose = (event) => {
            this.emit("close", event.code, event.reason);
          };
        }
        /**
        * Sends data through a websocket connection
        * @method
        * @param {(String|Object)} data - data to be sent via websocket
        * @param {Object} optionsOrCallback - ws options
        * @param {Function} callback - a callback called once the data is sent
        * @return {Undefined}
        */
        send(data2, optionsOrCallback, callback) {
          const cb = callback || optionsOrCallback;
          try {
            this.socket.send(data2);
            cb();
          } catch (error2) {
            cb(error2);
          }
        }
        /**
        * Closes an underlying socket
        * @method
        * @param {Number} code - status code explaining why the connection is being closed
        * @param {String} reason - a description why the connection is closing
        * @return {Undefined}
        * @throws {Error}
        */
        close(code, reason) {
          this.socket.close(code, reason);
        }
        addEventListener(type2, listener, options2) {
          this.socket.addEventListener(type2, listener, options2);
        }
      };
      DefaultDataPack = class {
        encode(value) {
          return JSON.stringify(value);
        }
        decode(value) {
          return JSON.parse(value);
        }
      };
      CommonClient = class extends import_index3.default {
        address;
        rpc_id;
        queue;
        options;
        autoconnect;
        ready;
        reconnect;
        reconnect_timer_id;
        reconnect_interval;
        max_reconnects;
        rest_options;
        current_reconnects;
        generate_request_id;
        socket;
        webSocketFactory;
        dataPack;
        /**
        * Instantiate a Client class.
        * @constructor
        * @param {webSocketFactory} webSocketFactory - factory method for WebSocket
        * @param {String} address - url to a websocket server
        * @param {Object} options - ws options object with reconnect parameters
        * @param {Function} generate_request_id - custom generation request Id
        * @param {DataPack} dataPack - data pack contains encoder and decoder
        * @return {CommonClient}
        */
        constructor(webSocketFactory, address = "ws://localhost:8080", {
          autoconnect = true,
          reconnect = true,
          reconnect_interval = 1e3,
          max_reconnects = 5,
          ...rest_options
        } = {}, generate_request_id, dataPack) {
          super();
          this.webSocketFactory = webSocketFactory;
          this.queue = {};
          this.rpc_id = 0;
          this.address = address;
          this.autoconnect = autoconnect;
          this.ready = false;
          this.reconnect = reconnect;
          this.reconnect_timer_id = void 0;
          this.reconnect_interval = reconnect_interval;
          this.max_reconnects = max_reconnects;
          this.rest_options = rest_options;
          this.current_reconnects = 0;
          this.generate_request_id = generate_request_id || (() => typeof this.rpc_id === "number" ? ++this.rpc_id : Number(this.rpc_id) + 1);
          if (!dataPack) this.dataPack = new DefaultDataPack();
          else this.dataPack = dataPack;
          if (this.autoconnect)
            this._connect(this.address, {
              autoconnect: this.autoconnect,
              reconnect: this.reconnect,
              reconnect_interval: this.reconnect_interval,
              max_reconnects: this.max_reconnects,
              ...this.rest_options
            });
        }
        /**
        * Connects to a defined server if not connected already.
        * @method
        * @return {Undefined}
        */
        connect() {
          if (this.socket) return;
          this._connect(this.address, {
            autoconnect: this.autoconnect,
            reconnect: this.reconnect,
            reconnect_interval: this.reconnect_interval,
            max_reconnects: this.max_reconnects,
            ...this.rest_options
          });
        }
        /**
        * Calls a registered RPC method on server.
        * @method
        * @param {String} method - RPC method name
        * @param {Object|Array} params - optional method parameters
        * @param {Number} timeout - RPC reply timeout value
        * @param {Object} ws_opts - options passed to ws
        * @return {Promise}
        */
        call(method, params, timeout, ws_opts) {
          if (!ws_opts && "object" === typeof timeout) {
            ws_opts = timeout;
            timeout = null;
          }
          return new Promise((resolve, reject) => {
            if (!this.ready) return reject(new Error("socket not ready"));
            const rpc_id = this.generate_request_id(method, params);
            const message = {
              jsonrpc: "2.0",
              method,
              params: params || void 0,
              id: rpc_id
            };
            this.socket.send(this.dataPack.encode(message), ws_opts, (error2) => {
              if (error2) return reject(error2);
              this.queue[rpc_id] = { promise: [resolve, reject] };
              if (timeout) {
                this.queue[rpc_id].timeout = setTimeout(() => {
                  delete this.queue[rpc_id];
                  reject(new Error("reply timeout"));
                }, timeout);
              }
            });
          });
        }
        /**
        * Logins with the other side of the connection.
        * @method
        * @param {Object} params - Login credentials object
        * @return {Promise}
        */
        async login(params) {
          const resp = await this.call("rpc.login", params);
          if (!resp) throw new Error("authentication failed");
          return resp;
        }
        /**
        * Fetches a list of client's methods registered on server.
        * @method
        * @return {Array}
        */
        async listMethods() {
          return await this.call("__listMethods");
        }
        /**
        * Sends a JSON-RPC 2.0 notification to server.
        * @method
        * @param {String} method - RPC method name
        * @param {Object} params - optional method parameters
        * @return {Promise}
        */
        notify(method, params) {
          return new Promise((resolve, reject) => {
            if (!this.ready) return reject(new Error("socket not ready"));
            const message = {
              jsonrpc: "2.0",
              method,
              params
            };
            this.socket.send(this.dataPack.encode(message), (error2) => {
              if (error2) return reject(error2);
              resolve();
            });
          });
        }
        /**
        * Subscribes for a defined event.
        * @method
        * @param {String|Array} event - event name
        * @return {Undefined}
        * @throws {Error}
        */
        async subscribe(event) {
          if (typeof event === "string") event = [event];
          const result = await this.call("rpc.on", event);
          if (typeof event === "string" && result[event] !== "ok")
            throw new Error(
              "Failed subscribing to an event '" + event + "' with: " + result[event]
            );
          return result;
        }
        /**
        * Unsubscribes from a defined event.
        * @method
        * @param {String|Array} event - event name
        * @return {Undefined}
        * @throws {Error}
        */
        async unsubscribe(event) {
          if (typeof event === "string") event = [event];
          const result = await this.call("rpc.off", event);
          if (typeof event === "string" && result[event] !== "ok")
            throw new Error("Failed unsubscribing from an event with: " + result);
          return result;
        }
        /**
        * Closes a WebSocket connection gracefully.
        * @method
        * @param {Number} code - socket close code
        * @param {String} data - optional data to be sent before closing
        * @return {Undefined}
        */
        close(code, data2) {
          if (this.socket) this.socket.close(code || 1e3, data2);
        }
        /**
        * Enable / disable automatic reconnection.
        * @method
        * @param {Boolean} reconnect - enable / disable reconnection
        * @return {Undefined}
        */
        setAutoReconnect(reconnect) {
          this.reconnect = reconnect;
        }
        /**
        * Set the interval between reconnection attempts.
        * @method
        * @param {Number} interval - reconnection interval in milliseconds
        * @return {Undefined}
        */
        setReconnectInterval(interval) {
          this.reconnect_interval = interval;
        }
        /**
        * Set the maximum number of reconnection attempts.
        * @method
        * @param {Number} max_reconnects - maximum reconnection attempts
        * @return {Undefined}
        */
        setMaxReconnects(max_reconnects) {
          this.max_reconnects = max_reconnects;
        }
        /**
        * Get the current number of reconnection attempts made.
        * @method
        * @return {Number} current reconnection attempts
        */
        getCurrentReconnects() {
          return this.current_reconnects;
        }
        /**
        * Get the maximum number of reconnection attempts.
        * @method
        * @return {Number} maximum reconnection attempts
        */
        getMaxReconnects() {
          return this.max_reconnects;
        }
        /**
        * Check if the client is currently attempting to reconnect.
        * @method
        * @return {Boolean} true if reconnection is in progress
        */
        isReconnecting() {
          return this.reconnect_timer_id !== void 0;
        }
        /**
        * Check if the client will attempt to reconnect on the next close event.
        * @method
        * @return {Boolean} true if reconnection will be attempted
        */
        willReconnect() {
          return this.reconnect && (this.max_reconnects === 0 || this.current_reconnects < this.max_reconnects);
        }
        /**
        * Connection/Message handler.
        * @method
        * @private
        * @param {String} address - WebSocket API address
        * @param {Object} options - ws options object
        * @return {Undefined}
        */
        _connect(address, options2) {
          clearTimeout(this.reconnect_timer_id);
          this.socket = this.webSocketFactory(address, options2);
          this.socket.addEventListener("open", () => {
            this.ready = true;
            this.emit("open");
            this.current_reconnects = 0;
          });
          this.socket.addEventListener("message", ({ data: message }) => {
            if (message instanceof ArrayBuffer)
              message = import_buffer.Buffer.from(message).toString();
            try {
              message = this.dataPack.decode(message);
            } catch (_error) {
              return;
            }
            if (message.notification && this.listeners(message.notification).length) {
              if (!Object.keys(message.params).length)
                return this.emit(message.notification);
              const args = [message.notification];
              if (message.params.constructor === Object) args.push(message.params);
              else
                for (let i2 = 0; i2 < message.params.length; i2++)
                  args.push(message.params[i2]);
              return Promise.resolve().then(() => {
                this.emit.apply(this, args);
              });
            }
            if (!this.queue[message.id]) {
              if (message.method) {
                return Promise.resolve().then(() => {
                  this.emit(message.method, message?.params);
                });
              }
              return;
            }
            if ("error" in message === "result" in message)
              this.queue[message.id].promise[1](
                new Error(
                  'Server response malformed. Response must include either "result" or "error", but not both.'
                )
              );
            if (this.queue[message.id].timeout)
              clearTimeout(this.queue[message.id].timeout);
            if (message.error) this.queue[message.id].promise[1](message.error);
            else this.queue[message.id].promise[0](message.result);
            delete this.queue[message.id];
          });
          this.socket.addEventListener("error", (error2) => this.emit("error", error2));
          this.socket.addEventListener("close", ({ code, reason }) => {
            if (this.ready)
              setTimeout(() => this.emit("close", code, reason), 0);
            this.ready = false;
            this.socket = void 0;
            if (code === 1e3) return;
            this.current_reconnects++;
            if (this.reconnect && (this.max_reconnects > this.current_reconnects || this.max_reconnects === 0))
              this.reconnect_timer_id = setTimeout(
                () => this._connect(address, options2),
                this.reconnect_interval
              );
            else if (this.reconnect && this.max_reconnects > 0 && this.current_reconnects >= this.max_reconnects) {
              setTimeout(() => this.emit("max_reconnects_reached", code, reason), 1);
            }
          });
        }
      };
    }
  });

  // node_modules/@noble/hashes/esm/_u64.js
  function fromBig2(n3, le = false) {
    if (le)
      return { h: Number(n3 & U32_MASK642), l: Number(n3 >> _32n2 & U32_MASK642) };
    return { h: Number(n3 >> _32n2 & U32_MASK642) | 0, l: Number(n3 & U32_MASK642) | 0 };
  }
  function split2(lst, le = false) {
    let Ah = new Uint32Array(lst.length);
    let Al = new Uint32Array(lst.length);
    for (let i2 = 0; i2 < lst.length; i2++) {
      const { h: h2, l: l2 } = fromBig2(lst[i2], le);
      [Ah[i2], Al[i2]] = [h2, l2];
    }
    return [Ah, Al];
  }
  var U32_MASK642, _32n2, rotlSH, rotlSL, rotlBH, rotlBL;
  var init_u642 = __esm({
    "node_modules/@noble/hashes/esm/_u64.js"() {
      U32_MASK642 = /* @__PURE__ */ BigInt(2 ** 32 - 1);
      _32n2 = /* @__PURE__ */ BigInt(32);
      rotlSH = (h2, l2, s2) => h2 << s2 | l2 >>> 32 - s2;
      rotlSL = (h2, l2, s2) => l2 << s2 | h2 >>> 32 - s2;
      rotlBH = (h2, l2, s2) => l2 << s2 - 32 | h2 >>> 64 - s2;
      rotlBL = (h2, l2, s2) => h2 << s2 - 32 | l2 >>> 64 - s2;
    }
  });

  // node_modules/@noble/hashes/esm/sha3.js
  function keccakP(s2, rounds = 24) {
    const B = new Uint32Array(5 * 2);
    for (let round2 = 24 - rounds; round2 < 24; round2++) {
      for (let x = 0; x < 10; x++)
        B[x] = s2[x] ^ s2[x + 10] ^ s2[x + 20] ^ s2[x + 30] ^ s2[x + 40];
      for (let x = 0; x < 10; x += 2) {
        const idx1 = (x + 8) % 10;
        const idx0 = (x + 2) % 10;
        const B0 = B[idx0];
        const B1 = B[idx0 + 1];
        const Th3 = rotlH(B0, B1, 1) ^ B[idx1];
        const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];
        for (let y = 0; y < 50; y += 10) {
          s2[x + y] ^= Th3;
          s2[x + y + 1] ^= Tl;
        }
      }
      let curH = s2[2];
      let curL = s2[3];
      for (let t2 = 0; t2 < 24; t2++) {
        const shift4 = SHA3_ROTL[t2];
        const Th3 = rotlH(curH, curL, shift4);
        const Tl = rotlL(curH, curL, shift4);
        const PI = SHA3_PI[t2];
        curH = s2[PI];
        curL = s2[PI + 1];
        s2[PI] = Th3;
        s2[PI + 1] = Tl;
      }
      for (let y = 0; y < 50; y += 10) {
        for (let x = 0; x < 10; x++)
          B[x] = s2[y + x];
        for (let x = 0; x < 10; x++)
          s2[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];
      }
      s2[0] ^= SHA3_IOTA_H[round2];
      s2[1] ^= SHA3_IOTA_L[round2];
    }
    B.fill(0);
  }
  var SHA3_PI, SHA3_ROTL, _SHA3_IOTA, _0n6, _1n6, _2n4, _7n2, _256n, _0x71n, SHA3_IOTA_H, SHA3_IOTA_L, rotlH, rotlL, Keccak, gen, sha3_224, sha3_256, sha3_384, sha3_512, keccak_224, keccak_256, keccak_384, keccak_512, genShake, shake128, shake256;
  var init_sha3 = __esm({
    "node_modules/@noble/hashes/esm/sha3.js"() {
      init_assert();
      init_u642();
      init_utils9();
      SHA3_PI = [];
      SHA3_ROTL = [];
      _SHA3_IOTA = [];
      _0n6 = /* @__PURE__ */ BigInt(0);
      _1n6 = /* @__PURE__ */ BigInt(1);
      _2n4 = /* @__PURE__ */ BigInt(2);
      _7n2 = /* @__PURE__ */ BigInt(7);
      _256n = /* @__PURE__ */ BigInt(256);
      _0x71n = /* @__PURE__ */ BigInt(113);
      for (let round2 = 0, R = _1n6, x = 1, y = 0; round2 < 24; round2++) {
        [x, y] = [y, (2 * x + 3 * y) % 5];
        SHA3_PI.push(2 * (5 * y + x));
        SHA3_ROTL.push((round2 + 1) * (round2 + 2) / 2 % 64);
        let t2 = _0n6;
        for (let j = 0; j < 7; j++) {
          R = (R << _1n6 ^ (R >> _7n2) * _0x71n) % _256n;
          if (R & _2n4)
            t2 ^= _1n6 << (_1n6 << /* @__PURE__ */ BigInt(j)) - _1n6;
        }
        _SHA3_IOTA.push(t2);
      }
      [SHA3_IOTA_H, SHA3_IOTA_L] = /* @__PURE__ */ split2(_SHA3_IOTA, true);
      rotlH = (h2, l2, s2) => s2 > 32 ? rotlBH(h2, l2, s2) : rotlSH(h2, l2, s2);
      rotlL = (h2, l2, s2) => s2 > 32 ? rotlBL(h2, l2, s2) : rotlSL(h2, l2, s2);
      Keccak = class _Keccak extends Hash2 {
        // NOTE: we accept arguments in bytes instead of bits here.
        constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {
          super();
          this.blockLen = blockLen;
          this.suffix = suffix;
          this.outputLen = outputLen;
          this.enableXOF = enableXOF;
          this.rounds = rounds;
          this.pos = 0;
          this.posOut = 0;
          this.finished = false;
          this.destroyed = false;
          number(outputLen);
          if (0 >= this.blockLen || this.blockLen >= 200)
            throw new Error("Sha3 supports only keccak-f1600 function");
          this.state = new Uint8Array(200);
          this.state32 = u32(this.state);
        }
        keccak() {
          if (!isLE)
            byteSwap32(this.state32);
          keccakP(this.state32, this.rounds);
          if (!isLE)
            byteSwap32(this.state32);
          this.posOut = 0;
          this.pos = 0;
        }
        update(data2) {
          exists(this);
          const { blockLen, state } = this;
          data2 = toBytes2(data2);
          const len = data2.length;
          for (let pos = 0; pos < len; ) {
            const take = Math.min(blockLen - this.pos, len - pos);
            for (let i2 = 0; i2 < take; i2++)
              state[this.pos++] ^= data2[pos++];
            if (this.pos === blockLen)
              this.keccak();
          }
          return this;
        }
        finish() {
          if (this.finished)
            return;
          this.finished = true;
          const { state, suffix, pos, blockLen } = this;
          state[pos] ^= suffix;
          if ((suffix & 128) !== 0 && pos === blockLen - 1)
            this.keccak();
          state[blockLen - 1] ^= 128;
          this.keccak();
        }
        writeInto(out) {
          exists(this, false);
          bytes(out);
          this.finish();
          const bufferOut = this.state;
          const { blockLen } = this;
          for (let pos = 0, len = out.length; pos < len; ) {
            if (this.posOut >= blockLen)
              this.keccak();
            const take = Math.min(blockLen - this.posOut, len - pos);
            out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);
            this.posOut += take;
            pos += take;
          }
          return out;
        }
        xofInto(out) {
          if (!this.enableXOF)
            throw new Error("XOF is not possible for this instance");
          return this.writeInto(out);
        }
        xof(bytes2) {
          number(bytes2);
          return this.xofInto(new Uint8Array(bytes2));
        }
        digestInto(out) {
          output(out, this);
          if (this.finished)
            throw new Error("digest() was already called");
          this.writeInto(out);
          this.destroy();
          return out;
        }
        digest() {
          return this.digestInto(new Uint8Array(this.outputLen));
        }
        destroy() {
          this.destroyed = true;
          this.state.fill(0);
        }
        _cloneInto(to) {
          const { blockLen, suffix, outputLen, rounds, enableXOF } = this;
          to || (to = new _Keccak(blockLen, suffix, outputLen, enableXOF, rounds));
          to.state32.set(this.state32);
          to.pos = this.pos;
          to.posOut = this.posOut;
          to.finished = this.finished;
          to.rounds = rounds;
          to.suffix = suffix;
          to.outputLen = outputLen;
          to.enableXOF = enableXOF;
          to.destroyed = this.destroyed;
          return to;
        }
      };
      gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));
      sha3_224 = /* @__PURE__ */ gen(6, 144, 224 / 8);
      sha3_256 = /* @__PURE__ */ gen(6, 136, 256 / 8);
      sha3_384 = /* @__PURE__ */ gen(6, 104, 384 / 8);
      sha3_512 = /* @__PURE__ */ gen(6, 72, 512 / 8);
      keccak_224 = /* @__PURE__ */ gen(1, 144, 224 / 8);
      keccak_256 = /* @__PURE__ */ gen(1, 136, 256 / 8);
      keccak_384 = /* @__PURE__ */ gen(1, 104, 384 / 8);
      keccak_512 = /* @__PURE__ */ gen(1, 72, 512 / 8);
      genShake = (suffix, blockLen, outputLen) => wrapXOFConstructorWithOpts((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === void 0 ? outputLen : opts.dkLen, true));
      shake128 = /* @__PURE__ */ genShake(31, 168, 128 / 8);
      shake256 = /* @__PURE__ */ genShake(31, 136, 256 / 8);
    }
  });

  // node_modules/@noble/curves/node_modules/@noble/hashes/esm/hmac.js
  var HMAC, hmac;
  var init_hmac = __esm({
    "node_modules/@noble/curves/node_modules/@noble/hashes/esm/hmac.js"() {
      init_utils7();
      HMAC = class extends Hash {
        constructor(hash2, _key) {
          super();
          this.finished = false;
          this.destroyed = false;
          ahash(hash2);
          const key = toBytes(_key);
          this.iHash = hash2.create();
          if (typeof this.iHash.update !== "function")
            throw new Error("Expected instance of class which extends utils.Hash");
          this.blockLen = this.iHash.blockLen;
          this.outputLen = this.iHash.outputLen;
          const blockLen = this.blockLen;
          const pad = new Uint8Array(blockLen);
          pad.set(key.length > blockLen ? hash2.create().update(key).digest() : key);
          for (let i2 = 0; i2 < pad.length; i2++)
            pad[i2] ^= 54;
          this.iHash.update(pad);
          this.oHash = hash2.create();
          for (let i2 = 0; i2 < pad.length; i2++)
            pad[i2] ^= 54 ^ 92;
          this.oHash.update(pad);
          clean(pad);
        }
        update(buf) {
          aexists(this);
          this.iHash.update(buf);
          return this;
        }
        digestInto(out) {
          aexists(this);
          abytes(out, this.outputLen);
          this.finished = true;
          this.iHash.digestInto(out);
          this.oHash.update(out);
          this.oHash.digestInto(out);
          this.destroy();
        }
        digest() {
          const out = new Uint8Array(this.oHash.outputLen);
          this.digestInto(out);
          return out;
        }
        _cloneInto(to) {
          to || (to = Object.create(Object.getPrototypeOf(this), {}));
          const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this;
          to = to;
          to.finished = finished;
          to.destroyed = destroyed;
          to.blockLen = blockLen;
          to.outputLen = outputLen;
          to.oHash = oHash._cloneInto(to.oHash);
          to.iHash = iHash._cloneInto(to.iHash);
          return to;
        }
        clone() {
          return this._cloneInto();
        }
        destroy() {
          this.destroyed = true;
          this.oHash.destroy();
          this.iHash.destroy();
        }
      };
      hmac = (hash2, key, message) => new HMAC(hash2, key).update(message).digest();
      hmac.create = (hash2, key) => new HMAC(hash2, key);
    }
  });

  // node_modules/@noble/curves/esm/abstract/weierstrass.js
  function _splitEndoScalar(k, basis, n3) {
    const [[a1, b1], [a2, b2]] = basis;
    const c1 = divNearest(b2 * k, n3);
    const c2 = divNearest(-b1 * k, n3);
    let k1 = k - c1 * a1 - c2 * a2;
    let k2 = -c1 * b1 - c2 * b2;
    const k1neg = k1 < _0n7;
    const k2neg = k2 < _0n7;
    if (k1neg)
      k1 = -k1;
    if (k2neg)
      k2 = -k2;
    const MAX_NUM = bitMask(Math.ceil(bitLen(n3) / 2)) + _1n7;
    if (k1 < _0n7 || k1 >= MAX_NUM || k2 < _0n7 || k2 >= MAX_NUM) {
      throw new Error("splitScalar (endomorphism): failed, k=" + k);
    }
    return { k1neg, k1, k2neg, k2 };
  }
  function validateSigFormat(format2) {
    if (!["compact", "recovered", "der"].includes(format2))
      throw new Error('Signature format must be "compact", "recovered", or "der"');
    return format2;
  }
  function validateSigOpts(opts, def) {
    const optsn = {};
    for (let optName of Object.keys(def)) {
      optsn[optName] = opts[optName] === void 0 ? def[optName] : opts[optName];
    }
    _abool2(optsn.lowS, "lowS");
    _abool2(optsn.prehash, "prehash");
    if (optsn.format !== void 0)
      validateSigFormat(optsn.format);
    return optsn;
  }
  function _normFnElement(Fn2, key) {
    const { BYTES: expected } = Fn2;
    let num;
    if (typeof key === "bigint") {
      num = key;
    } else {
      let bytes2 = ensureBytes("private key", key);
      try {
        num = Fn2.fromBytes(bytes2);
      } catch (error2) {
        throw new Error(`invalid private key: expected ui8a of size ${expected}, got ${typeof key}`);
      }
    }
    if (!Fn2.isValidNot0(num))
      throw new Error("invalid private key: out of range [1..N-1]");
    return num;
  }
  function weierstrassN(params, extraOpts = {}) {
    const validated = _createCurveFields("weierstrass", params, extraOpts);
    const { Fp: Fp2, Fn: Fn2 } = validated;
    let CURVE = validated.CURVE;
    const { h: cofactor, n: CURVE_ORDER } = CURVE;
    _validateObject(extraOpts, {}, {
      allowInfinityPoint: "boolean",
      clearCofactor: "function",
      isTorsionFree: "function",
      fromBytes: "function",
      toBytes: "function",
      endo: "object",
      wrapPrivateKey: "boolean"
    });
    const { endo } = extraOpts;
    if (endo) {
      if (!Fp2.is0(CURVE.a) || typeof endo.beta !== "bigint" || !Array.isArray(endo.basises)) {
        throw new Error('invalid endo: expected "beta": bigint and "basises": array');
      }
    }
    const lengths = getWLengths(Fp2, Fn2);
    function assertCompressionIsSupported() {
      if (!Fp2.isOdd)
        throw new Error("compression is not supported: Field does not have .isOdd()");
    }
    function pointToBytes(_c, point, isCompressed) {
      const { x, y } = point.toAffine();
      const bx = Fp2.toBytes(x);
      _abool2(isCompressed, "isCompressed");
      if (isCompressed) {
        assertCompressionIsSupported();
        const hasEvenY = !Fp2.isOdd(y);
        return concatBytes(pprefix(hasEvenY), bx);
      } else {
        return concatBytes(Uint8Array.of(4), bx, Fp2.toBytes(y));
      }
    }
    function pointFromBytes(bytes2) {
      _abytes2(bytes2, void 0, "Point");
      const { publicKey: comp, publicKeyUncompressed: uncomp } = lengths;
      const length2 = bytes2.length;
      const head = bytes2[0];
      const tail = bytes2.subarray(1);
      if (length2 === comp && (head === 2 || head === 3)) {
        const x = Fp2.fromBytes(tail);
        if (!Fp2.isValid(x))
          throw new Error("bad point: is not on curve, wrong x");
        const y2 = weierstrassEquation(x);
        let y;
        try {
          y = Fp2.sqrt(y2);
        } catch (sqrtError) {
          const err = sqrtError instanceof Error ? ": " + sqrtError.message : "";
          throw new Error("bad point: is not on curve, sqrt error" + err);
        }
        assertCompressionIsSupported();
        const isYOdd = Fp2.isOdd(y);
        const isHeadOdd = (head & 1) === 1;
        if (isHeadOdd !== isYOdd)
          y = Fp2.neg(y);
        return { x, y };
      } else if (length2 === uncomp && head === 4) {
        const L = Fp2.BYTES;
        const x = Fp2.fromBytes(tail.subarray(0, L));
        const y = Fp2.fromBytes(tail.subarray(L, L * 2));
        if (!isValidXY(x, y))
          throw new Error("bad point: is not on curve");
        return { x, y };
      } else {
        throw new Error(`bad point: got length ${length2}, expected compressed=${comp} or uncompressed=${uncomp}`);
      }
    }
    const encodePoint = extraOpts.toBytes || pointToBytes;
    const decodePoint = extraOpts.fromBytes || pointFromBytes;
    function weierstrassEquation(x) {
      const x2 = Fp2.sqr(x);
      const x3 = Fp2.mul(x2, x);
      return Fp2.add(Fp2.add(x3, Fp2.mul(x, CURVE.a)), CURVE.b);
    }
    function isValidXY(x, y) {
      const left = Fp2.sqr(y);
      const right = weierstrassEquation(x);
      return Fp2.eql(left, right);
    }
    if (!isValidXY(CURVE.Gx, CURVE.Gy))
      throw new Error("bad curve params: generator point");
    const _4a3 = Fp2.mul(Fp2.pow(CURVE.a, _3n3), _4n2);
    const _27b2 = Fp2.mul(Fp2.sqr(CURVE.b), BigInt(27));
    if (Fp2.is0(Fp2.add(_4a3, _27b2)))
      throw new Error("bad curve params: a or b");
    function acoord(title, n3, banZero = false) {
      if (!Fp2.isValid(n3) || banZero && Fp2.is0(n3))
        throw new Error(`bad point coordinate ${title}`);
      return n3;
    }
    function aprjpoint(other) {
      if (!(other instanceof Point))
        throw new Error("ProjectivePoint expected");
    }
    function splitEndoScalarN(k) {
      if (!endo || !endo.basises)
        throw new Error("no endo");
      return _splitEndoScalar(k, endo.basises, Fn2.ORDER);
    }
    const toAffineMemo = memoized((p2, iz) => {
      const { X, Y: Y2, Z } = p2;
      if (Fp2.eql(Z, Fp2.ONE))
        return { x: X, y: Y2 };
      const is0 = p2.is0();
      if (iz == null)
        iz = is0 ? Fp2.ONE : Fp2.inv(Z);
      const x = Fp2.mul(X, iz);
      const y = Fp2.mul(Y2, iz);
      const zz = Fp2.mul(Z, iz);
      if (is0)
        return { x: Fp2.ZERO, y: Fp2.ZERO };
      if (!Fp2.eql(zz, Fp2.ONE))
        throw new Error("invZ was invalid");
      return { x, y };
    });
    const assertValidMemo = memoized((p2) => {
      if (p2.is0()) {
        if (extraOpts.allowInfinityPoint && !Fp2.is0(p2.Y))
          return;
        throw new Error("bad point: ZERO");
      }
      const { x, y } = p2.toAffine();
      if (!Fp2.isValid(x) || !Fp2.isValid(y))
        throw new Error("bad point: x or y not field elements");
      if (!isValidXY(x, y))
        throw new Error("bad point: equation left != right");
      if (!p2.isTorsionFree())
        throw new Error("bad point: not in prime-order subgroup");
      return true;
    });
    function finishEndo(endoBeta, k1p, k2p, k1neg, k2neg) {
      k2p = new Point(Fp2.mul(k2p.X, endoBeta), k2p.Y, k2p.Z);
      k1p = negateCt(k1neg, k1p);
      k2p = negateCt(k2neg, k2p);
      return k1p.add(k2p);
    }
    class Point {
      /** Does NOT validate if the point is valid. Use `.assertValidity()`. */
      constructor(X, Y2, Z) {
        this.X = acoord("x", X);
        this.Y = acoord("y", Y2, true);
        this.Z = acoord("z", Z);
        Object.freeze(this);
      }
      static CURVE() {
        return CURVE;
      }
      /** Does NOT validate if the point is valid. Use `.assertValidity()`. */
      static fromAffine(p2) {
        const { x, y } = p2 || {};
        if (!p2 || !Fp2.isValid(x) || !Fp2.isValid(y))
          throw new Error("invalid affine point");
        if (p2 instanceof Point)
          throw new Error("projective point not allowed");
        if (Fp2.is0(x) && Fp2.is0(y))
          return Point.ZERO;
        return new Point(x, y, Fp2.ONE);
      }
      static fromBytes(bytes2) {
        const P = Point.fromAffine(decodePoint(_abytes2(bytes2, void 0, "point")));
        P.assertValidity();
        return P;
      }
      static fromHex(hex) {
        return Point.fromBytes(ensureBytes("pointHex", hex));
      }
      get x() {
        return this.toAffine().x;
      }
      get y() {
        return this.toAffine().y;
      }
      /**
       *
       * @param windowSize
       * @param isLazy true will defer table computation until the first multiplication
       * @returns
       */
      precompute(windowSize = 8, isLazy = true) {
        wnaf.createCache(this, windowSize);
        if (!isLazy)
          this.multiply(_3n3);
        return this;
      }
      // TODO: return `this`
      /** A point on curve is valid if it conforms to equation. */
      assertValidity() {
        assertValidMemo(this);
      }
      hasEvenY() {
        const { y } = this.toAffine();
        if (!Fp2.isOdd)
          throw new Error("Field doesn't support isOdd");
        return !Fp2.isOdd(y);
      }
      /** Compare one point to another. */
      equals(other) {
        aprjpoint(other);
        const { X: X1, Y: Y1, Z: Z1 } = this;
        const { X: X2, Y: Y2, Z: Z2 } = other;
        const U1 = Fp2.eql(Fp2.mul(X1, Z2), Fp2.mul(X2, Z1));
        const U2 = Fp2.eql(Fp2.mul(Y1, Z2), Fp2.mul(Y2, Z1));
        return U1 && U2;
      }
      /** Flips point to one corresponding to (x, -y) in Affine coordinates. */
      negate() {
        return new Point(this.X, Fp2.neg(this.Y), this.Z);
      }
      // Renes-Costello-Batina exception-free doubling formula.
      // There is 30% faster Jacobian formula, but it is not complete.
      // https://eprint.iacr.org/2015/1060, algorithm 3
      // Cost: 8M + 3S + 3*a + 2*b3 + 15add.
      double() {
        const { a: a2, b: b2 } = CURVE;
        const b3 = Fp2.mul(b2, _3n3);
        const { X: X1, Y: Y1, Z: Z1 } = this;
        let X3 = Fp2.ZERO, Y3 = Fp2.ZERO, Z3 = Fp2.ZERO;
        let t0 = Fp2.mul(X1, X1);
        let t1 = Fp2.mul(Y1, Y1);
        let t2 = Fp2.mul(Z1, Z1);
        let t3 = Fp2.mul(X1, Y1);
        t3 = Fp2.add(t3, t3);
        Z3 = Fp2.mul(X1, Z1);
        Z3 = Fp2.add(Z3, Z3);
        X3 = Fp2.mul(a2, Z3);
        Y3 = Fp2.mul(b3, t2);
        Y3 = Fp2.add(X3, Y3);
        X3 = Fp2.sub(t1, Y3);
        Y3 = Fp2.add(t1, Y3);
        Y3 = Fp2.mul(X3, Y3);
        X3 = Fp2.mul(t3, X3);
        Z3 = Fp2.mul(b3, Z3);
        t2 = Fp2.mul(a2, t2);
        t3 = Fp2.sub(t0, t2);
        t3 = Fp2.mul(a2, t3);
        t3 = Fp2.add(t3, Z3);
        Z3 = Fp2.add(t0, t0);
        t0 = Fp2.add(Z3, t0);
        t0 = Fp2.add(t0, t2);
        t0 = Fp2.mul(t0, t3);
        Y3 = Fp2.add(Y3, t0);
        t2 = Fp2.mul(Y1, Z1);
        t2 = Fp2.add(t2, t2);
        t0 = Fp2.mul(t2, t3);
        X3 = Fp2.sub(X3, t0);
        Z3 = Fp2.mul(t2, t1);
        Z3 = Fp2.add(Z3, Z3);
        Z3 = Fp2.add(Z3, Z3);
        return new Point(X3, Y3, Z3);
      }
      // Renes-Costello-Batina exception-free addition formula.
      // There is 30% faster Jacobian formula, but it is not complete.
      // https://eprint.iacr.org/2015/1060, algorithm 1
      // Cost: 12M + 0S + 3*a + 3*b3 + 23add.
      add(other) {
        aprjpoint(other);
        const { X: X1, Y: Y1, Z: Z1 } = this;
        const { X: X2, Y: Y2, Z: Z2 } = other;
        let X3 = Fp2.ZERO, Y3 = Fp2.ZERO, Z3 = Fp2.ZERO;
        const a2 = CURVE.a;
        const b3 = Fp2.mul(CURVE.b, _3n3);
        let t0 = Fp2.mul(X1, X2);
        let t1 = Fp2.mul(Y1, Y2);
        let t2 = Fp2.mul(Z1, Z2);
        let t3 = Fp2.add(X1, Y1);
        let t4 = Fp2.add(X2, Y2);
        t3 = Fp2.mul(t3, t4);
        t4 = Fp2.add(t0, t1);
        t3 = Fp2.sub(t3, t4);
        t4 = Fp2.add(X1, Z1);
        let t5 = Fp2.add(X2, Z2);
        t4 = Fp2.mul(t4, t5);
        t5 = Fp2.add(t0, t2);
        t4 = Fp2.sub(t4, t5);
        t5 = Fp2.add(Y1, Z1);
        X3 = Fp2.add(Y2, Z2);
        t5 = Fp2.mul(t5, X3);
        X3 = Fp2.add(t1, t2);
        t5 = Fp2.sub(t5, X3);
        Z3 = Fp2.mul(a2, t4);
        X3 = Fp2.mul(b3, t2);
        Z3 = Fp2.add(X3, Z3);
        X3 = Fp2.sub(t1, Z3);
        Z3 = Fp2.add(t1, Z3);
        Y3 = Fp2.mul(X3, Z3);
        t1 = Fp2.add(t0, t0);
        t1 = Fp2.add(t1, t0);
        t2 = Fp2.mul(a2, t2);
        t4 = Fp2.mul(b3, t4);
        t1 = Fp2.add(t1, t2);
        t2 = Fp2.sub(t0, t2);
        t2 = Fp2.mul(a2, t2);
        t4 = Fp2.add(t4, t2);
        t0 = Fp2.mul(t1, t4);
        Y3 = Fp2.add(Y3, t0);
        t0 = Fp2.mul(t5, t4);
        X3 = Fp2.mul(t3, X3);
        X3 = Fp2.sub(X3, t0);
        t0 = Fp2.mul(t3, t1);
        Z3 = Fp2.mul(t5, Z3);
        Z3 = Fp2.add(Z3, t0);
        return new Point(X3, Y3, Z3);
      }
      subtract(other) {
        return this.add(other.negate());
      }
      is0() {
        return this.equals(Point.ZERO);
      }
      /**
       * Constant time multiplication.
       * Uses wNAF method. Windowed method may be 10% faster,
       * but takes 2x longer to generate and consumes 2x memory.
       * Uses precomputes when available.
       * Uses endomorphism for Koblitz curves.
       * @param scalar by which the point would be multiplied
       * @returns New point
       */
      multiply(scalar) {
        const { endo: endo2 } = extraOpts;
        if (!Fn2.isValidNot0(scalar))
          throw new Error("invalid scalar: out of range");
        let point, fake;
        const mul = (n3) => wnaf.cached(this, n3, (p2) => normalizeZ(Point, p2));
        if (endo2) {
          const { k1neg, k1, k2neg, k2 } = splitEndoScalarN(scalar);
          const { p: k1p, f: k1f } = mul(k1);
          const { p: k2p, f: k2f } = mul(k2);
          fake = k1f.add(k2f);
          point = finishEndo(endo2.beta, k1p, k2p, k1neg, k2neg);
        } else {
          const { p: p2, f: f3 } = mul(scalar);
          point = p2;
          fake = f3;
        }
        return normalizeZ(Point, [point, fake])[0];
      }
      /**
       * Non-constant-time multiplication. Uses double-and-add algorithm.
       * It's faster, but should only be used when you don't care about
       * an exposed secret key e.g. sig verification, which works over *public* keys.
       */
      multiplyUnsafe(sc) {
        const { endo: endo2 } = extraOpts;
        const p2 = this;
        if (!Fn2.isValid(sc))
          throw new Error("invalid scalar: out of range");
        if (sc === _0n7 || p2.is0())
          return Point.ZERO;
        if (sc === _1n7)
          return p2;
        if (wnaf.hasCache(this))
          return this.multiply(sc);
        if (endo2) {
          const { k1neg, k1, k2neg, k2 } = splitEndoScalarN(sc);
          const { p1, p2: p22 } = mulEndoUnsafe(Point, p2, k1, k2);
          return finishEndo(endo2.beta, p1, p22, k1neg, k2neg);
        } else {
          return wnaf.unsafe(p2, sc);
        }
      }
      multiplyAndAddUnsafe(Q, a2, b2) {
        const sum = this.multiplyUnsafe(a2).add(Q.multiplyUnsafe(b2));
        return sum.is0() ? void 0 : sum;
      }
      /**
       * Converts Projective point to affine (x, y) coordinates.
       * @param invertedZ Z^-1 (inverted zero) - optional, precomputation is useful for invertBatch
       */
      toAffine(invertedZ) {
        return toAffineMemo(this, invertedZ);
      }
      /**
       * Checks whether Point is free of torsion elements (is in prime subgroup).
       * Always torsion-free for cofactor=1 curves.
       */
      isTorsionFree() {
        const { isTorsionFree } = extraOpts;
        if (cofactor === _1n7)
          return true;
        if (isTorsionFree)
          return isTorsionFree(Point, this);
        return wnaf.unsafe(this, CURVE_ORDER).is0();
      }
      clearCofactor() {
        const { clearCofactor } = extraOpts;
        if (cofactor === _1n7)
          return this;
        if (clearCofactor)
          return clearCofactor(Point, this);
        return this.multiplyUnsafe(cofactor);
      }
      isSmallOrder() {
        return this.multiplyUnsafe(cofactor).is0();
      }
      toBytes(isCompressed = true) {
        _abool2(isCompressed, "isCompressed");
        this.assertValidity();
        return encodePoint(Point, this, isCompressed);
      }
      toHex(isCompressed = true) {
        return bytesToHex(this.toBytes(isCompressed));
      }
      toString() {
        return `<Point ${this.is0() ? "ZERO" : this.toHex()}>`;
      }
      // TODO: remove
      get px() {
        return this.X;
      }
      get py() {
        return this.X;
      }
      get pz() {
        return this.Z;
      }
      toRawBytes(isCompressed = true) {
        return this.toBytes(isCompressed);
      }
      _setWindowSize(windowSize) {
        this.precompute(windowSize);
      }
      static normalizeZ(points) {
        return normalizeZ(Point, points);
      }
      static msm(points, scalars) {
        return pippenger(Point, Fn2, points, scalars);
      }
      static fromPrivateKey(privateKey) {
        return Point.BASE.multiply(_normFnElement(Fn2, privateKey));
      }
    }
    Point.BASE = new Point(CURVE.Gx, CURVE.Gy, Fp2.ONE);
    Point.ZERO = new Point(Fp2.ZERO, Fp2.ONE, Fp2.ZERO);
    Point.Fp = Fp2;
    Point.Fn = Fn2;
    const bits = Fn2.BITS;
    const wnaf = new wNAF(Point, extraOpts.endo ? Math.ceil(bits / 2) : bits);
    Point.BASE.precompute(8);
    return Point;
  }
  function pprefix(hasEvenY) {
    return Uint8Array.of(hasEvenY ? 2 : 3);
  }
  function getWLengths(Fp2, Fn2) {
    return {
      secretKey: Fn2.BYTES,
      publicKey: 1 + Fp2.BYTES,
      publicKeyUncompressed: 1 + 2 * Fp2.BYTES,
      publicKeyHasPrefix: true,
      signature: 2 * Fn2.BYTES
    };
  }
  function ecdh(Point, ecdhOpts = {}) {
    const { Fn: Fn2 } = Point;
    const randomBytes_ = ecdhOpts.randomBytes || randomBytes;
    const lengths = Object.assign(getWLengths(Point.Fp, Fn2), { seed: getMinHashLength(Fn2.ORDER) });
    function isValidSecretKey(secretKey) {
      try {
        return !!_normFnElement(Fn2, secretKey);
      } catch (error2) {
        return false;
      }
    }
    function isValidPublicKey(publicKey2, isCompressed) {
      const { publicKey: comp, publicKeyUncompressed } = lengths;
      try {
        const l2 = publicKey2.length;
        if (isCompressed === true && l2 !== comp)
          return false;
        if (isCompressed === false && l2 !== publicKeyUncompressed)
          return false;
        return !!Point.fromBytes(publicKey2);
      } catch (error2) {
        return false;
      }
    }
    function randomSecretKey(seed = randomBytes_(lengths.seed)) {
      return mapHashToField(_abytes2(seed, lengths.seed, "seed"), Fn2.ORDER);
    }
    function getPublicKey2(secretKey, isCompressed = true) {
      return Point.BASE.multiply(_normFnElement(Fn2, secretKey)).toBytes(isCompressed);
    }
    function keygen(seed) {
      const secretKey = randomSecretKey(seed);
      return { secretKey, publicKey: getPublicKey2(secretKey) };
    }
    function isProbPub(item) {
      if (typeof item === "bigint")
        return false;
      if (item instanceof Point)
        return true;
      const { secretKey, publicKey: publicKey2, publicKeyUncompressed } = lengths;
      if (Fn2.allowedLengths || secretKey === publicKey2)
        return void 0;
      const l2 = ensureBytes("key", item).length;
      return l2 === publicKey2 || l2 === publicKeyUncompressed;
    }
    function getSharedSecret(secretKeyA, publicKeyB, isCompressed = true) {
      if (isProbPub(secretKeyA) === true)
        throw new Error("first arg must be private key");
      if (isProbPub(publicKeyB) === false)
        throw new Error("second arg must be public key");
      const s2 = _normFnElement(Fn2, secretKeyA);
      const b2 = Point.fromHex(publicKeyB);
      return b2.multiply(s2).toBytes(isCompressed);
    }
    const utils = {
      isValidSecretKey,
      isValidPublicKey,
      randomSecretKey,
      // TODO: remove
      isValidPrivateKey: isValidSecretKey,
      randomPrivateKey: randomSecretKey,
      normPrivateKeyToScalar: (key) => _normFnElement(Fn2, key),
      precompute(windowSize = 8, point = Point.BASE) {
        return point.precompute(windowSize, false);
      }
    };
    return Object.freeze({ getPublicKey: getPublicKey2, getSharedSecret, keygen, Point, utils, lengths });
  }
  function ecdsa(Point, hash2, ecdsaOpts = {}) {
    ahash(hash2);
    _validateObject(ecdsaOpts, {}, {
      hmac: "function",
      lowS: "boolean",
      randomBytes: "function",
      bits2int: "function",
      bits2int_modN: "function"
    });
    const randomBytes2 = ecdsaOpts.randomBytes || randomBytes;
    const hmac2 = ecdsaOpts.hmac || ((key, ...msgs) => hmac(hash2, key, concatBytes(...msgs)));
    const { Fp: Fp2, Fn: Fn2 } = Point;
    const { ORDER: CURVE_ORDER, BITS: fnBits } = Fn2;
    const { keygen, getPublicKey: getPublicKey2, getSharedSecret, utils, lengths } = ecdh(Point, ecdsaOpts);
    const defaultSigOpts = {
      prehash: false,
      lowS: typeof ecdsaOpts.lowS === "boolean" ? ecdsaOpts.lowS : false,
      format: void 0,
      //'compact' as ECDSASigFormat,
      extraEntropy: false
    };
    const defaultSigOpts_format = "compact";
    function isBiggerThanHalfOrder(number3) {
      const HALF = CURVE_ORDER >> _1n7;
      return number3 > HALF;
    }
    function validateRS(title, num) {
      if (!Fn2.isValidNot0(num))
        throw new Error(`invalid signature ${title}: out of range 1..Point.Fn.ORDER`);
      return num;
    }
    function validateSigLength(bytes2, format2) {
      validateSigFormat(format2);
      const size5 = lengths.signature;
      const sizer = format2 === "compact" ? size5 : format2 === "recovered" ? size5 + 1 : void 0;
      return _abytes2(bytes2, sizer, `${format2} signature`);
    }
    class Signature {
      constructor(r2, s2, recovery) {
        this.r = validateRS("r", r2);
        this.s = validateRS("s", s2);
        if (recovery != null)
          this.recovery = recovery;
        Object.freeze(this);
      }
      static fromBytes(bytes2, format2 = defaultSigOpts_format) {
        validateSigLength(bytes2, format2);
        let recid;
        if (format2 === "der") {
          const { r: r3, s: s3 } = DER.toSig(_abytes2(bytes2));
          return new Signature(r3, s3);
        }
        if (format2 === "recovered") {
          recid = bytes2[0];
          format2 = "compact";
          bytes2 = bytes2.subarray(1);
        }
        const L = Fn2.BYTES;
        const r2 = bytes2.subarray(0, L);
        const s2 = bytes2.subarray(L, L * 2);
        return new Signature(Fn2.fromBytes(r2), Fn2.fromBytes(s2), recid);
      }
      static fromHex(hex, format2) {
        return this.fromBytes(hexToBytes(hex), format2);
      }
      addRecoveryBit(recovery) {
        return new Signature(this.r, this.s, recovery);
      }
      recoverPublicKey(messageHash) {
        const FIELD_ORDER = Fp2.ORDER;
        const { r: r2, s: s2, recovery: rec } = this;
        if (rec == null || ![0, 1, 2, 3].includes(rec))
          throw new Error("recovery id invalid");
        const hasCofactor = CURVE_ORDER * _2n5 < FIELD_ORDER;
        if (hasCofactor && rec > 1)
          throw new Error("recovery id is ambiguous for h>1 curve");
        const radj = rec === 2 || rec === 3 ? r2 + CURVE_ORDER : r2;
        if (!Fp2.isValid(radj))
          throw new Error("recovery id 2 or 3 invalid");
        const x = Fp2.toBytes(radj);
        const R = Point.fromBytes(concatBytes(pprefix((rec & 1) === 0), x));
        const ir = Fn2.inv(radj);
        const h2 = bits2int_modN(ensureBytes("msgHash", messageHash));
        const u1 = Fn2.create(-h2 * ir);
        const u2 = Fn2.create(s2 * ir);
        const Q = Point.BASE.multiplyUnsafe(u1).add(R.multiplyUnsafe(u2));
        if (Q.is0())
          throw new Error("point at infinify");
        Q.assertValidity();
        return Q;
      }
      // Signatures should be low-s, to prevent malleability.
      hasHighS() {
        return isBiggerThanHalfOrder(this.s);
      }
      toBytes(format2 = defaultSigOpts_format) {
        validateSigFormat(format2);
        if (format2 === "der")
          return hexToBytes(DER.hexFromSig(this));
        const r2 = Fn2.toBytes(this.r);
        const s2 = Fn2.toBytes(this.s);
        if (format2 === "recovered") {
          if (this.recovery == null)
            throw new Error("recovery bit must be present");
          return concatBytes(Uint8Array.of(this.recovery), r2, s2);
        }
        return concatBytes(r2, s2);
      }
      toHex(format2) {
        return bytesToHex(this.toBytes(format2));
      }
      // TODO: remove
      assertValidity() {
      }
      static fromCompact(hex) {
        return Signature.fromBytes(ensureBytes("sig", hex), "compact");
      }
      static fromDER(hex) {
        return Signature.fromBytes(ensureBytes("sig", hex), "der");
      }
      normalizeS() {
        return this.hasHighS() ? new Signature(this.r, Fn2.neg(this.s), this.recovery) : this;
      }
      toDERRawBytes() {
        return this.toBytes("der");
      }
      toDERHex() {
        return bytesToHex(this.toBytes("der"));
      }
      toCompactRawBytes() {
        return this.toBytes("compact");
      }
      toCompactHex() {
        return bytesToHex(this.toBytes("compact"));
      }
    }
    const bits2int = ecdsaOpts.bits2int || function bits2int_def(bytes2) {
      if (bytes2.length > 8192)
        throw new Error("input is too large");
      const num = bytesToNumberBE(bytes2);
      const delta = bytes2.length * 8 - fnBits;
      return delta > 0 ? num >> BigInt(delta) : num;
    };
    const bits2int_modN = ecdsaOpts.bits2int_modN || function bits2int_modN_def(bytes2) {
      return Fn2.create(bits2int(bytes2));
    };
    const ORDER_MASK = bitMask(fnBits);
    function int2octets(num) {
      aInRange("num < 2^" + fnBits, num, _0n7, ORDER_MASK);
      return Fn2.toBytes(num);
    }
    function validateMsgAndHash(message, prehash) {
      _abytes2(message, void 0, "message");
      return prehash ? _abytes2(hash2(message), void 0, "prehashed message") : message;
    }
    function prepSig(message, privateKey, opts) {
      if (["recovered", "canonical"].some((k) => k in opts))
        throw new Error("sign() legacy options not supported");
      const { lowS, prehash, extraEntropy } = validateSigOpts(opts, defaultSigOpts);
      message = validateMsgAndHash(message, prehash);
      const h1int = bits2int_modN(message);
      const d2 = _normFnElement(Fn2, privateKey);
      const seedArgs = [int2octets(d2), int2octets(h1int)];
      if (extraEntropy != null && extraEntropy !== false) {
        const e3 = extraEntropy === true ? randomBytes2(lengths.secretKey) : extraEntropy;
        seedArgs.push(ensureBytes("extraEntropy", e3));
      }
      const seed = concatBytes(...seedArgs);
      const m2 = h1int;
      function k2sig(kBytes) {
        const k = bits2int(kBytes);
        if (!Fn2.isValidNot0(k))
          return;
        const ik = Fn2.inv(k);
        const q = Point.BASE.multiply(k).toAffine();
        const r2 = Fn2.create(q.x);
        if (r2 === _0n7)
          return;
        const s2 = Fn2.create(ik * Fn2.create(m2 + r2 * d2));
        if (s2 === _0n7)
          return;
        let recovery = (q.x === r2 ? 0 : 2) | Number(q.y & _1n7);
        let normS = s2;
        if (lowS && isBiggerThanHalfOrder(s2)) {
          normS = Fn2.neg(s2);
          recovery ^= 1;
        }
        return new Signature(r2, normS, recovery);
      }
      return { seed, k2sig };
    }
    function sign2(message, secretKey, opts = {}) {
      message = ensureBytes("message", message);
      const { seed, k2sig } = prepSig(message, secretKey, opts);
      const drbg = createHmacDrbg(hash2.outputLen, Fn2.BYTES, hmac2);
      const sig = drbg(seed, k2sig);
      return sig;
    }
    function tryParsingSig(sg) {
      let sig = void 0;
      const isHex = typeof sg === "string" || isBytes(sg);
      const isObj = !isHex && sg !== null && typeof sg === "object" && typeof sg.r === "bigint" && typeof sg.s === "bigint";
      if (!isHex && !isObj)
        throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");
      if (isObj) {
        sig = new Signature(sg.r, sg.s);
      } else if (isHex) {
        try {
          sig = Signature.fromBytes(ensureBytes("sig", sg), "der");
        } catch (derError) {
          if (!(derError instanceof DER.Err))
            throw derError;
        }
        if (!sig) {
          try {
            sig = Signature.fromBytes(ensureBytes("sig", sg), "compact");
          } catch (error2) {
            return false;
          }
        }
      }
      if (!sig)
        return false;
      return sig;
    }
    function verify2(signature2, message, publicKey2, opts = {}) {
      const { lowS, prehash, format: format2 } = validateSigOpts(opts, defaultSigOpts);
      publicKey2 = ensureBytes("publicKey", publicKey2);
      message = validateMsgAndHash(ensureBytes("message", message), prehash);
      if ("strict" in opts)
        throw new Error("options.strict was renamed to lowS");
      const sig = format2 === void 0 ? tryParsingSig(signature2) : Signature.fromBytes(ensureBytes("sig", signature2), format2);
      if (sig === false)
        return false;
      try {
        const P = Point.fromBytes(publicKey2);
        if (lowS && sig.hasHighS())
          return false;
        const { r: r2, s: s2 } = sig;
        const h2 = bits2int_modN(message);
        const is2 = Fn2.inv(s2);
        const u1 = Fn2.create(h2 * is2);
        const u2 = Fn2.create(r2 * is2);
        const R = Point.BASE.multiplyUnsafe(u1).add(P.multiplyUnsafe(u2));
        if (R.is0())
          return false;
        const v = Fn2.create(R.x);
        return v === r2;
      } catch (e3) {
        return false;
      }
    }
    function recoverPublicKey(signature2, message, opts = {}) {
      const { prehash } = validateSigOpts(opts, defaultSigOpts);
      message = validateMsgAndHash(message, prehash);
      return Signature.fromBytes(signature2, "recovered").recoverPublicKey(message).toBytes();
    }
    return Object.freeze({
      keygen,
      getPublicKey: getPublicKey2,
      getSharedSecret,
      utils,
      lengths,
      Point,
      sign: sign2,
      verify: verify2,
      recoverPublicKey,
      Signature,
      hash: hash2
    });
  }
  function _weierstrass_legacy_opts_to_new(c2) {
    const CURVE = {
      a: c2.a,
      b: c2.b,
      p: c2.Fp.ORDER,
      n: c2.n,
      h: c2.h,
      Gx: c2.Gx,
      Gy: c2.Gy
    };
    const Fp2 = c2.Fp;
    let allowedLengths = c2.allowedPrivateKeyLengths ? Array.from(new Set(c2.allowedPrivateKeyLengths.map((l2) => Math.ceil(l2 / 2)))) : void 0;
    const Fn2 = Field2(CURVE.n, {
      BITS: c2.nBitLength,
      allowedLengths,
      modFromBytes: c2.wrapPrivateKey
    });
    const curveOpts = {
      Fp: Fp2,
      Fn: Fn2,
      allowInfinityPoint: c2.allowInfinityPoint,
      endo: c2.endo,
      isTorsionFree: c2.isTorsionFree,
      clearCofactor: c2.clearCofactor,
      fromBytes: c2.fromBytes,
      toBytes: c2.toBytes
    };
    return { CURVE, curveOpts };
  }
  function _ecdsa_legacy_opts_to_new(c2) {
    const { CURVE, curveOpts } = _weierstrass_legacy_opts_to_new(c2);
    const ecdsaOpts = {
      hmac: c2.hmac,
      randomBytes: c2.randomBytes,
      lowS: c2.lowS,
      bits2int: c2.bits2int,
      bits2int_modN: c2.bits2int_modN
    };
    return { CURVE, curveOpts, hash: c2.hash, ecdsaOpts };
  }
  function _ecdsa_new_output_to_legacy(c2, _ecdsa) {
    const Point = _ecdsa.Point;
    return Object.assign({}, _ecdsa, {
      ProjectivePoint: Point,
      CURVE: Object.assign({}, c2, nLength(Point.Fn.ORDER, Point.Fn.BITS))
    });
  }
  function weierstrass(c2) {
    const { CURVE, curveOpts, hash: hash2, ecdsaOpts } = _ecdsa_legacy_opts_to_new(c2);
    const Point = weierstrassN(CURVE, curveOpts);
    const signs = ecdsa(Point, hash2, ecdsaOpts);
    return _ecdsa_new_output_to_legacy(c2, signs);
  }
  var divNearest, DERErr, DER, _0n7, _1n7, _2n5, _3n3, _4n2;
  var init_weierstrass = __esm({
    "node_modules/@noble/curves/esm/abstract/weierstrass.js"() {
      init_hmac();
      init_utils7();
      init_utils8();
      init_curve();
      init_modular();
      divNearest = (num, den) => (num + (num >= 0 ? den : -den) / _2n5) / den;
      DERErr = class extends Error {
        constructor(m2 = "") {
          super(m2);
        }
      };
      DER = {
        // asn.1 DER encoding utils
        Err: DERErr,
        // Basic building block is TLV (Tag-Length-Value)
        _tlv: {
          encode: (tag, data2) => {
            const { Err: E } = DER;
            if (tag < 0 || tag > 256)
              throw new E("tlv.encode: wrong tag");
            if (data2.length & 1)
              throw new E("tlv.encode: unpadded data");
            const dataLen = data2.length / 2;
            const len = numberToHexUnpadded(dataLen);
            if (len.length / 2 & 128)
              throw new E("tlv.encode: long form length too big");
            const lenLen = dataLen > 127 ? numberToHexUnpadded(len.length / 2 | 128) : "";
            const t2 = numberToHexUnpadded(tag);
            return t2 + lenLen + len + data2;
          },
          // v - value, l - left bytes (unparsed)
          decode(tag, data2) {
            const { Err: E } = DER;
            let pos = 0;
            if (tag < 0 || tag > 256)
              throw new E("tlv.encode: wrong tag");
            if (data2.length < 2 || data2[pos++] !== tag)
              throw new E("tlv.decode: wrong tlv");
            const first = data2[pos++];
            const isLong = !!(first & 128);
            let length2 = 0;
            if (!isLong)
              length2 = first;
            else {
              const lenLen = first & 127;
              if (!lenLen)
                throw new E("tlv.decode(long): indefinite length not supported");
              if (lenLen > 4)
                throw new E("tlv.decode(long): byte length is too big");
              const lengthBytes = data2.subarray(pos, pos + lenLen);
              if (lengthBytes.length !== lenLen)
                throw new E("tlv.decode: length bytes not complete");
              if (lengthBytes[0] === 0)
                throw new E("tlv.decode(long): zero leftmost byte");
              for (const b2 of lengthBytes)
                length2 = length2 << 8 | b2;
              pos += lenLen;
              if (length2 < 128)
                throw new E("tlv.decode(long): not minimal encoding");
            }
            const v = data2.subarray(pos, pos + length2);
            if (v.length !== length2)
              throw new E("tlv.decode: wrong value length");
            return { v, l: data2.subarray(pos + length2) };
          }
        },
        // https://crypto.stackexchange.com/a/57734 Leftmost bit of first byte is 'negative' flag,
        // since we always use positive integers here. It must always be empty:
        // - add zero byte if exists
        // - if next byte doesn't have a flag, leading zero is not allowed (minimal encoding)
        _int: {
          encode(num) {
            const { Err: E } = DER;
            if (num < _0n7)
              throw new E("integer: negative integers are not allowed");
            let hex = numberToHexUnpadded(num);
            if (Number.parseInt(hex[0], 16) & 8)
              hex = "00" + hex;
            if (hex.length & 1)
              throw new E("unexpected DER parsing assertion: unpadded hex");
            return hex;
          },
          decode(data2) {
            const { Err: E } = DER;
            if (data2[0] & 128)
              throw new E("invalid signature integer: negative");
            if (data2[0] === 0 && !(data2[1] & 128))
              throw new E("invalid signature integer: unnecessary leading zero");
            return bytesToNumberBE(data2);
          }
        },
        toSig(hex) {
          const { Err: E, _int: int, _tlv: tlv } = DER;
          const data2 = ensureBytes("signature", hex);
          const { v: seqBytes, l: seqLeftBytes } = tlv.decode(48, data2);
          if (seqLeftBytes.length)
            throw new E("invalid signature: left bytes after parsing");
          const { v: rBytes, l: rLeftBytes } = tlv.decode(2, seqBytes);
          const { v: sBytes, l: sLeftBytes } = tlv.decode(2, rLeftBytes);
          if (sLeftBytes.length)
            throw new E("invalid signature: left bytes after parsing");
          return { r: int.decode(rBytes), s: int.decode(sBytes) };
        },
        hexFromSig(sig) {
          const { _tlv: tlv, _int: int } = DER;
          const rs = tlv.encode(2, int.encode(sig.r));
          const ss = tlv.encode(2, int.encode(sig.s));
          const seq2 = rs + ss;
          return tlv.encode(48, seq2);
        }
      };
      _0n7 = BigInt(0);
      _1n7 = BigInt(1);
      _2n5 = BigInt(2);
      _3n3 = BigInt(3);
      _4n2 = BigInt(4);
    }
  });

  // node_modules/@noble/curves/esm/_shortw_utils.js
  function createCurve(curveDef, defHash) {
    const create2 = (hash2) => weierstrass({ ...curveDef, hash: hash2 });
    return { ...create2(defHash), create: create2 };
  }
  var init_shortw_utils = __esm({
    "node_modules/@noble/curves/esm/_shortw_utils.js"() {
      init_weierstrass();
    }
  });

  // node_modules/@noble/curves/esm/secp256k1.js
  function sqrtMod(y) {
    const P = secp256k1_CURVE.p;
    const _3n4 = BigInt(3), _6n = BigInt(6), _11n = BigInt(11), _22n = BigInt(22);
    const _23n = BigInt(23), _44n = BigInt(44), _88n = BigInt(88);
    const b2 = y * y * y % P;
    const b3 = b2 * b2 * y % P;
    const b6 = pow2(b3, _3n4, P) * b3 % P;
    const b9 = pow2(b6, _3n4, P) * b3 % P;
    const b11 = pow2(b9, _2n6, P) * b2 % P;
    const b22 = pow2(b11, _11n, P) * b11 % P;
    const b44 = pow2(b22, _22n, P) * b22 % P;
    const b88 = pow2(b44, _44n, P) * b44 % P;
    const b176 = pow2(b88, _88n, P) * b88 % P;
    const b220 = pow2(b176, _44n, P) * b44 % P;
    const b223 = pow2(b220, _3n4, P) * b3 % P;
    const t1 = pow2(b223, _23n, P) * b22 % P;
    const t2 = pow2(t1, _6n, P) * b2 % P;
    const root2 = pow2(t2, _2n6, P);
    if (!Fpk1.eql(Fpk1.sqr(root2), y))
      throw new Error("Cannot find square root");
    return root2;
  }
  var secp256k1_CURVE, secp256k1_ENDO, _2n6, Fpk1, secp256k1;
  var init_secp256k1 = __esm({
    "node_modules/@noble/curves/esm/secp256k1.js"() {
      init_sha2();
      init_shortw_utils();
      init_modular();
      secp256k1_CURVE = {
        p: BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),
        n: BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),
        h: BigInt(1),
        a: BigInt(0),
        b: BigInt(7),
        Gx: BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),
        Gy: BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")
      };
      secp256k1_ENDO = {
        beta: BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),
        basises: [
          [BigInt("0x3086d221a7d46bcde86c90e49284eb15"), -BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],
          [BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"), BigInt("0x3086d221a7d46bcde86c90e49284eb15")]
        ]
      };
      _2n6 = /* @__PURE__ */ BigInt(2);
      Fpk1 = Field2(secp256k1_CURVE.p, { sqrt: sqrtMod });
      secp256k1 = createCurve({ ...secp256k1_CURVE, Fp: Fpk1, lowS: true, endo: secp256k1_ENDO }, sha256);
    }
  });

  // node_modules/@solana/web3.js/lib/index.browser.esm.js
  function isOnCurve(publicKey2) {
    try {
      ed25519.ExtendedPoint.fromHex(publicKey2);
      return true;
    } catch {
      return false;
    }
  }
  function isPublicKeyData(value) {
    return value._bn !== void 0;
  }
  function getAlloc(type2, fields) {
    const getItemAlloc = (item) => {
      if (item.span >= 0) {
        return item.span;
      } else if (typeof item.alloc === "function") {
        return item.alloc(fields[item.property]);
      } else if ("count" in item && "elementLayout" in item) {
        const field = fields[item.property];
        if (Array.isArray(field)) {
          return field.length * getItemAlloc(item.elementLayout);
        }
      } else if ("fields" in item) {
        return getAlloc({
          layout: item
        }, fields[item.property]);
      }
      return 0;
    };
    let alloc2 = 0;
    type2.layout.fields.forEach((item) => {
      alloc2 += getItemAlloc(item);
    });
    return alloc2;
  }
  function decodeLength(bytes2) {
    let len = 0;
    let size5 = 0;
    for (; ; ) {
      let elem = bytes2.shift();
      len |= (elem & 127) << size5 * 7;
      size5 += 1;
      if ((elem & 128) === 0) {
        break;
      }
    }
    return len;
  }
  function encodeLength(bytes2, len) {
    let rem_len = len;
    for (; ; ) {
      let elem = rem_len & 127;
      rem_len >>= 7;
      if (rem_len == 0) {
        bytes2.push(elem);
        break;
      } else {
        elem |= 128;
        bytes2.push(elem);
      }
    }
  }
  function assert2(condition, message) {
    if (!condition) {
      throw new Error(message || "Assertion failed");
    }
  }
  function guardedShift(byteArray) {
    if (byteArray.length === 0) {
      throw new Error(END_OF_BUFFER_ERROR_MESSAGE);
    }
    return byteArray.shift();
  }
  function guardedSplice(byteArray, ...args) {
    const [start] = args;
    if (args.length === 2 ? start + (args[1] ?? 0) > byteArray.length : start >= byteArray.length) {
      throw new Error(END_OF_BUFFER_ERROR_MESSAGE);
    }
    return byteArray.splice(...args);
  }
  async function sendAndConfirmTransaction(connection, transaction, signers, options2) {
    const sendOptions = options2 && {
      skipPreflight: options2.skipPreflight,
      preflightCommitment: options2.preflightCommitment || options2.commitment,
      maxRetries: options2.maxRetries,
      minContextSlot: options2.minContextSlot
    };
    const signature2 = await connection.sendTransaction(transaction, signers, sendOptions);
    let status;
    if (transaction.recentBlockhash != null && transaction.lastValidBlockHeight != null) {
      status = (await connection.confirmTransaction({
        abortSignal: options2?.abortSignal,
        signature: signature2,
        blockhash: transaction.recentBlockhash,
        lastValidBlockHeight: transaction.lastValidBlockHeight
      }, options2 && options2.commitment)).value;
    } else if (transaction.minNonceContextSlot != null && transaction.nonceInfo != null) {
      const {
        nonceInstruction
      } = transaction.nonceInfo;
      const nonceAccountPubkey = nonceInstruction.keys[0].pubkey;
      status = (await connection.confirmTransaction({
        abortSignal: options2?.abortSignal,
        minContextSlot: transaction.minNonceContextSlot,
        nonceAccountPubkey,
        nonceValue: transaction.nonceInfo.nonce,
        signature: signature2
      }, options2 && options2.commitment)).value;
    } else {
      if (options2?.abortSignal != null) {
        console.warn("sendAndConfirmTransaction(): A transaction with a deprecated confirmation strategy was supplied along with an `abortSignal`. Only transactions having `lastValidBlockHeight` or a combination of `nonceInfo` and `minNonceContextSlot` are abortable.");
      }
      status = (await connection.confirmTransaction(signature2, options2 && options2.commitment)).value;
    }
    if (status.err) {
      if (signature2 != null) {
        throw new SendTransactionError({
          action: "send",
          signature: signature2,
          transactionMessage: `Status: (${JSON.stringify(status)})`
        });
      }
      throw new Error(`Transaction ${signature2} failed (${JSON.stringify(status)})`);
    }
    return signature2;
  }
  function sleep2(ms) {
    return new Promise((resolve) => setTimeout(resolve, ms));
  }
  function encodeData(type2, fields) {
    const allocLength = type2.layout.span >= 0 ? type2.layout.span : getAlloc(type2, fields);
    const data2 = import_buffer2.Buffer.alloc(allocLength);
    const layoutFields = Object.assign({
      instruction: type2.index
    }, fields);
    type2.layout.encode(layoutFields, data2);
    return data2;
  }
  function u64(property) {
    const layout = (0, import_buffer_layout.blob)(8, property);
    const decode = layout.decode.bind(layout);
    const encode2 = layout.encode.bind(layout);
    const bigIntLayout = layout;
    const codec = getU64Codec();
    bigIntLayout.decode = (buffer, offset5) => {
      const src = decode(buffer, offset5);
      return codec.decode(src);
    };
    bigIntLayout.encode = (bigInt, buffer, offset5) => {
      const src = codec.encode(bigInt);
      return encode2(src, buffer, offset5);
    };
    return bigIntLayout;
  }
  function getDefaultExportFromCjs(x) {
    return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
  }
  function requireFastStableStringify() {
    if (hasRequiredFastStableStringify) return fastStableStringify$1;
    hasRequiredFastStableStringify = 1;
    var objToString = Object.prototype.toString;
    var objKeys = Object.keys || function(obj) {
      var keys2 = [];
      for (var name in obj) {
        keys2.push(name);
      }
      return keys2;
    };
    function stringify3(val, isArrayProp) {
      var i2, max2, str, keys2, key, propVal, toStr2;
      if (val === true) {
        return "true";
      }
      if (val === false) {
        return "false";
      }
      switch (typeof val) {
        case "object":
          if (val === null) {
            return null;
          } else if (val.toJSON && typeof val.toJSON === "function") {
            return stringify3(val.toJSON(), isArrayProp);
          } else {
            toStr2 = objToString.call(val);
            if (toStr2 === "[object Array]") {
              str = "[";
              max2 = val.length - 1;
              for (i2 = 0; i2 < max2; i2++) {
                str += stringify3(val[i2], true) + ",";
              }
              if (max2 > -1) {
                str += stringify3(val[i2], true);
              }
              return str + "]";
            } else if (toStr2 === "[object Object]") {
              keys2 = objKeys(val).sort();
              max2 = keys2.length;
              str = "";
              i2 = 0;
              while (i2 < max2) {
                key = keys2[i2];
                propVal = stringify3(val[key], false);
                if (propVal !== void 0) {
                  if (str) {
                    str += ",";
                  }
                  str += JSON.stringify(key) + ":" + propVal;
                }
                i2++;
              }
              return "{" + str + "}";
            } else {
              return JSON.stringify(val);
            }
          }
        case "function":
        case "undefined":
          return isArrayProp ? null : void 0;
        case "string":
          return JSON.stringify(val);
        default:
          return isFinite(val) ? val : null;
      }
    }
    fastStableStringify$1 = function(val) {
      var returnVal = stringify3(val, false);
      if (returnVal !== void 0) {
        return "" + returnVal;
      }
    };
    return fastStableStringify$1;
  }
  function trailingZeros(n3) {
    let trailingZeros2 = 0;
    while (n3 > 1) {
      n3 /= 2;
      trailingZeros2++;
    }
    return trailingZeros2;
  }
  function nextPowerOfTwo(n3) {
    if (n3 === 0) return 1;
    n3--;
    n3 |= n3 >> 1;
    n3 |= n3 >> 2;
    n3 |= n3 >> 4;
    n3 |= n3 >> 8;
    n3 |= n3 >> 16;
    n3 |= n3 >> 32;
    return n3 + 1;
  }
  function decodeData(type2, data2) {
    let decoded;
    try {
      decoded = type2.layout.decode(data2);
    } catch (err) {
      throw new Error("invalid instruction; " + err);
    }
    if (decoded.typeIndex !== type2.index) {
      throw new Error(`invalid account data; account type mismatch ${decoded.typeIndex} != ${type2.index}`);
    }
    return decoded;
  }
  function makeWebsocketUrl(endpoint) {
    const matches2 = endpoint.match(URL_RE);
    if (matches2 == null) {
      throw TypeError(`Failed to validate endpoint URL \`${endpoint}\``);
    }
    const [
      _3,
      // eslint-disable-line @typescript-eslint/no-unused-vars
      hostish,
      portWithColon,
      rest
    ] = matches2;
    const protocol = endpoint.startsWith("https:") ? "wss:" : "ws:";
    const startPort = portWithColon == null ? null : parseInt(portWithColon.slice(1), 10);
    const websocketPort = (
      // Only shift the port by +1 as a convention for ws(s) only if given endpoint
      // is explicitly specifying the endpoint port (HTTP-based RPC), assuming
      // we're directly trying to connect to agave-validator's ws listening port.
      // When the endpoint omits the port, we're connecting to the protocol
      // default ports: http(80) or https(443) and it's assumed we're behind a reverse
      // proxy which manages WebSocket upgrade and backend port redirection.
      startPort == null ? "" : `:${startPort + 1}`
    );
    return `${protocol}//${hostish}${websocketPort}${rest}`;
  }
  function assertEndpointUrl(putativeUrl) {
    if (/^https?:/.test(putativeUrl) === false) {
      throw new TypeError("Endpoint URL must start with `http:` or `https:`.");
    }
    return putativeUrl;
  }
  function extractCommitmentFromConfig(commitmentOrConfig) {
    let commitment;
    let config;
    if (typeof commitmentOrConfig === "string") {
      commitment = commitmentOrConfig;
    } else if (commitmentOrConfig) {
      const {
        commitment: specifiedCommitment,
        ...specifiedConfig
      } = commitmentOrConfig;
      commitment = specifiedCommitment;
      config = specifiedConfig;
    }
    return {
      commitment,
      config
    };
  }
  function applyDefaultMemcmpEncodingToFilters(filters) {
    return filters.map((filter) => "memcmp" in filter ? {
      ...filter,
      memcmp: {
        ...filter.memcmp,
        encoding: filter.memcmp.encoding ?? "base58"
      }
    } : filter);
  }
  function createRpcResult(result) {
    return union([type({
      jsonrpc: literal("2.0"),
      id: string(),
      result
    }), type({
      jsonrpc: literal("2.0"),
      id: string(),
      error: type({
        code: unknown(),
        message: string(),
        data: optional(any())
      })
    })]);
  }
  function jsonRpcResult(schema) {
    return coerce(createRpcResult(schema), UnknownRpcResult, (value) => {
      if ("error" in value) {
        return value;
      } else {
        return {
          ...value,
          result: create(value.result, schema)
        };
      }
    });
  }
  function jsonRpcResultAndContext(value) {
    return jsonRpcResult(type({
      context: type({
        slot: number2()
      }),
      value
    }));
  }
  function notificationResultAndContext(value) {
    return type({
      context: type({
        slot: number2()
      }),
      value
    });
  }
  function versionedMessageFromResponse(version2, response) {
    if (version2 === 0) {
      return new MessageV0({
        header: response.header,
        staticAccountKeys: response.accountKeys.map((accountKey) => new PublicKey(accountKey)),
        recentBlockhash: response.recentBlockhash,
        compiledInstructions: response.instructions.map((ix) => ({
          programIdIndex: ix.programIdIndex,
          accountKeyIndexes: ix.accounts,
          data: import_bs58.default.decode(ix.data)
        })),
        addressTableLookups: response.addressTableLookups
      });
    } else {
      return new Message(response);
    }
  }
  function createRpcClient(url, httpHeaders, customFetch, fetchMiddleware, disableRetryOnRateLimit, httpAgent) {
    const fetch2 = customFetch ? customFetch : fetchImpl;
    let agent;
    {
      if (httpAgent != null) {
        console.warn("You have supplied an `httpAgent` when creating a `Connection` in a browser environment.It has been ignored; `httpAgent` is only used in Node environments.");
      }
    }
    let fetchWithMiddleware;
    if (fetchMiddleware) {
      fetchWithMiddleware = async (info, init) => {
        const modifiedFetchArgs = await new Promise((resolve, reject) => {
          try {
            fetchMiddleware(info, init, (modifiedInfo, modifiedInit) => resolve([modifiedInfo, modifiedInit]));
          } catch (error2) {
            reject(error2);
          }
        });
        return await fetch2(...modifiedFetchArgs);
      };
    }
    const clientBrowser = new import_browser.default(async (request, callback) => {
      const options2 = {
        method: "POST",
        body: request,
        agent,
        headers: Object.assign({
          "Content-Type": "application/json"
        }, httpHeaders || {}, COMMON_HTTP_HEADERS)
      };
      try {
        let too_many_requests_retries = 5;
        let res;
        let waitTime = 500;
        for (; ; ) {
          if (fetchWithMiddleware) {
            res = await fetchWithMiddleware(url, options2);
          } else {
            res = await fetch2(url, options2);
          }
          if (res.status !== 429) {
            break;
          }
          if (disableRetryOnRateLimit === true) {
            break;
          }
          too_many_requests_retries -= 1;
          if (too_many_requests_retries === 0) {
            break;
          }
          console.error(`Server responded with ${res.status} ${res.statusText}.  Retrying after ${waitTime}ms delay...`);
          await sleep2(waitTime);
          waitTime *= 2;
        }
        const text = await res.text();
        if (res.ok) {
          callback(null, text);
        } else {
          callback(new Error(`${res.status} ${res.statusText}: ${text}`));
        }
      } catch (err) {
        if (err instanceof Error) callback(err);
      }
    }, {});
    return clientBrowser;
  }
  function createRpcRequest(client) {
    return (method, args) => {
      return new Promise((resolve, reject) => {
        client.request(method, args, (err, response) => {
          if (err) {
            reject(err);
            return;
          }
          resolve(response);
        });
      });
    };
  }
  function createRpcBatchRequest(client) {
    return (requests) => {
      return new Promise((resolve, reject) => {
        if (requests.length === 0) resolve([]);
        const batch = requests.map((params) => {
          return client.request(params.methodName, params.args);
        });
        client.request(batch, (err, response) => {
          if (err) {
            reject(err);
            return;
          }
          resolve(response);
        });
      });
    };
  }
  var import_buffer2, import_bn, import_bs58, import_borsh, BufferLayout, import_buffer_layout, import_browser, generatePrivateKey, generateKeypair, getPublicKey, sign, verify, toBuffer, Struct2, SOLANA_SCHEMA, _PublicKey, MAX_SEED_LENGTH, PUBLIC_KEY_LENGTH, uniquePublicKeyCounter, PublicKey, BPF_LOADER_DEPRECATED_PROGRAM_ID, PACKET_DATA_SIZE, VERSION_PREFIX_MASK, SIGNATURE_LENGTH_IN_BYTES, TransactionExpiredBlockheightExceededError, TransactionExpiredTimeoutError, TransactionExpiredNonceInvalidError, MessageAccountKeys, publicKey, signature, rustString, authorized, lockup, voteInit, voteAuthorizeWithSeedArgs, CompiledKeys, END_OF_BUFFER_ERROR_MESSAGE, Message, MessageV0, VersionedMessage, TransactionStatus, DEFAULT_SIGNATURE, TransactionInstruction, Transaction, VersionedTransaction, NUM_TICKS_PER_SECOND, DEFAULT_TICKS_PER_SLOT, NUM_SLOTS_PER_SECOND, MS_PER_SLOT, SYSVAR_CLOCK_PUBKEY, SYSVAR_EPOCH_SCHEDULE_PUBKEY, SYSVAR_INSTRUCTIONS_PUBKEY, SYSVAR_RECENT_BLOCKHASHES_PUBKEY, SYSVAR_RENT_PUBKEY, SYSVAR_REWARDS_PUBKEY, SYSVAR_SLOT_HASHES_PUBKEY, SYSVAR_SLOT_HISTORY_PUBKEY, SYSVAR_STAKE_HISTORY_PUBKEY, SendTransactionError, SolanaJSONRPCError, FeeCalculatorLayout, NonceAccountLayout, NONCE_ACCOUNT_LENGTH, NonceAccount, SYSTEM_INSTRUCTION_LAYOUTS, SystemProgram, CHUNK_SIZE, Loader, BPF_LOADER_PROGRAM_ID, fastStableStringify$1, hasRequiredFastStableStringify, fastStableStringifyExports, fastStableStringify, MINIMUM_SLOT_PER_EPOCH, EpochSchedule, fetchImpl, RpcWebSocketClient, LOOKUP_TABLE_META_SIZE, AddressLookupTableAccount, LookupTableMetaLayout, URL_RE, PublicKeyFromString, RawAccountDataResult, BufferFromRawAccountData, BLOCKHASH_CACHE_TIMEOUT_MS, UnknownRpcResult, GetInflationGovernorResult, GetInflationRewardResult, GetRecentPrioritizationFeesResult, GetInflationRateResult, GetEpochInfoResult, GetEpochScheduleResult, GetLeaderScheduleResult, TransactionErrorResult, SignatureStatusResult, SignatureReceivedResult, VersionResult, ParsedInstructionStruct, PartiallyDecodedInstructionStruct, SimulatedTransactionResponseStruct, BlockProductionResponseStruct, GetInflationGovernorRpcResult, GetInflationRateRpcResult, GetRecentPrioritizationFeesRpcResult, GetEpochInfoRpcResult, GetEpochScheduleRpcResult, GetLeaderScheduleRpcResult, SlotRpcResult, GetSupplyRpcResult, TokenAmountResult, GetTokenLargestAccountsResult, GetTokenAccountsByOwner, ParsedAccountDataResult, GetParsedTokenAccountsByOwner, GetLargestAccountsRpcResult, AccountInfoResult, KeyedAccountInfoResult, ParsedOrRawAccountData, ParsedAccountInfoResult, KeyedParsedAccountInfoResult, StakeActivationResult, GetConfirmedSignaturesForAddress2RpcResult, GetSignaturesForAddressRpcResult, AccountNotificationResult, ProgramAccountInfoResult, ProgramAccountNotificationResult, SlotInfoResult, SlotNotificationResult, SlotUpdateResult, SlotUpdateNotificationResult, SignatureNotificationResult, RootNotificationResult, ContactInfoResult, VoteAccountInfoResult, GetVoteAccounts, ConfirmationStatus, SignatureStatusResponse, GetSignatureStatusesRpcResult, GetMinimumBalanceForRentExemptionRpcResult, AddressTableLookupStruct, ConfirmedTransactionResult, AnnotatedAccountKey, ConfirmedTransactionAccountsModeResult, ParsedInstructionResult, RawInstructionResult, InstructionResult, UnknownInstructionResult, ParsedOrRawInstruction, ParsedConfirmedTransactionResult, TokenBalanceResult, LoadedAddressesResult, ConfirmedTransactionMetaResult, ParsedConfirmedTransactionMetaResult, TransactionVersionStruct, RewardsResult, GetBlockRpcResult, GetNoneModeBlockRpcResult, GetAccountsModeBlockRpcResult, GetParsedBlockRpcResult, GetParsedAccountsModeBlockRpcResult, GetParsedNoneModeBlockRpcResult, GetConfirmedBlockRpcResult, GetBlockSignaturesRpcResult, GetTransactionRpcResult, GetParsedTransactionRpcResult, GetLatestBlockhashRpcResult, IsBlockhashValidRpcResult, PerfSampleResult, GetRecentPerformanceSamplesRpcResult, GetFeeCalculatorRpcResult, RequestAirdropRpcResult, SendTransactionRpcResult, LogsResult, LogsNotificationResult, COMMON_HTTP_HEADERS, Connection, Keypair, LOOKUP_TABLE_INSTRUCTION_LAYOUTS, AddressLookupTableProgram, COMPUTE_BUDGET_INSTRUCTION_LAYOUTS, ComputeBudgetProgram, PRIVATE_KEY_BYTES$1, PUBLIC_KEY_BYTES$1, SIGNATURE_BYTES, ED25519_INSTRUCTION_LAYOUT, Ed25519Program, ecdsaSign, publicKeyCreate, PRIVATE_KEY_BYTES, ETHEREUM_ADDRESS_BYTES, PUBLIC_KEY_BYTES, SIGNATURE_OFFSETS_SERIALIZED_SIZE, SECP256K1_INSTRUCTION_LAYOUT, Secp256k1Program, _Lockup, STAKE_CONFIG_ID, Lockup, STAKE_INSTRUCTION_LAYOUTS, StakeAuthorizationLayout, StakeProgram, VOTE_INSTRUCTION_LAYOUTS, VoteAuthorizationLayout, VoteProgram, VALIDATOR_INFO_KEY, InfoString, VOTE_PROGRAM_ID, VoteAccountLayout;
  var init_index_browser_esm = __esm({
    "node_modules/@solana/web3.js/lib/index.browser.esm.js"() {
      import_buffer2 = __toESM(require_buffer());
      init_ed25519();
      import_bn = __toESM(require_bn());
      import_bs58 = __toESM(require_bs58());
      init_sha256();
      import_borsh = __toESM(require_lib());
      BufferLayout = __toESM(require_Layout());
      import_buffer_layout = __toESM(require_Layout());
      init_index_browser3();
      init_dist4();
      import_browser = __toESM(require_browser());
      init_index_browser4();
      init_sha3();
      init_secp256k1();
      generatePrivateKey = ed25519.utils.randomPrivateKey;
      generateKeypair = () => {
        const privateScalar = ed25519.utils.randomPrivateKey();
        const publicKey2 = getPublicKey(privateScalar);
        const secretKey = new Uint8Array(64);
        secretKey.set(privateScalar);
        secretKey.set(publicKey2, 32);
        return {
          publicKey: publicKey2,
          secretKey
        };
      };
      getPublicKey = ed25519.getPublicKey;
      sign = (message, secretKey) => ed25519.sign(message, secretKey.slice(0, 32));
      verify = ed25519.verify;
      toBuffer = (arr) => {
        if (import_buffer2.Buffer.isBuffer(arr)) {
          return arr;
        } else if (arr instanceof Uint8Array) {
          return import_buffer2.Buffer.from(arr.buffer, arr.byteOffset, arr.byteLength);
        } else {
          return import_buffer2.Buffer.from(arr);
        }
      };
      Struct2 = class {
        constructor(properties) {
          Object.assign(this, properties);
        }
        encode() {
          return import_buffer2.Buffer.from((0, import_borsh.serialize)(SOLANA_SCHEMA, this));
        }
        static decode(data2) {
          return (0, import_borsh.deserialize)(SOLANA_SCHEMA, this, data2);
        }
        static decodeUnchecked(data2) {
          return (0, import_borsh.deserializeUnchecked)(SOLANA_SCHEMA, this, data2);
        }
      };
      SOLANA_SCHEMA = /* @__PURE__ */ new Map();
      MAX_SEED_LENGTH = 32;
      PUBLIC_KEY_LENGTH = 32;
      uniquePublicKeyCounter = 1;
      PublicKey = class _PublicKey2 extends Struct2 {
        /**
         * Create a new PublicKey object
         * @param value ed25519 public key as buffer or base-58 encoded string
         */
        constructor(value) {
          super({});
          this._bn = void 0;
          if (isPublicKeyData(value)) {
            this._bn = value._bn;
          } else {
            if (typeof value === "string") {
              const decoded = import_bs58.default.decode(value);
              if (decoded.length != PUBLIC_KEY_LENGTH) {
                throw new Error(`Invalid public key input`);
              }
              this._bn = new import_bn.default(decoded);
            } else {
              this._bn = new import_bn.default(value);
            }
            if (this._bn.byteLength() > PUBLIC_KEY_LENGTH) {
              throw new Error(`Invalid public key input`);
            }
          }
        }
        /**
         * Returns a unique PublicKey for tests and benchmarks using a counter
         */
        static unique() {
          const key = new _PublicKey2(uniquePublicKeyCounter);
          uniquePublicKeyCounter += 1;
          return new _PublicKey2(key.toBuffer());
        }
        /**
         * Default public key value. The base58-encoded string representation is all ones (as seen below)
         * The underlying BN number is 32 bytes that are all zeros
         */
        /**
         * Checks if two publicKeys are equal
         */
        equals(publicKey2) {
          return this._bn.eq(publicKey2._bn);
        }
        /**
         * Return the base-58 representation of the public key
         */
        toBase58() {
          return import_bs58.default.encode(this.toBytes());
        }
        toJSON() {
          return this.toBase58();
        }
        /**
         * Return the byte array representation of the public key in big endian
         */
        toBytes() {
          const buf = this.toBuffer();
          return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
        }
        /**
         * Return the Buffer representation of the public key in big endian
         */
        toBuffer() {
          const b2 = this._bn.toArrayLike(import_buffer2.Buffer);
          if (b2.length === PUBLIC_KEY_LENGTH) {
            return b2;
          }
          const zeroPad = import_buffer2.Buffer.alloc(32);
          b2.copy(zeroPad, 32 - b2.length);
          return zeroPad;
        }
        get [Symbol.toStringTag]() {
          return `PublicKey(${this.toString()})`;
        }
        /**
         * Return the base-58 representation of the public key
         */
        toString() {
          return this.toBase58();
        }
        /**
         * Derive a public key from another key, a seed, and a program ID.
         * The program ID will also serve as the owner of the public key, giving
         * it permission to write data to the account.
         */
        /* eslint-disable require-await */
        static async createWithSeed(fromPublicKey, seed, programId) {
          const buffer = import_buffer2.Buffer.concat([fromPublicKey.toBuffer(), import_buffer2.Buffer.from(seed), programId.toBuffer()]);
          const publicKeyBytes = sha2562(buffer);
          return new _PublicKey2(publicKeyBytes);
        }
        /**
         * Derive a program address from seeds and a program ID.
         */
        /* eslint-disable require-await */
        static createProgramAddressSync(seeds, programId) {
          let buffer = import_buffer2.Buffer.alloc(0);
          seeds.forEach(function(seed) {
            if (seed.length > MAX_SEED_LENGTH) {
              throw new TypeError(`Max seed length exceeded`);
            }
            buffer = import_buffer2.Buffer.concat([buffer, toBuffer(seed)]);
          });
          buffer = import_buffer2.Buffer.concat([buffer, programId.toBuffer(), import_buffer2.Buffer.from("ProgramDerivedAddress")]);
          const publicKeyBytes = sha2562(buffer);
          if (isOnCurve(publicKeyBytes)) {
            throw new Error(`Invalid seeds, address must fall off the curve`);
          }
          return new _PublicKey2(publicKeyBytes);
        }
        /**
         * Async version of createProgramAddressSync
         * For backwards compatibility
         *
         * @deprecated Use {@link createProgramAddressSync} instead
         */
        /* eslint-disable require-await */
        static async createProgramAddress(seeds, programId) {
          return this.createProgramAddressSync(seeds, programId);
        }
        /**
         * Find a valid program address
         *
         * Valid program addresses must fall off the ed25519 curve.  This function
         * iterates a nonce until it finds one that when combined with the seeds
         * results in a valid program address.
         */
        static findProgramAddressSync(seeds, programId) {
          let nonce = 255;
          let address;
          while (nonce != 0) {
            try {
              const seedsWithNonce = seeds.concat(import_buffer2.Buffer.from([nonce]));
              address = this.createProgramAddressSync(seedsWithNonce, programId);
            } catch (err) {
              if (err instanceof TypeError) {
                throw err;
              }
              nonce--;
              continue;
            }
            return [address, nonce];
          }
          throw new Error(`Unable to find a viable program address nonce`);
        }
        /**
         * Async version of findProgramAddressSync
         * For backwards compatibility
         *
         * @deprecated Use {@link findProgramAddressSync} instead
         */
        static async findProgramAddress(seeds, programId) {
          return this.findProgramAddressSync(seeds, programId);
        }
        /**
         * Check that a pubkey is on the ed25519 curve.
         */
        static isOnCurve(pubkeyData) {
          const pubkey = new _PublicKey2(pubkeyData);
          return isOnCurve(pubkey.toBytes());
        }
      };
      _PublicKey = PublicKey;
      PublicKey.default = new _PublicKey("11111111111111111111111111111111");
      SOLANA_SCHEMA.set(PublicKey, {
        kind: "struct",
        fields: [["_bn", "u256"]]
      });
      BPF_LOADER_DEPRECATED_PROGRAM_ID = new PublicKey("BPFLoader1111111111111111111111111111111111");
      PACKET_DATA_SIZE = 1280 - 40 - 8;
      VERSION_PREFIX_MASK = 127;
      SIGNATURE_LENGTH_IN_BYTES = 64;
      TransactionExpiredBlockheightExceededError = class extends Error {
        constructor(signature2) {
          super(`Signature ${signature2} has expired: block height exceeded.`);
          this.signature = void 0;
          this.signature = signature2;
        }
      };
      Object.defineProperty(TransactionExpiredBlockheightExceededError.prototype, "name", {
        value: "TransactionExpiredBlockheightExceededError"
      });
      TransactionExpiredTimeoutError = class extends Error {
        constructor(signature2, timeoutSeconds) {
          super(`Transaction was not confirmed in ${timeoutSeconds.toFixed(2)} seconds. It is unknown if it succeeded or failed. Check signature ${signature2} using the Solana Explorer or CLI tools.`);
          this.signature = void 0;
          this.signature = signature2;
        }
      };
      Object.defineProperty(TransactionExpiredTimeoutError.prototype, "name", {
        value: "TransactionExpiredTimeoutError"
      });
      TransactionExpiredNonceInvalidError = class extends Error {
        constructor(signature2) {
          super(`Signature ${signature2} has expired: the nonce is no longer valid.`);
          this.signature = void 0;
          this.signature = signature2;
        }
      };
      Object.defineProperty(TransactionExpiredNonceInvalidError.prototype, "name", {
        value: "TransactionExpiredNonceInvalidError"
      });
      MessageAccountKeys = class {
        constructor(staticAccountKeys, accountKeysFromLookups) {
          this.staticAccountKeys = void 0;
          this.accountKeysFromLookups = void 0;
          this.staticAccountKeys = staticAccountKeys;
          this.accountKeysFromLookups = accountKeysFromLookups;
        }
        keySegments() {
          const keySegments = [this.staticAccountKeys];
          if (this.accountKeysFromLookups) {
            keySegments.push(this.accountKeysFromLookups.writable);
            keySegments.push(this.accountKeysFromLookups.readonly);
          }
          return keySegments;
        }
        get(index3) {
          for (const keySegment of this.keySegments()) {
            if (index3 < keySegment.length) {
              return keySegment[index3];
            } else {
              index3 -= keySegment.length;
            }
          }
          return;
        }
        get length() {
          return this.keySegments().flat().length;
        }
        compileInstructions(instructions) {
          const U8_MAX = 255;
          if (this.length > U8_MAX + 1) {
            throw new Error("Account index overflow encountered during compilation");
          }
          const keyIndexMap = /* @__PURE__ */ new Map();
          this.keySegments().flat().forEach((key, index3) => {
            keyIndexMap.set(key.toBase58(), index3);
          });
          const findKeyIndex = (key) => {
            const keyIndex = keyIndexMap.get(key.toBase58());
            if (keyIndex === void 0) throw new Error("Encountered an unknown instruction account key during compilation");
            return keyIndex;
          };
          return instructions.map((instruction) => {
            return {
              programIdIndex: findKeyIndex(instruction.programId),
              accountKeyIndexes: instruction.keys.map((meta) => findKeyIndex(meta.pubkey)),
              data: instruction.data
            };
          });
        }
      };
      publicKey = (property = "publicKey") => {
        return BufferLayout.blob(32, property);
      };
      signature = (property = "signature") => {
        return BufferLayout.blob(64, property);
      };
      rustString = (property = "string") => {
        const rsl = BufferLayout.struct([BufferLayout.u32("length"), BufferLayout.u32("lengthPadding"), BufferLayout.blob(BufferLayout.offset(BufferLayout.u32(), -8), "chars")], property);
        const _decode = rsl.decode.bind(rsl);
        const _encode = rsl.encode.bind(rsl);
        const rslShim = rsl;
        rslShim.decode = (b2, offset5) => {
          const data2 = _decode(b2, offset5);
          return data2["chars"].toString();
        };
        rslShim.encode = (str, b2, offset5) => {
          const data2 = {
            chars: import_buffer2.Buffer.from(str, "utf8")
          };
          return _encode(data2, b2, offset5);
        };
        rslShim.alloc = (str) => {
          return BufferLayout.u32().span + BufferLayout.u32().span + import_buffer2.Buffer.from(str, "utf8").length;
        };
        return rslShim;
      };
      authorized = (property = "authorized") => {
        return BufferLayout.struct([publicKey("staker"), publicKey("withdrawer")], property);
      };
      lockup = (property = "lockup") => {
        return BufferLayout.struct([BufferLayout.ns64("unixTimestamp"), BufferLayout.ns64("epoch"), publicKey("custodian")], property);
      };
      voteInit = (property = "voteInit") => {
        return BufferLayout.struct([publicKey("nodePubkey"), publicKey("authorizedVoter"), publicKey("authorizedWithdrawer"), BufferLayout.u8("commission")], property);
      };
      voteAuthorizeWithSeedArgs = (property = "voteAuthorizeWithSeedArgs") => {
        return BufferLayout.struct([BufferLayout.u32("voteAuthorizationType"), publicKey("currentAuthorityDerivedKeyOwnerPubkey"), rustString("currentAuthorityDerivedKeySeed"), publicKey("newAuthorized")], property);
      };
      CompiledKeys = class _CompiledKeys {
        constructor(payer, keyMetaMap) {
          this.payer = void 0;
          this.keyMetaMap = void 0;
          this.payer = payer;
          this.keyMetaMap = keyMetaMap;
        }
        static compile(instructions, payer) {
          const keyMetaMap = /* @__PURE__ */ new Map();
          const getOrInsertDefault = (pubkey) => {
            const address = pubkey.toBase58();
            let keyMeta = keyMetaMap.get(address);
            if (keyMeta === void 0) {
              keyMeta = {
                isSigner: false,
                isWritable: false,
                isInvoked: false
              };
              keyMetaMap.set(address, keyMeta);
            }
            return keyMeta;
          };
          const payerKeyMeta = getOrInsertDefault(payer);
          payerKeyMeta.isSigner = true;
          payerKeyMeta.isWritable = true;
          for (const ix of instructions) {
            getOrInsertDefault(ix.programId).isInvoked = true;
            for (const accountMeta of ix.keys) {
              const keyMeta = getOrInsertDefault(accountMeta.pubkey);
              keyMeta.isSigner ||= accountMeta.isSigner;
              keyMeta.isWritable ||= accountMeta.isWritable;
            }
          }
          return new _CompiledKeys(payer, keyMetaMap);
        }
        getMessageComponents() {
          const mapEntries = [...this.keyMetaMap.entries()];
          assert2(mapEntries.length <= 256, "Max static account keys length exceeded");
          const writableSigners = mapEntries.filter(([, meta]) => meta.isSigner && meta.isWritable);
          const readonlySigners = mapEntries.filter(([, meta]) => meta.isSigner && !meta.isWritable);
          const writableNonSigners = mapEntries.filter(([, meta]) => !meta.isSigner && meta.isWritable);
          const readonlyNonSigners = mapEntries.filter(([, meta]) => !meta.isSigner && !meta.isWritable);
          const header = {
            numRequiredSignatures: writableSigners.length + readonlySigners.length,
            numReadonlySignedAccounts: readonlySigners.length,
            numReadonlyUnsignedAccounts: readonlyNonSigners.length
          };
          {
            assert2(writableSigners.length > 0, "Expected at least one writable signer key");
            const [payerAddress] = writableSigners[0];
            assert2(payerAddress === this.payer.toBase58(), "Expected first writable signer key to be the fee payer");
          }
          const staticAccountKeys = [...writableSigners.map(([address]) => new PublicKey(address)), ...readonlySigners.map(([address]) => new PublicKey(address)), ...writableNonSigners.map(([address]) => new PublicKey(address)), ...readonlyNonSigners.map(([address]) => new PublicKey(address))];
          return [header, staticAccountKeys];
        }
        extractTableLookup(lookupTable) {
          const [writableIndexes, drainedWritableKeys] = this.drainKeysFoundInLookupTable(lookupTable.state.addresses, (keyMeta) => !keyMeta.isSigner && !keyMeta.isInvoked && keyMeta.isWritable);
          const [readonlyIndexes, drainedReadonlyKeys] = this.drainKeysFoundInLookupTable(lookupTable.state.addresses, (keyMeta) => !keyMeta.isSigner && !keyMeta.isInvoked && !keyMeta.isWritable);
          if (writableIndexes.length === 0 && readonlyIndexes.length === 0) {
            return;
          }
          return [{
            accountKey: lookupTable.key,
            writableIndexes,
            readonlyIndexes
          }, {
            writable: drainedWritableKeys,
            readonly: drainedReadonlyKeys
          }];
        }
        /** @internal */
        drainKeysFoundInLookupTable(lookupTableEntries, keyMetaFilter) {
          const lookupTableIndexes = new Array();
          const drainedKeys = new Array();
          for (const [address, keyMeta] of this.keyMetaMap.entries()) {
            if (keyMetaFilter(keyMeta)) {
              const key = new PublicKey(address);
              const lookupTableIndex = lookupTableEntries.findIndex((entry) => entry.equals(key));
              if (lookupTableIndex >= 0) {
                assert2(lookupTableIndex < 256, "Max lookup table index exceeded");
                lookupTableIndexes.push(lookupTableIndex);
                drainedKeys.push(key);
                this.keyMetaMap.delete(address);
              }
            }
          }
          return [lookupTableIndexes, drainedKeys];
        }
      };
      END_OF_BUFFER_ERROR_MESSAGE = "Reached end of buffer unexpectedly";
      Message = class _Message {
        constructor(args) {
          this.header = void 0;
          this.accountKeys = void 0;
          this.recentBlockhash = void 0;
          this.instructions = void 0;
          this.indexToProgramIds = /* @__PURE__ */ new Map();
          this.header = args.header;
          this.accountKeys = args.accountKeys.map((account) => new PublicKey(account));
          this.recentBlockhash = args.recentBlockhash;
          this.instructions = args.instructions;
          this.instructions.forEach((ix) => this.indexToProgramIds.set(ix.programIdIndex, this.accountKeys[ix.programIdIndex]));
        }
        get version() {
          return "legacy";
        }
        get staticAccountKeys() {
          return this.accountKeys;
        }
        get compiledInstructions() {
          return this.instructions.map((ix) => ({
            programIdIndex: ix.programIdIndex,
            accountKeyIndexes: ix.accounts,
            data: import_bs58.default.decode(ix.data)
          }));
        }
        get addressTableLookups() {
          return [];
        }
        getAccountKeys() {
          return new MessageAccountKeys(this.staticAccountKeys);
        }
        static compile(args) {
          const compiledKeys = CompiledKeys.compile(args.instructions, args.payerKey);
          const [header, staticAccountKeys] = compiledKeys.getMessageComponents();
          const accountKeys = new MessageAccountKeys(staticAccountKeys);
          const instructions = accountKeys.compileInstructions(args.instructions).map((ix) => ({
            programIdIndex: ix.programIdIndex,
            accounts: ix.accountKeyIndexes,
            data: import_bs58.default.encode(ix.data)
          }));
          return new _Message({
            header,
            accountKeys: staticAccountKeys,
            recentBlockhash: args.recentBlockhash,
            instructions
          });
        }
        isAccountSigner(index3) {
          return index3 < this.header.numRequiredSignatures;
        }
        isAccountWritable(index3) {
          const numSignedAccounts = this.header.numRequiredSignatures;
          if (index3 >= this.header.numRequiredSignatures) {
            const unsignedAccountIndex = index3 - numSignedAccounts;
            const numUnsignedAccounts = this.accountKeys.length - numSignedAccounts;
            const numWritableUnsignedAccounts = numUnsignedAccounts - this.header.numReadonlyUnsignedAccounts;
            return unsignedAccountIndex < numWritableUnsignedAccounts;
          } else {
            const numWritableSignedAccounts = numSignedAccounts - this.header.numReadonlySignedAccounts;
            return index3 < numWritableSignedAccounts;
          }
        }
        isProgramId(index3) {
          return this.indexToProgramIds.has(index3);
        }
        programIds() {
          return [...this.indexToProgramIds.values()];
        }
        nonProgramIds() {
          return this.accountKeys.filter((_3, index3) => !this.isProgramId(index3));
        }
        serialize() {
          const numKeys = this.accountKeys.length;
          let keyCount = [];
          encodeLength(keyCount, numKeys);
          const instructions = this.instructions.map((instruction) => {
            const {
              accounts,
              programIdIndex
            } = instruction;
            const data2 = Array.from(import_bs58.default.decode(instruction.data));
            let keyIndicesCount = [];
            encodeLength(keyIndicesCount, accounts.length);
            let dataCount = [];
            encodeLength(dataCount, data2.length);
            return {
              programIdIndex,
              keyIndicesCount: import_buffer2.Buffer.from(keyIndicesCount),
              keyIndices: accounts,
              dataLength: import_buffer2.Buffer.from(dataCount),
              data: data2
            };
          });
          let instructionCount = [];
          encodeLength(instructionCount, instructions.length);
          let instructionBuffer = import_buffer2.Buffer.alloc(PACKET_DATA_SIZE);
          import_buffer2.Buffer.from(instructionCount).copy(instructionBuffer);
          let instructionBufferLength = instructionCount.length;
          instructions.forEach((instruction) => {
            const instructionLayout = BufferLayout.struct([BufferLayout.u8("programIdIndex"), BufferLayout.blob(instruction.keyIndicesCount.length, "keyIndicesCount"), BufferLayout.seq(BufferLayout.u8("keyIndex"), instruction.keyIndices.length, "keyIndices"), BufferLayout.blob(instruction.dataLength.length, "dataLength"), BufferLayout.seq(BufferLayout.u8("userdatum"), instruction.data.length, "data")]);
            const length3 = instructionLayout.encode(instruction, instructionBuffer, instructionBufferLength);
            instructionBufferLength += length3;
          });
          instructionBuffer = instructionBuffer.slice(0, instructionBufferLength);
          const signDataLayout = BufferLayout.struct([BufferLayout.blob(1, "numRequiredSignatures"), BufferLayout.blob(1, "numReadonlySignedAccounts"), BufferLayout.blob(1, "numReadonlyUnsignedAccounts"), BufferLayout.blob(keyCount.length, "keyCount"), BufferLayout.seq(publicKey("key"), numKeys, "keys"), publicKey("recentBlockhash")]);
          const transaction = {
            numRequiredSignatures: import_buffer2.Buffer.from([this.header.numRequiredSignatures]),
            numReadonlySignedAccounts: import_buffer2.Buffer.from([this.header.numReadonlySignedAccounts]),
            numReadonlyUnsignedAccounts: import_buffer2.Buffer.from([this.header.numReadonlyUnsignedAccounts]),
            keyCount: import_buffer2.Buffer.from(keyCount),
            keys: this.accountKeys.map((key) => toBuffer(key.toBytes())),
            recentBlockhash: import_bs58.default.decode(this.recentBlockhash)
          };
          let signData = import_buffer2.Buffer.alloc(2048);
          const length2 = signDataLayout.encode(transaction, signData);
          instructionBuffer.copy(signData, length2);
          return signData.slice(0, length2 + instructionBuffer.length);
        }
        /**
         * Decode a compiled message into a Message object.
         */
        static from(buffer) {
          let byteArray = [...buffer];
          const numRequiredSignatures = guardedShift(byteArray);
          if (numRequiredSignatures !== (numRequiredSignatures & VERSION_PREFIX_MASK)) {
            throw new Error("Versioned messages must be deserialized with VersionedMessage.deserialize()");
          }
          const numReadonlySignedAccounts = guardedShift(byteArray);
          const numReadonlyUnsignedAccounts = guardedShift(byteArray);
          const accountCount = decodeLength(byteArray);
          let accountKeys = [];
          for (let i2 = 0; i2 < accountCount; i2++) {
            const account = guardedSplice(byteArray, 0, PUBLIC_KEY_LENGTH);
            accountKeys.push(new PublicKey(import_buffer2.Buffer.from(account)));
          }
          const recentBlockhash = guardedSplice(byteArray, 0, PUBLIC_KEY_LENGTH);
          const instructionCount = decodeLength(byteArray);
          let instructions = [];
          for (let i2 = 0; i2 < instructionCount; i2++) {
            const programIdIndex = guardedShift(byteArray);
            const accountCount2 = decodeLength(byteArray);
            const accounts = guardedSplice(byteArray, 0, accountCount2);
            const dataLength = decodeLength(byteArray);
            const dataSlice = guardedSplice(byteArray, 0, dataLength);
            const data2 = import_bs58.default.encode(import_buffer2.Buffer.from(dataSlice));
            instructions.push({
              programIdIndex,
              accounts,
              data: data2
            });
          }
          const messageArgs = {
            header: {
              numRequiredSignatures,
              numReadonlySignedAccounts,
              numReadonlyUnsignedAccounts
            },
            recentBlockhash: import_bs58.default.encode(import_buffer2.Buffer.from(recentBlockhash)),
            accountKeys,
            instructions
          };
          return new _Message(messageArgs);
        }
      };
      MessageV0 = class _MessageV0 {
        constructor(args) {
          this.header = void 0;
          this.staticAccountKeys = void 0;
          this.recentBlockhash = void 0;
          this.compiledInstructions = void 0;
          this.addressTableLookups = void 0;
          this.header = args.header;
          this.staticAccountKeys = args.staticAccountKeys;
          this.recentBlockhash = args.recentBlockhash;
          this.compiledInstructions = args.compiledInstructions;
          this.addressTableLookups = args.addressTableLookups;
        }
        get version() {
          return 0;
        }
        get numAccountKeysFromLookups() {
          let count2 = 0;
          for (const lookup of this.addressTableLookups) {
            count2 += lookup.readonlyIndexes.length + lookup.writableIndexes.length;
          }
          return count2;
        }
        getAccountKeys(args) {
          let accountKeysFromLookups;
          if (args && "accountKeysFromLookups" in args && args.accountKeysFromLookups) {
            if (this.numAccountKeysFromLookups != args.accountKeysFromLookups.writable.length + args.accountKeysFromLookups.readonly.length) {
              throw new Error("Failed to get account keys because of a mismatch in the number of account keys from lookups");
            }
            accountKeysFromLookups = args.accountKeysFromLookups;
          } else if (args && "addressLookupTableAccounts" in args && args.addressLookupTableAccounts) {
            accountKeysFromLookups = this.resolveAddressTableLookups(args.addressLookupTableAccounts);
          } else if (this.addressTableLookups.length > 0) {
            throw new Error("Failed to get account keys because address table lookups were not resolved");
          }
          return new MessageAccountKeys(this.staticAccountKeys, accountKeysFromLookups);
        }
        isAccountSigner(index3) {
          return index3 < this.header.numRequiredSignatures;
        }
        isAccountWritable(index3) {
          const numSignedAccounts = this.header.numRequiredSignatures;
          const numStaticAccountKeys = this.staticAccountKeys.length;
          if (index3 >= numStaticAccountKeys) {
            const lookupAccountKeysIndex = index3 - numStaticAccountKeys;
            const numWritableLookupAccountKeys = this.addressTableLookups.reduce((count2, lookup) => count2 + lookup.writableIndexes.length, 0);
            return lookupAccountKeysIndex < numWritableLookupAccountKeys;
          } else if (index3 >= this.header.numRequiredSignatures) {
            const unsignedAccountIndex = index3 - numSignedAccounts;
            const numUnsignedAccounts = numStaticAccountKeys - numSignedAccounts;
            const numWritableUnsignedAccounts = numUnsignedAccounts - this.header.numReadonlyUnsignedAccounts;
            return unsignedAccountIndex < numWritableUnsignedAccounts;
          } else {
            const numWritableSignedAccounts = numSignedAccounts - this.header.numReadonlySignedAccounts;
            return index3 < numWritableSignedAccounts;
          }
        }
        resolveAddressTableLookups(addressLookupTableAccounts) {
          const accountKeysFromLookups = {
            writable: [],
            readonly: []
          };
          for (const tableLookup of this.addressTableLookups) {
            const tableAccount = addressLookupTableAccounts.find((account) => account.key.equals(tableLookup.accountKey));
            if (!tableAccount) {
              throw new Error(`Failed to find address lookup table account for table key ${tableLookup.accountKey.toBase58()}`);
            }
            for (const index3 of tableLookup.writableIndexes) {
              if (index3 < tableAccount.state.addresses.length) {
                accountKeysFromLookups.writable.push(tableAccount.state.addresses[index3]);
              } else {
                throw new Error(`Failed to find address for index ${index3} in address lookup table ${tableLookup.accountKey.toBase58()}`);
              }
            }
            for (const index3 of tableLookup.readonlyIndexes) {
              if (index3 < tableAccount.state.addresses.length) {
                accountKeysFromLookups.readonly.push(tableAccount.state.addresses[index3]);
              } else {
                throw new Error(`Failed to find address for index ${index3} in address lookup table ${tableLookup.accountKey.toBase58()}`);
              }
            }
          }
          return accountKeysFromLookups;
        }
        static compile(args) {
          const compiledKeys = CompiledKeys.compile(args.instructions, args.payerKey);
          const addressTableLookups = new Array();
          const accountKeysFromLookups = {
            writable: new Array(),
            readonly: new Array()
          };
          const lookupTableAccounts = args.addressLookupTableAccounts || [];
          for (const lookupTable of lookupTableAccounts) {
            const extractResult = compiledKeys.extractTableLookup(lookupTable);
            if (extractResult !== void 0) {
              const [addressTableLookup, {
                writable,
                readonly
              }] = extractResult;
              addressTableLookups.push(addressTableLookup);
              accountKeysFromLookups.writable.push(...writable);
              accountKeysFromLookups.readonly.push(...readonly);
            }
          }
          const [header, staticAccountKeys] = compiledKeys.getMessageComponents();
          const accountKeys = new MessageAccountKeys(staticAccountKeys, accountKeysFromLookups);
          const compiledInstructions = accountKeys.compileInstructions(args.instructions);
          return new _MessageV0({
            header,
            staticAccountKeys,
            recentBlockhash: args.recentBlockhash,
            compiledInstructions,
            addressTableLookups
          });
        }
        serialize() {
          const encodedStaticAccountKeysLength = Array();
          encodeLength(encodedStaticAccountKeysLength, this.staticAccountKeys.length);
          const serializedInstructions = this.serializeInstructions();
          const encodedInstructionsLength = Array();
          encodeLength(encodedInstructionsLength, this.compiledInstructions.length);
          const serializedAddressTableLookups = this.serializeAddressTableLookups();
          const encodedAddressTableLookupsLength = Array();
          encodeLength(encodedAddressTableLookupsLength, this.addressTableLookups.length);
          const messageLayout = BufferLayout.struct([BufferLayout.u8("prefix"), BufferLayout.struct([BufferLayout.u8("numRequiredSignatures"), BufferLayout.u8("numReadonlySignedAccounts"), BufferLayout.u8("numReadonlyUnsignedAccounts")], "header"), BufferLayout.blob(encodedStaticAccountKeysLength.length, "staticAccountKeysLength"), BufferLayout.seq(publicKey(), this.staticAccountKeys.length, "staticAccountKeys"), publicKey("recentBlockhash"), BufferLayout.blob(encodedInstructionsLength.length, "instructionsLength"), BufferLayout.blob(serializedInstructions.length, "serializedInstructions"), BufferLayout.blob(encodedAddressTableLookupsLength.length, "addressTableLookupsLength"), BufferLayout.blob(serializedAddressTableLookups.length, "serializedAddressTableLookups")]);
          const serializedMessage = new Uint8Array(PACKET_DATA_SIZE);
          const MESSAGE_VERSION_0_PREFIX = 1 << 7;
          const serializedMessageLength = messageLayout.encode({
            prefix: MESSAGE_VERSION_0_PREFIX,
            header: this.header,
            staticAccountKeysLength: new Uint8Array(encodedStaticAccountKeysLength),
            staticAccountKeys: this.staticAccountKeys.map((key) => key.toBytes()),
            recentBlockhash: import_bs58.default.decode(this.recentBlockhash),
            instructionsLength: new Uint8Array(encodedInstructionsLength),
            serializedInstructions,
            addressTableLookupsLength: new Uint8Array(encodedAddressTableLookupsLength),
            serializedAddressTableLookups
          }, serializedMessage);
          return serializedMessage.slice(0, serializedMessageLength);
        }
        serializeInstructions() {
          let serializedLength = 0;
          const serializedInstructions = new Uint8Array(PACKET_DATA_SIZE);
          for (const instruction of this.compiledInstructions) {
            const encodedAccountKeyIndexesLength = Array();
            encodeLength(encodedAccountKeyIndexesLength, instruction.accountKeyIndexes.length);
            const encodedDataLength = Array();
            encodeLength(encodedDataLength, instruction.data.length);
            const instructionLayout = BufferLayout.struct([BufferLayout.u8("programIdIndex"), BufferLayout.blob(encodedAccountKeyIndexesLength.length, "encodedAccountKeyIndexesLength"), BufferLayout.seq(BufferLayout.u8(), instruction.accountKeyIndexes.length, "accountKeyIndexes"), BufferLayout.blob(encodedDataLength.length, "encodedDataLength"), BufferLayout.blob(instruction.data.length, "data")]);
            serializedLength += instructionLayout.encode({
              programIdIndex: instruction.programIdIndex,
              encodedAccountKeyIndexesLength: new Uint8Array(encodedAccountKeyIndexesLength),
              accountKeyIndexes: instruction.accountKeyIndexes,
              encodedDataLength: new Uint8Array(encodedDataLength),
              data: instruction.data
            }, serializedInstructions, serializedLength);
          }
          return serializedInstructions.slice(0, serializedLength);
        }
        serializeAddressTableLookups() {
          let serializedLength = 0;
          const serializedAddressTableLookups = new Uint8Array(PACKET_DATA_SIZE);
          for (const lookup of this.addressTableLookups) {
            const encodedWritableIndexesLength = Array();
            encodeLength(encodedWritableIndexesLength, lookup.writableIndexes.length);
            const encodedReadonlyIndexesLength = Array();
            encodeLength(encodedReadonlyIndexesLength, lookup.readonlyIndexes.length);
            const addressTableLookupLayout = BufferLayout.struct([publicKey("accountKey"), BufferLayout.blob(encodedWritableIndexesLength.length, "encodedWritableIndexesLength"), BufferLayout.seq(BufferLayout.u8(), lookup.writableIndexes.length, "writableIndexes"), BufferLayout.blob(encodedReadonlyIndexesLength.length, "encodedReadonlyIndexesLength"), BufferLayout.seq(BufferLayout.u8(), lookup.readonlyIndexes.length, "readonlyIndexes")]);
            serializedLength += addressTableLookupLayout.encode({
              accountKey: lookup.accountKey.toBytes(),
              encodedWritableIndexesLength: new Uint8Array(encodedWritableIndexesLength),
              writableIndexes: lookup.writableIndexes,
              encodedReadonlyIndexesLength: new Uint8Array(encodedReadonlyIndexesLength),
              readonlyIndexes: lookup.readonlyIndexes
            }, serializedAddressTableLookups, serializedLength);
          }
          return serializedAddressTableLookups.slice(0, serializedLength);
        }
        static deserialize(serializedMessage) {
          let byteArray = [...serializedMessage];
          const prefix2 = guardedShift(byteArray);
          const maskedPrefix = prefix2 & VERSION_PREFIX_MASK;
          assert2(prefix2 !== maskedPrefix, `Expected versioned message but received legacy message`);
          const version2 = maskedPrefix;
          assert2(version2 === 0, `Expected versioned message with version 0 but found version ${version2}`);
          const header = {
            numRequiredSignatures: guardedShift(byteArray),
            numReadonlySignedAccounts: guardedShift(byteArray),
            numReadonlyUnsignedAccounts: guardedShift(byteArray)
          };
          const staticAccountKeys = [];
          const staticAccountKeysLength = decodeLength(byteArray);
          for (let i2 = 0; i2 < staticAccountKeysLength; i2++) {
            staticAccountKeys.push(new PublicKey(guardedSplice(byteArray, 0, PUBLIC_KEY_LENGTH)));
          }
          const recentBlockhash = import_bs58.default.encode(guardedSplice(byteArray, 0, PUBLIC_KEY_LENGTH));
          const instructionCount = decodeLength(byteArray);
          const compiledInstructions = [];
          for (let i2 = 0; i2 < instructionCount; i2++) {
            const programIdIndex = guardedShift(byteArray);
            const accountKeyIndexesLength = decodeLength(byteArray);
            const accountKeyIndexes = guardedSplice(byteArray, 0, accountKeyIndexesLength);
            const dataLength = decodeLength(byteArray);
            const data2 = new Uint8Array(guardedSplice(byteArray, 0, dataLength));
            compiledInstructions.push({
              programIdIndex,
              accountKeyIndexes,
              data: data2
            });
          }
          const addressTableLookupsCount = decodeLength(byteArray);
          const addressTableLookups = [];
          for (let i2 = 0; i2 < addressTableLookupsCount; i2++) {
            const accountKey = new PublicKey(guardedSplice(byteArray, 0, PUBLIC_KEY_LENGTH));
            const writableIndexesLength = decodeLength(byteArray);
            const writableIndexes = guardedSplice(byteArray, 0, writableIndexesLength);
            const readonlyIndexesLength = decodeLength(byteArray);
            const readonlyIndexes = guardedSplice(byteArray, 0, readonlyIndexesLength);
            addressTableLookups.push({
              accountKey,
              writableIndexes,
              readonlyIndexes
            });
          }
          return new _MessageV0({
            header,
            staticAccountKeys,
            recentBlockhash,
            compiledInstructions,
            addressTableLookups
          });
        }
      };
      VersionedMessage = {
        deserializeMessageVersion(serializedMessage) {
          const prefix2 = serializedMessage[0];
          const maskedPrefix = prefix2 & VERSION_PREFIX_MASK;
          if (maskedPrefix === prefix2) {
            return "legacy";
          }
          return maskedPrefix;
        },
        deserialize: (serializedMessage) => {
          const version2 = VersionedMessage.deserializeMessageVersion(serializedMessage);
          if (version2 === "legacy") {
            return Message.from(serializedMessage);
          }
          if (version2 === 0) {
            return MessageV0.deserialize(serializedMessage);
          } else {
            throw new Error(`Transaction message version ${version2} deserialization is not supported`);
          }
        }
      };
      TransactionStatus = /* @__PURE__ */ (function(TransactionStatus2) {
        TransactionStatus2[TransactionStatus2["BLOCKHEIGHT_EXCEEDED"] = 0] = "BLOCKHEIGHT_EXCEEDED";
        TransactionStatus2[TransactionStatus2["PROCESSED"] = 1] = "PROCESSED";
        TransactionStatus2[TransactionStatus2["TIMED_OUT"] = 2] = "TIMED_OUT";
        TransactionStatus2[TransactionStatus2["NONCE_INVALID"] = 3] = "NONCE_INVALID";
        return TransactionStatus2;
      })({});
      DEFAULT_SIGNATURE = import_buffer2.Buffer.alloc(SIGNATURE_LENGTH_IN_BYTES).fill(0);
      TransactionInstruction = class {
        constructor(opts) {
          this.keys = void 0;
          this.programId = void 0;
          this.data = import_buffer2.Buffer.alloc(0);
          this.programId = opts.programId;
          this.keys = opts.keys;
          if (opts.data) {
            this.data = opts.data;
          }
        }
        /**
         * @internal
         */
        toJSON() {
          return {
            keys: this.keys.map(({
              pubkey,
              isSigner,
              isWritable
            }) => ({
              pubkey: pubkey.toJSON(),
              isSigner,
              isWritable
            })),
            programId: this.programId.toJSON(),
            data: [...this.data]
          };
        }
      };
      Transaction = class _Transaction {
        /**
         * The first (payer) Transaction signature
         *
         * @returns {Buffer | null} Buffer of payer's signature
         */
        get signature() {
          if (this.signatures.length > 0) {
            return this.signatures[0].signature;
          }
          return null;
        }
        /**
         * The transaction fee payer
         */
        // Construct a transaction with a blockhash and lastValidBlockHeight
        // Construct a transaction using a durable nonce
        /**
         * @deprecated `TransactionCtorFields` has been deprecated and will be removed in a future version.
         * Please supply a `TransactionBlockhashCtor` instead.
         */
        /**
         * Construct an empty Transaction
         */
        constructor(opts) {
          this.signatures = [];
          this.feePayer = void 0;
          this.instructions = [];
          this.recentBlockhash = void 0;
          this.lastValidBlockHeight = void 0;
          this.nonceInfo = void 0;
          this.minNonceContextSlot = void 0;
          this._message = void 0;
          this._json = void 0;
          if (!opts) {
            return;
          }
          if (opts.feePayer) {
            this.feePayer = opts.feePayer;
          }
          if (opts.signatures) {
            this.signatures = opts.signatures;
          }
          if (Object.prototype.hasOwnProperty.call(opts, "nonceInfo")) {
            const {
              minContextSlot,
              nonceInfo
            } = opts;
            this.minNonceContextSlot = minContextSlot;
            this.nonceInfo = nonceInfo;
          } else if (Object.prototype.hasOwnProperty.call(opts, "lastValidBlockHeight")) {
            const {
              blockhash,
              lastValidBlockHeight
            } = opts;
            this.recentBlockhash = blockhash;
            this.lastValidBlockHeight = lastValidBlockHeight;
          } else {
            const {
              recentBlockhash,
              nonceInfo
            } = opts;
            if (nonceInfo) {
              this.nonceInfo = nonceInfo;
            }
            this.recentBlockhash = recentBlockhash;
          }
        }
        /**
         * @internal
         */
        toJSON() {
          return {
            recentBlockhash: this.recentBlockhash || null,
            feePayer: this.feePayer ? this.feePayer.toJSON() : null,
            nonceInfo: this.nonceInfo ? {
              nonce: this.nonceInfo.nonce,
              nonceInstruction: this.nonceInfo.nonceInstruction.toJSON()
            } : null,
            instructions: this.instructions.map((instruction) => instruction.toJSON()),
            signers: this.signatures.map(({
              publicKey: publicKey2
            }) => {
              return publicKey2.toJSON();
            })
          };
        }
        /**
         * Add one or more instructions to this Transaction
         *
         * @param {Array< Transaction | TransactionInstruction | TransactionInstructionCtorFields >} items - Instructions to add to the Transaction
         */
        add(...items) {
          if (items.length === 0) {
            throw new Error("No instructions");
          }
          items.forEach((item) => {
            if ("instructions" in item) {
              this.instructions = this.instructions.concat(item.instructions);
            } else if ("data" in item && "programId" in item && "keys" in item) {
              this.instructions.push(item);
            } else {
              this.instructions.push(new TransactionInstruction(item));
            }
          });
          return this;
        }
        /**
         * Compile transaction data
         */
        compileMessage() {
          if (this._message && JSON.stringify(this.toJSON()) === JSON.stringify(this._json)) {
            return this._message;
          }
          let recentBlockhash;
          let instructions;
          if (this.nonceInfo) {
            recentBlockhash = this.nonceInfo.nonce;
            if (this.instructions[0] != this.nonceInfo.nonceInstruction) {
              instructions = [this.nonceInfo.nonceInstruction, ...this.instructions];
            } else {
              instructions = this.instructions;
            }
          } else {
            recentBlockhash = this.recentBlockhash;
            instructions = this.instructions;
          }
          if (!recentBlockhash) {
            throw new Error("Transaction recentBlockhash required");
          }
          if (instructions.length < 1) {
            console.warn("No instructions provided");
          }
          let feePayer;
          if (this.feePayer) {
            feePayer = this.feePayer;
          } else if (this.signatures.length > 0 && this.signatures[0].publicKey) {
            feePayer = this.signatures[0].publicKey;
          } else {
            throw new Error("Transaction fee payer required");
          }
          for (let i2 = 0; i2 < instructions.length; i2++) {
            if (instructions[i2].programId === void 0) {
              throw new Error(`Transaction instruction index ${i2} has undefined program id`);
            }
          }
          const programIds = [];
          const accountMetas = [];
          instructions.forEach((instruction) => {
            instruction.keys.forEach((accountMeta) => {
              accountMetas.push({
                ...accountMeta
              });
            });
            const programId = instruction.programId.toString();
            if (!programIds.includes(programId)) {
              programIds.push(programId);
            }
          });
          programIds.forEach((programId) => {
            accountMetas.push({
              pubkey: new PublicKey(programId),
              isSigner: false,
              isWritable: false
            });
          });
          const uniqueMetas = [];
          accountMetas.forEach((accountMeta) => {
            const pubkeyString = accountMeta.pubkey.toString();
            const uniqueIndex = uniqueMetas.findIndex((x) => {
              return x.pubkey.toString() === pubkeyString;
            });
            if (uniqueIndex > -1) {
              uniqueMetas[uniqueIndex].isWritable = uniqueMetas[uniqueIndex].isWritable || accountMeta.isWritable;
              uniqueMetas[uniqueIndex].isSigner = uniqueMetas[uniqueIndex].isSigner || accountMeta.isSigner;
            } else {
              uniqueMetas.push(accountMeta);
            }
          });
          uniqueMetas.sort(function(x, y) {
            if (x.isSigner !== y.isSigner) {
              return x.isSigner ? -1 : 1;
            }
            if (x.isWritable !== y.isWritable) {
              return x.isWritable ? -1 : 1;
            }
            const options2 = {
              localeMatcher: "best fit",
              usage: "sort",
              sensitivity: "variant",
              ignorePunctuation: false,
              numeric: false,
              caseFirst: "lower"
            };
            return x.pubkey.toBase58().localeCompare(y.pubkey.toBase58(), "en", options2);
          });
          const feePayerIndex = uniqueMetas.findIndex((x) => {
            return x.pubkey.equals(feePayer);
          });
          if (feePayerIndex > -1) {
            const [payerMeta] = uniqueMetas.splice(feePayerIndex, 1);
            payerMeta.isSigner = true;
            payerMeta.isWritable = true;
            uniqueMetas.unshift(payerMeta);
          } else {
            uniqueMetas.unshift({
              pubkey: feePayer,
              isSigner: true,
              isWritable: true
            });
          }
          for (const signature2 of this.signatures) {
            const uniqueIndex = uniqueMetas.findIndex((x) => {
              return x.pubkey.equals(signature2.publicKey);
            });
            if (uniqueIndex > -1) {
              if (!uniqueMetas[uniqueIndex].isSigner) {
                uniqueMetas[uniqueIndex].isSigner = true;
                console.warn("Transaction references a signature that is unnecessary, only the fee payer and instruction signer accounts should sign a transaction. This behavior is deprecated and will throw an error in the next major version release.");
              }
            } else {
              throw new Error(`unknown signer: ${signature2.publicKey.toString()}`);
            }
          }
          let numRequiredSignatures = 0;
          let numReadonlySignedAccounts = 0;
          let numReadonlyUnsignedAccounts = 0;
          const signedKeys = [];
          const unsignedKeys = [];
          uniqueMetas.forEach(({
            pubkey,
            isSigner,
            isWritable
          }) => {
            if (isSigner) {
              signedKeys.push(pubkey.toString());
              numRequiredSignatures += 1;
              if (!isWritable) {
                numReadonlySignedAccounts += 1;
              }
            } else {
              unsignedKeys.push(pubkey.toString());
              if (!isWritable) {
                numReadonlyUnsignedAccounts += 1;
              }
            }
          });
          const accountKeys = signedKeys.concat(unsignedKeys);
          const compiledInstructions = instructions.map((instruction) => {
            const {
              data: data2,
              programId
            } = instruction;
            return {
              programIdIndex: accountKeys.indexOf(programId.toString()),
              accounts: instruction.keys.map((meta) => accountKeys.indexOf(meta.pubkey.toString())),
              data: import_bs58.default.encode(data2)
            };
          });
          compiledInstructions.forEach((instruction) => {
            assert2(instruction.programIdIndex >= 0);
            instruction.accounts.forEach((keyIndex) => assert2(keyIndex >= 0));
          });
          return new Message({
            header: {
              numRequiredSignatures,
              numReadonlySignedAccounts,
              numReadonlyUnsignedAccounts
            },
            accountKeys,
            recentBlockhash,
            instructions: compiledInstructions
          });
        }
        /**
         * @internal
         */
        _compile() {
          const message = this.compileMessage();
          const signedKeys = message.accountKeys.slice(0, message.header.numRequiredSignatures);
          if (this.signatures.length === signedKeys.length) {
            const valid = this.signatures.every((pair, index3) => {
              return signedKeys[index3].equals(pair.publicKey);
            });
            if (valid) return message;
          }
          this.signatures = signedKeys.map((publicKey2) => ({
            signature: null,
            publicKey: publicKey2
          }));
          return message;
        }
        /**
         * Get a buffer of the Transaction data that need to be covered by signatures
         */
        serializeMessage() {
          return this._compile().serialize();
        }
        /**
         * Get the estimated fee associated with a transaction
         *
         * @param {Connection} connection Connection to RPC Endpoint.
         *
         * @returns {Promise<number | null>} The estimated fee for the transaction
         */
        async getEstimatedFee(connection) {
          return (await connection.getFeeForMessage(this.compileMessage())).value;
        }
        /**
         * Specify the public keys which will be used to sign the Transaction.
         * The first signer will be used as the transaction fee payer account.
         *
         * Signatures can be added with either `partialSign` or `addSignature`
         *
         * @deprecated Deprecated since v0.84.0. Only the fee payer needs to be
         * specified and it can be set in the Transaction constructor or with the
         * `feePayer` property.
         */
        setSigners(...signers) {
          if (signers.length === 0) {
            throw new Error("No signers");
          }
          const seen = /* @__PURE__ */ new Set();
          this.signatures = signers.filter((publicKey2) => {
            const key = publicKey2.toString();
            if (seen.has(key)) {
              return false;
            } else {
              seen.add(key);
              return true;
            }
          }).map((publicKey2) => ({
            signature: null,
            publicKey: publicKey2
          }));
        }
        /**
         * Sign the Transaction with the specified signers. Multiple signatures may
         * be applied to a Transaction. The first signature is considered "primary"
         * and is used identify and confirm transactions.
         *
         * If the Transaction `feePayer` is not set, the first signer will be used
         * as the transaction fee payer account.
         *
         * Transaction fields should not be modified after the first call to `sign`,
         * as doing so may invalidate the signature and cause the Transaction to be
         * rejected.
         *
         * The Transaction must be assigned a valid `recentBlockhash` before invoking this method
         *
         * @param {Array<Signer>} signers Array of signers that will sign the transaction
         */
        sign(...signers) {
          if (signers.length === 0) {
            throw new Error("No signers");
          }
          const seen = /* @__PURE__ */ new Set();
          const uniqueSigners = [];
          for (const signer of signers) {
            const key = signer.publicKey.toString();
            if (seen.has(key)) {
              continue;
            } else {
              seen.add(key);
              uniqueSigners.push(signer);
            }
          }
          this.signatures = uniqueSigners.map((signer) => ({
            signature: null,
            publicKey: signer.publicKey
          }));
          const message = this._compile();
          this._partialSign(message, ...uniqueSigners);
        }
        /**
         * Partially sign a transaction with the specified accounts. All accounts must
         * correspond to either the fee payer or a signer account in the transaction
         * instructions.
         *
         * All the caveats from the `sign` method apply to `partialSign`
         *
         * @param {Array<Signer>} signers Array of signers that will sign the transaction
         */
        partialSign(...signers) {
          if (signers.length === 0) {
            throw new Error("No signers");
          }
          const seen = /* @__PURE__ */ new Set();
          const uniqueSigners = [];
          for (const signer of signers) {
            const key = signer.publicKey.toString();
            if (seen.has(key)) {
              continue;
            } else {
              seen.add(key);
              uniqueSigners.push(signer);
            }
          }
          const message = this._compile();
          this._partialSign(message, ...uniqueSigners);
        }
        /**
         * @internal
         */
        _partialSign(message, ...signers) {
          const signData = message.serialize();
          signers.forEach((signer) => {
            const signature2 = sign(signData, signer.secretKey);
            this._addSignature(signer.publicKey, toBuffer(signature2));
          });
        }
        /**
         * Add an externally created signature to a transaction. The public key
         * must correspond to either the fee payer or a signer account in the transaction
         * instructions.
         *
         * @param {PublicKey} pubkey Public key that will be added to the transaction.
         * @param {Buffer} signature An externally created signature to add to the transaction.
         */
        addSignature(pubkey, signature2) {
          this._compile();
          this._addSignature(pubkey, signature2);
        }
        /**
         * @internal
         */
        _addSignature(pubkey, signature2) {
          assert2(signature2.length === 64);
          const index3 = this.signatures.findIndex((sigpair) => pubkey.equals(sigpair.publicKey));
          if (index3 < 0) {
            throw new Error(`unknown signer: ${pubkey.toString()}`);
          }
          this.signatures[index3].signature = import_buffer2.Buffer.from(signature2);
        }
        /**
         * Verify signatures of a Transaction
         * Optional parameter specifies if we're expecting a fully signed Transaction or a partially signed one.
         * If no boolean is provided, we expect a fully signed Transaction by default.
         *
         * @param {boolean} [requireAllSignatures=true] Require a fully signed Transaction
         */
        verifySignatures(requireAllSignatures = true) {
          const signatureErrors = this._getMessageSignednessErrors(this.serializeMessage(), requireAllSignatures);
          return !signatureErrors;
        }
        /**
         * @internal
         */
        _getMessageSignednessErrors(message, requireAllSignatures) {
          const errors = {};
          for (const {
            signature: signature2,
            publicKey: publicKey2
          } of this.signatures) {
            if (signature2 === null) {
              if (requireAllSignatures) {
                (errors.missing ||= []).push(publicKey2);
              }
            } else {
              if (!verify(signature2, message, publicKey2.toBytes())) {
                (errors.invalid ||= []).push(publicKey2);
              }
            }
          }
          return errors.invalid || errors.missing ? errors : void 0;
        }
        /**
         * Serialize the Transaction in the wire format.
         *
         * @param {Buffer} [config] Config of transaction.
         *
         * @returns {Buffer} Signature of transaction in wire format.
         */
        serialize(config) {
          const {
            requireAllSignatures,
            verifySignatures
          } = Object.assign({
            requireAllSignatures: true,
            verifySignatures: true
          }, config);
          const signData = this.serializeMessage();
          if (verifySignatures) {
            const sigErrors = this._getMessageSignednessErrors(signData, requireAllSignatures);
            if (sigErrors) {
              let errorMessage = "Signature verification failed.";
              if (sigErrors.invalid) {
                errorMessage += `
Invalid signature for public key${sigErrors.invalid.length === 1 ? "" : "(s)"} [\`${sigErrors.invalid.map((p2) => p2.toBase58()).join("`, `")}\`].`;
              }
              if (sigErrors.missing) {
                errorMessage += `
Missing signature for public key${sigErrors.missing.length === 1 ? "" : "(s)"} [\`${sigErrors.missing.map((p2) => p2.toBase58()).join("`, `")}\`].`;
              }
              throw new Error(errorMessage);
            }
          }
          return this._serialize(signData);
        }
        /**
         * @internal
         */
        _serialize(signData) {
          const {
            signatures
          } = this;
          const signatureCount = [];
          encodeLength(signatureCount, signatures.length);
          const transactionLength = signatureCount.length + signatures.length * 64 + signData.length;
          const wireTransaction = import_buffer2.Buffer.alloc(transactionLength);
          assert2(signatures.length < 256);
          import_buffer2.Buffer.from(signatureCount).copy(wireTransaction, 0);
          signatures.forEach(({
            signature: signature2
          }, index3) => {
            if (signature2 !== null) {
              assert2(signature2.length === 64, `signature has invalid length`);
              import_buffer2.Buffer.from(signature2).copy(wireTransaction, signatureCount.length + index3 * 64);
            }
          });
          signData.copy(wireTransaction, signatureCount.length + signatures.length * 64);
          assert2(wireTransaction.length <= PACKET_DATA_SIZE, `Transaction too large: ${wireTransaction.length} > ${PACKET_DATA_SIZE}`);
          return wireTransaction;
        }
        /**
         * Deprecated method
         * @internal
         */
        get keys() {
          assert2(this.instructions.length === 1);
          return this.instructions[0].keys.map((keyObj) => keyObj.pubkey);
        }
        /**
         * Deprecated method
         * @internal
         */
        get programId() {
          assert2(this.instructions.length === 1);
          return this.instructions[0].programId;
        }
        /**
         * Deprecated method
         * @internal
         */
        get data() {
          assert2(this.instructions.length === 1);
          return this.instructions[0].data;
        }
        /**
         * Parse a wire transaction into a Transaction object.
         *
         * @param {Buffer | Uint8Array | Array<number>} buffer Signature of wire Transaction
         *
         * @returns {Transaction} Transaction associated with the signature
         */
        static from(buffer) {
          let byteArray = [...buffer];
          const signatureCount = decodeLength(byteArray);
          let signatures = [];
          for (let i2 = 0; i2 < signatureCount; i2++) {
            const signature2 = guardedSplice(byteArray, 0, SIGNATURE_LENGTH_IN_BYTES);
            signatures.push(import_bs58.default.encode(import_buffer2.Buffer.from(signature2)));
          }
          return _Transaction.populate(Message.from(byteArray), signatures);
        }
        /**
         * Populate Transaction object from message and signatures
         *
         * @param {Message} message Message of transaction
         * @param {Array<string>} signatures List of signatures to assign to the transaction
         *
         * @returns {Transaction} The populated Transaction
         */
        static populate(message, signatures = []) {
          const transaction = new _Transaction();
          transaction.recentBlockhash = message.recentBlockhash;
          if (message.header.numRequiredSignatures > 0) {
            transaction.feePayer = message.accountKeys[0];
          }
          signatures.forEach((signature2, index3) => {
            const sigPubkeyPair = {
              signature: signature2 == import_bs58.default.encode(DEFAULT_SIGNATURE) ? null : import_bs58.default.decode(signature2),
              publicKey: message.accountKeys[index3]
            };
            transaction.signatures.push(sigPubkeyPair);
          });
          message.instructions.forEach((instruction) => {
            const keys2 = instruction.accounts.map((account) => {
              const pubkey = message.accountKeys[account];
              return {
                pubkey,
                isSigner: transaction.signatures.some((keyObj) => keyObj.publicKey.toString() === pubkey.toString()) || message.isAccountSigner(account),
                isWritable: message.isAccountWritable(account)
              };
            });
            transaction.instructions.push(new TransactionInstruction({
              keys: keys2,
              programId: message.accountKeys[instruction.programIdIndex],
              data: import_bs58.default.decode(instruction.data)
            }));
          });
          transaction._message = message;
          transaction._json = transaction.toJSON();
          return transaction;
        }
      };
      VersionedTransaction = class _VersionedTransaction {
        get version() {
          return this.message.version;
        }
        constructor(message, signatures) {
          this.signatures = void 0;
          this.message = void 0;
          if (signatures !== void 0) {
            assert2(signatures.length === message.header.numRequiredSignatures, "Expected signatures length to be equal to the number of required signatures");
            this.signatures = signatures;
          } else {
            const defaultSignatures = [];
            for (let i2 = 0; i2 < message.header.numRequiredSignatures; i2++) {
              defaultSignatures.push(new Uint8Array(SIGNATURE_LENGTH_IN_BYTES));
            }
            this.signatures = defaultSignatures;
          }
          this.message = message;
        }
        serialize() {
          const serializedMessage = this.message.serialize();
          const encodedSignaturesLength = Array();
          encodeLength(encodedSignaturesLength, this.signatures.length);
          const transactionLayout = BufferLayout.struct([BufferLayout.blob(encodedSignaturesLength.length, "encodedSignaturesLength"), BufferLayout.seq(signature(), this.signatures.length, "signatures"), BufferLayout.blob(serializedMessage.length, "serializedMessage")]);
          const serializedTransaction = new Uint8Array(2048);
          const serializedTransactionLength = transactionLayout.encode({
            encodedSignaturesLength: new Uint8Array(encodedSignaturesLength),
            signatures: this.signatures,
            serializedMessage
          }, serializedTransaction);
          return serializedTransaction.slice(0, serializedTransactionLength);
        }
        static deserialize(serializedTransaction) {
          let byteArray = [...serializedTransaction];
          const signatures = [];
          const signaturesLength = decodeLength(byteArray);
          for (let i2 = 0; i2 < signaturesLength; i2++) {
            signatures.push(new Uint8Array(guardedSplice(byteArray, 0, SIGNATURE_LENGTH_IN_BYTES)));
          }
          const message = VersionedMessage.deserialize(new Uint8Array(byteArray));
          return new _VersionedTransaction(message, signatures);
        }
        sign(signers) {
          const messageData = this.message.serialize();
          const signerPubkeys = this.message.staticAccountKeys.slice(0, this.message.header.numRequiredSignatures);
          for (const signer of signers) {
            const signerIndex = signerPubkeys.findIndex((pubkey) => pubkey.equals(signer.publicKey));
            assert2(signerIndex >= 0, `Cannot sign with non signer key ${signer.publicKey.toBase58()}`);
            this.signatures[signerIndex] = sign(messageData, signer.secretKey);
          }
        }
        addSignature(publicKey2, signature2) {
          assert2(signature2.byteLength === 64, "Signature must be 64 bytes long");
          const signerPubkeys = this.message.staticAccountKeys.slice(0, this.message.header.numRequiredSignatures);
          const signerIndex = signerPubkeys.findIndex((pubkey) => pubkey.equals(publicKey2));
          assert2(signerIndex >= 0, `Can not add signature; \`${publicKey2.toBase58()}\` is not required to sign this transaction`);
          this.signatures[signerIndex] = signature2;
        }
      };
      NUM_TICKS_PER_SECOND = 160;
      DEFAULT_TICKS_PER_SLOT = 64;
      NUM_SLOTS_PER_SECOND = NUM_TICKS_PER_SECOND / DEFAULT_TICKS_PER_SLOT;
      MS_PER_SLOT = 1e3 / NUM_SLOTS_PER_SECOND;
      SYSVAR_CLOCK_PUBKEY = new PublicKey("SysvarC1ock11111111111111111111111111111111");
      SYSVAR_EPOCH_SCHEDULE_PUBKEY = new PublicKey("SysvarEpochSchedu1e111111111111111111111111");
      SYSVAR_INSTRUCTIONS_PUBKEY = new PublicKey("Sysvar1nstructions1111111111111111111111111");
      SYSVAR_RECENT_BLOCKHASHES_PUBKEY = new PublicKey("SysvarRecentB1ockHashes11111111111111111111");
      SYSVAR_RENT_PUBKEY = new PublicKey("SysvarRent111111111111111111111111111111111");
      SYSVAR_REWARDS_PUBKEY = new PublicKey("SysvarRewards111111111111111111111111111111");
      SYSVAR_SLOT_HASHES_PUBKEY = new PublicKey("SysvarS1otHashes111111111111111111111111111");
      SYSVAR_SLOT_HISTORY_PUBKEY = new PublicKey("SysvarS1otHistory11111111111111111111111111");
      SYSVAR_STAKE_HISTORY_PUBKEY = new PublicKey("SysvarStakeHistory1111111111111111111111111");
      SendTransactionError = class extends Error {
        constructor({
          action,
          signature: signature2,
          transactionMessage,
          logs
        }) {
          const maybeLogsOutput = logs ? `Logs: 
${JSON.stringify(logs.slice(-10), null, 2)}. ` : "";
          const guideText = "\nCatch the `SendTransactionError` and call `getLogs()` on it for full details.";
          let message;
          switch (action) {
            case "send":
              message = `Transaction ${signature2} resulted in an error. 
${transactionMessage}. ` + maybeLogsOutput + guideText;
              break;
            case "simulate":
              message = `Simulation failed. 
Message: ${transactionMessage}. 
` + maybeLogsOutput + guideText;
              break;
            default: {
              message = `Unknown action '${/* @__PURE__ */ ((a2) => a2)(action)}'`;
            }
          }
          super(message);
          this.signature = void 0;
          this.transactionMessage = void 0;
          this.transactionLogs = void 0;
          this.signature = signature2;
          this.transactionMessage = transactionMessage;
          this.transactionLogs = logs ? logs : void 0;
        }
        get transactionError() {
          return {
            message: this.transactionMessage,
            logs: Array.isArray(this.transactionLogs) ? this.transactionLogs : void 0
          };
        }
        /* @deprecated Use `await getLogs()` instead */
        get logs() {
          const cachedLogs = this.transactionLogs;
          if (cachedLogs != null && typeof cachedLogs === "object" && "then" in cachedLogs) {
            return void 0;
          }
          return cachedLogs;
        }
        async getLogs(connection) {
          if (!Array.isArray(this.transactionLogs)) {
            this.transactionLogs = new Promise((resolve, reject) => {
              connection.getTransaction(this.signature).then((tx) => {
                if (tx && tx.meta && tx.meta.logMessages) {
                  const logs = tx.meta.logMessages;
                  this.transactionLogs = logs;
                  resolve(logs);
                } else {
                  reject(new Error("Log messages not found"));
                }
              }).catch(reject);
            });
          }
          return await this.transactionLogs;
        }
      };
      SolanaJSONRPCError = class extends Error {
        constructor({
          code,
          message,
          data: data2
        }, customMessage) {
          super(customMessage != null ? `${customMessage}: ${message}` : message);
          this.code = void 0;
          this.data = void 0;
          this.code = code;
          this.data = data2;
          this.name = "SolanaJSONRPCError";
        }
      };
      FeeCalculatorLayout = BufferLayout.nu64("lamportsPerSignature");
      NonceAccountLayout = BufferLayout.struct([BufferLayout.u32("version"), BufferLayout.u32("state"), publicKey("authorizedPubkey"), publicKey("nonce"), BufferLayout.struct([FeeCalculatorLayout], "feeCalculator")]);
      NONCE_ACCOUNT_LENGTH = NonceAccountLayout.span;
      NonceAccount = class _NonceAccount {
        /**
         * @internal
         */
        constructor(args) {
          this.authorizedPubkey = void 0;
          this.nonce = void 0;
          this.feeCalculator = void 0;
          this.authorizedPubkey = args.authorizedPubkey;
          this.nonce = args.nonce;
          this.feeCalculator = args.feeCalculator;
        }
        /**
         * Deserialize NonceAccount from the account data.
         *
         * @param buffer account data
         * @return NonceAccount
         */
        static fromAccountData(buffer) {
          const nonceAccount = NonceAccountLayout.decode(toBuffer(buffer), 0);
          return new _NonceAccount({
            authorizedPubkey: new PublicKey(nonceAccount.authorizedPubkey),
            nonce: new PublicKey(nonceAccount.nonce).toString(),
            feeCalculator: nonceAccount.feeCalculator
          });
        }
      };
      SYSTEM_INSTRUCTION_LAYOUTS = Object.freeze({
        Create: {
          index: 0,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), BufferLayout.ns64("lamports"), BufferLayout.ns64("space"), publicKey("programId")])
        },
        Assign: {
          index: 1,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), publicKey("programId")])
        },
        Transfer: {
          index: 2,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), u64("lamports")])
        },
        CreateWithSeed: {
          index: 3,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), publicKey("base"), rustString("seed"), BufferLayout.ns64("lamports"), BufferLayout.ns64("space"), publicKey("programId")])
        },
        AdvanceNonceAccount: {
          index: 4,
          layout: BufferLayout.struct([BufferLayout.u32("instruction")])
        },
        WithdrawNonceAccount: {
          index: 5,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), BufferLayout.ns64("lamports")])
        },
        InitializeNonceAccount: {
          index: 6,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), publicKey("authorized")])
        },
        AuthorizeNonceAccount: {
          index: 7,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), publicKey("authorized")])
        },
        Allocate: {
          index: 8,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), BufferLayout.ns64("space")])
        },
        AllocateWithSeed: {
          index: 9,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), publicKey("base"), rustString("seed"), BufferLayout.ns64("space"), publicKey("programId")])
        },
        AssignWithSeed: {
          index: 10,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), publicKey("base"), rustString("seed"), publicKey("programId")])
        },
        TransferWithSeed: {
          index: 11,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), u64("lamports"), rustString("seed"), publicKey("programId")])
        },
        UpgradeNonceAccount: {
          index: 12,
          layout: BufferLayout.struct([BufferLayout.u32("instruction")])
        }
      });
      SystemProgram = class _SystemProgram {
        /**
         * @internal
         */
        constructor() {
        }
        /**
         * Public key that identifies the System program
         */
        /**
         * Generate a transaction instruction that creates a new account
         */
        static createAccount(params) {
          const type2 = SYSTEM_INSTRUCTION_LAYOUTS.Create;
          const data2 = encodeData(type2, {
            lamports: params.lamports,
            space: params.space,
            programId: toBuffer(params.programId.toBuffer())
          });
          return new TransactionInstruction({
            keys: [{
              pubkey: params.fromPubkey,
              isSigner: true,
              isWritable: true
            }, {
              pubkey: params.newAccountPubkey,
              isSigner: true,
              isWritable: true
            }],
            programId: this.programId,
            data: data2
          });
        }
        /**
         * Generate a transaction instruction that transfers lamports from one account to another
         */
        static transfer(params) {
          let data2;
          let keys2;
          if ("basePubkey" in params) {
            const type2 = SYSTEM_INSTRUCTION_LAYOUTS.TransferWithSeed;
            data2 = encodeData(type2, {
              lamports: BigInt(params.lamports),
              seed: params.seed,
              programId: toBuffer(params.programId.toBuffer())
            });
            keys2 = [{
              pubkey: params.fromPubkey,
              isSigner: false,
              isWritable: true
            }, {
              pubkey: params.basePubkey,
              isSigner: true,
              isWritable: false
            }, {
              pubkey: params.toPubkey,
              isSigner: false,
              isWritable: true
            }];
          } else {
            const type2 = SYSTEM_INSTRUCTION_LAYOUTS.Transfer;
            data2 = encodeData(type2, {
              lamports: BigInt(params.lamports)
            });
            keys2 = [{
              pubkey: params.fromPubkey,
              isSigner: true,
              isWritable: true
            }, {
              pubkey: params.toPubkey,
              isSigner: false,
              isWritable: true
            }];
          }
          return new TransactionInstruction({
            keys: keys2,
            programId: this.programId,
            data: data2
          });
        }
        /**
         * Generate a transaction instruction that assigns an account to a program
         */
        static assign(params) {
          let data2;
          let keys2;
          if ("basePubkey" in params) {
            const type2 = SYSTEM_INSTRUCTION_LAYOUTS.AssignWithSeed;
            data2 = encodeData(type2, {
              base: toBuffer(params.basePubkey.toBuffer()),
              seed: params.seed,
              programId: toBuffer(params.programId.toBuffer())
            });
            keys2 = [{
              pubkey: params.accountPubkey,
              isSigner: false,
              isWritable: true
            }, {
              pubkey: params.basePubkey,
              isSigner: true,
              isWritable: false
            }];
          } else {
            const type2 = SYSTEM_INSTRUCTION_LAYOUTS.Assign;
            data2 = encodeData(type2, {
              programId: toBuffer(params.programId.toBuffer())
            });
            keys2 = [{
              pubkey: params.accountPubkey,
              isSigner: true,
              isWritable: true
            }];
          }
          return new TransactionInstruction({
            keys: keys2,
            programId: this.programId,
            data: data2
          });
        }
        /**
         * Generate a transaction instruction that creates a new account at
         *   an address generated with `from`, a seed, and programId
         */
        static createAccountWithSeed(params) {
          const type2 = SYSTEM_INSTRUCTION_LAYOUTS.CreateWithSeed;
          const data2 = encodeData(type2, {
            base: toBuffer(params.basePubkey.toBuffer()),
            seed: params.seed,
            lamports: params.lamports,
            space: params.space,
            programId: toBuffer(params.programId.toBuffer())
          });
          let keys2 = [{
            pubkey: params.fromPubkey,
            isSigner: true,
            isWritable: true
          }, {
            pubkey: params.newAccountPubkey,
            isSigner: false,
            isWritable: true
          }];
          if (!params.basePubkey.equals(params.fromPubkey)) {
            keys2.push({
              pubkey: params.basePubkey,
              isSigner: true,
              isWritable: false
            });
          }
          return new TransactionInstruction({
            keys: keys2,
            programId: this.programId,
            data: data2
          });
        }
        /**
         * Generate a transaction that creates a new Nonce account
         */
        static createNonceAccount(params) {
          const transaction = new Transaction();
          if ("basePubkey" in params && "seed" in params) {
            transaction.add(_SystemProgram.createAccountWithSeed({
              fromPubkey: params.fromPubkey,
              newAccountPubkey: params.noncePubkey,
              basePubkey: params.basePubkey,
              seed: params.seed,
              lamports: params.lamports,
              space: NONCE_ACCOUNT_LENGTH,
              programId: this.programId
            }));
          } else {
            transaction.add(_SystemProgram.createAccount({
              fromPubkey: params.fromPubkey,
              newAccountPubkey: params.noncePubkey,
              lamports: params.lamports,
              space: NONCE_ACCOUNT_LENGTH,
              programId: this.programId
            }));
          }
          const initParams = {
            noncePubkey: params.noncePubkey,
            authorizedPubkey: params.authorizedPubkey
          };
          transaction.add(this.nonceInitialize(initParams));
          return transaction;
        }
        /**
         * Generate an instruction to initialize a Nonce account
         */
        static nonceInitialize(params) {
          const type2 = SYSTEM_INSTRUCTION_LAYOUTS.InitializeNonceAccount;
          const data2 = encodeData(type2, {
            authorized: toBuffer(params.authorizedPubkey.toBuffer())
          });
          const instructionData = {
            keys: [{
              pubkey: params.noncePubkey,
              isSigner: false,
              isWritable: true
            }, {
              pubkey: SYSVAR_RECENT_BLOCKHASHES_PUBKEY,
              isSigner: false,
              isWritable: false
            }, {
              pubkey: SYSVAR_RENT_PUBKEY,
              isSigner: false,
              isWritable: false
            }],
            programId: this.programId,
            data: data2
          };
          return new TransactionInstruction(instructionData);
        }
        /**
         * Generate an instruction to advance the nonce in a Nonce account
         */
        static nonceAdvance(params) {
          const type2 = SYSTEM_INSTRUCTION_LAYOUTS.AdvanceNonceAccount;
          const data2 = encodeData(type2);
          const instructionData = {
            keys: [{
              pubkey: params.noncePubkey,
              isSigner: false,
              isWritable: true
            }, {
              pubkey: SYSVAR_RECENT_BLOCKHASHES_PUBKEY,
              isSigner: false,
              isWritable: false
            }, {
              pubkey: params.authorizedPubkey,
              isSigner: true,
              isWritable: false
            }],
            programId: this.programId,
            data: data2
          };
          return new TransactionInstruction(instructionData);
        }
        /**
         * Generate a transaction instruction that withdraws lamports from a Nonce account
         */
        static nonceWithdraw(params) {
          const type2 = SYSTEM_INSTRUCTION_LAYOUTS.WithdrawNonceAccount;
          const data2 = encodeData(type2, {
            lamports: params.lamports
          });
          return new TransactionInstruction({
            keys: [{
              pubkey: params.noncePubkey,
              isSigner: false,
              isWritable: true
            }, {
              pubkey: params.toPubkey,
              isSigner: false,
              isWritable: true
            }, {
              pubkey: SYSVAR_RECENT_BLOCKHASHES_PUBKEY,
              isSigner: false,
              isWritable: false
            }, {
              pubkey: SYSVAR_RENT_PUBKEY,
              isSigner: false,
              isWritable: false
            }, {
              pubkey: params.authorizedPubkey,
              isSigner: true,
              isWritable: false
            }],
            programId: this.programId,
            data: data2
          });
        }
        /**
         * Generate a transaction instruction that authorizes a new PublicKey as the authority
         * on a Nonce account.
         */
        static nonceAuthorize(params) {
          const type2 = SYSTEM_INSTRUCTION_LAYOUTS.AuthorizeNonceAccount;
          const data2 = encodeData(type2, {
            authorized: toBuffer(params.newAuthorizedPubkey.toBuffer())
          });
          return new TransactionInstruction({
            keys: [{
              pubkey: params.noncePubkey,
              isSigner: false,
              isWritable: true
            }, {
              pubkey: params.authorizedPubkey,
              isSigner: true,
              isWritable: false
            }],
            programId: this.programId,
            data: data2
          });
        }
        /**
         * Generate a transaction instruction that allocates space in an account without funding
         */
        static allocate(params) {
          let data2;
          let keys2;
          if ("basePubkey" in params) {
            const type2 = SYSTEM_INSTRUCTION_LAYOUTS.AllocateWithSeed;
            data2 = encodeData(type2, {
              base: toBuffer(params.basePubkey.toBuffer()),
              seed: params.seed,
              space: params.space,
              programId: toBuffer(params.programId.toBuffer())
            });
            keys2 = [{
              pubkey: params.accountPubkey,
              isSigner: false,
              isWritable: true
            }, {
              pubkey: params.basePubkey,
              isSigner: true,
              isWritable: false
            }];
          } else {
            const type2 = SYSTEM_INSTRUCTION_LAYOUTS.Allocate;
            data2 = encodeData(type2, {
              space: params.space
            });
            keys2 = [{
              pubkey: params.accountPubkey,
              isSigner: true,
              isWritable: true
            }];
          }
          return new TransactionInstruction({
            keys: keys2,
            programId: this.programId,
            data: data2
          });
        }
      };
      SystemProgram.programId = new PublicKey("11111111111111111111111111111111");
      CHUNK_SIZE = PACKET_DATA_SIZE - 300;
      Loader = class _Loader {
        /**
         * @internal
         */
        constructor() {
        }
        /**
         * Amount of program data placed in each load Transaction
         */
        /**
         * Minimum number of signatures required to load a program not including
         * retries
         *
         * Can be used to calculate transaction fees
         */
        static getMinNumSignatures(dataLength) {
          return 2 * // Every transaction requires two signatures (payer + program)
          (Math.ceil(dataLength / _Loader.chunkSize) + 1 + // Add one for Create transaction
          1);
        }
        /**
         * Loads a generic program
         *
         * @param connection The connection to use
         * @param payer System account that pays to load the program
         * @param program Account to load the program into
         * @param programId Public key that identifies the loader
         * @param data Program octets
         * @return true if program was loaded successfully, false if program was already loaded
         */
        static async load(connection, payer, program, programId, data2) {
          {
            const balanceNeeded = await connection.getMinimumBalanceForRentExemption(data2.length);
            const programInfo = await connection.getAccountInfo(program.publicKey, "confirmed");
            let transaction = null;
            if (programInfo !== null) {
              if (programInfo.executable) {
                console.error("Program load failed, account is already executable");
                return false;
              }
              if (programInfo.data.length !== data2.length) {
                transaction = transaction || new Transaction();
                transaction.add(SystemProgram.allocate({
                  accountPubkey: program.publicKey,
                  space: data2.length
                }));
              }
              if (!programInfo.owner.equals(programId)) {
                transaction = transaction || new Transaction();
                transaction.add(SystemProgram.assign({
                  accountPubkey: program.publicKey,
                  programId
                }));
              }
              if (programInfo.lamports < balanceNeeded) {
                transaction = transaction || new Transaction();
                transaction.add(SystemProgram.transfer({
                  fromPubkey: payer.publicKey,
                  toPubkey: program.publicKey,
                  lamports: balanceNeeded - programInfo.lamports
                }));
              }
            } else {
              transaction = new Transaction().add(SystemProgram.createAccount({
                fromPubkey: payer.publicKey,
                newAccountPubkey: program.publicKey,
                lamports: balanceNeeded > 0 ? balanceNeeded : 1,
                space: data2.length,
                programId
              }));
            }
            if (transaction !== null) {
              await sendAndConfirmTransaction(connection, transaction, [payer, program], {
                commitment: "confirmed"
              });
            }
          }
          const dataLayout = BufferLayout.struct([BufferLayout.u32("instruction"), BufferLayout.u32("offset"), BufferLayout.u32("bytesLength"), BufferLayout.u32("bytesLengthPadding"), BufferLayout.seq(BufferLayout.u8("byte"), BufferLayout.offset(BufferLayout.u32(), -8), "bytes")]);
          const chunkSize = _Loader.chunkSize;
          let offset5 = 0;
          let array2 = data2;
          let transactions = [];
          while (array2.length > 0) {
            const bytes2 = array2.slice(0, chunkSize);
            const data3 = import_buffer2.Buffer.alloc(chunkSize + 16);
            dataLayout.encode({
              instruction: 0,
              // Load instruction
              offset: offset5,
              bytes: bytes2,
              bytesLength: 0,
              bytesLengthPadding: 0
            }, data3);
            const transaction = new Transaction().add({
              keys: [{
                pubkey: program.publicKey,
                isSigner: true,
                isWritable: true
              }],
              programId,
              data: data3
            });
            transactions.push(sendAndConfirmTransaction(connection, transaction, [payer, program], {
              commitment: "confirmed"
            }));
            if (connection._rpcEndpoint.includes("solana.com")) {
              const REQUESTS_PER_SECOND = 4;
              await sleep2(1e3 / REQUESTS_PER_SECOND);
            }
            offset5 += chunkSize;
            array2 = array2.slice(chunkSize);
          }
          await Promise.all(transactions);
          {
            const dataLayout2 = BufferLayout.struct([BufferLayout.u32("instruction")]);
            const data3 = import_buffer2.Buffer.alloc(dataLayout2.span);
            dataLayout2.encode({
              instruction: 1
              // Finalize instruction
            }, data3);
            const transaction = new Transaction().add({
              keys: [{
                pubkey: program.publicKey,
                isSigner: true,
                isWritable: true
              }, {
                pubkey: SYSVAR_RENT_PUBKEY,
                isSigner: false,
                isWritable: false
              }],
              programId,
              data: data3
            });
            const deployCommitment = "processed";
            const finalizeSignature = await connection.sendTransaction(transaction, [payer, program], {
              preflightCommitment: deployCommitment
            });
            const {
              context,
              value
            } = await connection.confirmTransaction({
              signature: finalizeSignature,
              lastValidBlockHeight: transaction.lastValidBlockHeight,
              blockhash: transaction.recentBlockhash
            }, deployCommitment);
            if (value.err) {
              throw new Error(`Transaction ${finalizeSignature} failed (${JSON.stringify(value)})`);
            }
            while (true) {
              try {
                const currentSlot = await connection.getSlot({
                  commitment: deployCommitment
                });
                if (currentSlot > context.slot) {
                  break;
                }
              } catch {
              }
              await new Promise((resolve) => setTimeout(resolve, Math.round(MS_PER_SLOT / 2)));
            }
          }
          return true;
        }
      };
      Loader.chunkSize = CHUNK_SIZE;
      BPF_LOADER_PROGRAM_ID = new PublicKey("BPFLoader2111111111111111111111111111111111");
      fastStableStringifyExports = /* @__PURE__ */ requireFastStableStringify();
      fastStableStringify = /* @__PURE__ */ getDefaultExportFromCjs(fastStableStringifyExports);
      MINIMUM_SLOT_PER_EPOCH = 32;
      EpochSchedule = class {
        constructor(slotsPerEpoch, leaderScheduleSlotOffset, warmup, firstNormalEpoch, firstNormalSlot) {
          this.slotsPerEpoch = void 0;
          this.leaderScheduleSlotOffset = void 0;
          this.warmup = void 0;
          this.firstNormalEpoch = void 0;
          this.firstNormalSlot = void 0;
          this.slotsPerEpoch = slotsPerEpoch;
          this.leaderScheduleSlotOffset = leaderScheduleSlotOffset;
          this.warmup = warmup;
          this.firstNormalEpoch = firstNormalEpoch;
          this.firstNormalSlot = firstNormalSlot;
        }
        getEpoch(slot) {
          return this.getEpochAndSlotIndex(slot)[0];
        }
        getEpochAndSlotIndex(slot) {
          if (slot < this.firstNormalSlot) {
            const epoch = trailingZeros(nextPowerOfTwo(slot + MINIMUM_SLOT_PER_EPOCH + 1)) - trailingZeros(MINIMUM_SLOT_PER_EPOCH) - 1;
            const epochLen = this.getSlotsInEpoch(epoch);
            const slotIndex = slot - (epochLen - MINIMUM_SLOT_PER_EPOCH);
            return [epoch, slotIndex];
          } else {
            const normalSlotIndex = slot - this.firstNormalSlot;
            const normalEpochIndex = Math.floor(normalSlotIndex / this.slotsPerEpoch);
            const epoch = this.firstNormalEpoch + normalEpochIndex;
            const slotIndex = normalSlotIndex % this.slotsPerEpoch;
            return [epoch, slotIndex];
          }
        }
        getFirstSlotInEpoch(epoch) {
          if (epoch <= this.firstNormalEpoch) {
            return (Math.pow(2, epoch) - 1) * MINIMUM_SLOT_PER_EPOCH;
          } else {
            return (epoch - this.firstNormalEpoch) * this.slotsPerEpoch + this.firstNormalSlot;
          }
        }
        getLastSlotInEpoch(epoch) {
          return this.getFirstSlotInEpoch(epoch) + this.getSlotsInEpoch(epoch) - 1;
        }
        getSlotsInEpoch(epoch) {
          if (epoch < this.firstNormalEpoch) {
            return Math.pow(2, epoch + trailingZeros(MINIMUM_SLOT_PER_EPOCH));
          } else {
            return this.slotsPerEpoch;
          }
        }
      };
      fetchImpl = globalThis.fetch;
      RpcWebSocketClient = class extends CommonClient {
        constructor(address, options2, generate_request_id) {
          const webSocketFactory = (url) => {
            const rpc = WebSocket2(url, {
              autoconnect: true,
              max_reconnects: 5,
              reconnect: true,
              reconnect_interval: 1e3,
              ...options2
            });
            if ("socket" in rpc) {
              this.underlyingSocket = rpc.socket;
            } else {
              this.underlyingSocket = rpc;
            }
            return rpc;
          };
          super(webSocketFactory, address, options2, generate_request_id);
          this.underlyingSocket = void 0;
        }
        call(...args) {
          const readyState = this.underlyingSocket?.readyState;
          if (readyState === 1) {
            return super.call(...args);
          }
          return Promise.reject(new Error("Tried to call a JSON-RPC method `" + args[0] + "` but the socket was not `CONNECTING` or `OPEN` (`readyState` was " + readyState + ")"));
        }
        notify(...args) {
          const readyState = this.underlyingSocket?.readyState;
          if (readyState === 1) {
            return super.notify(...args);
          }
          return Promise.reject(new Error("Tried to send a JSON-RPC notification `" + args[0] + "` but the socket was not `CONNECTING` or `OPEN` (`readyState` was " + readyState + ")"));
        }
      };
      LOOKUP_TABLE_META_SIZE = 56;
      AddressLookupTableAccount = class {
        constructor(args) {
          this.key = void 0;
          this.state = void 0;
          this.key = args.key;
          this.state = args.state;
        }
        isActive() {
          const U64_MAX = BigInt("0xffffffffffffffff");
          return this.state.deactivationSlot === U64_MAX;
        }
        static deserialize(accountData) {
          const meta = decodeData(LookupTableMetaLayout, accountData);
          const serializedAddressesLen = accountData.length - LOOKUP_TABLE_META_SIZE;
          assert2(serializedAddressesLen >= 0, "lookup table is invalid");
          assert2(serializedAddressesLen % 32 === 0, "lookup table is invalid");
          const numSerializedAddresses = serializedAddressesLen / 32;
          const {
            addresses
          } = BufferLayout.struct([BufferLayout.seq(publicKey(), numSerializedAddresses, "addresses")]).decode(accountData.slice(LOOKUP_TABLE_META_SIZE));
          return {
            deactivationSlot: meta.deactivationSlot,
            lastExtendedSlot: meta.lastExtendedSlot,
            lastExtendedSlotStartIndex: meta.lastExtendedStartIndex,
            authority: meta.authority.length !== 0 ? new PublicKey(meta.authority[0]) : void 0,
            addresses: addresses.map((address) => new PublicKey(address))
          };
        }
      };
      LookupTableMetaLayout = {
        index: 1,
        layout: BufferLayout.struct([
          BufferLayout.u32("typeIndex"),
          u64("deactivationSlot"),
          BufferLayout.nu64("lastExtendedSlot"),
          BufferLayout.u8("lastExtendedStartIndex"),
          BufferLayout.u8(),
          // option
          BufferLayout.seq(publicKey(), BufferLayout.offset(BufferLayout.u8(), -1), "authority")
        ])
      };
      URL_RE = /^[^:]+:\/\/([^:[]+|\[[^\]]+\])(:\d+)?(.*)/i;
      PublicKeyFromString = coerce(instance(PublicKey), string(), (value) => new PublicKey(value));
      RawAccountDataResult = tuple([string(), literal("base64")]);
      BufferFromRawAccountData = coerce(instance(import_buffer2.Buffer), RawAccountDataResult, (value) => import_buffer2.Buffer.from(value[0], "base64"));
      BLOCKHASH_CACHE_TIMEOUT_MS = 30 * 1e3;
      UnknownRpcResult = createRpcResult(unknown());
      GetInflationGovernorResult = type({
        foundation: number2(),
        foundationTerm: number2(),
        initial: number2(),
        taper: number2(),
        terminal: number2()
      });
      GetInflationRewardResult = jsonRpcResult(array(nullable(type({
        epoch: number2(),
        effectiveSlot: number2(),
        amount: number2(),
        postBalance: number2(),
        commission: optional(nullable(number2()))
      }))));
      GetRecentPrioritizationFeesResult = array(type({
        slot: number2(),
        prioritizationFee: number2()
      }));
      GetInflationRateResult = type({
        total: number2(),
        validator: number2(),
        foundation: number2(),
        epoch: number2()
      });
      GetEpochInfoResult = type({
        epoch: number2(),
        slotIndex: number2(),
        slotsInEpoch: number2(),
        absoluteSlot: number2(),
        blockHeight: optional(number2()),
        transactionCount: optional(number2())
      });
      GetEpochScheduleResult = type({
        slotsPerEpoch: number2(),
        leaderScheduleSlotOffset: number2(),
        warmup: boolean(),
        firstNormalEpoch: number2(),
        firstNormalSlot: number2()
      });
      GetLeaderScheduleResult = record(string(), array(number2()));
      TransactionErrorResult = nullable(union([type({}), string()]));
      SignatureStatusResult = type({
        err: TransactionErrorResult
      });
      SignatureReceivedResult = literal("receivedSignature");
      VersionResult = type({
        "solana-core": string(),
        "feature-set": optional(number2())
      });
      ParsedInstructionStruct = type({
        program: string(),
        programId: PublicKeyFromString,
        parsed: unknown()
      });
      PartiallyDecodedInstructionStruct = type({
        programId: PublicKeyFromString,
        accounts: array(PublicKeyFromString),
        data: string()
      });
      SimulatedTransactionResponseStruct = jsonRpcResultAndContext(type({
        err: nullable(union([type({}), string()])),
        logs: nullable(array(string())),
        accounts: optional(nullable(array(nullable(type({
          executable: boolean(),
          owner: string(),
          lamports: number2(),
          data: array(string()),
          rentEpoch: optional(number2())
        }))))),
        unitsConsumed: optional(number2()),
        returnData: optional(nullable(type({
          programId: string(),
          data: tuple([string(), literal("base64")])
        }))),
        innerInstructions: optional(nullable(array(type({
          index: number2(),
          instructions: array(union([ParsedInstructionStruct, PartiallyDecodedInstructionStruct]))
        }))))
      }));
      BlockProductionResponseStruct = jsonRpcResultAndContext(type({
        byIdentity: record(string(), array(number2())),
        range: type({
          firstSlot: number2(),
          lastSlot: number2()
        })
      }));
      GetInflationGovernorRpcResult = jsonRpcResult(GetInflationGovernorResult);
      GetInflationRateRpcResult = jsonRpcResult(GetInflationRateResult);
      GetRecentPrioritizationFeesRpcResult = jsonRpcResult(GetRecentPrioritizationFeesResult);
      GetEpochInfoRpcResult = jsonRpcResult(GetEpochInfoResult);
      GetEpochScheduleRpcResult = jsonRpcResult(GetEpochScheduleResult);
      GetLeaderScheduleRpcResult = jsonRpcResult(GetLeaderScheduleResult);
      SlotRpcResult = jsonRpcResult(number2());
      GetSupplyRpcResult = jsonRpcResultAndContext(type({
        total: number2(),
        circulating: number2(),
        nonCirculating: number2(),
        nonCirculatingAccounts: array(PublicKeyFromString)
      }));
      TokenAmountResult = type({
        amount: string(),
        uiAmount: nullable(number2()),
        decimals: number2(),
        uiAmountString: optional(string())
      });
      GetTokenLargestAccountsResult = jsonRpcResultAndContext(array(type({
        address: PublicKeyFromString,
        amount: string(),
        uiAmount: nullable(number2()),
        decimals: number2(),
        uiAmountString: optional(string())
      })));
      GetTokenAccountsByOwner = jsonRpcResultAndContext(array(type({
        pubkey: PublicKeyFromString,
        account: type({
          executable: boolean(),
          owner: PublicKeyFromString,
          lamports: number2(),
          data: BufferFromRawAccountData,
          rentEpoch: number2()
        })
      })));
      ParsedAccountDataResult = type({
        program: string(),
        parsed: unknown(),
        space: number2()
      });
      GetParsedTokenAccountsByOwner = jsonRpcResultAndContext(array(type({
        pubkey: PublicKeyFromString,
        account: type({
          executable: boolean(),
          owner: PublicKeyFromString,
          lamports: number2(),
          data: ParsedAccountDataResult,
          rentEpoch: number2()
        })
      })));
      GetLargestAccountsRpcResult = jsonRpcResultAndContext(array(type({
        lamports: number2(),
        address: PublicKeyFromString
      })));
      AccountInfoResult = type({
        executable: boolean(),
        owner: PublicKeyFromString,
        lamports: number2(),
        data: BufferFromRawAccountData,
        rentEpoch: number2()
      });
      KeyedAccountInfoResult = type({
        pubkey: PublicKeyFromString,
        account: AccountInfoResult
      });
      ParsedOrRawAccountData = coerce(union([instance(import_buffer2.Buffer), ParsedAccountDataResult]), union([RawAccountDataResult, ParsedAccountDataResult]), (value) => {
        if (Array.isArray(value)) {
          return create(value, BufferFromRawAccountData);
        } else {
          return value;
        }
      });
      ParsedAccountInfoResult = type({
        executable: boolean(),
        owner: PublicKeyFromString,
        lamports: number2(),
        data: ParsedOrRawAccountData,
        rentEpoch: number2()
      });
      KeyedParsedAccountInfoResult = type({
        pubkey: PublicKeyFromString,
        account: ParsedAccountInfoResult
      });
      StakeActivationResult = type({
        state: union([literal("active"), literal("inactive"), literal("activating"), literal("deactivating")]),
        active: number2(),
        inactive: number2()
      });
      GetConfirmedSignaturesForAddress2RpcResult = jsonRpcResult(array(type({
        signature: string(),
        slot: number2(),
        err: TransactionErrorResult,
        memo: nullable(string()),
        blockTime: optional(nullable(number2()))
      })));
      GetSignaturesForAddressRpcResult = jsonRpcResult(array(type({
        signature: string(),
        slot: number2(),
        err: TransactionErrorResult,
        memo: nullable(string()),
        blockTime: optional(nullable(number2()))
      })));
      AccountNotificationResult = type({
        subscription: number2(),
        result: notificationResultAndContext(AccountInfoResult)
      });
      ProgramAccountInfoResult = type({
        pubkey: PublicKeyFromString,
        account: AccountInfoResult
      });
      ProgramAccountNotificationResult = type({
        subscription: number2(),
        result: notificationResultAndContext(ProgramAccountInfoResult)
      });
      SlotInfoResult = type({
        parent: number2(),
        slot: number2(),
        root: number2()
      });
      SlotNotificationResult = type({
        subscription: number2(),
        result: SlotInfoResult
      });
      SlotUpdateResult = union([type({
        type: union([literal("firstShredReceived"), literal("completed"), literal("optimisticConfirmation"), literal("root")]),
        slot: number2(),
        timestamp: number2()
      }), type({
        type: literal("createdBank"),
        parent: number2(),
        slot: number2(),
        timestamp: number2()
      }), type({
        type: literal("frozen"),
        slot: number2(),
        timestamp: number2(),
        stats: type({
          numTransactionEntries: number2(),
          numSuccessfulTransactions: number2(),
          numFailedTransactions: number2(),
          maxTransactionsPerEntry: number2()
        })
      }), type({
        type: literal("dead"),
        slot: number2(),
        timestamp: number2(),
        err: string()
      })]);
      SlotUpdateNotificationResult = type({
        subscription: number2(),
        result: SlotUpdateResult
      });
      SignatureNotificationResult = type({
        subscription: number2(),
        result: notificationResultAndContext(union([SignatureStatusResult, SignatureReceivedResult]))
      });
      RootNotificationResult = type({
        subscription: number2(),
        result: number2()
      });
      ContactInfoResult = type({
        pubkey: string(),
        gossip: nullable(string()),
        tpu: nullable(string()),
        rpc: nullable(string()),
        version: nullable(string())
      });
      VoteAccountInfoResult = type({
        votePubkey: string(),
        nodePubkey: string(),
        activatedStake: number2(),
        epochVoteAccount: boolean(),
        epochCredits: array(tuple([number2(), number2(), number2()])),
        commission: number2(),
        lastVote: number2(),
        rootSlot: nullable(number2())
      });
      GetVoteAccounts = jsonRpcResult(type({
        current: array(VoteAccountInfoResult),
        delinquent: array(VoteAccountInfoResult)
      }));
      ConfirmationStatus = union([literal("processed"), literal("confirmed"), literal("finalized")]);
      SignatureStatusResponse = type({
        slot: number2(),
        confirmations: nullable(number2()),
        err: TransactionErrorResult,
        confirmationStatus: optional(ConfirmationStatus)
      });
      GetSignatureStatusesRpcResult = jsonRpcResultAndContext(array(nullable(SignatureStatusResponse)));
      GetMinimumBalanceForRentExemptionRpcResult = jsonRpcResult(number2());
      AddressTableLookupStruct = type({
        accountKey: PublicKeyFromString,
        writableIndexes: array(number2()),
        readonlyIndexes: array(number2())
      });
      ConfirmedTransactionResult = type({
        signatures: array(string()),
        message: type({
          accountKeys: array(string()),
          header: type({
            numRequiredSignatures: number2(),
            numReadonlySignedAccounts: number2(),
            numReadonlyUnsignedAccounts: number2()
          }),
          instructions: array(type({
            accounts: array(number2()),
            data: string(),
            programIdIndex: number2()
          })),
          recentBlockhash: string(),
          addressTableLookups: optional(array(AddressTableLookupStruct))
        })
      });
      AnnotatedAccountKey = type({
        pubkey: PublicKeyFromString,
        signer: boolean(),
        writable: boolean(),
        source: optional(union([literal("transaction"), literal("lookupTable")]))
      });
      ConfirmedTransactionAccountsModeResult = type({
        accountKeys: array(AnnotatedAccountKey),
        signatures: array(string())
      });
      ParsedInstructionResult = type({
        parsed: unknown(),
        program: string(),
        programId: PublicKeyFromString
      });
      RawInstructionResult = type({
        accounts: array(PublicKeyFromString),
        data: string(),
        programId: PublicKeyFromString
      });
      InstructionResult = union([RawInstructionResult, ParsedInstructionResult]);
      UnknownInstructionResult = union([type({
        parsed: unknown(),
        program: string(),
        programId: string()
      }), type({
        accounts: array(string()),
        data: string(),
        programId: string()
      })]);
      ParsedOrRawInstruction = coerce(InstructionResult, UnknownInstructionResult, (value) => {
        if ("accounts" in value) {
          return create(value, RawInstructionResult);
        } else {
          return create(value, ParsedInstructionResult);
        }
      });
      ParsedConfirmedTransactionResult = type({
        signatures: array(string()),
        message: type({
          accountKeys: array(AnnotatedAccountKey),
          instructions: array(ParsedOrRawInstruction),
          recentBlockhash: string(),
          addressTableLookups: optional(nullable(array(AddressTableLookupStruct)))
        })
      });
      TokenBalanceResult = type({
        accountIndex: number2(),
        mint: string(),
        owner: optional(string()),
        programId: optional(string()),
        uiTokenAmount: TokenAmountResult
      });
      LoadedAddressesResult = type({
        writable: array(PublicKeyFromString),
        readonly: array(PublicKeyFromString)
      });
      ConfirmedTransactionMetaResult = type({
        err: TransactionErrorResult,
        fee: number2(),
        innerInstructions: optional(nullable(array(type({
          index: number2(),
          instructions: array(type({
            accounts: array(number2()),
            data: string(),
            programIdIndex: number2()
          }))
        })))),
        preBalances: array(number2()),
        postBalances: array(number2()),
        logMessages: optional(nullable(array(string()))),
        preTokenBalances: optional(nullable(array(TokenBalanceResult))),
        postTokenBalances: optional(nullable(array(TokenBalanceResult))),
        loadedAddresses: optional(LoadedAddressesResult),
        computeUnitsConsumed: optional(number2()),
        costUnits: optional(number2())
      });
      ParsedConfirmedTransactionMetaResult = type({
        err: TransactionErrorResult,
        fee: number2(),
        innerInstructions: optional(nullable(array(type({
          index: number2(),
          instructions: array(ParsedOrRawInstruction)
        })))),
        preBalances: array(number2()),
        postBalances: array(number2()),
        logMessages: optional(nullable(array(string()))),
        preTokenBalances: optional(nullable(array(TokenBalanceResult))),
        postTokenBalances: optional(nullable(array(TokenBalanceResult))),
        loadedAddresses: optional(LoadedAddressesResult),
        computeUnitsConsumed: optional(number2()),
        costUnits: optional(number2())
      });
      TransactionVersionStruct = union([literal(0), literal("legacy")]);
      RewardsResult = type({
        pubkey: string(),
        lamports: number2(),
        postBalance: nullable(number2()),
        rewardType: nullable(string()),
        commission: optional(nullable(number2()))
      });
      GetBlockRpcResult = jsonRpcResult(nullable(type({
        blockhash: string(),
        previousBlockhash: string(),
        parentSlot: number2(),
        transactions: array(type({
          transaction: ConfirmedTransactionResult,
          meta: nullable(ConfirmedTransactionMetaResult),
          version: optional(TransactionVersionStruct)
        })),
        rewards: optional(array(RewardsResult)),
        blockTime: nullable(number2()),
        blockHeight: nullable(number2())
      })));
      GetNoneModeBlockRpcResult = jsonRpcResult(nullable(type({
        blockhash: string(),
        previousBlockhash: string(),
        parentSlot: number2(),
        rewards: optional(array(RewardsResult)),
        blockTime: nullable(number2()),
        blockHeight: nullable(number2())
      })));
      GetAccountsModeBlockRpcResult = jsonRpcResult(nullable(type({
        blockhash: string(),
        previousBlockhash: string(),
        parentSlot: number2(),
        transactions: array(type({
          transaction: ConfirmedTransactionAccountsModeResult,
          meta: nullable(ConfirmedTransactionMetaResult),
          version: optional(TransactionVersionStruct)
        })),
        rewards: optional(array(RewardsResult)),
        blockTime: nullable(number2()),
        blockHeight: nullable(number2())
      })));
      GetParsedBlockRpcResult = jsonRpcResult(nullable(type({
        blockhash: string(),
        previousBlockhash: string(),
        parentSlot: number2(),
        transactions: array(type({
          transaction: ParsedConfirmedTransactionResult,
          meta: nullable(ParsedConfirmedTransactionMetaResult),
          version: optional(TransactionVersionStruct)
        })),
        rewards: optional(array(RewardsResult)),
        blockTime: nullable(number2()),
        blockHeight: nullable(number2())
      })));
      GetParsedAccountsModeBlockRpcResult = jsonRpcResult(nullable(type({
        blockhash: string(),
        previousBlockhash: string(),
        parentSlot: number2(),
        transactions: array(type({
          transaction: ConfirmedTransactionAccountsModeResult,
          meta: nullable(ParsedConfirmedTransactionMetaResult),
          version: optional(TransactionVersionStruct)
        })),
        rewards: optional(array(RewardsResult)),
        blockTime: nullable(number2()),
        blockHeight: nullable(number2())
      })));
      GetParsedNoneModeBlockRpcResult = jsonRpcResult(nullable(type({
        blockhash: string(),
        previousBlockhash: string(),
        parentSlot: number2(),
        rewards: optional(array(RewardsResult)),
        blockTime: nullable(number2()),
        blockHeight: nullable(number2())
      })));
      GetConfirmedBlockRpcResult = jsonRpcResult(nullable(type({
        blockhash: string(),
        previousBlockhash: string(),
        parentSlot: number2(),
        transactions: array(type({
          transaction: ConfirmedTransactionResult,
          meta: nullable(ConfirmedTransactionMetaResult)
        })),
        rewards: optional(array(RewardsResult)),
        blockTime: nullable(number2())
      })));
      GetBlockSignaturesRpcResult = jsonRpcResult(nullable(type({
        blockhash: string(),
        previousBlockhash: string(),
        parentSlot: number2(),
        signatures: array(string()),
        blockTime: nullable(number2())
      })));
      GetTransactionRpcResult = jsonRpcResult(nullable(type({
        slot: number2(),
        meta: nullable(ConfirmedTransactionMetaResult),
        blockTime: optional(nullable(number2())),
        transaction: ConfirmedTransactionResult,
        version: optional(TransactionVersionStruct)
      })));
      GetParsedTransactionRpcResult = jsonRpcResult(nullable(type({
        slot: number2(),
        transaction: ParsedConfirmedTransactionResult,
        meta: nullable(ParsedConfirmedTransactionMetaResult),
        blockTime: optional(nullable(number2())),
        version: optional(TransactionVersionStruct)
      })));
      GetLatestBlockhashRpcResult = jsonRpcResultAndContext(type({
        blockhash: string(),
        lastValidBlockHeight: number2()
      }));
      IsBlockhashValidRpcResult = jsonRpcResultAndContext(boolean());
      PerfSampleResult = type({
        slot: number2(),
        numTransactions: number2(),
        numSlots: number2(),
        samplePeriodSecs: number2()
      });
      GetRecentPerformanceSamplesRpcResult = jsonRpcResult(array(PerfSampleResult));
      GetFeeCalculatorRpcResult = jsonRpcResultAndContext(nullable(type({
        feeCalculator: type({
          lamportsPerSignature: number2()
        })
      })));
      RequestAirdropRpcResult = jsonRpcResult(string());
      SendTransactionRpcResult = jsonRpcResult(string());
      LogsResult = type({
        err: TransactionErrorResult,
        logs: array(string()),
        signature: string()
      });
      LogsNotificationResult = type({
        result: notificationResultAndContext(LogsResult),
        subscription: number2()
      });
      COMMON_HTTP_HEADERS = {
        "solana-client": `js/${"1.0.0-maintenance"}`
      };
      Connection = class {
        /**
         * Establish a JSON RPC connection
         *
         * @param endpoint URL to the fullnode JSON RPC endpoint
         * @param commitmentOrConfig optional default commitment level or optional ConnectionConfig configuration object
         */
        constructor(endpoint, _commitmentOrConfig) {
          this._commitment = void 0;
          this._confirmTransactionInitialTimeout = void 0;
          this._rpcEndpoint = void 0;
          this._rpcWsEndpoint = void 0;
          this._rpcClient = void 0;
          this._rpcRequest = void 0;
          this._rpcBatchRequest = void 0;
          this._rpcWebSocket = void 0;
          this._rpcWebSocketConnected = false;
          this._rpcWebSocketHeartbeat = null;
          this._rpcWebSocketIdleTimeout = null;
          this._rpcWebSocketGeneration = 0;
          this._disableBlockhashCaching = false;
          this._pollingBlockhash = false;
          this._blockhashInfo = {
            latestBlockhash: null,
            lastFetch: 0,
            transactionSignatures: [],
            simulatedSignatures: []
          };
          this._nextClientSubscriptionId = 0;
          this._subscriptionDisposeFunctionsByClientSubscriptionId = {};
          this._subscriptionHashByClientSubscriptionId = {};
          this._subscriptionStateChangeCallbacksByHash = {};
          this._subscriptionCallbacksByServerSubscriptionId = {};
          this._subscriptionsByHash = {};
          this._subscriptionsAutoDisposedByRpc = /* @__PURE__ */ new Set();
          this.getBlockHeight = /* @__PURE__ */ (() => {
            const requestPromises = {};
            return async (commitmentOrConfig) => {
              const {
                commitment,
                config
              } = extractCommitmentFromConfig(commitmentOrConfig);
              const args = this._buildArgs([], commitment, void 0, config);
              const requestHash = fastStableStringify(args);
              requestPromises[requestHash] = requestPromises[requestHash] ?? (async () => {
                try {
                  const unsafeRes = await this._rpcRequest("getBlockHeight", args);
                  const res = create(unsafeRes, jsonRpcResult(number2()));
                  if ("error" in res) {
                    throw new SolanaJSONRPCError(res.error, "failed to get block height information");
                  }
                  return res.result;
                } finally {
                  delete requestPromises[requestHash];
                }
              })();
              return await requestPromises[requestHash];
            };
          })();
          let wsEndpoint;
          let httpHeaders;
          let fetch2;
          let fetchMiddleware;
          let disableRetryOnRateLimit;
          let httpAgent;
          if (_commitmentOrConfig && typeof _commitmentOrConfig === "string") {
            this._commitment = _commitmentOrConfig;
          } else if (_commitmentOrConfig) {
            this._commitment = _commitmentOrConfig.commitment;
            this._confirmTransactionInitialTimeout = _commitmentOrConfig.confirmTransactionInitialTimeout;
            wsEndpoint = _commitmentOrConfig.wsEndpoint;
            httpHeaders = _commitmentOrConfig.httpHeaders;
            fetch2 = _commitmentOrConfig.fetch;
            fetchMiddleware = _commitmentOrConfig.fetchMiddleware;
            disableRetryOnRateLimit = _commitmentOrConfig.disableRetryOnRateLimit;
            httpAgent = _commitmentOrConfig.httpAgent;
          }
          this._rpcEndpoint = assertEndpointUrl(endpoint);
          this._rpcWsEndpoint = wsEndpoint || makeWebsocketUrl(endpoint);
          this._rpcClient = createRpcClient(endpoint, httpHeaders, fetch2, fetchMiddleware, disableRetryOnRateLimit, httpAgent);
          this._rpcRequest = createRpcRequest(this._rpcClient);
          this._rpcBatchRequest = createRpcBatchRequest(this._rpcClient);
          this._rpcWebSocket = new RpcWebSocketClient(this._rpcWsEndpoint, {
            autoconnect: false,
            max_reconnects: Infinity
          });
          this._rpcWebSocket.on("open", this._wsOnOpen.bind(this));
          this._rpcWebSocket.on("error", this._wsOnError.bind(this));
          this._rpcWebSocket.on("close", this._wsOnClose.bind(this));
          this._rpcWebSocket.on("accountNotification", this._wsOnAccountNotification.bind(this));
          this._rpcWebSocket.on("programNotification", this._wsOnProgramAccountNotification.bind(this));
          this._rpcWebSocket.on("slotNotification", this._wsOnSlotNotification.bind(this));
          this._rpcWebSocket.on("slotsUpdatesNotification", this._wsOnSlotUpdatesNotification.bind(this));
          this._rpcWebSocket.on("signatureNotification", this._wsOnSignatureNotification.bind(this));
          this._rpcWebSocket.on("rootNotification", this._wsOnRootNotification.bind(this));
          this._rpcWebSocket.on("logsNotification", this._wsOnLogsNotification.bind(this));
        }
        /**
         * The default commitment used for requests
         */
        get commitment() {
          return this._commitment;
        }
        /**
         * The RPC endpoint
         */
        get rpcEndpoint() {
          return this._rpcEndpoint;
        }
        /**
         * Fetch the balance for the specified public key, return with context
         */
        async getBalanceAndContext(publicKey2, commitmentOrConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          const args = this._buildArgs([publicKey2.toBase58()], commitment, void 0, config);
          const unsafeRes = await this._rpcRequest("getBalance", args);
          const res = create(unsafeRes, jsonRpcResultAndContext(number2()));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, `failed to get balance for ${publicKey2.toBase58()}`);
          }
          return res.result;
        }
        /**
         * Fetch the balance for the specified public key
         */
        async getBalance(publicKey2, commitmentOrConfig) {
          return await this.getBalanceAndContext(publicKey2, commitmentOrConfig).then((x) => x.value).catch((e3) => {
            throw new Error("failed to get balance of account " + publicKey2.toBase58() + ": " + e3);
          });
        }
        /**
         * Fetch the estimated production time of a block
         */
        async getBlockTime(slot) {
          const unsafeRes = await this._rpcRequest("getBlockTime", [slot]);
          const res = create(unsafeRes, jsonRpcResult(nullable(number2())));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, `failed to get block time for slot ${slot}`);
          }
          return res.result;
        }
        /**
         * Fetch the lowest slot that the node has information about in its ledger.
         * This value may increase over time if the node is configured to purge older ledger data
         */
        async getMinimumLedgerSlot() {
          const unsafeRes = await this._rpcRequest("minimumLedgerSlot", []);
          const res = create(unsafeRes, jsonRpcResult(number2()));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get minimum ledger slot");
          }
          return res.result;
        }
        /**
         * Fetch the slot of the lowest confirmed block that has not been purged from the ledger
         */
        async getFirstAvailableBlock() {
          const unsafeRes = await this._rpcRequest("getFirstAvailableBlock", []);
          const res = create(unsafeRes, SlotRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get first available block");
          }
          return res.result;
        }
        /**
         * Fetch information about the current supply
         */
        async getSupply(config) {
          let configArg = {};
          if (typeof config === "string") {
            configArg = {
              commitment: config
            };
          } else if (config) {
            configArg = {
              ...config,
              commitment: config && config.commitment || this.commitment
            };
          } else {
            configArg = {
              commitment: this.commitment
            };
          }
          const unsafeRes = await this._rpcRequest("getSupply", [configArg]);
          const res = create(unsafeRes, GetSupplyRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get supply");
          }
          return res.result;
        }
        /**
         * Fetch the current supply of a token mint
         */
        async getTokenSupply(tokenMintAddress, commitment) {
          const args = this._buildArgs([tokenMintAddress.toBase58()], commitment);
          const unsafeRes = await this._rpcRequest("getTokenSupply", args);
          const res = create(unsafeRes, jsonRpcResultAndContext(TokenAmountResult));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get token supply");
          }
          return res.result;
        }
        /**
         * Fetch the current balance of a token account
         */
        async getTokenAccountBalance(tokenAddress, commitment) {
          const args = this._buildArgs([tokenAddress.toBase58()], commitment);
          const unsafeRes = await this._rpcRequest("getTokenAccountBalance", args);
          const res = create(unsafeRes, jsonRpcResultAndContext(TokenAmountResult));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get token account balance");
          }
          return res.result;
        }
        /**
         * Fetch all the token accounts owned by the specified account
         *
         * @return {Promise<RpcResponseAndContext<GetProgramAccountsResponse>}
         */
        async getTokenAccountsByOwner(ownerAddress, filter, commitmentOrConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          let _args = [ownerAddress.toBase58()];
          if ("mint" in filter) {
            _args.push({
              mint: filter.mint.toBase58()
            });
          } else {
            _args.push({
              programId: filter.programId.toBase58()
            });
          }
          const args = this._buildArgs(_args, commitment, "base64", config);
          const unsafeRes = await this._rpcRequest("getTokenAccountsByOwner", args);
          const res = create(unsafeRes, GetTokenAccountsByOwner);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, `failed to get token accounts owned by account ${ownerAddress.toBase58()}`);
          }
          return res.result;
        }
        /**
         * Fetch parsed token accounts owned by the specified account
         *
         * @return {Promise<RpcResponseAndContext<Array<{pubkey: PublicKey, account: AccountInfo<ParsedAccountData>}>>>}
         */
        async getParsedTokenAccountsByOwner(ownerAddress, filter, commitment) {
          let _args = [ownerAddress.toBase58()];
          if ("mint" in filter) {
            _args.push({
              mint: filter.mint.toBase58()
            });
          } else {
            _args.push({
              programId: filter.programId.toBase58()
            });
          }
          const args = this._buildArgs(_args, commitment, "jsonParsed");
          const unsafeRes = await this._rpcRequest("getTokenAccountsByOwner", args);
          const res = create(unsafeRes, GetParsedTokenAccountsByOwner);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, `failed to get token accounts owned by account ${ownerAddress.toBase58()}`);
          }
          return res.result;
        }
        /**
         * Fetch the 20 largest accounts with their current balances
         */
        async getLargestAccounts(config) {
          const arg = {
            ...config,
            commitment: config && config.commitment || this.commitment
          };
          const args = arg.filter || arg.commitment ? [arg] : [];
          const unsafeRes = await this._rpcRequest("getLargestAccounts", args);
          const res = create(unsafeRes, GetLargestAccountsRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get largest accounts");
          }
          return res.result;
        }
        /**
         * Fetch the 20 largest token accounts with their current balances
         * for a given mint.
         */
        async getTokenLargestAccounts(mintAddress, commitment) {
          const args = this._buildArgs([mintAddress.toBase58()], commitment);
          const unsafeRes = await this._rpcRequest("getTokenLargestAccounts", args);
          const res = create(unsafeRes, GetTokenLargestAccountsResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get token largest accounts");
          }
          return res.result;
        }
        /**
         * Fetch all the account info for the specified public key, return with context
         */
        async getAccountInfoAndContext(publicKey2, commitmentOrConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          const args = this._buildArgs([publicKey2.toBase58()], commitment, "base64", config);
          const unsafeRes = await this._rpcRequest("getAccountInfo", args);
          const res = create(unsafeRes, jsonRpcResultAndContext(nullable(AccountInfoResult)));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, `failed to get info about account ${publicKey2.toBase58()}`);
          }
          return res.result;
        }
        /**
         * Fetch parsed account info for the specified public key
         */
        async getParsedAccountInfo(publicKey2, commitmentOrConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          const args = this._buildArgs([publicKey2.toBase58()], commitment, "jsonParsed", config);
          const unsafeRes = await this._rpcRequest("getAccountInfo", args);
          const res = create(unsafeRes, jsonRpcResultAndContext(nullable(ParsedAccountInfoResult)));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, `failed to get info about account ${publicKey2.toBase58()}`);
          }
          return res.result;
        }
        /**
         * Fetch all the account info for the specified public key
         */
        async getAccountInfo(publicKey2, commitmentOrConfig) {
          try {
            const res = await this.getAccountInfoAndContext(publicKey2, commitmentOrConfig);
            return res.value;
          } catch (e3) {
            throw new Error("failed to get info about account " + publicKey2.toBase58() + ": " + e3);
          }
        }
        /**
         * Fetch all the account info for multiple accounts specified by an array of public keys, return with context
         */
        async getMultipleParsedAccounts(publicKeys, rawConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(rawConfig);
          const keys2 = publicKeys.map((key) => key.toBase58());
          const args = this._buildArgs([keys2], commitment, "jsonParsed", config);
          const unsafeRes = await this._rpcRequest("getMultipleAccounts", args);
          const res = create(unsafeRes, jsonRpcResultAndContext(array(nullable(ParsedAccountInfoResult))));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, `failed to get info for accounts ${keys2}`);
          }
          return res.result;
        }
        /**
         * Fetch all the account info for multiple accounts specified by an array of public keys, return with context
         */
        async getMultipleAccountsInfoAndContext(publicKeys, commitmentOrConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          const keys2 = publicKeys.map((key) => key.toBase58());
          const args = this._buildArgs([keys2], commitment, "base64", config);
          const unsafeRes = await this._rpcRequest("getMultipleAccounts", args);
          const res = create(unsafeRes, jsonRpcResultAndContext(array(nullable(AccountInfoResult))));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, `failed to get info for accounts ${keys2}`);
          }
          return res.result;
        }
        /**
         * Fetch all the account info for multiple accounts specified by an array of public keys
         */
        async getMultipleAccountsInfo(publicKeys, commitmentOrConfig) {
          const res = await this.getMultipleAccountsInfoAndContext(publicKeys, commitmentOrConfig);
          return res.value;
        }
        /**
         * Returns epoch activation information for a stake account that has been delegated
         *
         * @deprecated Deprecated since RPC v1.18; will be removed in a future version.
         */
        async getStakeActivation(publicKey2, commitmentOrConfig, epoch) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          const args = this._buildArgs([publicKey2.toBase58()], commitment, void 0, {
            ...config,
            epoch: epoch != null ? epoch : config?.epoch
          });
          const unsafeRes = await this._rpcRequest("getStakeActivation", args);
          const res = create(unsafeRes, jsonRpcResult(StakeActivationResult));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, `failed to get Stake Activation ${publicKey2.toBase58()}`);
          }
          return res.result;
        }
        /**
         * Fetch all the accounts owned by the specified program id
         *
         * @return {Promise<Array<{pubkey: PublicKey, account: AccountInfo<Buffer>}>>}
         */
        // eslint-disable-next-line no-dupe-class-members
        // eslint-disable-next-line no-dupe-class-members
        async getProgramAccounts(programId, configOrCommitment) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(configOrCommitment);
          const {
            encoding,
            ...configWithoutEncoding
          } = config || {};
          const args = this._buildArgs([programId.toBase58()], commitment, encoding || "base64", {
            ...configWithoutEncoding,
            ...configWithoutEncoding.filters ? {
              filters: applyDefaultMemcmpEncodingToFilters(configWithoutEncoding.filters)
            } : null
          });
          const unsafeRes = await this._rpcRequest("getProgramAccounts", args);
          const baseSchema = array(KeyedAccountInfoResult);
          const res = configWithoutEncoding.withContext === true ? create(unsafeRes, jsonRpcResultAndContext(baseSchema)) : create(unsafeRes, jsonRpcResult(baseSchema));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, `failed to get accounts owned by program ${programId.toBase58()}`);
          }
          return res.result;
        }
        /**
         * Fetch and parse all the accounts owned by the specified program id
         *
         * @return {Promise<Array<{pubkey: PublicKey, account: AccountInfo<Buffer | ParsedAccountData>}>>}
         */
        async getParsedProgramAccounts(programId, configOrCommitment) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(configOrCommitment);
          const args = this._buildArgs([programId.toBase58()], commitment, "jsonParsed", config);
          const unsafeRes = await this._rpcRequest("getProgramAccounts", args);
          const res = create(unsafeRes, jsonRpcResult(array(KeyedParsedAccountInfoResult)));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, `failed to get accounts owned by program ${programId.toBase58()}`);
          }
          return res.result;
        }
        /** @deprecated Instead, call `confirmTransaction` and pass in {@link TransactionConfirmationStrategy} */
        // eslint-disable-next-line no-dupe-class-members
        // eslint-disable-next-line no-dupe-class-members
        async confirmTransaction(strategy, commitment) {
          let rawSignature;
          if (typeof strategy == "string") {
            rawSignature = strategy;
          } else {
            const config = strategy;
            if (config.abortSignal?.aborted) {
              return Promise.reject(config.abortSignal.reason);
            }
            rawSignature = config.signature;
          }
          let decodedSignature;
          try {
            decodedSignature = import_bs58.default.decode(rawSignature);
          } catch (err) {
            throw new Error("signature must be base58 encoded: " + rawSignature);
          }
          assert2(decodedSignature.length === 64, "signature has invalid length");
          if (typeof strategy === "string") {
            return await this.confirmTransactionUsingLegacyTimeoutStrategy({
              commitment: commitment || this.commitment,
              signature: rawSignature
            });
          } else if ("lastValidBlockHeight" in strategy) {
            return await this.confirmTransactionUsingBlockHeightExceedanceStrategy({
              commitment: commitment || this.commitment,
              strategy
            });
          } else {
            return await this.confirmTransactionUsingDurableNonceStrategy({
              commitment: commitment || this.commitment,
              strategy
            });
          }
        }
        getCancellationPromise(signal) {
          return new Promise((_3, reject) => {
            if (signal == null) {
              return;
            }
            if (signal.aborted) {
              reject(signal.reason);
            } else {
              signal.addEventListener("abort", () => {
                reject(signal.reason);
              });
            }
          });
        }
        getTransactionConfirmationPromise({
          commitment,
          signature: signature2
        }) {
          let signatureSubscriptionId;
          let disposeSignatureSubscriptionStateChangeObserver;
          let done = false;
          const confirmationPromise = new Promise((resolve, reject) => {
            try {
              signatureSubscriptionId = this.onSignature(signature2, (result, context) => {
                signatureSubscriptionId = void 0;
                const response = {
                  context,
                  value: result
                };
                resolve({
                  __type: TransactionStatus.PROCESSED,
                  response
                });
              }, commitment);
              const subscriptionSetupPromise = new Promise((resolveSubscriptionSetup) => {
                if (signatureSubscriptionId == null) {
                  resolveSubscriptionSetup();
                } else {
                  disposeSignatureSubscriptionStateChangeObserver = this._onSubscriptionStateChange(signatureSubscriptionId, (nextState) => {
                    if (nextState === "subscribed") {
                      resolveSubscriptionSetup();
                    }
                  });
                }
              });
              (async () => {
                await subscriptionSetupPromise;
                if (done) return;
                const response = await this.getSignatureStatus(signature2);
                if (done) return;
                if (response == null) {
                  return;
                }
                const {
                  context,
                  value
                } = response;
                if (value == null) {
                  return;
                }
                if (value?.err) {
                  reject(value.err);
                } else {
                  switch (commitment) {
                    case "confirmed":
                    case "single":
                    case "singleGossip": {
                      if (value.confirmationStatus === "processed") {
                        return;
                      }
                      break;
                    }
                    case "finalized":
                    case "max":
                    case "root": {
                      if (value.confirmationStatus === "processed" || value.confirmationStatus === "confirmed") {
                        return;
                      }
                      break;
                    }
                    // exhaust enums to ensure full coverage
                    case "processed":
                    case "recent":
                  }
                  done = true;
                  resolve({
                    __type: TransactionStatus.PROCESSED,
                    response: {
                      context,
                      value
                    }
                  });
                }
              })();
            } catch (err) {
              reject(err);
            }
          });
          const abortConfirmation = () => {
            if (disposeSignatureSubscriptionStateChangeObserver) {
              disposeSignatureSubscriptionStateChangeObserver();
              disposeSignatureSubscriptionStateChangeObserver = void 0;
            }
            if (signatureSubscriptionId != null) {
              this.removeSignatureListener(signatureSubscriptionId);
              signatureSubscriptionId = void 0;
            }
          };
          return {
            abortConfirmation,
            confirmationPromise
          };
        }
        async confirmTransactionUsingBlockHeightExceedanceStrategy({
          commitment,
          strategy: {
            abortSignal,
            lastValidBlockHeight,
            signature: signature2
          }
        }) {
          let done = false;
          const expiryPromise = new Promise((resolve) => {
            const checkBlockHeight = async () => {
              try {
                const blockHeight = await this.getBlockHeight(commitment);
                return blockHeight;
              } catch (_e) {
                return -1;
              }
            };
            (async () => {
              let currentBlockHeight = await checkBlockHeight();
              if (done) return;
              while (currentBlockHeight <= lastValidBlockHeight) {
                await sleep2(1e3);
                if (done) return;
                currentBlockHeight = await checkBlockHeight();
                if (done) return;
              }
              resolve({
                __type: TransactionStatus.BLOCKHEIGHT_EXCEEDED
              });
            })();
          });
          const {
            abortConfirmation,
            confirmationPromise
          } = this.getTransactionConfirmationPromise({
            commitment,
            signature: signature2
          });
          const cancellationPromise = this.getCancellationPromise(abortSignal);
          let result;
          try {
            const outcome = await Promise.race([cancellationPromise, confirmationPromise, expiryPromise]);
            if (outcome.__type === TransactionStatus.PROCESSED) {
              result = outcome.response;
            } else {
              throw new TransactionExpiredBlockheightExceededError(signature2);
            }
          } finally {
            done = true;
            abortConfirmation();
          }
          return result;
        }
        async confirmTransactionUsingDurableNonceStrategy({
          commitment,
          strategy: {
            abortSignal,
            minContextSlot,
            nonceAccountPubkey,
            nonceValue,
            signature: signature2
          }
        }) {
          let done = false;
          const expiryPromise = new Promise((resolve) => {
            let currentNonceValue = nonceValue;
            let lastCheckedSlot = null;
            const getCurrentNonceValue = async () => {
              try {
                const {
                  context,
                  value: nonceAccount
                } = await this.getNonceAndContext(nonceAccountPubkey, {
                  commitment,
                  minContextSlot
                });
                lastCheckedSlot = context.slot;
                return nonceAccount?.nonce;
              } catch (e3) {
                return currentNonceValue;
              }
            };
            (async () => {
              currentNonceValue = await getCurrentNonceValue();
              if (done) return;
              while (true) {
                if (nonceValue !== currentNonceValue) {
                  resolve({
                    __type: TransactionStatus.NONCE_INVALID,
                    slotInWhichNonceDidAdvance: lastCheckedSlot
                  });
                  return;
                }
                await sleep2(2e3);
                if (done) return;
                currentNonceValue = await getCurrentNonceValue();
                if (done) return;
              }
            })();
          });
          const {
            abortConfirmation,
            confirmationPromise
          } = this.getTransactionConfirmationPromise({
            commitment,
            signature: signature2
          });
          const cancellationPromise = this.getCancellationPromise(abortSignal);
          let result;
          try {
            const outcome = await Promise.race([cancellationPromise, confirmationPromise, expiryPromise]);
            if (outcome.__type === TransactionStatus.PROCESSED) {
              result = outcome.response;
            } else {
              let signatureStatus;
              while (true) {
                const status = await this.getSignatureStatus(signature2);
                if (status == null) {
                  break;
                }
                if (status.context.slot < (outcome.slotInWhichNonceDidAdvance ?? minContextSlot)) {
                  await sleep2(400);
                  continue;
                }
                signatureStatus = status;
                break;
              }
              if (signatureStatus?.value) {
                const commitmentForStatus = commitment || "finalized";
                const {
                  confirmationStatus
                } = signatureStatus.value;
                switch (commitmentForStatus) {
                  case "processed":
                  case "recent":
                    if (confirmationStatus !== "processed" && confirmationStatus !== "confirmed" && confirmationStatus !== "finalized") {
                      throw new TransactionExpiredNonceInvalidError(signature2);
                    }
                    break;
                  case "confirmed":
                  case "single":
                  case "singleGossip":
                    if (confirmationStatus !== "confirmed" && confirmationStatus !== "finalized") {
                      throw new TransactionExpiredNonceInvalidError(signature2);
                    }
                    break;
                  case "finalized":
                  case "max":
                  case "root":
                    if (confirmationStatus !== "finalized") {
                      throw new TransactionExpiredNonceInvalidError(signature2);
                    }
                    break;
                  default:
                    /* @__PURE__ */ ((_3) => {
                    })(commitmentForStatus);
                }
                result = {
                  context: signatureStatus.context,
                  value: {
                    err: signatureStatus.value.err
                  }
                };
              } else {
                throw new TransactionExpiredNonceInvalidError(signature2);
              }
            }
          } finally {
            done = true;
            abortConfirmation();
          }
          return result;
        }
        async confirmTransactionUsingLegacyTimeoutStrategy({
          commitment,
          signature: signature2
        }) {
          let timeoutId;
          const expiryPromise = new Promise((resolve) => {
            let timeoutMs = this._confirmTransactionInitialTimeout || 60 * 1e3;
            switch (commitment) {
              case "processed":
              case "recent":
              case "single":
              case "confirmed":
              case "singleGossip": {
                timeoutMs = this._confirmTransactionInitialTimeout || 30 * 1e3;
                break;
              }
            }
            timeoutId = setTimeout(() => resolve({
              __type: TransactionStatus.TIMED_OUT,
              timeoutMs
            }), timeoutMs);
          });
          const {
            abortConfirmation,
            confirmationPromise
          } = this.getTransactionConfirmationPromise({
            commitment,
            signature: signature2
          });
          let result;
          try {
            const outcome = await Promise.race([confirmationPromise, expiryPromise]);
            if (outcome.__type === TransactionStatus.PROCESSED) {
              result = outcome.response;
            } else {
              throw new TransactionExpiredTimeoutError(signature2, outcome.timeoutMs / 1e3);
            }
          } finally {
            clearTimeout(timeoutId);
            abortConfirmation();
          }
          return result;
        }
        /**
         * Return the list of nodes that are currently participating in the cluster
         */
        async getClusterNodes() {
          const unsafeRes = await this._rpcRequest("getClusterNodes", []);
          const res = create(unsafeRes, jsonRpcResult(array(ContactInfoResult)));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get cluster nodes");
          }
          return res.result;
        }
        /**
         * Return the list of nodes that are currently participating in the cluster
         */
        async getVoteAccounts(commitment) {
          const args = this._buildArgs([], commitment);
          const unsafeRes = await this._rpcRequest("getVoteAccounts", args);
          const res = create(unsafeRes, GetVoteAccounts);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get vote accounts");
          }
          return res.result;
        }
        /**
         * Fetch the current slot that the node is processing
         */
        async getSlot(commitmentOrConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          const args = this._buildArgs([], commitment, void 0, config);
          const unsafeRes = await this._rpcRequest("getSlot", args);
          const res = create(unsafeRes, jsonRpcResult(number2()));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get slot");
          }
          return res.result;
        }
        /**
         * Fetch the current slot leader of the cluster
         */
        async getSlotLeader(commitmentOrConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          const args = this._buildArgs([], commitment, void 0, config);
          const unsafeRes = await this._rpcRequest("getSlotLeader", args);
          const res = create(unsafeRes, jsonRpcResult(string()));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get slot leader");
          }
          return res.result;
        }
        /**
         * Fetch `limit` number of slot leaders starting from `startSlot`
         *
         * @param startSlot fetch slot leaders starting from this slot
         * @param limit number of slot leaders to return
         */
        async getSlotLeaders(startSlot, limit) {
          const args = [startSlot, limit];
          const unsafeRes = await this._rpcRequest("getSlotLeaders", args);
          const res = create(unsafeRes, jsonRpcResult(array(PublicKeyFromString)));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get slot leaders");
          }
          return res.result;
        }
        /**
         * Fetch the current status of a signature
         */
        async getSignatureStatus(signature2, config) {
          const {
            context,
            value: values
          } = await this.getSignatureStatuses([signature2], config);
          assert2(values.length === 1);
          const value = values[0];
          return {
            context,
            value
          };
        }
        /**
         * Fetch the current statuses of a batch of signatures
         */
        async getSignatureStatuses(signatures, config) {
          const params = [signatures];
          if (config) {
            params.push(config);
          }
          const unsafeRes = await this._rpcRequest("getSignatureStatuses", params);
          const res = create(unsafeRes, GetSignatureStatusesRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get signature status");
          }
          return res.result;
        }
        /**
         * Fetch the current transaction count of the cluster
         */
        async getTransactionCount(commitmentOrConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          const args = this._buildArgs([], commitment, void 0, config);
          const unsafeRes = await this._rpcRequest("getTransactionCount", args);
          const res = create(unsafeRes, jsonRpcResult(number2()));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get transaction count");
          }
          return res.result;
        }
        /**
         * Fetch the current total currency supply of the cluster in lamports
         *
         * @deprecated Deprecated since RPC v1.2.8. Please use {@link getSupply} instead.
         */
        async getTotalSupply(commitment) {
          const result = await this.getSupply({
            commitment,
            excludeNonCirculatingAccountsList: true
          });
          return result.value.total;
        }
        /**
         * Fetch the cluster InflationGovernor parameters
         */
        async getInflationGovernor(commitment) {
          const args = this._buildArgs([], commitment);
          const unsafeRes = await this._rpcRequest("getInflationGovernor", args);
          const res = create(unsafeRes, GetInflationGovernorRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get inflation");
          }
          return res.result;
        }
        /**
         * Fetch the inflation reward for a list of addresses for an epoch
         */
        async getInflationReward(addresses, epoch, commitmentOrConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          const args = this._buildArgs([addresses.map((pubkey) => pubkey.toBase58())], commitment, void 0, {
            ...config,
            epoch: epoch != null ? epoch : config?.epoch
          });
          const unsafeRes = await this._rpcRequest("getInflationReward", args);
          const res = create(unsafeRes, GetInflationRewardResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get inflation reward");
          }
          return res.result;
        }
        /**
         * Fetch the specific inflation values for the current epoch
         */
        async getInflationRate() {
          const unsafeRes = await this._rpcRequest("getInflationRate", []);
          const res = create(unsafeRes, GetInflationRateRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get inflation rate");
          }
          return res.result;
        }
        /**
         * Fetch the Epoch Info parameters
         */
        async getEpochInfo(commitmentOrConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          const args = this._buildArgs([], commitment, void 0, config);
          const unsafeRes = await this._rpcRequest("getEpochInfo", args);
          const res = create(unsafeRes, GetEpochInfoRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get epoch info");
          }
          return res.result;
        }
        /**
         * Fetch the Epoch Schedule parameters
         */
        async getEpochSchedule() {
          const unsafeRes = await this._rpcRequest("getEpochSchedule", []);
          const res = create(unsafeRes, GetEpochScheduleRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get epoch schedule");
          }
          const epochSchedule = res.result;
          return new EpochSchedule(epochSchedule.slotsPerEpoch, epochSchedule.leaderScheduleSlotOffset, epochSchedule.warmup, epochSchedule.firstNormalEpoch, epochSchedule.firstNormalSlot);
        }
        /**
         * Fetch the leader schedule for the current epoch
         * @return {Promise<RpcResponseAndContext<LeaderSchedule>>}
         */
        async getLeaderSchedule() {
          const unsafeRes = await this._rpcRequest("getLeaderSchedule", []);
          const res = create(unsafeRes, GetLeaderScheduleRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get leader schedule");
          }
          return res.result;
        }
        /**
         * Fetch the minimum balance needed to exempt an account of `dataLength`
         * size from rent
         */
        async getMinimumBalanceForRentExemption(dataLength, commitment) {
          const args = this._buildArgs([dataLength], commitment);
          const unsafeRes = await this._rpcRequest("getMinimumBalanceForRentExemption", args);
          const res = create(unsafeRes, GetMinimumBalanceForRentExemptionRpcResult);
          if ("error" in res) {
            console.warn("Unable to fetch minimum balance for rent exemption");
            return 0;
          }
          return res.result;
        }
        /**
         * Fetch a recent blockhash from the cluster, return with context
         * @return {Promise<RpcResponseAndContext<{blockhash: Blockhash, feeCalculator: FeeCalculator}>>}
         *
         * @deprecated Deprecated since RPC v1.9.0. Please use {@link getLatestBlockhash} instead.
         */
        async getRecentBlockhashAndContext(commitment) {
          const {
            context,
            value: {
              blockhash
            }
          } = await this.getLatestBlockhashAndContext(commitment);
          const feeCalculator = {
            get lamportsPerSignature() {
              throw new Error("The capability to fetch `lamportsPerSignature` using the `getRecentBlockhash` API is no longer offered by the network. Use the `getFeeForMessage` API to obtain the fee for a given message.");
            },
            toJSON() {
              return {};
            }
          };
          return {
            context,
            value: {
              blockhash,
              feeCalculator
            }
          };
        }
        /**
         * Fetch recent performance samples
         * @return {Promise<Array<PerfSample>>}
         */
        async getRecentPerformanceSamples(limit) {
          const unsafeRes = await this._rpcRequest("getRecentPerformanceSamples", limit ? [limit] : []);
          const res = create(unsafeRes, GetRecentPerformanceSamplesRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get recent performance samples");
          }
          return res.result;
        }
        /**
         * Fetch the fee calculator for a recent blockhash from the cluster, return with context
         *
         * @deprecated Deprecated since RPC v1.9.0. Please use {@link getFeeForMessage} instead.
         */
        async getFeeCalculatorForBlockhash(blockhash, commitment) {
          const args = this._buildArgs([blockhash], commitment);
          const unsafeRes = await this._rpcRequest("getFeeCalculatorForBlockhash", args);
          const res = create(unsafeRes, GetFeeCalculatorRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get fee calculator");
          }
          const {
            context,
            value
          } = res.result;
          return {
            context,
            value: value !== null ? value.feeCalculator : null
          };
        }
        /**
         * Fetch the fee for a message from the cluster, return with context
         */
        async getFeeForMessage(message, commitment) {
          const wireMessage = toBuffer(message.serialize()).toString("base64");
          const args = this._buildArgs([wireMessage], commitment);
          const unsafeRes = await this._rpcRequest("getFeeForMessage", args);
          const res = create(unsafeRes, jsonRpcResultAndContext(nullable(number2())));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get fee for message");
          }
          if (res.result === null) {
            throw new Error("invalid blockhash");
          }
          return res.result;
        }
        /**
         * Fetch a list of prioritization fees from recent blocks.
         */
        async getRecentPrioritizationFees(config) {
          const accounts = config?.lockedWritableAccounts?.map((key) => key.toBase58());
          const args = accounts?.length ? [accounts] : [];
          const unsafeRes = await this._rpcRequest("getRecentPrioritizationFees", args);
          const res = create(unsafeRes, GetRecentPrioritizationFeesRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get recent prioritization fees");
          }
          return res.result;
        }
        /**
         * Fetch a recent blockhash from the cluster
         * @return {Promise<{blockhash: Blockhash, feeCalculator: FeeCalculator}>}
         *
         * @deprecated Deprecated since RPC v1.8.0. Please use {@link getLatestBlockhash} instead.
         */
        async getRecentBlockhash(commitment) {
          try {
            const res = await this.getRecentBlockhashAndContext(commitment);
            return res.value;
          } catch (e3) {
            throw new Error("failed to get recent blockhash: " + e3);
          }
        }
        /**
         * Fetch the latest blockhash from the cluster
         * @return {Promise<BlockhashWithExpiryBlockHeight>}
         */
        async getLatestBlockhash(commitmentOrConfig) {
          try {
            const res = await this.getLatestBlockhashAndContext(commitmentOrConfig);
            return res.value;
          } catch (e3) {
            throw new Error("failed to get recent blockhash: " + e3);
          }
        }
        /**
         * Fetch the latest blockhash from the cluster
         * @return {Promise<BlockhashWithExpiryBlockHeight>}
         */
        async getLatestBlockhashAndContext(commitmentOrConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          const args = this._buildArgs([], commitment, void 0, config);
          const unsafeRes = await this._rpcRequest("getLatestBlockhash", args);
          const res = create(unsafeRes, GetLatestBlockhashRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get latest blockhash");
          }
          return res.result;
        }
        /**
         * Returns whether a blockhash is still valid or not
         */
        async isBlockhashValid(blockhash, rawConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(rawConfig);
          const args = this._buildArgs([blockhash], commitment, void 0, config);
          const unsafeRes = await this._rpcRequest("isBlockhashValid", args);
          const res = create(unsafeRes, IsBlockhashValidRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to determine if the blockhash `" + blockhash + "`is valid");
          }
          return res.result;
        }
        /**
         * Fetch the node version
         */
        async getVersion() {
          const unsafeRes = await this._rpcRequest("getVersion", []);
          const res = create(unsafeRes, jsonRpcResult(VersionResult));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get version");
          }
          return res.result;
        }
        /**
         * Fetch the genesis hash
         */
        async getGenesisHash() {
          const unsafeRes = await this._rpcRequest("getGenesisHash", []);
          const res = create(unsafeRes, jsonRpcResult(string()));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get genesis hash");
          }
          return res.result;
        }
        /**
         * Fetch a processed block from the cluster.
         *
         * @deprecated Instead, call `getBlock` using a `GetVersionedBlockConfig` by
         * setting the `maxSupportedTransactionVersion` property.
         */
        /**
         * @deprecated Instead, call `getBlock` using a `GetVersionedBlockConfig` by
         * setting the `maxSupportedTransactionVersion` property.
         */
        // eslint-disable-next-line no-dupe-class-members
        /**
         * @deprecated Instead, call `getBlock` using a `GetVersionedBlockConfig` by
         * setting the `maxSupportedTransactionVersion` property.
         */
        // eslint-disable-next-line no-dupe-class-members
        /**
         * Fetch a processed block from the cluster.
         */
        // eslint-disable-next-line no-dupe-class-members
        // eslint-disable-next-line no-dupe-class-members
        // eslint-disable-next-line no-dupe-class-members
        /**
         * Fetch a processed block from the cluster.
         */
        // eslint-disable-next-line no-dupe-class-members
        async getBlock(slot, rawConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(rawConfig);
          const args = this._buildArgsAtLeastConfirmed([slot], commitment, void 0, config);
          const unsafeRes = await this._rpcRequest("getBlock", args);
          try {
            switch (config?.transactionDetails) {
              case "accounts": {
                const res = create(unsafeRes, GetAccountsModeBlockRpcResult);
                if ("error" in res) {
                  throw res.error;
                }
                return res.result;
              }
              case "none": {
                const res = create(unsafeRes, GetNoneModeBlockRpcResult);
                if ("error" in res) {
                  throw res.error;
                }
                return res.result;
              }
              default: {
                const res = create(unsafeRes, GetBlockRpcResult);
                if ("error" in res) {
                  throw res.error;
                }
                const {
                  result
                } = res;
                return result ? {
                  ...result,
                  transactions: result.transactions.map(({
                    transaction,
                    meta,
                    version: version2
                  }) => ({
                    meta,
                    transaction: {
                      ...transaction,
                      message: versionedMessageFromResponse(version2, transaction.message)
                    },
                    version: version2
                  }))
                } : null;
              }
            }
          } catch (e3) {
            throw new SolanaJSONRPCError(e3, "failed to get confirmed block");
          }
        }
        /**
         * Fetch parsed transaction details for a confirmed or finalized block
         */
        // eslint-disable-next-line no-dupe-class-members
        // eslint-disable-next-line no-dupe-class-members
        // eslint-disable-next-line no-dupe-class-members
        async getParsedBlock(slot, rawConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(rawConfig);
          const args = this._buildArgsAtLeastConfirmed([slot], commitment, "jsonParsed", config);
          const unsafeRes = await this._rpcRequest("getBlock", args);
          try {
            switch (config?.transactionDetails) {
              case "accounts": {
                const res = create(unsafeRes, GetParsedAccountsModeBlockRpcResult);
                if ("error" in res) {
                  throw res.error;
                }
                return res.result;
              }
              case "none": {
                const res = create(unsafeRes, GetParsedNoneModeBlockRpcResult);
                if ("error" in res) {
                  throw res.error;
                }
                return res.result;
              }
              default: {
                const res = create(unsafeRes, GetParsedBlockRpcResult);
                if ("error" in res) {
                  throw res.error;
                }
                return res.result;
              }
            }
          } catch (e3) {
            throw new SolanaJSONRPCError(e3, "failed to get block");
          }
        }
        /*
         * Returns recent block production information from the current or previous epoch
         */
        async getBlockProduction(configOrCommitment) {
          let extra;
          let commitment;
          if (typeof configOrCommitment === "string") {
            commitment = configOrCommitment;
          } else if (configOrCommitment) {
            const {
              commitment: c2,
              ...rest
            } = configOrCommitment;
            commitment = c2;
            extra = rest;
          }
          const args = this._buildArgs([], commitment, "base64", extra);
          const unsafeRes = await this._rpcRequest("getBlockProduction", args);
          const res = create(unsafeRes, BlockProductionResponseStruct);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get block production information");
          }
          return res.result;
        }
        /**
         * Fetch a confirmed or finalized transaction from the cluster.
         *
         * @deprecated Instead, call `getTransaction` using a
         * `GetVersionedTransactionConfig` by setting the
         * `maxSupportedTransactionVersion` property.
         */
        /**
         * Fetch a confirmed or finalized transaction from the cluster.
         */
        // eslint-disable-next-line no-dupe-class-members
        /**
         * Fetch a confirmed or finalized transaction from the cluster.
         */
        // eslint-disable-next-line no-dupe-class-members
        async getTransaction(signature2, rawConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(rawConfig);
          const args = this._buildArgsAtLeastConfirmed([signature2], commitment, void 0, config);
          const unsafeRes = await this._rpcRequest("getTransaction", args);
          const res = create(unsafeRes, GetTransactionRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get transaction");
          }
          const result = res.result;
          if (!result) return result;
          return {
            ...result,
            transaction: {
              ...result.transaction,
              message: versionedMessageFromResponse(result.version, result.transaction.message)
            }
          };
        }
        /**
         * Fetch parsed transaction details for a confirmed or finalized transaction
         */
        async getParsedTransaction(signature2, commitmentOrConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          const args = this._buildArgsAtLeastConfirmed([signature2], commitment, "jsonParsed", config);
          const unsafeRes = await this._rpcRequest("getTransaction", args);
          const res = create(unsafeRes, GetParsedTransactionRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get transaction");
          }
          return res.result;
        }
        /**
         * Fetch parsed transaction details for a batch of confirmed transactions
         */
        async getParsedTransactions(signatures, commitmentOrConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          const batch = signatures.map((signature2) => {
            const args = this._buildArgsAtLeastConfirmed([signature2], commitment, "jsonParsed", config);
            return {
              methodName: "getTransaction",
              args
            };
          });
          const unsafeRes = await this._rpcBatchRequest(batch);
          const res = unsafeRes.map((unsafeRes2) => {
            const res2 = create(unsafeRes2, GetParsedTransactionRpcResult);
            if ("error" in res2) {
              throw new SolanaJSONRPCError(res2.error, "failed to get transactions");
            }
            return res2.result;
          });
          return res;
        }
        /**
         * Fetch transaction details for a batch of confirmed transactions.
         * Similar to {@link getParsedTransactions} but returns a {@link TransactionResponse}.
         *
         * @deprecated Instead, call `getTransactions` using a
         * `GetVersionedTransactionConfig` by setting the
         * `maxSupportedTransactionVersion` property.
         */
        /**
         * Fetch transaction details for a batch of confirmed transactions.
         * Similar to {@link getParsedTransactions} but returns a {@link
         * VersionedTransactionResponse}.
         */
        // eslint-disable-next-line no-dupe-class-members
        /**
         * Fetch transaction details for a batch of confirmed transactions.
         * Similar to {@link getParsedTransactions} but returns a {@link
         * VersionedTransactionResponse}.
         */
        // eslint-disable-next-line no-dupe-class-members
        async getTransactions(signatures, commitmentOrConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          const batch = signatures.map((signature2) => {
            const args = this._buildArgsAtLeastConfirmed([signature2], commitment, void 0, config);
            return {
              methodName: "getTransaction",
              args
            };
          });
          const unsafeRes = await this._rpcBatchRequest(batch);
          const res = unsafeRes.map((unsafeRes2) => {
            const res2 = create(unsafeRes2, GetTransactionRpcResult);
            if ("error" in res2) {
              throw new SolanaJSONRPCError(res2.error, "failed to get transactions");
            }
            const result = res2.result;
            if (!result) return result;
            return {
              ...result,
              transaction: {
                ...result.transaction,
                message: versionedMessageFromResponse(result.version, result.transaction.message)
              }
            };
          });
          return res;
        }
        /**
         * Fetch a list of Transactions and transaction statuses from the cluster
         * for a confirmed block.
         *
         * @deprecated Deprecated since RPC v1.7.0. Please use {@link getBlock} instead.
         */
        async getConfirmedBlock(slot, commitment) {
          const args = this._buildArgsAtLeastConfirmed([slot], commitment);
          const unsafeRes = await this._rpcRequest("getBlock", args);
          const res = create(unsafeRes, GetConfirmedBlockRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get confirmed block");
          }
          const result = res.result;
          if (!result) {
            throw new Error("Confirmed block " + slot + " not found");
          }
          const block = {
            ...result,
            transactions: result.transactions.map(({
              transaction,
              meta
            }) => {
              const message = new Message(transaction.message);
              return {
                meta,
                transaction: {
                  ...transaction,
                  message
                }
              };
            })
          };
          return {
            ...block,
            transactions: block.transactions.map(({
              transaction,
              meta
            }) => {
              return {
                meta,
                transaction: Transaction.populate(transaction.message, transaction.signatures)
              };
            })
          };
        }
        /**
         * Fetch confirmed blocks between two slots
         */
        async getBlocks(startSlot, endSlot, commitment) {
          const args = this._buildArgsAtLeastConfirmed(endSlot !== void 0 ? [startSlot, endSlot] : [startSlot], commitment);
          const unsafeRes = await this._rpcRequest("getBlocks", args);
          const res = create(unsafeRes, jsonRpcResult(array(number2())));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get blocks");
          }
          return res.result;
        }
        /**
         * Fetch a list of Signatures from the cluster for a block, excluding rewards
         */
        async getBlockSignatures(slot, commitment) {
          const args = this._buildArgsAtLeastConfirmed([slot], commitment, void 0, {
            transactionDetails: "signatures",
            rewards: false
          });
          const unsafeRes = await this._rpcRequest("getBlock", args);
          const res = create(unsafeRes, GetBlockSignaturesRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get block");
          }
          const result = res.result;
          if (!result) {
            throw new Error("Block " + slot + " not found");
          }
          return result;
        }
        /**
         * Fetch a list of Signatures from the cluster for a confirmed block, excluding rewards
         *
         * @deprecated Deprecated since RPC v1.7.0. Please use {@link getBlockSignatures} instead.
         */
        async getConfirmedBlockSignatures(slot, commitment) {
          const args = this._buildArgsAtLeastConfirmed([slot], commitment, void 0, {
            transactionDetails: "signatures",
            rewards: false
          });
          const unsafeRes = await this._rpcRequest("getBlock", args);
          const res = create(unsafeRes, GetBlockSignaturesRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get confirmed block");
          }
          const result = res.result;
          if (!result) {
            throw new Error("Confirmed block " + slot + " not found");
          }
          return result;
        }
        /**
         * Fetch a transaction details for a confirmed transaction
         *
         * @deprecated Deprecated since RPC v1.7.0. Please use {@link getTransaction} instead.
         */
        async getConfirmedTransaction(signature2, commitment) {
          const args = this._buildArgsAtLeastConfirmed([signature2], commitment);
          const unsafeRes = await this._rpcRequest("getTransaction", args);
          const res = create(unsafeRes, GetTransactionRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get transaction");
          }
          const result = res.result;
          if (!result) return result;
          const message = new Message(result.transaction.message);
          const signatures = result.transaction.signatures;
          return {
            ...result,
            transaction: Transaction.populate(message, signatures)
          };
        }
        /**
         * Fetch parsed transaction details for a confirmed transaction
         *
         * @deprecated Deprecated since RPC v1.7.0. Please use {@link getParsedTransaction} instead.
         */
        async getParsedConfirmedTransaction(signature2, commitment) {
          const args = this._buildArgsAtLeastConfirmed([signature2], commitment, "jsonParsed");
          const unsafeRes = await this._rpcRequest("getTransaction", args);
          const res = create(unsafeRes, GetParsedTransactionRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get confirmed transaction");
          }
          return res.result;
        }
        /**
         * Fetch parsed transaction details for a batch of confirmed transactions
         *
         * @deprecated Deprecated since RPC v1.7.0. Please use {@link getParsedTransactions} instead.
         */
        async getParsedConfirmedTransactions(signatures, commitment) {
          const batch = signatures.map((signature2) => {
            const args = this._buildArgsAtLeastConfirmed([signature2], commitment, "jsonParsed");
            return {
              methodName: "getTransaction",
              args
            };
          });
          const unsafeRes = await this._rpcBatchRequest(batch);
          const res = unsafeRes.map((unsafeRes2) => {
            const res2 = create(unsafeRes2, GetParsedTransactionRpcResult);
            if ("error" in res2) {
              throw new SolanaJSONRPCError(res2.error, "failed to get confirmed transactions");
            }
            return res2.result;
          });
          return res;
        }
        /**
         * Fetch a list of all the confirmed signatures for transactions involving an address
         * within a specified slot range. Max range allowed is 10,000 slots.
         *
         * @deprecated Deprecated since RPC v1.3. Please use {@link getConfirmedSignaturesForAddress2} instead.
         *
         * @param address queried address
         * @param startSlot start slot, inclusive
         * @param endSlot end slot, inclusive
         */
        async getConfirmedSignaturesForAddress(address, startSlot, endSlot) {
          let options2 = {};
          let firstAvailableBlock = await this.getFirstAvailableBlock();
          while (!("until" in options2)) {
            startSlot--;
            if (startSlot <= 0 || startSlot < firstAvailableBlock) {
              break;
            }
            try {
              const block = await this.getConfirmedBlockSignatures(startSlot, "finalized");
              if (block.signatures.length > 0) {
                options2.until = block.signatures[block.signatures.length - 1].toString();
              }
            } catch (err) {
              if (err instanceof Error && err.message.includes("skipped")) {
                continue;
              } else {
                throw err;
              }
            }
          }
          let highestConfirmedRoot = await this.getSlot("finalized");
          while (!("before" in options2)) {
            endSlot++;
            if (endSlot > highestConfirmedRoot) {
              break;
            }
            try {
              const block = await this.getConfirmedBlockSignatures(endSlot);
              if (block.signatures.length > 0) {
                options2.before = block.signatures[block.signatures.length - 1].toString();
              }
            } catch (err) {
              if (err instanceof Error && err.message.includes("skipped")) {
                continue;
              } else {
                throw err;
              }
            }
          }
          const confirmedSignatureInfo = await this.getConfirmedSignaturesForAddress2(address, options2);
          return confirmedSignatureInfo.map((info) => info.signature);
        }
        /**
         * Returns confirmed signatures for transactions involving an
         * address backwards in time from the provided signature or most recent confirmed block
         *
         * @deprecated Deprecated since RPC v1.7.0. Please use {@link getSignaturesForAddress} instead.
         */
        async getConfirmedSignaturesForAddress2(address, options2, commitment) {
          const args = this._buildArgsAtLeastConfirmed([address.toBase58()], commitment, void 0, options2);
          const unsafeRes = await this._rpcRequest("getConfirmedSignaturesForAddress2", args);
          const res = create(unsafeRes, GetConfirmedSignaturesForAddress2RpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get confirmed signatures for address");
          }
          return res.result;
        }
        /**
         * Returns confirmed signatures for transactions involving an
         * address backwards in time from the provided signature or most recent confirmed block
         *
         *
         * @param address queried address
         * @param options
         */
        async getSignaturesForAddress(address, options2, commitment) {
          const args = this._buildArgsAtLeastConfirmed([address.toBase58()], commitment, void 0, options2);
          const unsafeRes = await this._rpcRequest("getSignaturesForAddress", args);
          const res = create(unsafeRes, GetSignaturesForAddressRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, "failed to get signatures for address");
          }
          return res.result;
        }
        async getAddressLookupTable(accountKey, config) {
          const {
            context,
            value: accountInfo
          } = await this.getAccountInfoAndContext(accountKey, config);
          let value = null;
          if (accountInfo !== null) {
            value = new AddressLookupTableAccount({
              key: accountKey,
              state: AddressLookupTableAccount.deserialize(accountInfo.data)
            });
          }
          return {
            context,
            value
          };
        }
        /**
         * Fetch the contents of a Nonce account from the cluster, return with context
         */
        async getNonceAndContext(nonceAccount, commitmentOrConfig) {
          const {
            context,
            value: accountInfo
          } = await this.getAccountInfoAndContext(nonceAccount, commitmentOrConfig);
          let value = null;
          if (accountInfo !== null) {
            value = NonceAccount.fromAccountData(accountInfo.data);
          }
          return {
            context,
            value
          };
        }
        /**
         * Fetch the contents of a Nonce account from the cluster
         */
        async getNonce(nonceAccount, commitmentOrConfig) {
          return await this.getNonceAndContext(nonceAccount, commitmentOrConfig).then((x) => x.value).catch((e3) => {
            throw new Error("failed to get nonce for account " + nonceAccount.toBase58() + ": " + e3);
          });
        }
        /**
         * Request an allocation of lamports to the specified address
         *
         * ```typescript
         * import { Connection, PublicKey, LAMPORTS_PER_SOL } from "@solana/web3.js";
         *
         * (async () => {
         *   const connection = new Connection("https://api.testnet.solana.com", "confirmed");
         *   const myAddress = new PublicKey("2nr1bHFT86W9tGnyvmYW4vcHKsQB3sVQfnddasz4kExM");
         *   const signature = await connection.requestAirdrop(myAddress, LAMPORTS_PER_SOL);
         *   await connection.confirmTransaction(signature);
         * })();
         * ```
         */
        async requestAirdrop(to, lamports) {
          const unsafeRes = await this._rpcRequest("requestAirdrop", [to.toBase58(), lamports]);
          const res = create(unsafeRes, RequestAirdropRpcResult);
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, `airdrop to ${to.toBase58()} failed`);
          }
          return res.result;
        }
        /**
         * @internal
         */
        async _blockhashWithExpiryBlockHeight(disableCache) {
          if (!disableCache) {
            while (this._pollingBlockhash) {
              await sleep2(100);
            }
            const timeSinceFetch = Date.now() - this._blockhashInfo.lastFetch;
            const expired = timeSinceFetch >= BLOCKHASH_CACHE_TIMEOUT_MS;
            if (this._blockhashInfo.latestBlockhash !== null && !expired) {
              return this._blockhashInfo.latestBlockhash;
            }
          }
          return await this._pollNewBlockhash();
        }
        /**
         * @internal
         */
        async _pollNewBlockhash() {
          this._pollingBlockhash = true;
          try {
            const startTime = Date.now();
            const cachedLatestBlockhash = this._blockhashInfo.latestBlockhash;
            const cachedBlockhash = cachedLatestBlockhash ? cachedLatestBlockhash.blockhash : null;
            for (let i2 = 0; i2 < 50; i2++) {
              const latestBlockhash = await this.getLatestBlockhash("finalized");
              if (cachedBlockhash !== latestBlockhash.blockhash) {
                this._blockhashInfo = {
                  latestBlockhash,
                  lastFetch: Date.now(),
                  transactionSignatures: [],
                  simulatedSignatures: []
                };
                return latestBlockhash;
              }
              await sleep2(MS_PER_SLOT / 2);
            }
            throw new Error(`Unable to obtain a new blockhash after ${Date.now() - startTime}ms`);
          } finally {
            this._pollingBlockhash = false;
          }
        }
        /**
         * get the stake minimum delegation
         */
        async getStakeMinimumDelegation(config) {
          const {
            commitment,
            config: configArg
          } = extractCommitmentFromConfig(config);
          const args = this._buildArgs([], commitment, "base64", configArg);
          const unsafeRes = await this._rpcRequest("getStakeMinimumDelegation", args);
          const res = create(unsafeRes, jsonRpcResultAndContext(number2()));
          if ("error" in res) {
            throw new SolanaJSONRPCError(res.error, `failed to get stake minimum delegation`);
          }
          return res.result;
        }
        /**
         * Simulate a transaction
         *
         * @deprecated Instead, call {@link simulateTransaction} with {@link
         * VersionedTransaction} and {@link SimulateTransactionConfig} parameters
         */
        /**
         * Simulate a transaction
         */
        // eslint-disable-next-line no-dupe-class-members
        /**
         * Simulate a transaction
         */
        // eslint-disable-next-line no-dupe-class-members
        async simulateTransaction(transactionOrMessage, configOrSigners, includeAccounts) {
          if ("message" in transactionOrMessage) {
            const versionedTx = transactionOrMessage;
            const wireTransaction2 = versionedTx.serialize();
            const encodedTransaction2 = import_buffer2.Buffer.from(wireTransaction2).toString("base64");
            if (Array.isArray(configOrSigners) || includeAccounts !== void 0) {
              throw new Error("Invalid arguments");
            }
            const config2 = configOrSigners || {};
            config2.encoding = "base64";
            if (!("commitment" in config2)) {
              config2.commitment = this.commitment;
            }
            if (configOrSigners && typeof configOrSigners === "object" && "innerInstructions" in configOrSigners) {
              config2.innerInstructions = configOrSigners.innerInstructions;
            }
            const args2 = [encodedTransaction2, config2];
            const unsafeRes2 = await this._rpcRequest("simulateTransaction", args2);
            const res2 = create(unsafeRes2, SimulatedTransactionResponseStruct);
            if ("error" in res2) {
              throw new Error("failed to simulate transaction: " + res2.error.message);
            }
            return res2.result;
          }
          let transaction;
          if (transactionOrMessage instanceof Transaction) {
            let originalTx = transactionOrMessage;
            transaction = new Transaction();
            transaction.feePayer = originalTx.feePayer;
            transaction.instructions = transactionOrMessage.instructions;
            transaction.nonceInfo = originalTx.nonceInfo;
            transaction.signatures = originalTx.signatures;
          } else {
            transaction = Transaction.populate(transactionOrMessage);
            transaction._message = transaction._json = void 0;
          }
          if (configOrSigners !== void 0 && !Array.isArray(configOrSigners)) {
            throw new Error("Invalid arguments");
          }
          const signers = configOrSigners;
          if (transaction.nonceInfo && signers) {
            transaction.sign(...signers);
          } else {
            let disableCache = this._disableBlockhashCaching;
            for (; ; ) {
              const latestBlockhash = await this._blockhashWithExpiryBlockHeight(disableCache);
              transaction.lastValidBlockHeight = latestBlockhash.lastValidBlockHeight;
              transaction.recentBlockhash = latestBlockhash.blockhash;
              if (!signers) break;
              transaction.sign(...signers);
              if (!transaction.signature) {
                throw new Error("!signature");
              }
              const signature2 = transaction.signature.toString("base64");
              if (!this._blockhashInfo.simulatedSignatures.includes(signature2) && !this._blockhashInfo.transactionSignatures.includes(signature2)) {
                this._blockhashInfo.simulatedSignatures.push(signature2);
                break;
              } else {
                disableCache = true;
              }
            }
          }
          const message = transaction._compile();
          const signData = message.serialize();
          const wireTransaction = transaction._serialize(signData);
          const encodedTransaction = wireTransaction.toString("base64");
          const config = {
            encoding: "base64",
            commitment: this.commitment
          };
          if (includeAccounts) {
            const addresses = (Array.isArray(includeAccounts) ? includeAccounts : message.nonProgramIds()).map((key) => key.toBase58());
            config["accounts"] = {
              encoding: "base64",
              addresses
            };
          }
          if (signers) {
            config.sigVerify = true;
          }
          if (configOrSigners && typeof configOrSigners === "object" && "innerInstructions" in configOrSigners) {
            config.innerInstructions = configOrSigners.innerInstructions;
          }
          const args = [encodedTransaction, config];
          const unsafeRes = await this._rpcRequest("simulateTransaction", args);
          const res = create(unsafeRes, SimulatedTransactionResponseStruct);
          if ("error" in res) {
            let logs;
            if ("data" in res.error) {
              logs = res.error.data.logs;
              if (logs && Array.isArray(logs)) {
                const traceIndent = "\n    ";
                const logTrace = traceIndent + logs.join(traceIndent);
                console.error(res.error.message, logTrace);
              }
            }
            throw new SendTransactionError({
              action: "simulate",
              signature: "",
              transactionMessage: res.error.message,
              logs
            });
          }
          return res.result;
        }
        /**
         * Sign and send a transaction
         *
         * @deprecated Instead, call {@link sendTransaction} with a {@link
         * VersionedTransaction}
         */
        /**
         * Send a signed transaction
         */
        // eslint-disable-next-line no-dupe-class-members
        /**
         * Sign and send a transaction
         */
        // eslint-disable-next-line no-dupe-class-members
        async sendTransaction(transaction, signersOrOptions, options2) {
          if ("version" in transaction) {
            if (signersOrOptions && Array.isArray(signersOrOptions)) {
              throw new Error("Invalid arguments");
            }
            const wireTransaction2 = transaction.serialize();
            return await this.sendRawTransaction(wireTransaction2, signersOrOptions);
          }
          if (signersOrOptions === void 0 || !Array.isArray(signersOrOptions)) {
            throw new Error("Invalid arguments");
          }
          const signers = signersOrOptions;
          if (transaction.nonceInfo) {
            transaction.sign(...signers);
          } else {
            let disableCache = this._disableBlockhashCaching;
            for (; ; ) {
              const latestBlockhash = await this._blockhashWithExpiryBlockHeight(disableCache);
              transaction.lastValidBlockHeight = latestBlockhash.lastValidBlockHeight;
              transaction.recentBlockhash = latestBlockhash.blockhash;
              transaction.sign(...signers);
              if (!transaction.signature) {
                throw new Error("!signature");
              }
              const signature2 = transaction.signature.toString("base64");
              if (!this._blockhashInfo.transactionSignatures.includes(signature2)) {
                this._blockhashInfo.transactionSignatures.push(signature2);
                break;
              } else {
                disableCache = true;
              }
            }
          }
          const wireTransaction = transaction.serialize();
          return await this.sendRawTransaction(wireTransaction, options2);
        }
        /**
         * Send a transaction that has already been signed and serialized into the
         * wire format
         */
        async sendRawTransaction(rawTransaction, options2) {
          const encodedTransaction = toBuffer(rawTransaction).toString("base64");
          const result = await this.sendEncodedTransaction(encodedTransaction, options2);
          return result;
        }
        /**
         * Send a transaction that has already been signed, serialized into the
         * wire format, and encoded as a base64 string
         */
        async sendEncodedTransaction(encodedTransaction, options2) {
          const config = {
            encoding: "base64"
          };
          const skipPreflight = options2 && options2.skipPreflight;
          const preflightCommitment = skipPreflight === true ? "processed" : options2 && options2.preflightCommitment || this.commitment;
          if (options2 && options2.maxRetries != null) {
            config.maxRetries = options2.maxRetries;
          }
          if (options2 && options2.minContextSlot != null) {
            config.minContextSlot = options2.minContextSlot;
          }
          if (skipPreflight) {
            config.skipPreflight = skipPreflight;
          }
          if (preflightCommitment) {
            config.preflightCommitment = preflightCommitment;
          }
          const args = [encodedTransaction, config];
          const unsafeRes = await this._rpcRequest("sendTransaction", args);
          const res = create(unsafeRes, SendTransactionRpcResult);
          if ("error" in res) {
            let logs = void 0;
            if ("data" in res.error) {
              logs = res.error.data.logs;
            }
            throw new SendTransactionError({
              action: skipPreflight ? "send" : "simulate",
              signature: "",
              transactionMessage: res.error.message,
              logs
            });
          }
          return res.result;
        }
        /**
         * @internal
         */
        _wsOnOpen() {
          this._rpcWebSocketConnected = true;
          this._rpcWebSocketHeartbeat = setInterval(() => {
            (async () => {
              try {
                await this._rpcWebSocket.notify("ping");
              } catch {
              }
            })();
          }, 5e3);
          this._updateSubscriptions();
        }
        /**
         * @internal
         */
        _wsOnError(err) {
          this._rpcWebSocketConnected = false;
          console.error("ws error:", err.message);
        }
        /**
         * @internal
         */
        _wsOnClose(code) {
          this._rpcWebSocketConnected = false;
          this._rpcWebSocketGeneration = (this._rpcWebSocketGeneration + 1) % Number.MAX_SAFE_INTEGER;
          if (this._rpcWebSocketIdleTimeout) {
            clearTimeout(this._rpcWebSocketIdleTimeout);
            this._rpcWebSocketIdleTimeout = null;
          }
          if (this._rpcWebSocketHeartbeat) {
            clearInterval(this._rpcWebSocketHeartbeat);
            this._rpcWebSocketHeartbeat = null;
          }
          if (code === 1e3) {
            this._updateSubscriptions();
            return;
          }
          this._subscriptionCallbacksByServerSubscriptionId = {};
          Object.entries(this._subscriptionsByHash).forEach(([hash2, subscription]) => {
            this._setSubscription(hash2, {
              ...subscription,
              state: "pending"
            });
          });
        }
        /**
         * @internal
         */
        _setSubscription(hash2, nextSubscription) {
          const prevState = this._subscriptionsByHash[hash2]?.state;
          this._subscriptionsByHash[hash2] = nextSubscription;
          if (prevState !== nextSubscription.state) {
            const stateChangeCallbacks = this._subscriptionStateChangeCallbacksByHash[hash2];
            if (stateChangeCallbacks) {
              stateChangeCallbacks.forEach((cb) => {
                try {
                  cb(nextSubscription.state);
                } catch {
                }
              });
            }
          }
        }
        /**
         * @internal
         */
        _onSubscriptionStateChange(clientSubscriptionId, callback) {
          const hash2 = this._subscriptionHashByClientSubscriptionId[clientSubscriptionId];
          if (hash2 == null) {
            return () => {
            };
          }
          const stateChangeCallbacks = this._subscriptionStateChangeCallbacksByHash[hash2] ||= /* @__PURE__ */ new Set();
          stateChangeCallbacks.add(callback);
          return () => {
            stateChangeCallbacks.delete(callback);
            if (stateChangeCallbacks.size === 0) {
              delete this._subscriptionStateChangeCallbacksByHash[hash2];
            }
          };
        }
        /**
         * @internal
         */
        async _updateSubscriptions() {
          if (Object.keys(this._subscriptionsByHash).length === 0) {
            if (this._rpcWebSocketConnected) {
              this._rpcWebSocketConnected = false;
              this._rpcWebSocketIdleTimeout = setTimeout(() => {
                this._rpcWebSocketIdleTimeout = null;
                try {
                  this._rpcWebSocket.close();
                } catch (err) {
                  if (err instanceof Error) {
                    console.log(`Error when closing socket connection: ${err.message}`);
                  }
                }
              }, 500);
            }
            return;
          }
          if (this._rpcWebSocketIdleTimeout !== null) {
            clearTimeout(this._rpcWebSocketIdleTimeout);
            this._rpcWebSocketIdleTimeout = null;
            this._rpcWebSocketConnected = true;
          }
          if (!this._rpcWebSocketConnected) {
            this._rpcWebSocket.connect();
            return;
          }
          const activeWebSocketGeneration = this._rpcWebSocketGeneration;
          const isCurrentConnectionStillActive = () => {
            return activeWebSocketGeneration === this._rpcWebSocketGeneration;
          };
          await Promise.all(
            // Don't be tempted to change this to `Object.entries`. We call
            // `_updateSubscriptions` recursively when processing the state,
            // so it's important that we look up the *current* version of
            // each subscription, every time we process a hash.
            Object.keys(this._subscriptionsByHash).map(async (hash2) => {
              const subscription = this._subscriptionsByHash[hash2];
              if (subscription === void 0) {
                return;
              }
              switch (subscription.state) {
                case "pending":
                case "unsubscribed":
                  if (subscription.callbacks.size === 0) {
                    delete this._subscriptionsByHash[hash2];
                    if (subscription.state === "unsubscribed") {
                      delete this._subscriptionCallbacksByServerSubscriptionId[subscription.serverSubscriptionId];
                    }
                    await this._updateSubscriptions();
                    return;
                  }
                  await (async () => {
                    const {
                      args,
                      method
                    } = subscription;
                    try {
                      this._setSubscription(hash2, {
                        ...subscription,
                        state: "subscribing"
                      });
                      const serverSubscriptionId = await this._rpcWebSocket.call(method, args);
                      this._setSubscription(hash2, {
                        ...subscription,
                        serverSubscriptionId,
                        state: "subscribed"
                      });
                      this._subscriptionCallbacksByServerSubscriptionId[serverSubscriptionId] = subscription.callbacks;
                      await this._updateSubscriptions();
                    } catch (e3) {
                      console.error(`Received ${e3 instanceof Error ? "" : "JSON-RPC "}error calling \`${method}\``, {
                        args,
                        error: e3
                      });
                      if (!isCurrentConnectionStillActive()) {
                        return;
                      }
                      this._setSubscription(hash2, {
                        ...subscription,
                        state: "pending"
                      });
                      await this._updateSubscriptions();
                    }
                  })();
                  break;
                case "subscribed":
                  if (subscription.callbacks.size === 0) {
                    await (async () => {
                      const {
                        serverSubscriptionId,
                        unsubscribeMethod
                      } = subscription;
                      if (this._subscriptionsAutoDisposedByRpc.has(serverSubscriptionId)) {
                        this._subscriptionsAutoDisposedByRpc.delete(serverSubscriptionId);
                      } else {
                        this._setSubscription(hash2, {
                          ...subscription,
                          state: "unsubscribing"
                        });
                        this._setSubscription(hash2, {
                          ...subscription,
                          state: "unsubscribing"
                        });
                        try {
                          await this._rpcWebSocket.call(unsubscribeMethod, [serverSubscriptionId]);
                        } catch (e3) {
                          if (e3 instanceof Error) {
                            console.error(`${unsubscribeMethod} error:`, e3.message);
                          }
                          if (!isCurrentConnectionStillActive()) {
                            return;
                          }
                          this._setSubscription(hash2, {
                            ...subscription,
                            state: "subscribed"
                          });
                          await this._updateSubscriptions();
                          return;
                        }
                      }
                      this._setSubscription(hash2, {
                        ...subscription,
                        state: "unsubscribed"
                      });
                      await this._updateSubscriptions();
                    })();
                  }
                  break;
              }
            })
          );
        }
        /**
         * @internal
         */
        _handleServerNotification(serverSubscriptionId, callbackArgs) {
          const callbacks = this._subscriptionCallbacksByServerSubscriptionId[serverSubscriptionId];
          if (callbacks === void 0) {
            return;
          }
          callbacks.forEach((cb) => {
            try {
              cb(
                ...callbackArgs
              );
            } catch (e3) {
              console.error(e3);
            }
          });
        }
        /**
         * @internal
         */
        _wsOnAccountNotification(notification) {
          const {
            result,
            subscription
          } = create(notification, AccountNotificationResult);
          this._handleServerNotification(subscription, [result.value, result.context]);
        }
        /**
         * @internal
         */
        _makeSubscription(subscriptionConfig, args) {
          const clientSubscriptionId = this._nextClientSubscriptionId++;
          const hash2 = fastStableStringify([subscriptionConfig.method, args]);
          const existingSubscription = this._subscriptionsByHash[hash2];
          if (existingSubscription === void 0) {
            this._subscriptionsByHash[hash2] = {
              ...subscriptionConfig,
              args,
              callbacks: /* @__PURE__ */ new Set([subscriptionConfig.callback]),
              state: "pending"
            };
          } else {
            existingSubscription.callbacks.add(subscriptionConfig.callback);
          }
          this._subscriptionHashByClientSubscriptionId[clientSubscriptionId] = hash2;
          this._subscriptionDisposeFunctionsByClientSubscriptionId[clientSubscriptionId] = async () => {
            delete this._subscriptionDisposeFunctionsByClientSubscriptionId[clientSubscriptionId];
            delete this._subscriptionHashByClientSubscriptionId[clientSubscriptionId];
            const subscription = this._subscriptionsByHash[hash2];
            assert2(subscription !== void 0, `Could not find a \`Subscription\` when tearing down client subscription #${clientSubscriptionId}`);
            subscription.callbacks.delete(subscriptionConfig.callback);
            await this._updateSubscriptions();
          };
          this._updateSubscriptions();
          return clientSubscriptionId;
        }
        /**
         * Register a callback to be invoked whenever the specified account changes
         *
         * @param publicKey Public key of the account to monitor
         * @param callback Function to invoke whenever the account is changed
         * @param config
         * @return subscription id
         */
        /** @deprecated Instead, pass in an {@link AccountSubscriptionConfig} */
        // eslint-disable-next-line no-dupe-class-members
        // eslint-disable-next-line no-dupe-class-members
        onAccountChange(publicKey2, callback, commitmentOrConfig) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          const args = this._buildArgs(
            [publicKey2.toBase58()],
            commitment || this._commitment || "finalized",
            // Apply connection/server default.
            "base64",
            config
          );
          return this._makeSubscription({
            callback,
            method: "accountSubscribe",
            unsubscribeMethod: "accountUnsubscribe"
          }, args);
        }
        /**
         * Deregister an account notification callback
         *
         * @param clientSubscriptionId client subscription id to deregister
         */
        async removeAccountChangeListener(clientSubscriptionId) {
          await this._unsubscribeClientSubscription(clientSubscriptionId, "account change");
        }
        /**
         * @internal
         */
        _wsOnProgramAccountNotification(notification) {
          const {
            result,
            subscription
          } = create(notification, ProgramAccountNotificationResult);
          this._handleServerNotification(subscription, [{
            accountId: result.value.pubkey,
            accountInfo: result.value.account
          }, result.context]);
        }
        /**
         * Register a callback to be invoked whenever accounts owned by the
         * specified program change
         *
         * @param programId Public key of the program to monitor
         * @param callback Function to invoke whenever the account is changed
         * @param config
         * @return subscription id
         */
        /** @deprecated Instead, pass in a {@link ProgramAccountSubscriptionConfig} */
        // eslint-disable-next-line no-dupe-class-members
        // eslint-disable-next-line no-dupe-class-members
        onProgramAccountChange(programId, callback, commitmentOrConfig, maybeFilters) {
          const {
            commitment,
            config
          } = extractCommitmentFromConfig(commitmentOrConfig);
          const args = this._buildArgs(
            [programId.toBase58()],
            commitment || this._commitment || "finalized",
            // Apply connection/server default.
            "base64",
            config ? config : maybeFilters ? {
              filters: applyDefaultMemcmpEncodingToFilters(maybeFilters)
            } : void 0
            /* extra */
          );
          return this._makeSubscription({
            callback,
            method: "programSubscribe",
            unsubscribeMethod: "programUnsubscribe"
          }, args);
        }
        /**
         * Deregister an account notification callback
         *
         * @param clientSubscriptionId client subscription id to deregister
         */
        async removeProgramAccountChangeListener(clientSubscriptionId) {
          await this._unsubscribeClientSubscription(clientSubscriptionId, "program account change");
        }
        /**
         * Registers a callback to be invoked whenever logs are emitted.
         */
        onLogs(filter, callback, commitment) {
          const args = this._buildArgs(
            [typeof filter === "object" ? {
              mentions: [filter.toString()]
            } : filter],
            commitment || this._commitment || "finalized"
            // Apply connection/server default.
          );
          return this._makeSubscription({
            callback,
            method: "logsSubscribe",
            unsubscribeMethod: "logsUnsubscribe"
          }, args);
        }
        /**
         * Deregister a logs callback.
         *
         * @param clientSubscriptionId client subscription id to deregister.
         */
        async removeOnLogsListener(clientSubscriptionId) {
          await this._unsubscribeClientSubscription(clientSubscriptionId, "logs");
        }
        /**
         * @internal
         */
        _wsOnLogsNotification(notification) {
          const {
            result,
            subscription
          } = create(notification, LogsNotificationResult);
          this._handleServerNotification(subscription, [result.value, result.context]);
        }
        /**
         * @internal
         */
        _wsOnSlotNotification(notification) {
          const {
            result,
            subscription
          } = create(notification, SlotNotificationResult);
          this._handleServerNotification(subscription, [result]);
        }
        /**
         * Register a callback to be invoked upon slot changes
         *
         * @param callback Function to invoke whenever the slot changes
         * @return subscription id
         */
        onSlotChange(callback) {
          return this._makeSubscription(
            {
              callback,
              method: "slotSubscribe",
              unsubscribeMethod: "slotUnsubscribe"
            },
            []
            /* args */
          );
        }
        /**
         * Deregister a slot notification callback
         *
         * @param clientSubscriptionId client subscription id to deregister
         */
        async removeSlotChangeListener(clientSubscriptionId) {
          await this._unsubscribeClientSubscription(clientSubscriptionId, "slot change");
        }
        /**
         * @internal
         */
        _wsOnSlotUpdatesNotification(notification) {
          const {
            result,
            subscription
          } = create(notification, SlotUpdateNotificationResult);
          this._handleServerNotification(subscription, [result]);
        }
        /**
         * Register a callback to be invoked upon slot updates. {@link SlotUpdate}'s
         * may be useful to track live progress of a cluster.
         *
         * @param callback Function to invoke whenever the slot updates
         * @return subscription id
         */
        onSlotUpdate(callback) {
          return this._makeSubscription(
            {
              callback,
              method: "slotsUpdatesSubscribe",
              unsubscribeMethod: "slotsUpdatesUnsubscribe"
            },
            []
            /* args */
          );
        }
        /**
         * Deregister a slot update notification callback
         *
         * @param clientSubscriptionId client subscription id to deregister
         */
        async removeSlotUpdateListener(clientSubscriptionId) {
          await this._unsubscribeClientSubscription(clientSubscriptionId, "slot update");
        }
        /**
         * @internal
         */
        async _unsubscribeClientSubscription(clientSubscriptionId, subscriptionName) {
          const dispose = this._subscriptionDisposeFunctionsByClientSubscriptionId[clientSubscriptionId];
          if (dispose) {
            await dispose();
          } else {
            console.warn(`Ignored unsubscribe request because an active subscription with id \`${clientSubscriptionId}\` for '${subscriptionName}' events could not be found.`);
          }
        }
        _buildArgs(args, override, encoding, extra) {
          const commitment = override || this._commitment;
          if (commitment || encoding || extra) {
            let options2 = {};
            if (encoding) {
              options2.encoding = encoding;
            }
            if (commitment) {
              options2.commitment = commitment;
            }
            if (extra) {
              options2 = Object.assign(options2, extra);
            }
            args.push(options2);
          }
          return args;
        }
        /**
         * @internal
         */
        _buildArgsAtLeastConfirmed(args, override, encoding, extra) {
          const commitment = override || this._commitment;
          if (commitment && !["confirmed", "finalized"].includes(commitment)) {
            throw new Error("Using Connection with default commitment: `" + this._commitment + "`, but method requires at least `confirmed`");
          }
          return this._buildArgs(args, override, encoding, extra);
        }
        /**
         * @internal
         */
        _wsOnSignatureNotification(notification) {
          const {
            result,
            subscription
          } = create(notification, SignatureNotificationResult);
          if (result.value !== "receivedSignature") {
            this._subscriptionsAutoDisposedByRpc.add(subscription);
          }
          this._handleServerNotification(subscription, result.value === "receivedSignature" ? [{
            type: "received"
          }, result.context] : [{
            type: "status",
            result: result.value
          }, result.context]);
        }
        /**
         * Register a callback to be invoked upon signature updates
         *
         * @param signature Transaction signature string in base 58
         * @param callback Function to invoke on signature notifications
         * @param commitment Specify the commitment level signature must reach before notification
         * @return subscription id
         */
        onSignature(signature2, callback, commitment) {
          const args = this._buildArgs(
            [signature2],
            commitment || this._commitment || "finalized"
            // Apply connection/server default.
          );
          const clientSubscriptionId = this._makeSubscription({
            callback: (notification, context) => {
              if (notification.type === "status") {
                callback(notification.result, context);
                try {
                  this.removeSignatureListener(clientSubscriptionId);
                } catch (_err) {
                }
              }
            },
            method: "signatureSubscribe",
            unsubscribeMethod: "signatureUnsubscribe"
          }, args);
          return clientSubscriptionId;
        }
        /**
         * Register a callback to be invoked when a transaction is
         * received and/or processed.
         *
         * @param signature Transaction signature string in base 58
         * @param callback Function to invoke on signature notifications
         * @param options Enable received notifications and set the commitment
         *   level that signature must reach before notification
         * @return subscription id
         */
        onSignatureWithOptions(signature2, callback, options2) {
          const {
            commitment,
            ...extra
          } = {
            ...options2,
            commitment: options2 && options2.commitment || this._commitment || "finalized"
            // Apply connection/server default.
          };
          const args = this._buildArgs([signature2], commitment, void 0, extra);
          const clientSubscriptionId = this._makeSubscription({
            callback: (notification, context) => {
              callback(notification, context);
              try {
                this.removeSignatureListener(clientSubscriptionId);
              } catch (_err) {
              }
            },
            method: "signatureSubscribe",
            unsubscribeMethod: "signatureUnsubscribe"
          }, args);
          return clientSubscriptionId;
        }
        /**
         * Deregister a signature notification callback
         *
         * @param clientSubscriptionId client subscription id to deregister
         */
        async removeSignatureListener(clientSubscriptionId) {
          await this._unsubscribeClientSubscription(clientSubscriptionId, "signature result");
        }
        /**
         * @internal
         */
        _wsOnRootNotification(notification) {
          const {
            result,
            subscription
          } = create(notification, RootNotificationResult);
          this._handleServerNotification(subscription, [result]);
        }
        /**
         * Register a callback to be invoked upon root changes
         *
         * @param callback Function to invoke whenever the root changes
         * @return subscription id
         */
        onRootChange(callback) {
          return this._makeSubscription(
            {
              callback,
              method: "rootSubscribe",
              unsubscribeMethod: "rootUnsubscribe"
            },
            []
            /* args */
          );
        }
        /**
         * Deregister a root notification callback
         *
         * @param clientSubscriptionId client subscription id to deregister
         */
        async removeRootChangeListener(clientSubscriptionId) {
          await this._unsubscribeClientSubscription(clientSubscriptionId, "root change");
        }
      };
      Keypair = class _Keypair {
        /**
         * Create a new keypair instance.
         * Generate random keypair if no {@link Ed25519Keypair} is provided.
         *
         * @param {Ed25519Keypair} keypair ed25519 keypair
         */
        constructor(keypair) {
          this._keypair = void 0;
          this._keypair = keypair ?? generateKeypair();
        }
        /**
         * Generate a new random keypair
         *
         * @returns {Keypair} Keypair
         */
        static generate() {
          return new _Keypair(generateKeypair());
        }
        /**
         * Create a keypair from a raw secret key byte array.
         *
         * This method should only be used to recreate a keypair from a previously
         * generated secret key. Generating keypairs from a random seed should be done
         * with the {@link Keypair.fromSeed} method.
         *
         * @throws error if the provided secret key is invalid and validation is not skipped.
         *
         * @param secretKey secret key byte array
         * @param options skip secret key validation
         *
         * @returns {Keypair} Keypair
         */
        static fromSecretKey(secretKey, options2) {
          if (secretKey.byteLength !== 64) {
            throw new Error("bad secret key size");
          }
          const publicKey2 = secretKey.slice(32, 64);
          if (!options2 || !options2.skipValidation) {
            const privateScalar = secretKey.slice(0, 32);
            const computedPublicKey = getPublicKey(privateScalar);
            for (let ii = 0; ii < 32; ii++) {
              if (publicKey2[ii] !== computedPublicKey[ii]) {
                throw new Error("provided secretKey is invalid");
              }
            }
          }
          return new _Keypair({
            publicKey: publicKey2,
            secretKey
          });
        }
        /**
         * Generate a keypair from a 32 byte seed.
         *
         * @param seed seed byte array
         *
         * @returns {Keypair} Keypair
         */
        static fromSeed(seed) {
          const publicKey2 = getPublicKey(seed);
          const secretKey = new Uint8Array(64);
          secretKey.set(seed);
          secretKey.set(publicKey2, 32);
          return new _Keypair({
            publicKey: publicKey2,
            secretKey
          });
        }
        /**
         * The public key for this keypair
         *
         * @returns {PublicKey} PublicKey
         */
        get publicKey() {
          return new PublicKey(this._keypair.publicKey);
        }
        /**
         * The raw secret key for this keypair
         * @returns {Uint8Array} Secret key in an array of Uint8 bytes
         */
        get secretKey() {
          return new Uint8Array(this._keypair.secretKey);
        }
      };
      LOOKUP_TABLE_INSTRUCTION_LAYOUTS = Object.freeze({
        CreateLookupTable: {
          index: 0,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), u64("recentSlot"), BufferLayout.u8("bumpSeed")])
        },
        FreezeLookupTable: {
          index: 1,
          layout: BufferLayout.struct([BufferLayout.u32("instruction")])
        },
        ExtendLookupTable: {
          index: 2,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), u64(), BufferLayout.seq(publicKey(), BufferLayout.offset(BufferLayout.u32(), -8), "addresses")])
        },
        DeactivateLookupTable: {
          index: 3,
          layout: BufferLayout.struct([BufferLayout.u32("instruction")])
        },
        CloseLookupTable: {
          index: 4,
          layout: BufferLayout.struct([BufferLayout.u32("instruction")])
        }
      });
      AddressLookupTableProgram = class {
        /**
         * @internal
         */
        constructor() {
        }
        static createLookupTable(params) {
          const [lookupTableAddress, bumpSeed] = PublicKey.findProgramAddressSync([params.authority.toBuffer(), getU64Encoder().encode(params.recentSlot)], this.programId);
          const type2 = LOOKUP_TABLE_INSTRUCTION_LAYOUTS.CreateLookupTable;
          const data2 = encodeData(type2, {
            recentSlot: BigInt(params.recentSlot),
            bumpSeed
          });
          const keys2 = [{
            pubkey: lookupTableAddress,
            isSigner: false,
            isWritable: true
          }, {
            pubkey: params.authority,
            isSigner: true,
            isWritable: false
          }, {
            pubkey: params.payer,
            isSigner: true,
            isWritable: true
          }, {
            pubkey: SystemProgram.programId,
            isSigner: false,
            isWritable: false
          }];
          return [new TransactionInstruction({
            programId: this.programId,
            keys: keys2,
            data: data2
          }), lookupTableAddress];
        }
        static freezeLookupTable(params) {
          const type2 = LOOKUP_TABLE_INSTRUCTION_LAYOUTS.FreezeLookupTable;
          const data2 = encodeData(type2);
          const keys2 = [{
            pubkey: params.lookupTable,
            isSigner: false,
            isWritable: true
          }, {
            pubkey: params.authority,
            isSigner: true,
            isWritable: false
          }];
          return new TransactionInstruction({
            programId: this.programId,
            keys: keys2,
            data: data2
          });
        }
        static extendLookupTable(params) {
          const type2 = LOOKUP_TABLE_INSTRUCTION_LAYOUTS.ExtendLookupTable;
          const data2 = encodeData(type2, {
            addresses: params.addresses.map((addr) => addr.toBytes())
          });
          const keys2 = [{
            pubkey: params.lookupTable,
            isSigner: false,
            isWritable: true
          }, {
            pubkey: params.authority,
            isSigner: true,
            isWritable: false
          }];
          if (params.payer) {
            keys2.push({
              pubkey: params.payer,
              isSigner: true,
              isWritable: true
            }, {
              pubkey: SystemProgram.programId,
              isSigner: false,
              isWritable: false
            });
          }
          return new TransactionInstruction({
            programId: this.programId,
            keys: keys2,
            data: data2
          });
        }
        static deactivateLookupTable(params) {
          const type2 = LOOKUP_TABLE_INSTRUCTION_LAYOUTS.DeactivateLookupTable;
          const data2 = encodeData(type2);
          const keys2 = [{
            pubkey: params.lookupTable,
            isSigner: false,
            isWritable: true
          }, {
            pubkey: params.authority,
            isSigner: true,
            isWritable: false
          }];
          return new TransactionInstruction({
            programId: this.programId,
            keys: keys2,
            data: data2
          });
        }
        static closeLookupTable(params) {
          const type2 = LOOKUP_TABLE_INSTRUCTION_LAYOUTS.CloseLookupTable;
          const data2 = encodeData(type2);
          const keys2 = [{
            pubkey: params.lookupTable,
            isSigner: false,
            isWritable: true
          }, {
            pubkey: params.authority,
            isSigner: true,
            isWritable: false
          }, {
            pubkey: params.recipient,
            isSigner: false,
            isWritable: true
          }];
          return new TransactionInstruction({
            programId: this.programId,
            keys: keys2,
            data: data2
          });
        }
      };
      AddressLookupTableProgram.programId = new PublicKey("AddressLookupTab1e1111111111111111111111111");
      COMPUTE_BUDGET_INSTRUCTION_LAYOUTS = Object.freeze({
        RequestUnits: {
          index: 0,
          layout: BufferLayout.struct([BufferLayout.u8("instruction"), BufferLayout.u32("units"), BufferLayout.u32("additionalFee")])
        },
        RequestHeapFrame: {
          index: 1,
          layout: BufferLayout.struct([BufferLayout.u8("instruction"), BufferLayout.u32("bytes")])
        },
        SetComputeUnitLimit: {
          index: 2,
          layout: BufferLayout.struct([BufferLayout.u8("instruction"), BufferLayout.u32("units")])
        },
        SetComputeUnitPrice: {
          index: 3,
          layout: BufferLayout.struct([BufferLayout.u8("instruction"), u64("microLamports")])
        }
      });
      ComputeBudgetProgram = class {
        /**
         * @internal
         */
        constructor() {
        }
        /**
         * Public key that identifies the Compute Budget program
         */
        /**
         * @deprecated Instead, call {@link setComputeUnitLimit} and/or {@link setComputeUnitPrice}
         */
        static requestUnits(params) {
          const type2 = COMPUTE_BUDGET_INSTRUCTION_LAYOUTS.RequestUnits;
          const data2 = encodeData(type2, params);
          return new TransactionInstruction({
            keys: [],
            programId: this.programId,
            data: data2
          });
        }
        static requestHeapFrame(params) {
          const type2 = COMPUTE_BUDGET_INSTRUCTION_LAYOUTS.RequestHeapFrame;
          const data2 = encodeData(type2, params);
          return new TransactionInstruction({
            keys: [],
            programId: this.programId,
            data: data2
          });
        }
        static setComputeUnitLimit(params) {
          const type2 = COMPUTE_BUDGET_INSTRUCTION_LAYOUTS.SetComputeUnitLimit;
          const data2 = encodeData(type2, params);
          return new TransactionInstruction({
            keys: [],
            programId: this.programId,
            data: data2
          });
        }
        static setComputeUnitPrice(params) {
          const type2 = COMPUTE_BUDGET_INSTRUCTION_LAYOUTS.SetComputeUnitPrice;
          const data2 = encodeData(type2, {
            microLamports: BigInt(params.microLamports)
          });
          return new TransactionInstruction({
            keys: [],
            programId: this.programId,
            data: data2
          });
        }
      };
      ComputeBudgetProgram.programId = new PublicKey("ComputeBudget111111111111111111111111111111");
      PRIVATE_KEY_BYTES$1 = 64;
      PUBLIC_KEY_BYTES$1 = 32;
      SIGNATURE_BYTES = 64;
      ED25519_INSTRUCTION_LAYOUT = BufferLayout.struct([BufferLayout.u8("numSignatures"), BufferLayout.u8("padding"), BufferLayout.u16("signatureOffset"), BufferLayout.u16("signatureInstructionIndex"), BufferLayout.u16("publicKeyOffset"), BufferLayout.u16("publicKeyInstructionIndex"), BufferLayout.u16("messageDataOffset"), BufferLayout.u16("messageDataSize"), BufferLayout.u16("messageInstructionIndex")]);
      Ed25519Program = class _Ed25519Program {
        /**
         * @internal
         */
        constructor() {
        }
        /**
         * Public key that identifies the ed25519 program
         */
        /**
         * Create an ed25519 instruction with a public key and signature. The
         * public key must be a buffer that is 32 bytes long, and the signature
         * must be a buffer of 64 bytes.
         */
        static createInstructionWithPublicKey(params) {
          const {
            publicKey: publicKey2,
            message,
            signature: signature2,
            instructionIndex
          } = params;
          assert2(publicKey2.length === PUBLIC_KEY_BYTES$1, `Public Key must be ${PUBLIC_KEY_BYTES$1} bytes but received ${publicKey2.length} bytes`);
          assert2(signature2.length === SIGNATURE_BYTES, `Signature must be ${SIGNATURE_BYTES} bytes but received ${signature2.length} bytes`);
          const publicKeyOffset = ED25519_INSTRUCTION_LAYOUT.span;
          const signatureOffset = publicKeyOffset + publicKey2.length;
          const messageDataOffset = signatureOffset + signature2.length;
          const numSignatures = 1;
          const instructionData = import_buffer2.Buffer.alloc(messageDataOffset + message.length);
          const index3 = instructionIndex == null ? 65535 : instructionIndex;
          ED25519_INSTRUCTION_LAYOUT.encode({
            numSignatures,
            padding: 0,
            signatureOffset,
            signatureInstructionIndex: index3,
            publicKeyOffset,
            publicKeyInstructionIndex: index3,
            messageDataOffset,
            messageDataSize: message.length,
            messageInstructionIndex: index3
          }, instructionData);
          instructionData.fill(publicKey2, publicKeyOffset);
          instructionData.fill(signature2, signatureOffset);
          instructionData.fill(message, messageDataOffset);
          return new TransactionInstruction({
            keys: [],
            programId: _Ed25519Program.programId,
            data: instructionData
          });
        }
        /**
         * Create an ed25519 instruction with a private key. The private key
         * must be a buffer that is 64 bytes long.
         */
        static createInstructionWithPrivateKey(params) {
          const {
            privateKey,
            message,
            instructionIndex
          } = params;
          assert2(privateKey.length === PRIVATE_KEY_BYTES$1, `Private key must be ${PRIVATE_KEY_BYTES$1} bytes but received ${privateKey.length} bytes`);
          try {
            const keypair = Keypair.fromSecretKey(privateKey);
            const publicKey2 = keypair.publicKey.toBytes();
            const signature2 = sign(message, keypair.secretKey);
            return this.createInstructionWithPublicKey({
              publicKey: publicKey2,
              message,
              signature: signature2,
              instructionIndex
            });
          } catch (error2) {
            throw new Error(`Error creating instruction; ${error2}`);
          }
        }
      };
      Ed25519Program.programId = new PublicKey("Ed25519SigVerify111111111111111111111111111");
      ecdsaSign = (msgHash, privKey) => {
        const signature2 = secp256k1.sign(msgHash, privKey);
        return [signature2.toCompactRawBytes(), signature2.recovery];
      };
      secp256k1.utils.isValidPrivateKey;
      publicKeyCreate = secp256k1.getPublicKey;
      PRIVATE_KEY_BYTES = 32;
      ETHEREUM_ADDRESS_BYTES = 20;
      PUBLIC_KEY_BYTES = 64;
      SIGNATURE_OFFSETS_SERIALIZED_SIZE = 11;
      SECP256K1_INSTRUCTION_LAYOUT = BufferLayout.struct([BufferLayout.u8("numSignatures"), BufferLayout.u16("signatureOffset"), BufferLayout.u8("signatureInstructionIndex"), BufferLayout.u16("ethAddressOffset"), BufferLayout.u8("ethAddressInstructionIndex"), BufferLayout.u16("messageDataOffset"), BufferLayout.u16("messageDataSize"), BufferLayout.u8("messageInstructionIndex"), BufferLayout.blob(20, "ethAddress"), BufferLayout.blob(64, "signature"), BufferLayout.u8("recoveryId")]);
      Secp256k1Program = class _Secp256k1Program {
        /**
         * @internal
         */
        constructor() {
        }
        /**
         * Public key that identifies the secp256k1 program
         */
        /**
         * Construct an Ethereum address from a secp256k1 public key buffer.
         * @param {Buffer} publicKey a 64 byte secp256k1 public key buffer
         */
        static publicKeyToEthAddress(publicKey2) {
          assert2(publicKey2.length === PUBLIC_KEY_BYTES, `Public key must be ${PUBLIC_KEY_BYTES} bytes but received ${publicKey2.length} bytes`);
          try {
            return import_buffer2.Buffer.from(keccak_256(toBuffer(publicKey2))).slice(-ETHEREUM_ADDRESS_BYTES);
          } catch (error2) {
            throw new Error(`Error constructing Ethereum address: ${error2}`);
          }
        }
        /**
         * Create an secp256k1 instruction with a public key. The public key
         * must be a buffer that is 64 bytes long.
         */
        static createInstructionWithPublicKey(params) {
          const {
            publicKey: publicKey2,
            message,
            signature: signature2,
            recoveryId,
            instructionIndex
          } = params;
          return _Secp256k1Program.createInstructionWithEthAddress({
            ethAddress: _Secp256k1Program.publicKeyToEthAddress(publicKey2),
            message,
            signature: signature2,
            recoveryId,
            instructionIndex
          });
        }
        /**
         * Create an secp256k1 instruction with an Ethereum address. The address
         * must be a hex string or a buffer that is 20 bytes long.
         */
        static createInstructionWithEthAddress(params) {
          const {
            ethAddress: rawAddress,
            message,
            signature: signature2,
            recoveryId,
            instructionIndex = 0
          } = params;
          let ethAddress;
          if (typeof rawAddress === "string") {
            if (rawAddress.startsWith("0x")) {
              ethAddress = import_buffer2.Buffer.from(rawAddress.substr(2), "hex");
            } else {
              ethAddress = import_buffer2.Buffer.from(rawAddress, "hex");
            }
          } else {
            ethAddress = rawAddress;
          }
          assert2(ethAddress.length === ETHEREUM_ADDRESS_BYTES, `Address must be ${ETHEREUM_ADDRESS_BYTES} bytes but received ${ethAddress.length} bytes`);
          const dataStart = 1 + SIGNATURE_OFFSETS_SERIALIZED_SIZE;
          const ethAddressOffset = dataStart;
          const signatureOffset = dataStart + ethAddress.length;
          const messageDataOffset = signatureOffset + signature2.length + 1;
          const numSignatures = 1;
          const instructionData = import_buffer2.Buffer.alloc(SECP256K1_INSTRUCTION_LAYOUT.span + message.length);
          SECP256K1_INSTRUCTION_LAYOUT.encode({
            numSignatures,
            signatureOffset,
            signatureInstructionIndex: instructionIndex,
            ethAddressOffset,
            ethAddressInstructionIndex: instructionIndex,
            messageDataOffset,
            messageDataSize: message.length,
            messageInstructionIndex: instructionIndex,
            signature: toBuffer(signature2),
            ethAddress: toBuffer(ethAddress),
            recoveryId
          }, instructionData);
          instructionData.fill(toBuffer(message), SECP256K1_INSTRUCTION_LAYOUT.span);
          return new TransactionInstruction({
            keys: [],
            programId: _Secp256k1Program.programId,
            data: instructionData
          });
        }
        /**
         * Create an secp256k1 instruction with a private key. The private key
         * must be a buffer that is 32 bytes long.
         */
        static createInstructionWithPrivateKey(params) {
          const {
            privateKey: pkey,
            message,
            instructionIndex
          } = params;
          assert2(pkey.length === PRIVATE_KEY_BYTES, `Private key must be ${PRIVATE_KEY_BYTES} bytes but received ${pkey.length} bytes`);
          try {
            const privateKey = toBuffer(pkey);
            const publicKey2 = publicKeyCreate(
              privateKey,
              false
              /* isCompressed */
            ).slice(1);
            const messageHash = import_buffer2.Buffer.from(keccak_256(toBuffer(message)));
            const [signature2, recoveryId] = ecdsaSign(messageHash, privateKey);
            return this.createInstructionWithPublicKey({
              publicKey: publicKey2,
              message,
              signature: signature2,
              recoveryId,
              instructionIndex
            });
          } catch (error2) {
            throw new Error(`Error creating instruction; ${error2}`);
          }
        }
      };
      Secp256k1Program.programId = new PublicKey("KeccakSecp256k11111111111111111111111111111");
      STAKE_CONFIG_ID = new PublicKey("StakeConfig11111111111111111111111111111111");
      Lockup = class {
        /**
         * Create a new Lockup object
         */
        constructor(unixTimestamp, epoch, custodian) {
          this.unixTimestamp = void 0;
          this.epoch = void 0;
          this.custodian = void 0;
          this.unixTimestamp = unixTimestamp;
          this.epoch = epoch;
          this.custodian = custodian;
        }
        /**
         * Default, inactive Lockup value
         */
      };
      _Lockup = Lockup;
      Lockup.default = new _Lockup(0, 0, PublicKey.default);
      STAKE_INSTRUCTION_LAYOUTS = Object.freeze({
        Initialize: {
          index: 0,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), authorized(), lockup()])
        },
        Authorize: {
          index: 1,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), publicKey("newAuthorized"), BufferLayout.u32("stakeAuthorizationType")])
        },
        Delegate: {
          index: 2,
          layout: BufferLayout.struct([BufferLayout.u32("instruction")])
        },
        Split: {
          index: 3,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), BufferLayout.ns64("lamports")])
        },
        Withdraw: {
          index: 4,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), BufferLayout.ns64("lamports")])
        },
        Deactivate: {
          index: 5,
          layout: BufferLayout.struct([BufferLayout.u32("instruction")])
        },
        Merge: {
          index: 7,
          layout: BufferLayout.struct([BufferLayout.u32("instruction")])
        },
        AuthorizeWithSeed: {
          index: 8,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), publicKey("newAuthorized"), BufferLayout.u32("stakeAuthorizationType"), rustString("authoritySeed"), publicKey("authorityOwner")])
        }
      });
      StakeAuthorizationLayout = Object.freeze({
        Staker: {
          index: 0
        },
        Withdrawer: {
          index: 1
        }
      });
      StakeProgram = class {
        /**
         * @internal
         */
        constructor() {
        }
        /**
         * Public key that identifies the Stake program
         */
        /**
         * Generate an Initialize instruction to add to a Stake Create transaction
         */
        static initialize(params) {
          const {
            stakePubkey,
            authorized: authorized2,
            lockup: maybeLockup
          } = params;
          const lockup2 = maybeLockup || Lockup.default;
          const type2 = STAKE_INSTRUCTION_LAYOUTS.Initialize;
          const data2 = encodeData(type2, {
            authorized: {
              staker: toBuffer(authorized2.staker.toBuffer()),
              withdrawer: toBuffer(authorized2.withdrawer.toBuffer())
            },
            lockup: {
              unixTimestamp: lockup2.unixTimestamp,
              epoch: lockup2.epoch,
              custodian: toBuffer(lockup2.custodian.toBuffer())
            }
          });
          const instructionData = {
            keys: [{
              pubkey: stakePubkey,
              isSigner: false,
              isWritable: true
            }, {
              pubkey: SYSVAR_RENT_PUBKEY,
              isSigner: false,
              isWritable: false
            }],
            programId: this.programId,
            data: data2
          };
          return new TransactionInstruction(instructionData);
        }
        /**
         * Generate a Transaction that creates a new Stake account at
         *   an address generated with `from`, a seed, and the Stake programId
         */
        static createAccountWithSeed(params) {
          const transaction = new Transaction();
          transaction.add(SystemProgram.createAccountWithSeed({
            fromPubkey: params.fromPubkey,
            newAccountPubkey: params.stakePubkey,
            basePubkey: params.basePubkey,
            seed: params.seed,
            lamports: params.lamports,
            space: this.space,
            programId: this.programId
          }));
          const {
            stakePubkey,
            authorized: authorized2,
            lockup: lockup2
          } = params;
          return transaction.add(this.initialize({
            stakePubkey,
            authorized: authorized2,
            lockup: lockup2
          }));
        }
        /**
         * Generate a Transaction that creates a new Stake account
         */
        static createAccount(params) {
          const transaction = new Transaction();
          transaction.add(SystemProgram.createAccount({
            fromPubkey: params.fromPubkey,
            newAccountPubkey: params.stakePubkey,
            lamports: params.lamports,
            space: this.space,
            programId: this.programId
          }));
          const {
            stakePubkey,
            authorized: authorized2,
            lockup: lockup2
          } = params;
          return transaction.add(this.initialize({
            stakePubkey,
            authorized: authorized2,
            lockup: lockup2
          }));
        }
        /**
         * Generate a Transaction that delegates Stake tokens to a validator
         * Vote PublicKey. This transaction can also be used to redelegate Stake
         * to a new validator Vote PublicKey.
         */
        static delegate(params) {
          const {
            stakePubkey,
            authorizedPubkey,
            votePubkey
          } = params;
          const type2 = STAKE_INSTRUCTION_LAYOUTS.Delegate;
          const data2 = encodeData(type2);
          return new Transaction().add({
            keys: [{
              pubkey: stakePubkey,
              isSigner: false,
              isWritable: true
            }, {
              pubkey: votePubkey,
              isSigner: false,
              isWritable: false
            }, {
              pubkey: SYSVAR_CLOCK_PUBKEY,
              isSigner: false,
              isWritable: false
            }, {
              pubkey: SYSVAR_STAKE_HISTORY_PUBKEY,
              isSigner: false,
              isWritable: false
            }, {
              pubkey: STAKE_CONFIG_ID,
              isSigner: false,
              isWritable: false
            }, {
              pubkey: authorizedPubkey,
              isSigner: true,
              isWritable: false
            }],
            programId: this.programId,
            data: data2
          });
        }
        /**
         * Generate a Transaction that authorizes a new PublicKey as Staker
         * or Withdrawer on the Stake account.
         */
        static authorize(params) {
          const {
            stakePubkey,
            authorizedPubkey,
            newAuthorizedPubkey,
            stakeAuthorizationType,
            custodianPubkey
          } = params;
          const type2 = STAKE_INSTRUCTION_LAYOUTS.Authorize;
          const data2 = encodeData(type2, {
            newAuthorized: toBuffer(newAuthorizedPubkey.toBuffer()),
            stakeAuthorizationType: stakeAuthorizationType.index
          });
          const keys2 = [{
            pubkey: stakePubkey,
            isSigner: false,
            isWritable: true
          }, {
            pubkey: SYSVAR_CLOCK_PUBKEY,
            isSigner: false,
            isWritable: true
          }, {
            pubkey: authorizedPubkey,
            isSigner: true,
            isWritable: false
          }];
          if (custodianPubkey) {
            keys2.push({
              pubkey: custodianPubkey,
              isSigner: true,
              isWritable: false
            });
          }
          return new Transaction().add({
            keys: keys2,
            programId: this.programId,
            data: data2
          });
        }
        /**
         * Generate a Transaction that authorizes a new PublicKey as Staker
         * or Withdrawer on the Stake account.
         */
        static authorizeWithSeed(params) {
          const {
            stakePubkey,
            authorityBase,
            authoritySeed,
            authorityOwner,
            newAuthorizedPubkey,
            stakeAuthorizationType,
            custodianPubkey
          } = params;
          const type2 = STAKE_INSTRUCTION_LAYOUTS.AuthorizeWithSeed;
          const data2 = encodeData(type2, {
            newAuthorized: toBuffer(newAuthorizedPubkey.toBuffer()),
            stakeAuthorizationType: stakeAuthorizationType.index,
            authoritySeed,
            authorityOwner: toBuffer(authorityOwner.toBuffer())
          });
          const keys2 = [{
            pubkey: stakePubkey,
            isSigner: false,
            isWritable: true
          }, {
            pubkey: authorityBase,
            isSigner: true,
            isWritable: false
          }, {
            pubkey: SYSVAR_CLOCK_PUBKEY,
            isSigner: false,
            isWritable: false
          }];
          if (custodianPubkey) {
            keys2.push({
              pubkey: custodianPubkey,
              isSigner: true,
              isWritable: false
            });
          }
          return new Transaction().add({
            keys: keys2,
            programId: this.programId,
            data: data2
          });
        }
        /**
         * @internal
         */
        static splitInstruction(params) {
          const {
            stakePubkey,
            authorizedPubkey,
            splitStakePubkey,
            lamports
          } = params;
          const type2 = STAKE_INSTRUCTION_LAYOUTS.Split;
          const data2 = encodeData(type2, {
            lamports
          });
          return new TransactionInstruction({
            keys: [{
              pubkey: stakePubkey,
              isSigner: false,
              isWritable: true
            }, {
              pubkey: splitStakePubkey,
              isSigner: false,
              isWritable: true
            }, {
              pubkey: authorizedPubkey,
              isSigner: true,
              isWritable: false
            }],
            programId: this.programId,
            data: data2
          });
        }
        /**
         * Generate a Transaction that splits Stake tokens into another stake account
         */
        static split(params, rentExemptReserve) {
          const transaction = new Transaction();
          transaction.add(SystemProgram.createAccount({
            fromPubkey: params.authorizedPubkey,
            newAccountPubkey: params.splitStakePubkey,
            lamports: rentExemptReserve,
            space: this.space,
            programId: this.programId
          }));
          return transaction.add(this.splitInstruction(params));
        }
        /**
         * Generate a Transaction that splits Stake tokens into another account
         * derived from a base public key and seed
         */
        static splitWithSeed(params, rentExemptReserve) {
          const {
            stakePubkey,
            authorizedPubkey,
            splitStakePubkey,
            basePubkey,
            seed,
            lamports
          } = params;
          const transaction = new Transaction();
          transaction.add(SystemProgram.allocate({
            accountPubkey: splitStakePubkey,
            basePubkey,
            seed,
            space: this.space,
            programId: this.programId
          }));
          if (rentExemptReserve && rentExemptReserve > 0) {
            transaction.add(SystemProgram.transfer({
              fromPubkey: params.authorizedPubkey,
              toPubkey: splitStakePubkey,
              lamports: rentExemptReserve
            }));
          }
          return transaction.add(this.splitInstruction({
            stakePubkey,
            authorizedPubkey,
            splitStakePubkey,
            lamports
          }));
        }
        /**
         * Generate a Transaction that merges Stake accounts.
         */
        static merge(params) {
          const {
            stakePubkey,
            sourceStakePubKey,
            authorizedPubkey
          } = params;
          const type2 = STAKE_INSTRUCTION_LAYOUTS.Merge;
          const data2 = encodeData(type2);
          return new Transaction().add({
            keys: [{
              pubkey: stakePubkey,
              isSigner: false,
              isWritable: true
            }, {
              pubkey: sourceStakePubKey,
              isSigner: false,
              isWritable: true
            }, {
              pubkey: SYSVAR_CLOCK_PUBKEY,
              isSigner: false,
              isWritable: false
            }, {
              pubkey: SYSVAR_STAKE_HISTORY_PUBKEY,
              isSigner: false,
              isWritable: false
            }, {
              pubkey: authorizedPubkey,
              isSigner: true,
              isWritable: false
            }],
            programId: this.programId,
            data: data2
          });
        }
        /**
         * Generate a Transaction that withdraws deactivated Stake tokens.
         */
        static withdraw(params) {
          const {
            stakePubkey,
            authorizedPubkey,
            toPubkey,
            lamports,
            custodianPubkey
          } = params;
          const type2 = STAKE_INSTRUCTION_LAYOUTS.Withdraw;
          const data2 = encodeData(type2, {
            lamports
          });
          const keys2 = [{
            pubkey: stakePubkey,
            isSigner: false,
            isWritable: true
          }, {
            pubkey: toPubkey,
            isSigner: false,
            isWritable: true
          }, {
            pubkey: SYSVAR_CLOCK_PUBKEY,
            isSigner: false,
            isWritable: false
          }, {
            pubkey: SYSVAR_STAKE_HISTORY_PUBKEY,
            isSigner: false,
            isWritable: false
          }, {
            pubkey: authorizedPubkey,
            isSigner: true,
            isWritable: false
          }];
          if (custodianPubkey) {
            keys2.push({
              pubkey: custodianPubkey,
              isSigner: true,
              isWritable: false
            });
          }
          return new Transaction().add({
            keys: keys2,
            programId: this.programId,
            data: data2
          });
        }
        /**
         * Generate a Transaction that deactivates Stake tokens.
         */
        static deactivate(params) {
          const {
            stakePubkey,
            authorizedPubkey
          } = params;
          const type2 = STAKE_INSTRUCTION_LAYOUTS.Deactivate;
          const data2 = encodeData(type2);
          return new Transaction().add({
            keys: [{
              pubkey: stakePubkey,
              isSigner: false,
              isWritable: true
            }, {
              pubkey: SYSVAR_CLOCK_PUBKEY,
              isSigner: false,
              isWritable: false
            }, {
              pubkey: authorizedPubkey,
              isSigner: true,
              isWritable: false
            }],
            programId: this.programId,
            data: data2
          });
        }
      };
      StakeProgram.programId = new PublicKey("Stake11111111111111111111111111111111111111");
      StakeProgram.space = 200;
      VOTE_INSTRUCTION_LAYOUTS = Object.freeze({
        InitializeAccount: {
          index: 0,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), voteInit()])
        },
        Authorize: {
          index: 1,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), publicKey("newAuthorized"), BufferLayout.u32("voteAuthorizationType")])
        },
        Withdraw: {
          index: 3,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), BufferLayout.ns64("lamports")])
        },
        UpdateValidatorIdentity: {
          index: 4,
          layout: BufferLayout.struct([BufferLayout.u32("instruction")])
        },
        AuthorizeWithSeed: {
          index: 10,
          layout: BufferLayout.struct([BufferLayout.u32("instruction"), voteAuthorizeWithSeedArgs()])
        }
      });
      VoteAuthorizationLayout = Object.freeze({
        Voter: {
          index: 0
        },
        Withdrawer: {
          index: 1
        }
      });
      VoteProgram = class _VoteProgram {
        /**
         * @internal
         */
        constructor() {
        }
        /**
         * Public key that identifies the Vote program
         */
        /**
         * Generate an Initialize instruction.
         */
        static initializeAccount(params) {
          const {
            votePubkey,
            nodePubkey,
            voteInit: voteInit2
          } = params;
          const type2 = VOTE_INSTRUCTION_LAYOUTS.InitializeAccount;
          const data2 = encodeData(type2, {
            voteInit: {
              nodePubkey: toBuffer(voteInit2.nodePubkey.toBuffer()),
              authorizedVoter: toBuffer(voteInit2.authorizedVoter.toBuffer()),
              authorizedWithdrawer: toBuffer(voteInit2.authorizedWithdrawer.toBuffer()),
              commission: voteInit2.commission
            }
          });
          const instructionData = {
            keys: [{
              pubkey: votePubkey,
              isSigner: false,
              isWritable: true
            }, {
              pubkey: SYSVAR_RENT_PUBKEY,
              isSigner: false,
              isWritable: false
            }, {
              pubkey: SYSVAR_CLOCK_PUBKEY,
              isSigner: false,
              isWritable: false
            }, {
              pubkey: nodePubkey,
              isSigner: true,
              isWritable: false
            }],
            programId: this.programId,
            data: data2
          };
          return new TransactionInstruction(instructionData);
        }
        /**
         * Generate a transaction that creates a new Vote account.
         */
        static createAccount(params) {
          const transaction = new Transaction();
          transaction.add(SystemProgram.createAccount({
            fromPubkey: params.fromPubkey,
            newAccountPubkey: params.votePubkey,
            lamports: params.lamports,
            space: this.space,
            programId: this.programId
          }));
          return transaction.add(this.initializeAccount({
            votePubkey: params.votePubkey,
            nodePubkey: params.voteInit.nodePubkey,
            voteInit: params.voteInit
          }));
        }
        /**
         * Generate a transaction that authorizes a new Voter or Withdrawer on the Vote account.
         */
        static authorize(params) {
          const {
            votePubkey,
            authorizedPubkey,
            newAuthorizedPubkey,
            voteAuthorizationType
          } = params;
          const type2 = VOTE_INSTRUCTION_LAYOUTS.Authorize;
          const data2 = encodeData(type2, {
            newAuthorized: toBuffer(newAuthorizedPubkey.toBuffer()),
            voteAuthorizationType: voteAuthorizationType.index
          });
          const keys2 = [{
            pubkey: votePubkey,
            isSigner: false,
            isWritable: true
          }, {
            pubkey: SYSVAR_CLOCK_PUBKEY,
            isSigner: false,
            isWritable: false
          }, {
            pubkey: authorizedPubkey,
            isSigner: true,
            isWritable: false
          }];
          return new Transaction().add({
            keys: keys2,
            programId: this.programId,
            data: data2
          });
        }
        /**
         * Generate a transaction that authorizes a new Voter or Withdrawer on the Vote account
         * where the current Voter or Withdrawer authority is a derived key.
         */
        static authorizeWithSeed(params) {
          const {
            currentAuthorityDerivedKeyBasePubkey,
            currentAuthorityDerivedKeyOwnerPubkey,
            currentAuthorityDerivedKeySeed,
            newAuthorizedPubkey,
            voteAuthorizationType,
            votePubkey
          } = params;
          const type2 = VOTE_INSTRUCTION_LAYOUTS.AuthorizeWithSeed;
          const data2 = encodeData(type2, {
            voteAuthorizeWithSeedArgs: {
              currentAuthorityDerivedKeyOwnerPubkey: toBuffer(currentAuthorityDerivedKeyOwnerPubkey.toBuffer()),
              currentAuthorityDerivedKeySeed,
              newAuthorized: toBuffer(newAuthorizedPubkey.toBuffer()),
              voteAuthorizationType: voteAuthorizationType.index
            }
          });
          const keys2 = [{
            pubkey: votePubkey,
            isSigner: false,
            isWritable: true
          }, {
            pubkey: SYSVAR_CLOCK_PUBKEY,
            isSigner: false,
            isWritable: false
          }, {
            pubkey: currentAuthorityDerivedKeyBasePubkey,
            isSigner: true,
            isWritable: false
          }];
          return new Transaction().add({
            keys: keys2,
            programId: this.programId,
            data: data2
          });
        }
        /**
         * Generate a transaction to withdraw from a Vote account.
         */
        static withdraw(params) {
          const {
            votePubkey,
            authorizedWithdrawerPubkey,
            lamports,
            toPubkey
          } = params;
          const type2 = VOTE_INSTRUCTION_LAYOUTS.Withdraw;
          const data2 = encodeData(type2, {
            lamports
          });
          const keys2 = [{
            pubkey: votePubkey,
            isSigner: false,
            isWritable: true
          }, {
            pubkey: toPubkey,
            isSigner: false,
            isWritable: true
          }, {
            pubkey: authorizedWithdrawerPubkey,
            isSigner: true,
            isWritable: false
          }];
          return new Transaction().add({
            keys: keys2,
            programId: this.programId,
            data: data2
          });
        }
        /**
         * Generate a transaction to withdraw safely from a Vote account.
         *
         * This function was created as a safeguard for vote accounts running validators, `safeWithdraw`
         * checks that the withdraw amount will not exceed the specified balance while leaving enough left
         * to cover rent. If you wish to close the vote account by withdrawing the full amount, call the
         * `withdraw` method directly.
         */
        static safeWithdraw(params, currentVoteAccountBalance, rentExemptMinimum) {
          if (params.lamports > currentVoteAccountBalance - rentExemptMinimum) {
            throw new Error("Withdraw will leave vote account with insufficient funds.");
          }
          return _VoteProgram.withdraw(params);
        }
        /**
         * Generate a transaction to update the validator identity (node pubkey) of a Vote account.
         */
        static updateValidatorIdentity(params) {
          const {
            votePubkey,
            authorizedWithdrawerPubkey,
            nodePubkey
          } = params;
          const type2 = VOTE_INSTRUCTION_LAYOUTS.UpdateValidatorIdentity;
          const data2 = encodeData(type2);
          const keys2 = [{
            pubkey: votePubkey,
            isSigner: false,
            isWritable: true
          }, {
            pubkey: nodePubkey,
            isSigner: true,
            isWritable: false
          }, {
            pubkey: authorizedWithdrawerPubkey,
            isSigner: true,
            isWritable: false
          }];
          return new Transaction().add({
            keys: keys2,
            programId: this.programId,
            data: data2
          });
        }
      };
      VoteProgram.programId = new PublicKey("Vote111111111111111111111111111111111111111");
      VoteProgram.space = 3762;
      VALIDATOR_INFO_KEY = new PublicKey("Va1idator1nfo111111111111111111111111111111");
      InfoString = type({
        name: string(),
        website: optional(string()),
        details: optional(string()),
        iconUrl: optional(string()),
        keybaseUsername: optional(string())
      });
      VOTE_PROGRAM_ID = new PublicKey("Vote111111111111111111111111111111111111111");
      VoteAccountLayout = BufferLayout.struct([
        publicKey("nodePubkey"),
        publicKey("authorizedWithdrawer"),
        BufferLayout.u8("commission"),
        BufferLayout.nu64(),
        // votes.length
        BufferLayout.seq(BufferLayout.struct([BufferLayout.nu64("slot"), BufferLayout.u32("confirmationCount")]), BufferLayout.offset(BufferLayout.u32(), -8), "votes"),
        BufferLayout.u8("rootSlotValid"),
        BufferLayout.nu64("rootSlot"),
        BufferLayout.nu64(),
        // authorizedVoters.length
        BufferLayout.seq(BufferLayout.struct([BufferLayout.nu64("epoch"), publicKey("authorizedVoter")]), BufferLayout.offset(BufferLayout.u32(), -8), "authorizedVoters"),
        BufferLayout.struct([BufferLayout.seq(BufferLayout.struct([publicKey("authorizedPubkey"), BufferLayout.nu64("epochOfLastAuthorizedSwitch"), BufferLayout.nu64("targetEpoch")]), 32, "buf"), BufferLayout.nu64("idx"), BufferLayout.u8("isEmpty")], "priorVoters"),
        BufferLayout.nu64(),
        // epochCredits.length
        BufferLayout.seq(BufferLayout.struct([BufferLayout.nu64("epoch"), BufferLayout.nu64("credits"), BufferLayout.nu64("prevCredits")]), BufferLayout.offset(BufferLayout.u32(), -8), "epochCredits"),
        BufferLayout.struct([BufferLayout.nu64("slot"), BufferLayout.nu64("timestamp")], "lastTimestamp")
      ]);
    }
  });

  // node_modules/@solana/wallet-adapter-react/lib/esm/useConnection.js
  function useConnection() {
    return (0, import_react164.useContext)(ConnectionContext);
  }
  var import_react164, ConnectionContext;
  var init_useConnection = __esm({
    "node_modules/@solana/wallet-adapter-react/lib/esm/useConnection.js"() {
      import_react164 = __toESM(require_react(), 1);
      ConnectionContext = (0, import_react164.createContext)({});
    }
  });

  // node_modules/@solana/wallet-adapter-react/lib/esm/ConnectionProvider.js
  var import_react165, ConnectionProvider;
  var init_ConnectionProvider = __esm({
    "node_modules/@solana/wallet-adapter-react/lib/esm/ConnectionProvider.js"() {
      init_index_browser_esm();
      import_react165 = __toESM(require_react(), 1);
      init_useConnection();
      ConnectionProvider = ({ children, endpoint, config = { commitment: "confirmed" } }) => {
        const connection = (0, import_react165.useMemo)(() => new Connection(endpoint, config), [endpoint, config]);
        return import_react165.default.createElement(ConnectionContext.Provider, { value: { connection } }, children);
      };
    }
  });

  // node_modules/@solana/wallet-adapter-react/lib/esm/errors.js
  var WalletNotSelectedError;
  var init_errors3 = __esm({
    "node_modules/@solana/wallet-adapter-react/lib/esm/errors.js"() {
      init_esm4();
      WalletNotSelectedError = class extends WalletError {
        constructor() {
          super(...arguments);
          this.name = "WalletNotSelectedError";
        }
      };
    }
  });

  // node_modules/@solana/wallet-adapter-react/lib/esm/useWallet.js
  function logMissingProviderError(action, property) {
    const error2 = new Error(`You have tried to ${action} "${property}" on a WalletContext without providing one. Make sure to render a WalletProvider as an ancestor of the component that uses WalletContext.`);
    console.error(error2);
    return error2;
  }
  function useWallet() {
    return (0, import_react166.useContext)(WalletContext);
  }
  var import_react166, EMPTY_ARRAY, DEFAULT_CONTEXT, WalletContext;
  var init_useWallet = __esm({
    "node_modules/@solana/wallet-adapter-react/lib/esm/useWallet.js"() {
      import_react166 = __toESM(require_react(), 1);
      EMPTY_ARRAY = [];
      DEFAULT_CONTEXT = {
        autoConnect: false,
        connecting: false,
        connected: false,
        disconnecting: false,
        select() {
          logMissingProviderError("call", "select");
        },
        connect() {
          return Promise.reject(logMissingProviderError("call", "connect"));
        },
        disconnect() {
          return Promise.reject(logMissingProviderError("call", "disconnect"));
        },
        sendTransaction() {
          return Promise.reject(logMissingProviderError("call", "sendTransaction"));
        },
        signTransaction() {
          return Promise.reject(logMissingProviderError("call", "signTransaction"));
        },
        signAllTransactions() {
          return Promise.reject(logMissingProviderError("call", "signAllTransactions"));
        },
        signMessage() {
          return Promise.reject(logMissingProviderError("call", "signMessage"));
        },
        signIn() {
          return Promise.reject(logMissingProviderError("call", "signIn"));
        }
      };
      Object.defineProperty(DEFAULT_CONTEXT, "wallets", {
        get() {
          logMissingProviderError("read", "wallets");
          return EMPTY_ARRAY;
        }
      });
      Object.defineProperty(DEFAULT_CONTEXT, "wallet", {
        get() {
          logMissingProviderError("read", "wallet");
          return null;
        }
      });
      Object.defineProperty(DEFAULT_CONTEXT, "publicKey", {
        get() {
          logMissingProviderError("read", "publicKey");
          return null;
        }
      });
      WalletContext = (0, import_react166.createContext)(DEFAULT_CONTEXT);
    }
  });

  // node_modules/@solana/wallet-adapter-react/lib/esm/useAnchorWallet.js
  var import_react167;
  var init_useAnchorWallet = __esm({
    "node_modules/@solana/wallet-adapter-react/lib/esm/useAnchorWallet.js"() {
      import_react167 = __toESM(require_react(), 1);
    }
  });

  // node_modules/@solana/wallet-adapter-react/lib/esm/useLocalStorage.js
  function useLocalStorage(key, defaultState) {
    const state = (0, import_react168.useState)(() => {
      try {
        const value2 = localStorage.getItem(key);
        if (value2)
          return JSON.parse(value2);
      } catch (error2) {
        if (typeof window !== "undefined") {
          console.error(error2);
        }
      }
      return defaultState;
    });
    const value = state[0];
    const isFirstRenderRef = (0, import_react168.useRef)(true);
    (0, import_react168.useEffect)(() => {
      if (isFirstRenderRef.current) {
        isFirstRenderRef.current = false;
        return;
      }
      try {
        if (value === null) {
          localStorage.removeItem(key);
        } else {
          localStorage.setItem(key, JSON.stringify(value));
        }
      } catch (error2) {
        if (typeof window !== "undefined") {
          console.error(error2);
        }
      }
    }, [value, key]);
    return state;
  }
  var import_react168;
  var init_useLocalStorage = __esm({
    "node_modules/@solana/wallet-adapter-react/lib/esm/useLocalStorage.js"() {
      import_react168 = __toESM(require_react(), 1);
    }
  });

  // node_modules/@solana/codecs-core/dist/index.browser.mjs
  function createDecoder2(decoder) {
    return Object.freeze({
      ...decoder,
      decode: (bytes2, offset5 = 0) => decoder.read(bytes2, offset5)[0]
    });
  }
  var init_index_browser5 = __esm({
    "node_modules/@solana/codecs-core/dist/index.browser.mjs"() {
    }
  });

  // node_modules/@solana/codecs-strings/dist/index.browser.mjs
  function getBaseXFromBigInt(value, alphabet4) {
    const base2 = BigInt(alphabet4.length);
    const tailChars = [];
    while (value > 0n) {
      tailChars.unshift(alphabet4[Number(value % base2)]);
      value /= base2;
    }
    return tailChars.join("");
  }
  var getBaseXDecoder, alphabet2, getBase58Decoder, e2, o2;
  var init_index_browser6 = __esm({
    "node_modules/@solana/codecs-strings/dist/index.browser.mjs"() {
      init_index_browser5();
      getBaseXDecoder = (alphabet4) => {
        return createDecoder2({
          read(rawBytes, offset5) {
            const bytes2 = offset5 === 0 || offset5 <= -rawBytes.byteLength ? rawBytes : rawBytes.slice(offset5);
            if (bytes2.length === 0) return ["", 0];
            let trailIndex = bytes2.findIndex((n3) => n3 !== 0);
            trailIndex = trailIndex === -1 ? bytes2.length : trailIndex;
            const leadingZeroes = alphabet4[0].repeat(trailIndex);
            if (trailIndex === bytes2.length) return [leadingZeroes, rawBytes.length];
            const base10Number = bytes2.slice(trailIndex).reduce((sum, byte) => sum * 256n + BigInt(byte), 0n);
            const tailChars = getBaseXFromBigInt(base10Number, alphabet4);
            return [leadingZeroes + tailChars, rawBytes.length];
          }
        });
      };
      alphabet2 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
      getBase58Decoder = () => getBaseXDecoder(alphabet2);
      e2 = globalThis.TextDecoder;
      o2 = globalThis.TextEncoder;
    }
  });

  // node_modules/@solana/wallet-standard-util/lib/esm/commitment.js
  function getCommitment(commitment) {
    switch (commitment) {
      case "processed":
      case "confirmed":
      case "finalized":
      case void 0:
        return commitment;
      case "recent":
        return "processed";
      case "single":
      case "singleGossip":
        return "confirmed";
      case "max":
      case "root":
        return "finalized";
      default:
        return void 0;
    }
  }
  var init_commitment = __esm({
    "node_modules/@solana/wallet-standard-util/lib/esm/commitment.js"() {
    }
  });

  // node_modules/@solana/wallet-standard-chains/lib/esm/index.js
  var SOLANA_MAINNET_CHAIN, SOLANA_DEVNET_CHAIN, SOLANA_TESTNET_CHAIN, SOLANA_LOCALNET_CHAIN;
  var init_esm5 = __esm({
    "node_modules/@solana/wallet-standard-chains/lib/esm/index.js"() {
      SOLANA_MAINNET_CHAIN = "solana:mainnet";
      SOLANA_DEVNET_CHAIN = "solana:devnet";
      SOLANA_TESTNET_CHAIN = "solana:testnet";
      SOLANA_LOCALNET_CHAIN = "solana:localnet";
    }
  });

  // node_modules/@solana/wallet-standard-util/lib/esm/endpoint.js
  function getChainForEndpoint(endpoint) {
    if (endpoint.includes(MAINNET_ENDPOINT))
      return SOLANA_MAINNET_CHAIN;
    if (/\bdevnet\b/i.test(endpoint))
      return SOLANA_DEVNET_CHAIN;
    if (/\btestnet\b/i.test(endpoint))
      return SOLANA_TESTNET_CHAIN;
    if (/\blocalhost\b/i.test(endpoint) || /\b127\.0\.0\.1\b/.test(endpoint))
      return SOLANA_LOCALNET_CHAIN;
    return SOLANA_MAINNET_CHAIN;
  }
  var MAINNET_ENDPOINT;
  var init_endpoint = __esm({
    "node_modules/@solana/wallet-standard-util/lib/esm/endpoint.js"() {
      init_esm5();
      MAINNET_ENDPOINT = "https://api.mainnet-beta.solana.com";
    }
  });

  // node_modules/@solana/wallet-standard-util/lib/esm/signMessage.js
  var init_signMessage2 = __esm({
    "node_modules/@solana/wallet-standard-util/lib/esm/signMessage.js"() {
    }
  });

  // node_modules/@solana/wallet-standard-util/lib/esm/signIn.js
  function createSignInMessageText(input) {
    let message = `${input.domain} wants you to sign in with your Solana account:
`;
    message += `${input.address}`;
    if (input.statement) {
      message += `

${input.statement}`;
    }
    const fields = [];
    if (input.uri) {
      fields.push(`URI: ${input.uri}`);
    }
    if (input.version) {
      fields.push(`Version: ${input.version}`);
    }
    if (input.chainId) {
      fields.push(`Chain ID: ${input.chainId}`);
    }
    if (input.nonce) {
      fields.push(`Nonce: ${input.nonce}`);
    }
    if (input.issuedAt) {
      fields.push(`Issued At: ${input.issuedAt}`);
    }
    if (input.expirationTime) {
      fields.push(`Expiration Time: ${input.expirationTime}`);
    }
    if (input.notBefore) {
      fields.push(`Not Before: ${input.notBefore}`);
    }
    if (input.requestId) {
      fields.push(`Request ID: ${input.requestId}`);
    }
    if (input.resources) {
      fields.push(`Resources:`);
      for (const resource of input.resources) {
        fields.push(`- ${resource}`);
      }
    }
    if (fields.length) {
      message += `

${fields.join("\n")}`;
    }
    return message;
  }
  var DOMAIN, ADDRESS, STATEMENT, URI, VERSION, CHAIN_ID, NONCE, ISSUED_AT, EXPIRATION_TIME, NOT_BEFORE, REQUEST_ID, RESOURCES, FIELDS, MESSAGE;
  var init_signIn2 = __esm({
    "node_modules/@solana/wallet-standard-util/lib/esm/signIn.js"() {
      DOMAIN = "(?<domain>[^\\n]+?) wants you to sign in with your Solana account:\\n";
      ADDRESS = "(?<address>[^\\n]+)(?:\\n|$)";
      STATEMENT = "(?:\\n(?<statement>[\\S\\s]*?)(?:\\n|$))??";
      URI = "(?:\\nURI: (?<uri>[^\\n]+))?";
      VERSION = "(?:\\nVersion: (?<version>[^\\n]+))?";
      CHAIN_ID = "(?:\\nChain ID: (?<chainId>[^\\n]+))?";
      NONCE = "(?:\\nNonce: (?<nonce>[^\\n]+))?";
      ISSUED_AT = "(?:\\nIssued At: (?<issuedAt>[^\\n]+))?";
      EXPIRATION_TIME = "(?:\\nExpiration Time: (?<expirationTime>[^\\n]+))?";
      NOT_BEFORE = "(?:\\nNot Before: (?<notBefore>[^\\n]+))?";
      REQUEST_ID = "(?:\\nRequest ID: (?<requestId>[^\\n]+))?";
      RESOURCES = "(?:\\nResources:(?<resources>(?:\\n- [^\\n]+)*))?";
      FIELDS = `${URI}${VERSION}${CHAIN_ID}${NONCE}${ISSUED_AT}${EXPIRATION_TIME}${NOT_BEFORE}${REQUEST_ID}${RESOURCES}`;
      MESSAGE = new RegExp(`^${DOMAIN}${ADDRESS}${STATEMENT}${FIELDS}\\n*$`);
    }
  });

  // node_modules/@solana/wallet-standard-util/lib/esm/index.js
  var init_esm6 = __esm({
    "node_modules/@solana/wallet-standard-util/lib/esm/index.js"() {
      init_commitment();
      init_endpoint();
      init_signIn2();
      init_signMessage2();
    }
  });

  // node_modules/@solana-mobile/mobile-wallet-adapter-protocol/lib/esm/index.browser.js
  function encode(input) {
    return window.btoa(input);
  }
  function fromUint8Array$1(byteArray, urlsafe) {
    const base64 = window.btoa(String.fromCharCode.call(null, ...byteArray));
    if (urlsafe) return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
    else return base64;
  }
  function toUint8Array(base64EncodedByteArray) {
    return new Uint8Array(window.atob(base64EncodedByteArray).split("").map((c2) => c2.charCodeAt(0)));
  }
  async function createHelloReq(ecdhPublicKey, associationKeypairPrivateKey) {
    const publicKeyBuffer = await crypto.subtle.exportKey("raw", ecdhPublicKey);
    const signatureBuffer = await crypto.subtle.sign({
      hash: "SHA-256",
      name: "ECDSA"
    }, associationKeypairPrivateKey, publicKeyBuffer);
    const response = new Uint8Array(publicKeyBuffer.byteLength + signatureBuffer.byteLength);
    response.set(new Uint8Array(publicKeyBuffer), 0);
    response.set(new Uint8Array(signatureBuffer), publicKeyBuffer.byteLength);
    return response;
  }
  function fromUint8Array(byteArray) {
    return getBase58Decoder().decode(byteArray);
  }
  function base64ToBase58(base64EncodedString) {
    return fromUint8Array(toUint8Array(base64EncodedString));
  }
  function createSIWSMessage(payload) {
    return createSignInMessageText(payload);
  }
  function createSIWSMessageBase64Url(payload) {
    return encode(createSIWSMessage(payload)).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
  }
  function createMobileWalletProxy(protocolVersion, protocolRequestHandler) {
    return new Proxy({}, {
      get(target2, p2) {
        if (p2 === "then") return null;
        if (target2[p2] == null) target2[p2] = async function(inputParams) {
          const { method, params } = handleMobileWalletRequest(p2, inputParams, protocolVersion);
          const result = await protocolRequestHandler(method, params);
          if (method === "authorize" && params.sign_in_payload && !result.sign_in_result) result.sign_in_result = await signInFallback(params.sign_in_payload, result, protocolRequestHandler);
          return handleMobileWalletResponse(p2, result, protocolVersion);
        };
        return target2[p2];
      },
      defineProperty() {
        return false;
      },
      deleteProperty() {
        return false;
      }
    });
  }
  function handleMobileWalletRequest(methodName, methodParams, protocolVersion) {
    let params = methodParams;
    let method = methodName.toString().replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`).toLowerCase();
    switch (methodName) {
      case "authorize": {
        const authorizeParams = params;
        let { chain } = authorizeParams;
        if (protocolVersion === "legacy") {
          switch (chain) {
            case "solana:testnet":
              chain = "testnet";
              break;
            case "solana:devnet":
              chain = "devnet";
              break;
            case "solana:mainnet":
              chain = "mainnet-beta";
              break;
            default:
              chain = authorizeParams.cluster;
          }
          authorizeParams.cluster = chain;
          params = authorizeParams;
        } else {
          switch (chain) {
            case "testnet":
            case "devnet":
              chain = `solana:${chain}`;
              break;
            case "mainnet-beta":
              chain = "solana:mainnet";
              break;
          }
          authorizeParams.chain = chain;
          params = authorizeParams;
        }
      }
      case "reauthorize": {
        const { auth_token, identity } = params;
        if (auth_token) switch (protocolVersion) {
          case "legacy":
            method = "reauthorize";
            params = {
              auth_token,
              identity
            };
            break;
          default:
            method = "authorize";
            break;
        }
        break;
      }
    }
    return {
      method,
      params
    };
  }
  function handleMobileWalletResponse(method, response, protocolVersion) {
    switch (method) {
      case "getCapabilities": {
        const capabilities = response;
        switch (protocolVersion) {
          case "legacy": {
            const features = [SolanaSignTransactions];
            if (capabilities.supports_clone_authorization === true) features.push(SolanaCloneAuthorization);
            return {
              ...capabilities,
              features
            };
          }
          case "v1":
            return {
              ...capabilities,
              supports_sign_and_send_transactions: true,
              supports_clone_authorization: capabilities.features.includes(SolanaCloneAuthorization)
            };
        }
      }
    }
    return response;
  }
  async function signInFallback(signInPayload, authorizationResult, protocolRequestHandler) {
    const domain = signInPayload.domain ?? window.location.host;
    const address = authorizationResult.accounts[0].address;
    const siwsMessage = createSIWSMessageBase64Url({
      ...signInPayload,
      domain,
      address: base64ToBase58(address)
    });
    const signedPayload = toUint8Array((await protocolRequestHandler("sign_messages", {
      addresses: [address],
      payloads: [siwsMessage]
    })).signed_payloads[0]);
    const signedMessage = fromUint8Array$1(signedPayload.slice(0, signedPayload.length - 64));
    const signature2 = fromUint8Array$1(signedPayload.slice(signedPayload.length - 64));
    return {
      address,
      signed_message: signedMessage.length == 0 ? siwsMessage : signedMessage,
      signature: signature2
    };
  }
  function createSequenceNumberVector(sequenceNumber) {
    if (sequenceNumber >= 4294967296) throw new Error("Outbound sequence number overflow. The maximum sequence number is 32-bytes.");
    const byteArray = /* @__PURE__ */ new ArrayBuffer(4);
    new DataView(byteArray).setUint32(0, sequenceNumber, false);
    return new Uint8Array(byteArray);
  }
  async function encryptMessage(plaintext, sequenceNumber, sharedSecret) {
    const sequenceNumberVector = createSequenceNumberVector(sequenceNumber);
    const initializationVector = new Uint8Array(INITIALIZATION_VECTOR_BYTES);
    crypto.getRandomValues(initializationVector);
    const ciphertext = await crypto.subtle.encrypt(getAlgorithmParams(sequenceNumberVector, initializationVector), sharedSecret, new TextEncoder().encode(plaintext));
    const response = new Uint8Array(sequenceNumberVector.byteLength + initializationVector.byteLength + ciphertext.byteLength);
    response.set(new Uint8Array(sequenceNumberVector), 0);
    response.set(new Uint8Array(initializationVector), sequenceNumberVector.byteLength);
    response.set(new Uint8Array(ciphertext), sequenceNumberVector.byteLength + initializationVector.byteLength);
    return response;
  }
  async function decryptMessage(message, sharedSecret) {
    const sequenceNumberVector = message.slice(0, 4);
    const initializationVector = message.slice(4, 4 + INITIALIZATION_VECTOR_BYTES);
    const ciphertext = message.slice(4 + INITIALIZATION_VECTOR_BYTES);
    const plaintextBuffer = await crypto.subtle.decrypt(getAlgorithmParams(sequenceNumberVector, initializationVector), sharedSecret, ciphertext);
    return getUtf8Decoder().decode(plaintextBuffer);
  }
  function getAlgorithmParams(sequenceNumber, initializationVector) {
    return {
      additionalData: sequenceNumber,
      iv: initializationVector,
      name: "AES-GCM",
      tagLength: 128
    };
  }
  function getUtf8Decoder() {
    if (_utf8Decoder === void 0) _utf8Decoder = new TextDecoder("utf-8");
    return _utf8Decoder;
  }
  async function generateAssociationKeypair() {
    return await crypto.subtle.generateKey({
      name: "ECDSA",
      namedCurve: "P-256"
    }, false, ["sign"]);
  }
  async function generateECDHKeypair() {
    return await crypto.subtle.generateKey({
      name: "ECDH",
      namedCurve: "P-256"
    }, false, ["deriveKey", "deriveBits"]);
  }
  function arrayBufferToBase64String(buffer) {
    let binary = "";
    const bytes2 = new Uint8Array(buffer);
    const len = bytes2.byteLength;
    for (let ii = 0; ii < len; ii++) binary += String.fromCharCode(bytes2[ii]);
    return window.btoa(binary);
  }
  function getRandomAssociationPort() {
    return assertAssociationPort(49152 + Math.floor(Math.random() * 16384));
  }
  function assertAssociationPort(port) {
    if (port < 49152 || port > 65535) throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_ASSOCIATION_PORT_OUT_OF_RANGE, `Association port number must be between 49152 and 65535. ${port} given.`, { port });
    return port;
  }
  function getStringWithURLUnsafeCharactersReplaced(unsafeBase64EncodedString) {
    return unsafeBase64EncodedString.replace(/[/+=]/g, (m2) => ({
      "/": "_",
      "+": "-",
      "=": "."
    })[m2]);
  }
  function getPathParts(pathString) {
    return pathString.replace(/(^\/+|\/+$)/g, "").split("/");
  }
  function getIntentURL(methodPathname, intentUrlBase) {
    let baseUrl = null;
    if (intentUrlBase) {
      try {
        baseUrl = new URL(intentUrlBase);
      } catch {
      }
      if (baseUrl?.protocol !== "https:") throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_FORBIDDEN_WALLET_BASE_URL, "Base URLs supplied by wallets must be valid `https` URLs");
    }
    baseUrl ||= new URL(`${INTENT_NAME}:/`);
    const pathname = methodPathname.startsWith("/") ? methodPathname : [...getPathParts(baseUrl.pathname), ...getPathParts(methodPathname)].join("/");
    return new URL(pathname, baseUrl);
  }
  async function getAssociateAndroidIntentURL(associationPublicKey, putativePort, associationURLBase, protocolVersions = ["v1"]) {
    const associationPort = assertAssociationPort(putativePort);
    const encodedKey = arrayBufferToBase64String(await crypto.subtle.exportKey("raw", associationPublicKey));
    const url = getIntentURL("v1/associate/local", associationURLBase);
    url.searchParams.set("association", getStringWithURLUnsafeCharactersReplaced(encodedKey));
    url.searchParams.set("port", `${associationPort}`);
    protocolVersions.forEach((version2) => {
      url.searchParams.set("v", version2);
    });
    return url;
  }
  async function encryptJsonRpcMessage(jsonRpcMessage, sharedSecret) {
    const plaintext = JSON.stringify(jsonRpcMessage);
    const sequenceNumber = jsonRpcMessage.id;
    return encryptMessage(plaintext, sequenceNumber, sharedSecret);
  }
  async function decryptJsonRpcMessage(message, sharedSecret) {
    const plaintext = await decryptMessage(message, sharedSecret);
    const jsonRpcMessage = JSON.parse(plaintext);
    if (Object.hasOwnProperty.call(jsonRpcMessage, "error")) throw new SolanaMobileWalletAdapterProtocolError(jsonRpcMessage.id, jsonRpcMessage.error.code, jsonRpcMessage.error.message);
    return jsonRpcMessage;
  }
  async function parseHelloRsp(payloadBuffer, associationPublicKey, ecdhPrivateKey) {
    const [associationPublicKeyBuffer, walletPublicKey] = await Promise.all([crypto.subtle.exportKey("raw", associationPublicKey), crypto.subtle.importKey("raw", payloadBuffer.slice(0, 65), {
      name: "ECDH",
      namedCurve: "P-256"
    }, false, [])]);
    const sharedSecret = await crypto.subtle.deriveBits({
      name: "ECDH",
      public: walletPublicKey
    }, ecdhPrivateKey, 256);
    const ecdhSecretKey = await crypto.subtle.importKey("raw", sharedSecret, "HKDF", false, ["deriveKey"]);
    return await crypto.subtle.deriveKey({
      name: "HKDF",
      hash: "SHA-256",
      salt: new Uint8Array(associationPublicKeyBuffer),
      info: new Uint8Array()
    }, ecdhSecretKey, {
      name: "AES-GCM",
      length: 128
    }, false, ["encrypt", "decrypt"]);
  }
  async function parseSessionProps(message, sharedSecret) {
    const plaintext = await decryptMessage(message, sharedSecret);
    const jsonProperties = JSON.parse(plaintext);
    let protocolVersion = "legacy";
    if (Object.hasOwnProperty.call(jsonProperties, "v")) switch (jsonProperties.v) {
      case 1:
      case "1":
      case "v1":
        protocolVersion = "v1";
        break;
      case "legacy":
        protocolVersion = "legacy";
        break;
      default:
        throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_INVALID_PROTOCOL_VERSION, `Unknown/unsupported protocol version: ${jsonProperties.v}`);
    }
    return { protocol_version: protocolVersion };
  }
  function assertUnreachable(x) {
    return x;
  }
  function getBrowser() {
    return navigator.userAgent.indexOf("Firefox/") !== -1 ? Browser.Firefox : Browser.Other;
  }
  function getDetectionPromise() {
    return new Promise((resolve, reject) => {
      function cleanup2() {
        clearTimeout(timeoutId);
        window.removeEventListener("blur", handleBlur);
      }
      function handleBlur() {
        cleanup2();
        resolve();
      }
      window.addEventListener("blur", handleBlur);
      const timeoutId = setTimeout(() => {
        cleanup2();
        reject();
      }, 3e3);
    });
  }
  function launchUrlThroughHiddenFrame(url) {
    if (_frame == null) {
      _frame = document.createElement("iframe");
      _frame.style.display = "none";
      document.body.appendChild(_frame);
    }
    _frame.contentWindow.location.href = url.toString();
  }
  async function launchAssociation(associationUrl) {
    if (associationUrl.protocol === "https:") window.location.assign(associationUrl);
    else try {
      const browser2 = getBrowser();
      switch (browser2) {
        case Browser.Firefox:
          launchUrlThroughHiddenFrame(associationUrl);
          break;
        case Browser.Other: {
          const detectionPromise = getDetectionPromise();
          window.location.assign(associationUrl);
          await detectionPromise;
          break;
        }
        default:
          assertUnreachable(browser2);
      }
    } catch {
      throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_WALLET_NOT_FOUND, "Found no installed wallet that supports the mobile wallet protocol.");
    }
  }
  async function startSession(associationPublicKey, associationURLBase) {
    const randomAssociationPort = getRandomAssociationPort();
    await launchAssociation(await getAssociateAndroidIntentURL(associationPublicKey, randomAssociationPort, associationURLBase));
    return randomAssociationPort;
  }
  function assertSecureContext() {
    if (typeof window === "undefined" || window.isSecureContext !== true) throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_SECURE_CONTEXT_REQUIRED, "The mobile wallet adapter protocol must be used in a secure context (`https`).");
  }
  function assertSecureEndpointSpecificURI(walletUriBase) {
    let url;
    try {
      url = new URL(walletUriBase);
    } catch {
      throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_FORBIDDEN_WALLET_BASE_URL, "Invalid base URL supplied by wallet");
    }
    if (url.protocol !== "https:") throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_FORBIDDEN_WALLET_BASE_URL, "Base URLs supplied by wallets must be valid `https` URLs");
  }
  function getSequenceNumberFromByteArray(byteArray) {
    return new DataView(byteArray).getUint32(0, false);
  }
  async function startScenario(config) {
    assertSecureContext();
    const associationKeypair = await generateAssociationKeypair();
    const websocketURL = `ws://localhost:${await startSession(associationKeypair.publicKey, config?.baseUri)}/solana-wallet`;
    let connectionStartTime;
    const getNextRetryDelayMs = (() => {
      const schedule = [...WEBSOCKET_CONNECTION_CONFIG.retryDelayScheduleMs];
      return () => schedule.length > 1 ? schedule.shift() : schedule[0];
    })();
    let nextJsonRpcMessageId = 1;
    let lastKnownInboundSequenceNumber = 0;
    let state = { __type: "disconnected" };
    let socket;
    let sessionEstablished = false;
    let handleForceClose;
    return {
      close: () => {
        socket.close();
        handleForceClose();
      },
      wallet: new Promise((resolve, reject) => {
        const jsonRpcResponsePromises = {};
        const handleOpen = async () => {
          if (state.__type !== "connecting") {
            console.warn(`Expected adapter state to be \`connecting\` at the moment the websocket opens. Got \`${state.__type}\`.`);
            return;
          }
          socket.removeEventListener("open", handleOpen);
          const { associationKeypair: associationKeypair2 } = state;
          const ecdhKeypair = await generateECDHKeypair();
          socket.send(await createHelloReq(ecdhKeypair.publicKey, associationKeypair2.privateKey));
          state = {
            __type: "hello_req_sent",
            associationPublicKey: associationKeypair2.publicKey,
            ecdhPrivateKey: ecdhKeypair.privateKey
          };
        };
        const handleClose = (evt) => {
          if (evt.wasClean) state = { __type: "disconnected" };
          else reject(new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_SESSION_CLOSED, `The wallet session dropped unexpectedly (${evt.code}: ${evt.reason}).`, { closeEvent: evt }));
          disposeSocket();
        };
        const handleError2 = async (_evt) => {
          disposeSocket();
          if (Date.now() - connectionStartTime >= WEBSOCKET_CONNECTION_CONFIG.timeoutMs) reject(new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_SESSION_TIMEOUT, `Failed to connect to the wallet websocket at ${websocketURL}.`));
          else {
            await new Promise((resolve2) => {
              const retryDelayMs = getNextRetryDelayMs();
              retryWaitTimeoutId = window.setTimeout(resolve2, retryDelayMs);
            });
            attemptSocketConnection();
          }
        };
        const handleMessage = async (evt) => {
          const responseBuffer = await evt.data.arrayBuffer();
          switch (state.__type) {
            case "connecting": {
              if (responseBuffer.byteLength !== 0) throw new Error("Encountered unexpected message while connecting");
              const ecdhKeypair = await generateECDHKeypair();
              socket.send(await createHelloReq(ecdhKeypair.publicKey, associationKeypair.privateKey));
              state = {
                __type: "hello_req_sent",
                associationPublicKey: associationKeypair.publicKey,
                ecdhPrivateKey: ecdhKeypair.privateKey
              };
              break;
            }
            case "connected":
              try {
                const sequenceNumber = getSequenceNumberFromByteArray(responseBuffer.slice(0, 4));
                if (sequenceNumber !== lastKnownInboundSequenceNumber + 1) throw new Error("Encrypted message has invalid sequence number");
                lastKnownInboundSequenceNumber = sequenceNumber;
                const jsonRpcMessage = await decryptJsonRpcMessage(responseBuffer, state.sharedSecret);
                const responsePromise = jsonRpcResponsePromises[jsonRpcMessage.id];
                delete jsonRpcResponsePromises[jsonRpcMessage.id];
                responsePromise.resolve(jsonRpcMessage.result);
              } catch (e3) {
                if (e3 instanceof SolanaMobileWalletAdapterProtocolError) {
                  const responsePromise = jsonRpcResponsePromises[e3.jsonRpcMessageId];
                  delete jsonRpcResponsePromises[e3.jsonRpcMessageId];
                  responsePromise.reject(e3);
                } else throw e3;
              }
              break;
            case "hello_req_sent": {
              if (responseBuffer.byteLength === 0) {
                const ecdhKeypair = await generateECDHKeypair();
                socket.send(await createHelloReq(ecdhKeypair.publicKey, associationKeypair.privateKey));
                state = {
                  __type: "hello_req_sent",
                  associationPublicKey: associationKeypair.publicKey,
                  ecdhPrivateKey: ecdhKeypair.privateKey
                };
                break;
              }
              const sharedSecret = await parseHelloRsp(responseBuffer, state.associationPublicKey, state.ecdhPrivateKey);
              const sessionPropertiesBuffer = responseBuffer.slice(65);
              const sessionProperties = sessionPropertiesBuffer.byteLength !== 0 ? await (async () => {
                const sequenceNumber = getSequenceNumberFromByteArray(sessionPropertiesBuffer.slice(0, 4));
                if (sequenceNumber !== lastKnownInboundSequenceNumber + 1) throw new Error("Encrypted message has invalid sequence number");
                lastKnownInboundSequenceNumber = sequenceNumber;
                return parseSessionProps(sessionPropertiesBuffer, sharedSecret);
              })() : { protocol_version: "legacy" };
              state = {
                __type: "connected",
                sharedSecret,
                sessionProperties
              };
              const wallet = createMobileWalletProxy(sessionProperties.protocol_version, async (method, params) => {
                const id = nextJsonRpcMessageId++;
                socket.send(await encryptJsonRpcMessage({
                  id,
                  jsonrpc: "2.0",
                  method,
                  params: params ?? {}
                }, sharedSecret));
                return new Promise((resolve2, reject2) => {
                  jsonRpcResponsePromises[id] = {
                    resolve(result) {
                      switch (method) {
                        case "authorize":
                        case "reauthorize": {
                          const { wallet_uri_base } = result;
                          if (wallet_uri_base != null) try {
                            assertSecureEndpointSpecificURI(wallet_uri_base);
                          } catch (e3) {
                            reject2(e3);
                            return;
                          }
                          break;
                        }
                      }
                      resolve2(result);
                    },
                    reject: reject2
                  };
                });
              });
              sessionEstablished = true;
              try {
                resolve(wallet);
              } catch (e3) {
                reject(e3);
              }
              break;
            }
          }
        };
        handleForceClose = () => {
          socket.removeEventListener("message", handleMessage);
          disposeSocket();
          if (!sessionEstablished) reject(new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_SESSION_CLOSED, `The wallet session was closed before connection.`, { closeEvent: new CloseEvent("socket was closed before connection") }));
        };
        let disposeSocket;
        let retryWaitTimeoutId;
        const attemptSocketConnection = () => {
          if (disposeSocket) disposeSocket();
          state = {
            __type: "connecting",
            associationKeypair
          };
          if (connectionStartTime === void 0) connectionStartTime = Date.now();
          socket = new WebSocket(websocketURL, [WEBSOCKET_PROTOCOL_BINARY]);
          socket.addEventListener("open", handleOpen);
          socket.addEventListener("close", handleClose);
          socket.addEventListener("error", handleError2);
          socket.addEventListener("message", handleMessage);
          disposeSocket = () => {
            window.clearTimeout(retryWaitTimeoutId);
            socket.removeEventListener("open", handleOpen);
            socket.removeEventListener("close", handleClose);
            socket.removeEventListener("error", handleError2);
            socket.removeEventListener("message", handleMessage);
          };
        };
        attemptSocketConnection();
      })
    };
  }
  var SolanaMobileWalletAdapterErrorCode, SolanaMobileWalletAdapterError, SolanaMobileWalletAdapterProtocolError, SolanaSignTransactions, SolanaCloneAuthorization, INITIALIZATION_VECTOR_BYTES, _utf8Decoder, INTENT_NAME, Browser, _frame, WEBSOCKET_CONNECTION_CONFIG, WEBSOCKET_PROTOCOL_BINARY;
  var init_index_browser7 = __esm({
    "node_modules/@solana-mobile/mobile-wallet-adapter-protocol/lib/esm/index.browser.js"() {
      init_index_browser6();
      init_esm6();
      SolanaMobileWalletAdapterErrorCode = {
        ERROR_ASSOCIATION_PORT_OUT_OF_RANGE: "ERROR_ASSOCIATION_PORT_OUT_OF_RANGE",
        ERROR_REFLECTOR_ID_OUT_OF_RANGE: "ERROR_REFLECTOR_ID_OUT_OF_RANGE",
        ERROR_FORBIDDEN_WALLET_BASE_URL: "ERROR_FORBIDDEN_WALLET_BASE_URL",
        ERROR_SECURE_CONTEXT_REQUIRED: "ERROR_SECURE_CONTEXT_REQUIRED",
        ERROR_SESSION_CLOSED: "ERROR_SESSION_CLOSED",
        ERROR_SESSION_TIMEOUT: "ERROR_SESSION_TIMEOUT",
        ERROR_WALLET_NOT_FOUND: "ERROR_WALLET_NOT_FOUND",
        ERROR_INVALID_PROTOCOL_VERSION: "ERROR_INVALID_PROTOCOL_VERSION",
        ERROR_BROWSER_NOT_SUPPORTED: "ERROR_BROWSER_NOT_SUPPORTED",
        ERROR_LOOPBACK_ACCESS_BLOCKED: "ERROR_LOOPBACK_ACCESS_BLOCKED",
        ERROR_ASSOCIATION_CANCELLED: "ERROR_ASSOCIATION_CANCELLED"
      };
      SolanaMobileWalletAdapterError = class extends Error {
        data;
        code;
        constructor(...args) {
          const [code, message, data2] = args;
          super(message);
          this.code = code;
          this.data = data2;
          this.name = "SolanaMobileWalletAdapterError";
        }
      };
      SolanaMobileWalletAdapterProtocolError = class extends Error {
        data;
        code;
        jsonRpcMessageId;
        constructor(...args) {
          const [jsonRpcMessageId, code, message, data2] = args;
          super(message);
          this.code = code;
          this.data = data2;
          this.jsonRpcMessageId = jsonRpcMessageId;
          this.name = "SolanaMobileWalletAdapterProtocolError";
        }
      };
      SolanaSignTransactions = "solana:signTransactions";
      SolanaCloneAuthorization = "solana:cloneAuthorization";
      INITIALIZATION_VECTOR_BYTES = 12;
      INTENT_NAME = "solana-wallet";
      Browser = {
        Firefox: 0,
        Other: 1
      };
      _frame = null;
      WEBSOCKET_CONNECTION_CONFIG = {
        retryDelayScheduleMs: [
          150,
          150,
          200,
          500,
          500,
          750,
          750,
          1e3
        ],
        timeoutMs: 3e4
      };
      WEBSOCKET_PROTOCOL_BINARY = "com.solana.mobilewalletadapter.v1";
    }
  });

  // node_modules/base-x/src/esm/index.js
  function base(ALPHABET2) {
    if (ALPHABET2.length >= 255) {
      throw new TypeError("Alphabet too long");
    }
    const BASE_MAP = new Uint8Array(256);
    for (let j = 0; j < BASE_MAP.length; j++) {
      BASE_MAP[j] = 255;
    }
    for (let i2 = 0; i2 < ALPHABET2.length; i2++) {
      const x = ALPHABET2.charAt(i2);
      const xc = x.charCodeAt(0);
      if (BASE_MAP[xc] !== 255) {
        throw new TypeError(x + " is ambiguous");
      }
      BASE_MAP[xc] = i2;
    }
    const BASE = ALPHABET2.length;
    const LEADER = ALPHABET2.charAt(0);
    const FACTOR = Math.log(BASE) / Math.log(256);
    const iFACTOR = Math.log(256) / Math.log(BASE);
    function encode2(source) {
      if (source instanceof Uint8Array) {
      } else if (ArrayBuffer.isView(source)) {
        source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);
      } else if (Array.isArray(source)) {
        source = Uint8Array.from(source);
      }
      if (!(source instanceof Uint8Array)) {
        throw new TypeError("Expected Uint8Array");
      }
      if (source.length === 0) {
        return "";
      }
      let zeroes = 0;
      let length2 = 0;
      let pbegin = 0;
      const pend = source.length;
      while (pbegin !== pend && source[pbegin] === 0) {
        pbegin++;
        zeroes++;
      }
      const size5 = (pend - pbegin) * iFACTOR + 1 >>> 0;
      const b58 = new Uint8Array(size5);
      while (pbegin !== pend) {
        let carry = source[pbegin];
        let i2 = 0;
        for (let it1 = size5 - 1; (carry !== 0 || i2 < length2) && it1 !== -1; it1--, i2++) {
          carry += 256 * b58[it1] >>> 0;
          b58[it1] = carry % BASE >>> 0;
          carry = carry / BASE >>> 0;
        }
        if (carry !== 0) {
          throw new Error("Non-zero carry");
        }
        length2 = i2;
        pbegin++;
      }
      let it2 = size5 - length2;
      while (it2 !== size5 && b58[it2] === 0) {
        it2++;
      }
      let str = LEADER.repeat(zeroes);
      for (; it2 < size5; ++it2) {
        str += ALPHABET2.charAt(b58[it2]);
      }
      return str;
    }
    function decodeUnsafe(source) {
      if (typeof source !== "string") {
        throw new TypeError("Expected String");
      }
      if (source.length === 0) {
        return new Uint8Array();
      }
      let psz = 0;
      let zeroes = 0;
      let length2 = 0;
      while (source[psz] === LEADER) {
        zeroes++;
        psz++;
      }
      const size5 = (source.length - psz) * FACTOR + 1 >>> 0;
      const b256 = new Uint8Array(size5);
      while (psz < source.length) {
        const charCode = source.charCodeAt(psz);
        if (charCode > 255) {
          return;
        }
        let carry = BASE_MAP[charCode];
        if (carry === 255) {
          return;
        }
        let i2 = 0;
        for (let it3 = size5 - 1; (carry !== 0 || i2 < length2) && it3 !== -1; it3--, i2++) {
          carry += BASE * b256[it3] >>> 0;
          b256[it3] = carry % 256 >>> 0;
          carry = carry / 256 >>> 0;
        }
        if (carry !== 0) {
          throw new Error("Non-zero carry");
        }
        length2 = i2;
        psz++;
      }
      let it4 = size5 - length2;
      while (it4 !== size5 && b256[it4] === 0) {
        it4++;
      }
      const vch = new Uint8Array(zeroes + (size5 - it4));
      let j = zeroes;
      while (it4 !== size5) {
        vch[j++] = b256[it4++];
      }
      return vch;
    }
    function decode(string2) {
      const buffer = decodeUnsafe(string2);
      if (buffer) {
        return buffer;
      }
      throw new Error("Non-base" + BASE + " character");
    }
    return {
      encode: encode2,
      decodeUnsafe,
      decode
    };
  }
  var esm_default;
  var init_esm7 = __esm({
    "node_modules/base-x/src/esm/index.js"() {
      esm_default = base;
    }
  });

  // node_modules/bs58/src/esm/index.js
  var ALPHABET, esm_default2;
  var init_esm8 = __esm({
    "node_modules/bs58/src/esm/index.js"() {
      init_esm7();
      ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
      esm_default2 = esm_default(ALPHABET);
    }
  });

  // node_modules/qrcode/lib/can-promise.js
  var require_can_promise = __commonJS({
    "node_modules/qrcode/lib/can-promise.js"(exports, module) {
      module.exports = function() {
        return typeof Promise === "function" && Promise.prototype && Promise.prototype.then;
      };
    }
  });

  // node_modules/qrcode/lib/core/utils.js
  var require_utils = __commonJS({
    "node_modules/qrcode/lib/core/utils.js"(exports) {
      var toSJISFunction;
      var CODEWORDS_COUNT = [
        0,
        // Not used
        26,
        44,
        70,
        100,
        134,
        172,
        196,
        242,
        292,
        346,
        404,
        466,
        532,
        581,
        655,
        733,
        815,
        901,
        991,
        1085,
        1156,
        1258,
        1364,
        1474,
        1588,
        1706,
        1828,
        1921,
        2051,
        2185,
        2323,
        2465,
        2611,
        2761,
        2876,
        3034,
        3196,
        3362,
        3532,
        3706
      ];
      exports.getSymbolSize = function getSymbolSize(version2) {
        if (!version2) throw new Error('"version" cannot be null or undefined');
        if (version2 < 1 || version2 > 40) throw new Error('"version" should be in range from 1 to 40');
        return version2 * 4 + 17;
      };
      exports.getSymbolTotalCodewords = function getSymbolTotalCodewords(version2) {
        return CODEWORDS_COUNT[version2];
      };
      exports.getBCHDigit = function(data2) {
        let digit = 0;
        while (data2 !== 0) {
          digit++;
          data2 >>>= 1;
        }
        return digit;
      };
      exports.setToSJISFunction = function setToSJISFunction(f3) {
        if (typeof f3 !== "function") {
          throw new Error('"toSJISFunc" is not a valid function.');
        }
        toSJISFunction = f3;
      };
      exports.isKanjiModeEnabled = function() {
        return typeof toSJISFunction !== "undefined";
      };
      exports.toSJIS = function toSJIS(kanji) {
        return toSJISFunction(kanji);
      };
    }
  });

  // node_modules/qrcode/lib/core/error-correction-level.js
  var require_error_correction_level = __commonJS({
    "node_modules/qrcode/lib/core/error-correction-level.js"(exports) {
      exports.L = { bit: 1 };
      exports.M = { bit: 0 };
      exports.Q = { bit: 3 };
      exports.H = { bit: 2 };
      function fromString(string2) {
        if (typeof string2 !== "string") {
          throw new Error("Param is not a string");
        }
        const lcStr = string2.toLowerCase();
        switch (lcStr) {
          case "l":
          case "low":
            return exports.L;
          case "m":
          case "medium":
            return exports.M;
          case "q":
          case "quartile":
            return exports.Q;
          case "h":
          case "high":
            return exports.H;
          default:
            throw new Error("Unknown EC Level: " + string2);
        }
      }
      exports.isValid = function isValid(level) {
        return level && typeof level.bit !== "undefined" && level.bit >= 0 && level.bit < 4;
      };
      exports.from = function from2(value, defaultValue) {
        if (exports.isValid(value)) {
          return value;
        }
        try {
          return fromString(value);
        } catch (e3) {
          return defaultValue;
        }
      };
    }
  });

  // node_modules/qrcode/lib/core/bit-buffer.js
  var require_bit_buffer = __commonJS({
    "node_modules/qrcode/lib/core/bit-buffer.js"(exports, module) {
      function BitBuffer() {
        this.buffer = [];
        this.length = 0;
      }
      BitBuffer.prototype = {
        get: function(index3) {
          const bufIndex = Math.floor(index3 / 8);
          return (this.buffer[bufIndex] >>> 7 - index3 % 8 & 1) === 1;
        },
        put: function(num, length2) {
          for (let i2 = 0; i2 < length2; i2++) {
            this.putBit((num >>> length2 - i2 - 1 & 1) === 1);
          }
        },
        getLengthInBits: function() {
          return this.length;
        },
        putBit: function(bit) {
          const bufIndex = Math.floor(this.length / 8);
          if (this.buffer.length <= bufIndex) {
            this.buffer.push(0);
          }
          if (bit) {
            this.buffer[bufIndex] |= 128 >>> this.length % 8;
          }
          this.length++;
        }
      };
      module.exports = BitBuffer;
    }
  });

  // node_modules/qrcode/lib/core/bit-matrix.js
  var require_bit_matrix = __commonJS({
    "node_modules/qrcode/lib/core/bit-matrix.js"(exports, module) {
      function BitMatrix(size5) {
        if (!size5 || size5 < 1) {
          throw new Error("BitMatrix size must be defined and greater than 0");
        }
        this.size = size5;
        this.data = new Uint8Array(size5 * size5);
        this.reservedBit = new Uint8Array(size5 * size5);
      }
      BitMatrix.prototype.set = function(row, col, value, reserved) {
        const index3 = row * this.size + col;
        this.data[index3] = value;
        if (reserved) this.reservedBit[index3] = true;
      };
      BitMatrix.prototype.get = function(row, col) {
        return this.data[row * this.size + col];
      };
      BitMatrix.prototype.xor = function(row, col, value) {
        this.data[row * this.size + col] ^= value;
      };
      BitMatrix.prototype.isReserved = function(row, col) {
        return this.reservedBit[row * this.size + col];
      };
      module.exports = BitMatrix;
    }
  });

  // node_modules/qrcode/lib/core/alignment-pattern.js
  var require_alignment_pattern = __commonJS({
    "node_modules/qrcode/lib/core/alignment-pattern.js"(exports) {
      var getSymbolSize = require_utils().getSymbolSize;
      exports.getRowColCoords = function getRowColCoords(version2) {
        if (version2 === 1) return [];
        const posCount = Math.floor(version2 / 7) + 2;
        const size5 = getSymbolSize(version2);
        const intervals2 = size5 === 145 ? 26 : Math.ceil((size5 - 13) / (2 * posCount - 2)) * 2;
        const positions = [size5 - 7];
        for (let i2 = 1; i2 < posCount - 1; i2++) {
          positions[i2] = positions[i2 - 1] - intervals2;
        }
        positions.push(6);
        return positions.reverse();
      };
      exports.getPositions = function getPositions(version2) {
        const coords2 = [];
        const pos = exports.getRowColCoords(version2);
        const posLength = pos.length;
        for (let i2 = 0; i2 < posLength; i2++) {
          for (let j = 0; j < posLength; j++) {
            if (i2 === 0 && j === 0 || // top-left
            i2 === 0 && j === posLength - 1 || // bottom-left
            i2 === posLength - 1 && j === 0) {
              continue;
            }
            coords2.push([pos[i2], pos[j]]);
          }
        }
        return coords2;
      };
    }
  });

  // node_modules/qrcode/lib/core/finder-pattern.js
  var require_finder_pattern = __commonJS({
    "node_modules/qrcode/lib/core/finder-pattern.js"(exports) {
      var getSymbolSize = require_utils().getSymbolSize;
      var FINDER_PATTERN_SIZE = 7;
      exports.getPositions = function getPositions(version2) {
        const size5 = getSymbolSize(version2);
        return [
          // top-left
          [0, 0],
          // top-right
          [size5 - FINDER_PATTERN_SIZE, 0],
          // bottom-left
          [0, size5 - FINDER_PATTERN_SIZE]
        ];
      };
    }
  });

  // node_modules/qrcode/lib/core/mask-pattern.js
  var require_mask_pattern = __commonJS({
    "node_modules/qrcode/lib/core/mask-pattern.js"(exports) {
      exports.Patterns = {
        PATTERN000: 0,
        PATTERN001: 1,
        PATTERN010: 2,
        PATTERN011: 3,
        PATTERN100: 4,
        PATTERN101: 5,
        PATTERN110: 6,
        PATTERN111: 7
      };
      var PenaltyScores = {
        N1: 3,
        N2: 3,
        N3: 40,
        N4: 10
      };
      exports.isValid = function isValid(mask2) {
        return mask2 != null && mask2 !== "" && !isNaN(mask2) && mask2 >= 0 && mask2 <= 7;
      };
      exports.from = function from2(value) {
        return exports.isValid(value) ? parseInt(value, 10) : void 0;
      };
      exports.getPenaltyN1 = function getPenaltyN1(data2) {
        const size5 = data2.size;
        let points = 0;
        let sameCountCol = 0;
        let sameCountRow = 0;
        let lastCol = null;
        let lastRow = null;
        for (let row = 0; row < size5; row++) {
          sameCountCol = sameCountRow = 0;
          lastCol = lastRow = null;
          for (let col = 0; col < size5; col++) {
            let module2 = data2.get(row, col);
            if (module2 === lastCol) {
              sameCountCol++;
            } else {
              if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);
              lastCol = module2;
              sameCountCol = 1;
            }
            module2 = data2.get(col, row);
            if (module2 === lastRow) {
              sameCountRow++;
            } else {
              if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);
              lastRow = module2;
              sameCountRow = 1;
            }
          }
          if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);
          if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);
        }
        return points;
      };
      exports.getPenaltyN2 = function getPenaltyN2(data2) {
        const size5 = data2.size;
        let points = 0;
        for (let row = 0; row < size5 - 1; row++) {
          for (let col = 0; col < size5 - 1; col++) {
            const last = data2.get(row, col) + data2.get(row, col + 1) + data2.get(row + 1, col) + data2.get(row + 1, col + 1);
            if (last === 4 || last === 0) points++;
          }
        }
        return points * PenaltyScores.N2;
      };
      exports.getPenaltyN3 = function getPenaltyN3(data2) {
        const size5 = data2.size;
        let points = 0;
        let bitsCol = 0;
        let bitsRow = 0;
        for (let row = 0; row < size5; row++) {
          bitsCol = bitsRow = 0;
          for (let col = 0; col < size5; col++) {
            bitsCol = bitsCol << 1 & 2047 | data2.get(row, col);
            if (col >= 10 && (bitsCol === 1488 || bitsCol === 93)) points++;
            bitsRow = bitsRow << 1 & 2047 | data2.get(col, row);
            if (col >= 10 && (bitsRow === 1488 || bitsRow === 93)) points++;
          }
        }
        return points * PenaltyScores.N3;
      };
      exports.getPenaltyN4 = function getPenaltyN4(data2) {
        let darkCount = 0;
        const modulesCount = data2.data.length;
        for (let i2 = 0; i2 < modulesCount; i2++) darkCount += data2.data[i2];
        const k = Math.abs(Math.ceil(darkCount * 100 / modulesCount / 5) - 10);
        return k * PenaltyScores.N4;
      };
      function getMaskAt(maskPattern, i2, j) {
        switch (maskPattern) {
          case exports.Patterns.PATTERN000:
            return (i2 + j) % 2 === 0;
          case exports.Patterns.PATTERN001:
            return i2 % 2 === 0;
          case exports.Patterns.PATTERN010:
            return j % 3 === 0;
          case exports.Patterns.PATTERN011:
            return (i2 + j) % 3 === 0;
          case exports.Patterns.PATTERN100:
            return (Math.floor(i2 / 2) + Math.floor(j / 3)) % 2 === 0;
          case exports.Patterns.PATTERN101:
            return i2 * j % 2 + i2 * j % 3 === 0;
          case exports.Patterns.PATTERN110:
            return (i2 * j % 2 + i2 * j % 3) % 2 === 0;
          case exports.Patterns.PATTERN111:
            return (i2 * j % 3 + (i2 + j) % 2) % 2 === 0;
          default:
            throw new Error("bad maskPattern:" + maskPattern);
        }
      }
      exports.applyMask = function applyMask(pattern, data2) {
        const size5 = data2.size;
        for (let col = 0; col < size5; col++) {
          for (let row = 0; row < size5; row++) {
            if (data2.isReserved(row, col)) continue;
            data2.xor(row, col, getMaskAt(pattern, row, col));
          }
        }
      };
      exports.getBestMask = function getBestMask(data2, setupFormatFunc) {
        const numPatterns = Object.keys(exports.Patterns).length;
        let bestPattern = 0;
        let lowerPenalty = Infinity;
        for (let p2 = 0; p2 < numPatterns; p2++) {
          setupFormatFunc(p2);
          exports.applyMask(p2, data2);
          const penalty = exports.getPenaltyN1(data2) + exports.getPenaltyN2(data2) + exports.getPenaltyN3(data2) + exports.getPenaltyN4(data2);
          exports.applyMask(p2, data2);
          if (penalty < lowerPenalty) {
            lowerPenalty = penalty;
            bestPattern = p2;
          }
        }
        return bestPattern;
      };
    }
  });

  // node_modules/qrcode/lib/core/error-correction-code.js
  var require_error_correction_code = __commonJS({
    "node_modules/qrcode/lib/core/error-correction-code.js"(exports) {
      var ECLevel = require_error_correction_level();
      var EC_BLOCKS_TABLE = [
        // L  M  Q  H
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        2,
        2,
        1,
        2,
        2,
        4,
        1,
        2,
        4,
        4,
        2,
        4,
        4,
        4,
        2,
        4,
        6,
        5,
        2,
        4,
        6,
        6,
        2,
        5,
        8,
        8,
        4,
        5,
        8,
        8,
        4,
        5,
        8,
        11,
        4,
        8,
        10,
        11,
        4,
        9,
        12,
        16,
        4,
        9,
        16,
        16,
        6,
        10,
        12,
        18,
        6,
        10,
        17,
        16,
        6,
        11,
        16,
        19,
        6,
        13,
        18,
        21,
        7,
        14,
        21,
        25,
        8,
        16,
        20,
        25,
        8,
        17,
        23,
        25,
        9,
        17,
        23,
        34,
        9,
        18,
        25,
        30,
        10,
        20,
        27,
        32,
        12,
        21,
        29,
        35,
        12,
        23,
        34,
        37,
        12,
        25,
        34,
        40,
        13,
        26,
        35,
        42,
        14,
        28,
        38,
        45,
        15,
        29,
        40,
        48,
        16,
        31,
        43,
        51,
        17,
        33,
        45,
        54,
        18,
        35,
        48,
        57,
        19,
        37,
        51,
        60,
        19,
        38,
        53,
        63,
        20,
        40,
        56,
        66,
        21,
        43,
        59,
        70,
        22,
        45,
        62,
        74,
        24,
        47,
        65,
        77,
        25,
        49,
        68,
        81
      ];
      var EC_CODEWORDS_TABLE = [
        // L  M  Q  H
        7,
        10,
        13,
        17,
        10,
        16,
        22,
        28,
        15,
        26,
        36,
        44,
        20,
        36,
        52,
        64,
        26,
        48,
        72,
        88,
        36,
        64,
        96,
        112,
        40,
        72,
        108,
        130,
        48,
        88,
        132,
        156,
        60,
        110,
        160,
        192,
        72,
        130,
        192,
        224,
        80,
        150,
        224,
        264,
        96,
        176,
        260,
        308,
        104,
        198,
        288,
        352,
        120,
        216,
        320,
        384,
        132,
        240,
        360,
        432,
        144,
        280,
        408,
        480,
        168,
        308,
        448,
        532,
        180,
        338,
        504,
        588,
        196,
        364,
        546,
        650,
        224,
        416,
        600,
        700,
        224,
        442,
        644,
        750,
        252,
        476,
        690,
        816,
        270,
        504,
        750,
        900,
        300,
        560,
        810,
        960,
        312,
        588,
        870,
        1050,
        336,
        644,
        952,
        1110,
        360,
        700,
        1020,
        1200,
        390,
        728,
        1050,
        1260,
        420,
        784,
        1140,
        1350,
        450,
        812,
        1200,
        1440,
        480,
        868,
        1290,
        1530,
        510,
        924,
        1350,
        1620,
        540,
        980,
        1440,
        1710,
        570,
        1036,
        1530,
        1800,
        570,
        1064,
        1590,
        1890,
        600,
        1120,
        1680,
        1980,
        630,
        1204,
        1770,
        2100,
        660,
        1260,
        1860,
        2220,
        720,
        1316,
        1950,
        2310,
        750,
        1372,
        2040,
        2430
      ];
      exports.getBlocksCount = function getBlocksCount(version2, errorCorrectionLevel) {
        switch (errorCorrectionLevel) {
          case ECLevel.L:
            return EC_BLOCKS_TABLE[(version2 - 1) * 4 + 0];
          case ECLevel.M:
            return EC_BLOCKS_TABLE[(version2 - 1) * 4 + 1];
          case ECLevel.Q:
            return EC_BLOCKS_TABLE[(version2 - 1) * 4 + 2];
          case ECLevel.H:
            return EC_BLOCKS_TABLE[(version2 - 1) * 4 + 3];
          default:
            return void 0;
        }
      };
      exports.getTotalCodewordsCount = function getTotalCodewordsCount(version2, errorCorrectionLevel) {
        switch (errorCorrectionLevel) {
          case ECLevel.L:
            return EC_CODEWORDS_TABLE[(version2 - 1) * 4 + 0];
          case ECLevel.M:
            return EC_CODEWORDS_TABLE[(version2 - 1) * 4 + 1];
          case ECLevel.Q:
            return EC_CODEWORDS_TABLE[(version2 - 1) * 4 + 2];
          case ECLevel.H:
            return EC_CODEWORDS_TABLE[(version2 - 1) * 4 + 3];
          default:
            return void 0;
        }
      };
    }
  });

  // node_modules/qrcode/lib/core/galois-field.js
  var require_galois_field = __commonJS({
    "node_modules/qrcode/lib/core/galois-field.js"(exports) {
      var EXP_TABLE = new Uint8Array(512);
      var LOG_TABLE = new Uint8Array(256);
      (function initTables() {
        let x = 1;
        for (let i2 = 0; i2 < 255; i2++) {
          EXP_TABLE[i2] = x;
          LOG_TABLE[x] = i2;
          x <<= 1;
          if (x & 256) {
            x ^= 285;
          }
        }
        for (let i2 = 255; i2 < 512; i2++) {
          EXP_TABLE[i2] = EXP_TABLE[i2 - 255];
        }
      })();
      exports.log = function log(n3) {
        if (n3 < 1) throw new Error("log(" + n3 + ")");
        return LOG_TABLE[n3];
      };
      exports.exp = function exp(n3) {
        return EXP_TABLE[n3];
      };
      exports.mul = function mul(x, y) {
        if (x === 0 || y === 0) return 0;
        return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]];
      };
    }
  });

  // node_modules/qrcode/lib/core/polynomial.js
  var require_polynomial = __commonJS({
    "node_modules/qrcode/lib/core/polynomial.js"(exports) {
      var GF = require_galois_field();
      exports.mul = function mul(p1, p2) {
        const coeff = new Uint8Array(p1.length + p2.length - 1);
        for (let i2 = 0; i2 < p1.length; i2++) {
          for (let j = 0; j < p2.length; j++) {
            coeff[i2 + j] ^= GF.mul(p1[i2], p2[j]);
          }
        }
        return coeff;
      };
      exports.mod = function mod2(divident, divisor) {
        let result = new Uint8Array(divident);
        while (result.length - divisor.length >= 0) {
          const coeff = result[0];
          for (let i2 = 0; i2 < divisor.length; i2++) {
            result[i2] ^= GF.mul(divisor[i2], coeff);
          }
          let offset5 = 0;
          while (offset5 < result.length && result[offset5] === 0) offset5++;
          result = result.slice(offset5);
        }
        return result;
      };
      exports.generateECPolynomial = function generateECPolynomial(degree) {
        let poly = new Uint8Array([1]);
        for (let i2 = 0; i2 < degree; i2++) {
          poly = exports.mul(poly, new Uint8Array([1, GF.exp(i2)]));
        }
        return poly;
      };
    }
  });

  // node_modules/qrcode/lib/core/reed-solomon-encoder.js
  var require_reed_solomon_encoder = __commonJS({
    "node_modules/qrcode/lib/core/reed-solomon-encoder.js"(exports, module) {
      var Polynomial = require_polynomial();
      function ReedSolomonEncoder(degree) {
        this.genPoly = void 0;
        this.degree = degree;
        if (this.degree) this.initialize(this.degree);
      }
      ReedSolomonEncoder.prototype.initialize = function initialize(degree) {
        this.degree = degree;
        this.genPoly = Polynomial.generateECPolynomial(this.degree);
      };
      ReedSolomonEncoder.prototype.encode = function encode2(data2) {
        if (!this.genPoly) {
          throw new Error("Encoder not initialized");
        }
        const paddedData = new Uint8Array(data2.length + this.degree);
        paddedData.set(data2);
        const remainder = Polynomial.mod(paddedData, this.genPoly);
        const start = this.degree - remainder.length;
        if (start > 0) {
          const buff = new Uint8Array(this.degree);
          buff.set(remainder, start);
          return buff;
        }
        return remainder;
      };
      module.exports = ReedSolomonEncoder;
    }
  });

  // node_modules/qrcode/lib/core/version-check.js
  var require_version_check = __commonJS({
    "node_modules/qrcode/lib/core/version-check.js"(exports) {
      exports.isValid = function isValid(version2) {
        return !isNaN(version2) && version2 >= 1 && version2 <= 40;
      };
    }
  });

  // node_modules/qrcode/lib/core/regex.js
  var require_regex = __commonJS({
    "node_modules/qrcode/lib/core/regex.js"(exports) {
      var numeric2 = "[0-9]+";
      var alphanumeric = "[A-Z $%*+\\-./:]+";
      var kanji = "(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";
      kanji = kanji.replace(/u/g, "\\u");
      var byte = "(?:(?![A-Z0-9 $%*+\\-./:]|" + kanji + ")(?:.|[\r\n]))+";
      exports.KANJI = new RegExp(kanji, "g");
      exports.BYTE_KANJI = new RegExp("[^A-Z0-9 $%*+\\-./:]+", "g");
      exports.BYTE = new RegExp(byte, "g");
      exports.NUMERIC = new RegExp(numeric2, "g");
      exports.ALPHANUMERIC = new RegExp(alphanumeric, "g");
      var TEST_KANJI = new RegExp("^" + kanji + "$");
      var TEST_NUMERIC = new RegExp("^" + numeric2 + "$");
      var TEST_ALPHANUMERIC = new RegExp("^[A-Z0-9 $%*+\\-./:]+$");
      exports.testKanji = function testKanji(str) {
        return TEST_KANJI.test(str);
      };
      exports.testNumeric = function testNumeric(str) {
        return TEST_NUMERIC.test(str);
      };
      exports.testAlphanumeric = function testAlphanumeric(str) {
        return TEST_ALPHANUMERIC.test(str);
      };
    }
  });

  // node_modules/qrcode/lib/core/mode.js
  var require_mode = __commonJS({
    "node_modules/qrcode/lib/core/mode.js"(exports) {
      var VersionCheck = require_version_check();
      var Regex = require_regex();
      exports.NUMERIC = {
        id: "Numeric",
        bit: 1 << 0,
        ccBits: [10, 12, 14]
      };
      exports.ALPHANUMERIC = {
        id: "Alphanumeric",
        bit: 1 << 1,
        ccBits: [9, 11, 13]
      };
      exports.BYTE = {
        id: "Byte",
        bit: 1 << 2,
        ccBits: [8, 16, 16]
      };
      exports.KANJI = {
        id: "Kanji",
        bit: 1 << 3,
        ccBits: [8, 10, 12]
      };
      exports.MIXED = {
        bit: -1
      };
      exports.getCharCountIndicator = function getCharCountIndicator(mode, version2) {
        if (!mode.ccBits) throw new Error("Invalid mode: " + mode);
        if (!VersionCheck.isValid(version2)) {
          throw new Error("Invalid version: " + version2);
        }
        if (version2 >= 1 && version2 < 10) return mode.ccBits[0];
        else if (version2 < 27) return mode.ccBits[1];
        return mode.ccBits[2];
      };
      exports.getBestModeForData = function getBestModeForData(dataStr) {
        if (Regex.testNumeric(dataStr)) return exports.NUMERIC;
        else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC;
        else if (Regex.testKanji(dataStr)) return exports.KANJI;
        else return exports.BYTE;
      };
      exports.toString = function toString(mode) {
        if (mode && mode.id) return mode.id;
        throw new Error("Invalid mode");
      };
      exports.isValid = function isValid(mode) {
        return mode && mode.bit && mode.ccBits;
      };
      function fromString(string2) {
        if (typeof string2 !== "string") {
          throw new Error("Param is not a string");
        }
        const lcStr = string2.toLowerCase();
        switch (lcStr) {
          case "numeric":
            return exports.NUMERIC;
          case "alphanumeric":
            return exports.ALPHANUMERIC;
          case "kanji":
            return exports.KANJI;
          case "byte":
            return exports.BYTE;
          default:
            throw new Error("Unknown mode: " + string2);
        }
      }
      exports.from = function from2(value, defaultValue) {
        if (exports.isValid(value)) {
          return value;
        }
        try {
          return fromString(value);
        } catch (e3) {
          return defaultValue;
        }
      };
    }
  });

  // node_modules/qrcode/lib/core/version.js
  var require_version = __commonJS({
    "node_modules/qrcode/lib/core/version.js"(exports) {
      var Utils = require_utils();
      var ECCode = require_error_correction_code();
      var ECLevel = require_error_correction_level();
      var Mode = require_mode();
      var VersionCheck = require_version_check();
      var G18 = 1 << 12 | 1 << 11 | 1 << 10 | 1 << 9 | 1 << 8 | 1 << 5 | 1 << 2 | 1 << 0;
      var G18_BCH = Utils.getBCHDigit(G18);
      function getBestVersionForDataLength(mode, length2, errorCorrectionLevel) {
        for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {
          if (length2 <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {
            return currentVersion;
          }
        }
        return void 0;
      }
      function getReservedBitsCount(mode, version2) {
        return Mode.getCharCountIndicator(mode, version2) + 4;
      }
      function getTotalBitsFromDataArray(segments, version2) {
        let totalBits = 0;
        segments.forEach(function(data2) {
          const reservedBits = getReservedBitsCount(data2.mode, version2);
          totalBits += reservedBits + data2.getBitsLength();
        });
        return totalBits;
      }
      function getBestVersionForMixedData(segments, errorCorrectionLevel) {
        for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {
          const length2 = getTotalBitsFromDataArray(segments, currentVersion);
          if (length2 <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {
            return currentVersion;
          }
        }
        return void 0;
      }
      exports.from = function from2(value, defaultValue) {
        if (VersionCheck.isValid(value)) {
          return parseInt(value, 10);
        }
        return defaultValue;
      };
      exports.getCapacity = function getCapacity(version2, errorCorrectionLevel, mode) {
        if (!VersionCheck.isValid(version2)) {
          throw new Error("Invalid QR Code version");
        }
        if (typeof mode === "undefined") mode = Mode.BYTE;
        const totalCodewords = Utils.getSymbolTotalCodewords(version2);
        const ecTotalCodewords = ECCode.getTotalCodewordsCount(version2, errorCorrectionLevel);
        const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;
        if (mode === Mode.MIXED) return dataTotalCodewordsBits;
        const usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version2);
        switch (mode) {
          case Mode.NUMERIC:
            return Math.floor(usableBits / 10 * 3);
          case Mode.ALPHANUMERIC:
            return Math.floor(usableBits / 11 * 2);
          case Mode.KANJI:
            return Math.floor(usableBits / 13);
          case Mode.BYTE:
          default:
            return Math.floor(usableBits / 8);
        }
      };
      exports.getBestVersionForData = function getBestVersionForData(data2, errorCorrectionLevel) {
        let seg;
        const ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M);
        if (Array.isArray(data2)) {
          if (data2.length > 1) {
            return getBestVersionForMixedData(data2, ecl);
          }
          if (data2.length === 0) {
            return 1;
          }
          seg = data2[0];
        } else {
          seg = data2;
        }
        return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl);
      };
      exports.getEncodedBits = function getEncodedBits(version2) {
        if (!VersionCheck.isValid(version2) || version2 < 7) {
          throw new Error("Invalid QR Code version");
        }
        let d2 = version2 << 12;
        while (Utils.getBCHDigit(d2) - G18_BCH >= 0) {
          d2 ^= G18 << Utils.getBCHDigit(d2) - G18_BCH;
        }
        return version2 << 12 | d2;
      };
    }
  });

  // node_modules/qrcode/lib/core/format-info.js
  var require_format_info = __commonJS({
    "node_modules/qrcode/lib/core/format-info.js"(exports) {
      var Utils = require_utils();
      var G15 = 1 << 10 | 1 << 8 | 1 << 5 | 1 << 4 | 1 << 2 | 1 << 1 | 1 << 0;
      var G15_MASK = 1 << 14 | 1 << 12 | 1 << 10 | 1 << 4 | 1 << 1;
      var G15_BCH = Utils.getBCHDigit(G15);
      exports.getEncodedBits = function getEncodedBits(errorCorrectionLevel, mask2) {
        const data2 = errorCorrectionLevel.bit << 3 | mask2;
        let d2 = data2 << 10;
        while (Utils.getBCHDigit(d2) - G15_BCH >= 0) {
          d2 ^= G15 << Utils.getBCHDigit(d2) - G15_BCH;
        }
        return (data2 << 10 | d2) ^ G15_MASK;
      };
    }
  });

  // node_modules/qrcode/lib/core/numeric-data.js
  var require_numeric_data = __commonJS({
    "node_modules/qrcode/lib/core/numeric-data.js"(exports, module) {
      var Mode = require_mode();
      function NumericData(data2) {
        this.mode = Mode.NUMERIC;
        this.data = data2.toString();
      }
      NumericData.getBitsLength = function getBitsLength(length2) {
        return 10 * Math.floor(length2 / 3) + (length2 % 3 ? length2 % 3 * 3 + 1 : 0);
      };
      NumericData.prototype.getLength = function getLength() {
        return this.data.length;
      };
      NumericData.prototype.getBitsLength = function getBitsLength() {
        return NumericData.getBitsLength(this.data.length);
      };
      NumericData.prototype.write = function write(bitBuffer) {
        let i2, group, value;
        for (i2 = 0; i2 + 3 <= this.data.length; i2 += 3) {
          group = this.data.substr(i2, 3);
          value = parseInt(group, 10);
          bitBuffer.put(value, 10);
        }
        const remainingNum = this.data.length - i2;
        if (remainingNum > 0) {
          group = this.data.substr(i2);
          value = parseInt(group, 10);
          bitBuffer.put(value, remainingNum * 3 + 1);
        }
      };
      module.exports = NumericData;
    }
  });

  // node_modules/qrcode/lib/core/alphanumeric-data.js
  var require_alphanumeric_data = __commonJS({
    "node_modules/qrcode/lib/core/alphanumeric-data.js"(exports, module) {
      var Mode = require_mode();
      var ALPHA_NUM_CHARS = [
        "0",
        "1",
        "2",
        "3",
        "4",
        "5",
        "6",
        "7",
        "8",
        "9",
        "A",
        "B",
        "C",
        "D",
        "E",
        "F",
        "G",
        "H",
        "I",
        "J",
        "K",
        "L",
        "M",
        "N",
        "O",
        "P",
        "Q",
        "R",
        "S",
        "T",
        "U",
        "V",
        "W",
        "X",
        "Y",
        "Z",
        " ",
        "$",
        "%",
        "*",
        "+",
        "-",
        ".",
        "/",
        ":"
      ];
      function AlphanumericData(data2) {
        this.mode = Mode.ALPHANUMERIC;
        this.data = data2;
      }
      AlphanumericData.getBitsLength = function getBitsLength(length2) {
        return 11 * Math.floor(length2 / 2) + 6 * (length2 % 2);
      };
      AlphanumericData.prototype.getLength = function getLength() {
        return this.data.length;
      };
      AlphanumericData.prototype.getBitsLength = function getBitsLength() {
        return AlphanumericData.getBitsLength(this.data.length);
      };
      AlphanumericData.prototype.write = function write(bitBuffer) {
        let i2;
        for (i2 = 0; i2 + 2 <= this.data.length; i2 += 2) {
          let value = ALPHA_NUM_CHARS.indexOf(this.data[i2]) * 45;
          value += ALPHA_NUM_CHARS.indexOf(this.data[i2 + 1]);
          bitBuffer.put(value, 11);
        }
        if (this.data.length % 2) {
          bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i2]), 6);
        }
      };
      module.exports = AlphanumericData;
    }
  });

  // node_modules/qrcode/lib/core/byte-data.js
  var require_byte_data = __commonJS({
    "node_modules/qrcode/lib/core/byte-data.js"(exports, module) {
      var Mode = require_mode();
      function ByteData(data2) {
        this.mode = Mode.BYTE;
        if (typeof data2 === "string") {
          this.data = new TextEncoder().encode(data2);
        } else {
          this.data = new Uint8Array(data2);
        }
      }
      ByteData.getBitsLength = function getBitsLength(length2) {
        return length2 * 8;
      };
      ByteData.prototype.getLength = function getLength() {
        return this.data.length;
      };
      ByteData.prototype.getBitsLength = function getBitsLength() {
        return ByteData.getBitsLength(this.data.length);
      };
      ByteData.prototype.write = function(bitBuffer) {
        for (let i2 = 0, l2 = this.data.length; i2 < l2; i2++) {
          bitBuffer.put(this.data[i2], 8);
        }
      };
      module.exports = ByteData;
    }
  });

  // node_modules/qrcode/lib/core/kanji-data.js
  var require_kanji_data = __commonJS({
    "node_modules/qrcode/lib/core/kanji-data.js"(exports, module) {
      var Mode = require_mode();
      var Utils = require_utils();
      function KanjiData(data2) {
        this.mode = Mode.KANJI;
        this.data = data2;
      }
      KanjiData.getBitsLength = function getBitsLength(length2) {
        return length2 * 13;
      };
      KanjiData.prototype.getLength = function getLength() {
        return this.data.length;
      };
      KanjiData.prototype.getBitsLength = function getBitsLength() {
        return KanjiData.getBitsLength(this.data.length);
      };
      KanjiData.prototype.write = function(bitBuffer) {
        let i2;
        for (i2 = 0; i2 < this.data.length; i2++) {
          let value = Utils.toSJIS(this.data[i2]);
          if (value >= 33088 && value <= 40956) {
            value -= 33088;
          } else if (value >= 57408 && value <= 60351) {
            value -= 49472;
          } else {
            throw new Error(
              "Invalid SJIS character: " + this.data[i2] + "\nMake sure your charset is UTF-8"
            );
          }
          value = (value >>> 8 & 255) * 192 + (value & 255);
          bitBuffer.put(value, 13);
        }
      };
      module.exports = KanjiData;
    }
  });

  // node_modules/dijkstrajs/dijkstra.js
  var require_dijkstra = __commonJS({
    "node_modules/dijkstrajs/dijkstra.js"(exports, module) {
      "use strict";
      var dijkstra = {
        single_source_shortest_paths: function(graph, s2, d2) {
          var predecessors = {};
          var costs = {};
          costs[s2] = 0;
          var open = dijkstra.PriorityQueue.make();
          open.push(s2, 0);
          var closest, u2, v, cost_of_s_to_u, adjacent_nodes, cost_of_e, cost_of_s_to_u_plus_cost_of_e, cost_of_s_to_v, first_visit;
          while (!open.empty()) {
            closest = open.pop();
            u2 = closest.value;
            cost_of_s_to_u = closest.cost;
            adjacent_nodes = graph[u2] || {};
            for (v in adjacent_nodes) {
              if (adjacent_nodes.hasOwnProperty(v)) {
                cost_of_e = adjacent_nodes[v];
                cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;
                cost_of_s_to_v = costs[v];
                first_visit = typeof costs[v] === "undefined";
                if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {
                  costs[v] = cost_of_s_to_u_plus_cost_of_e;
                  open.push(v, cost_of_s_to_u_plus_cost_of_e);
                  predecessors[v] = u2;
                }
              }
            }
          }
          if (typeof d2 !== "undefined" && typeof costs[d2] === "undefined") {
            var msg = ["Could not find a path from ", s2, " to ", d2, "."].join("");
            throw new Error(msg);
          }
          return predecessors;
        },
        extract_shortest_path_from_predecessor_list: function(predecessors, d2) {
          var nodes = [];
          var u2 = d2;
          var predecessor;
          while (u2) {
            nodes.push(u2);
            predecessor = predecessors[u2];
            u2 = predecessors[u2];
          }
          nodes.reverse();
          return nodes;
        },
        find_path: function(graph, s2, d2) {
          var predecessors = dijkstra.single_source_shortest_paths(graph, s2, d2);
          return dijkstra.extract_shortest_path_from_predecessor_list(
            predecessors,
            d2
          );
        },
        /**
         * A very naive priority queue implementation.
         */
        PriorityQueue: {
          make: function(opts) {
            var T = dijkstra.PriorityQueue, t2 = {}, key;
            opts = opts || {};
            for (key in T) {
              if (T.hasOwnProperty(key)) {
                t2[key] = T[key];
              }
            }
            t2.queue = [];
            t2.sorter = opts.sorter || T.default_sorter;
            return t2;
          },
          default_sorter: function(a2, b2) {
            return a2.cost - b2.cost;
          },
          /**
           * Add a new item to the queue and ensure the highest priority element
           * is at the front of the queue.
           */
          push: function(value, cost) {
            var item = { value, cost };
            this.queue.push(item);
            this.queue.sort(this.sorter);
          },
          /**
           * Return the highest priority element in the queue.
           */
          pop: function() {
            return this.queue.shift();
          },
          empty: function() {
            return this.queue.length === 0;
          }
        }
      };
      if (typeof module !== "undefined") {
        module.exports = dijkstra;
      }
    }
  });

  // node_modules/qrcode/lib/core/segments.js
  var require_segments = __commonJS({
    "node_modules/qrcode/lib/core/segments.js"(exports) {
      var Mode = require_mode();
      var NumericData = require_numeric_data();
      var AlphanumericData = require_alphanumeric_data();
      var ByteData = require_byte_data();
      var KanjiData = require_kanji_data();
      var Regex = require_regex();
      var Utils = require_utils();
      var dijkstra = require_dijkstra();
      function getStringByteLength(str) {
        return unescape(encodeURIComponent(str)).length;
      }
      function getSegments(regex, mode, str) {
        const segments = [];
        let result;
        while ((result = regex.exec(str)) !== null) {
          segments.push({
            data: result[0],
            index: result.index,
            mode,
            length: result[0].length
          });
        }
        return segments;
      }
      function getSegmentsFromString(dataStr) {
        const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr);
        const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr);
        let byteSegs;
        let kanjiSegs;
        if (Utils.isKanjiModeEnabled()) {
          byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr);
          kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr);
        } else {
          byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr);
          kanjiSegs = [];
        }
        const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs);
        return segs.sort(function(s1, s2) {
          return s1.index - s2.index;
        }).map(function(obj) {
          return {
            data: obj.data,
            mode: obj.mode,
            length: obj.length
          };
        });
      }
      function getSegmentBitsLength(length2, mode) {
        switch (mode) {
          case Mode.NUMERIC:
            return NumericData.getBitsLength(length2);
          case Mode.ALPHANUMERIC:
            return AlphanumericData.getBitsLength(length2);
          case Mode.KANJI:
            return KanjiData.getBitsLength(length2);
          case Mode.BYTE:
            return ByteData.getBitsLength(length2);
        }
      }
      function mergeSegments(segs) {
        return segs.reduce(function(acc, curr) {
          const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null;
          if (prevSeg && prevSeg.mode === curr.mode) {
            acc[acc.length - 1].data += curr.data;
            return acc;
          }
          acc.push(curr);
          return acc;
        }, []);
      }
      function buildNodes(segs) {
        const nodes = [];
        for (let i2 = 0; i2 < segs.length; i2++) {
          const seg = segs[i2];
          switch (seg.mode) {
            case Mode.NUMERIC:
              nodes.push([
                seg,
                { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },
                { data: seg.data, mode: Mode.BYTE, length: seg.length }
              ]);
              break;
            case Mode.ALPHANUMERIC:
              nodes.push([
                seg,
                { data: seg.data, mode: Mode.BYTE, length: seg.length }
              ]);
              break;
            case Mode.KANJI:
              nodes.push([
                seg,
                { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }
              ]);
              break;
            case Mode.BYTE:
              nodes.push([
                { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }
              ]);
          }
        }
        return nodes;
      }
      function buildGraph(nodes, version2) {
        const table = {};
        const graph = { start: {} };
        let prevNodeIds = ["start"];
        for (let i2 = 0; i2 < nodes.length; i2++) {
          const nodeGroup = nodes[i2];
          const currentNodeIds = [];
          for (let j = 0; j < nodeGroup.length; j++) {
            const node2 = nodeGroup[j];
            const key = "" + i2 + j;
            currentNodeIds.push(key);
            table[key] = { node: node2, lastCount: 0 };
            graph[key] = {};
            for (let n3 = 0; n3 < prevNodeIds.length; n3++) {
              const prevNodeId = prevNodeIds[n3];
              if (table[prevNodeId] && table[prevNodeId].node.mode === node2.mode) {
                graph[prevNodeId][key] = getSegmentBitsLength(table[prevNodeId].lastCount + node2.length, node2.mode) - getSegmentBitsLength(table[prevNodeId].lastCount, node2.mode);
                table[prevNodeId].lastCount += node2.length;
              } else {
                if (table[prevNodeId]) table[prevNodeId].lastCount = node2.length;
                graph[prevNodeId][key] = getSegmentBitsLength(node2.length, node2.mode) + 4 + Mode.getCharCountIndicator(node2.mode, version2);
              }
            }
          }
          prevNodeIds = currentNodeIds;
        }
        for (let n3 = 0; n3 < prevNodeIds.length; n3++) {
          graph[prevNodeIds[n3]].end = 0;
        }
        return { map: graph, table };
      }
      function buildSingleSegment(data2, modesHint) {
        let mode;
        const bestMode = Mode.getBestModeForData(data2);
        mode = Mode.from(modesHint, bestMode);
        if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {
          throw new Error('"' + data2 + '" cannot be encoded with mode ' + Mode.toString(mode) + ".\n Suggested mode is: " + Mode.toString(bestMode));
        }
        if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {
          mode = Mode.BYTE;
        }
        switch (mode) {
          case Mode.NUMERIC:
            return new NumericData(data2);
          case Mode.ALPHANUMERIC:
            return new AlphanumericData(data2);
          case Mode.KANJI:
            return new KanjiData(data2);
          case Mode.BYTE:
            return new ByteData(data2);
        }
      }
      exports.fromArray = function fromArray(array2) {
        return array2.reduce(function(acc, seg) {
          if (typeof seg === "string") {
            acc.push(buildSingleSegment(seg, null));
          } else if (seg.data) {
            acc.push(buildSingleSegment(seg.data, seg.mode));
          }
          return acc;
        }, []);
      };
      exports.fromString = function fromString(data2, version2) {
        const segs = getSegmentsFromString(data2, Utils.isKanjiModeEnabled());
        const nodes = buildNodes(segs);
        const graph = buildGraph(nodes, version2);
        const path = dijkstra.find_path(graph.map, "start", "end");
        const optimizedSegs = [];
        for (let i2 = 1; i2 < path.length - 1; i2++) {
          optimizedSegs.push(graph.table[path[i2]].node);
        }
        return exports.fromArray(mergeSegments(optimizedSegs));
      };
      exports.rawSplit = function rawSplit(data2) {
        return exports.fromArray(
          getSegmentsFromString(data2, Utils.isKanjiModeEnabled())
        );
      };
    }
  });

  // node_modules/qrcode/lib/core/qrcode.js
  var require_qrcode = __commonJS({
    "node_modules/qrcode/lib/core/qrcode.js"(exports) {
      var Utils = require_utils();
      var ECLevel = require_error_correction_level();
      var BitBuffer = require_bit_buffer();
      var BitMatrix = require_bit_matrix();
      var AlignmentPattern = require_alignment_pattern();
      var FinderPattern = require_finder_pattern();
      var MaskPattern = require_mask_pattern();
      var ECCode = require_error_correction_code();
      var ReedSolomonEncoder = require_reed_solomon_encoder();
      var Version = require_version();
      var FormatInfo = require_format_info();
      var Mode = require_mode();
      var Segments = require_segments();
      function setupFinderPattern(matrix, version2) {
        const size5 = matrix.size;
        const pos = FinderPattern.getPositions(version2);
        for (let i2 = 0; i2 < pos.length; i2++) {
          const row = pos[i2][0];
          const col = pos[i2][1];
          for (let r2 = -1; r2 <= 7; r2++) {
            if (row + r2 <= -1 || size5 <= row + r2) continue;
            for (let c2 = -1; c2 <= 7; c2++) {
              if (col + c2 <= -1 || size5 <= col + c2) continue;
              if (r2 >= 0 && r2 <= 6 && (c2 === 0 || c2 === 6) || c2 >= 0 && c2 <= 6 && (r2 === 0 || r2 === 6) || r2 >= 2 && r2 <= 4 && c2 >= 2 && c2 <= 4) {
                matrix.set(row + r2, col + c2, true, true);
              } else {
                matrix.set(row + r2, col + c2, false, true);
              }
            }
          }
        }
      }
      function setupTimingPattern(matrix) {
        const size5 = matrix.size;
        for (let r2 = 8; r2 < size5 - 8; r2++) {
          const value = r2 % 2 === 0;
          matrix.set(r2, 6, value, true);
          matrix.set(6, r2, value, true);
        }
      }
      function setupAlignmentPattern(matrix, version2) {
        const pos = AlignmentPattern.getPositions(version2);
        for (let i2 = 0; i2 < pos.length; i2++) {
          const row = pos[i2][0];
          const col = pos[i2][1];
          for (let r2 = -2; r2 <= 2; r2++) {
            for (let c2 = -2; c2 <= 2; c2++) {
              if (r2 === -2 || r2 === 2 || c2 === -2 || c2 === 2 || r2 === 0 && c2 === 0) {
                matrix.set(row + r2, col + c2, true, true);
              } else {
                matrix.set(row + r2, col + c2, false, true);
              }
            }
          }
        }
      }
      function setupVersionInfo(matrix, version2) {
        const size5 = matrix.size;
        const bits = Version.getEncodedBits(version2);
        let row, col, mod2;
        for (let i2 = 0; i2 < 18; i2++) {
          row = Math.floor(i2 / 3);
          col = i2 % 3 + size5 - 8 - 3;
          mod2 = (bits >> i2 & 1) === 1;
          matrix.set(row, col, mod2, true);
          matrix.set(col, row, mod2, true);
        }
      }
      function setupFormatInfo(matrix, errorCorrectionLevel, maskPattern) {
        const size5 = matrix.size;
        const bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern);
        let i2, mod2;
        for (i2 = 0; i2 < 15; i2++) {
          mod2 = (bits >> i2 & 1) === 1;
          if (i2 < 6) {
            matrix.set(i2, 8, mod2, true);
          } else if (i2 < 8) {
            matrix.set(i2 + 1, 8, mod2, true);
          } else {
            matrix.set(size5 - 15 + i2, 8, mod2, true);
          }
          if (i2 < 8) {
            matrix.set(8, size5 - i2 - 1, mod2, true);
          } else if (i2 < 9) {
            matrix.set(8, 15 - i2 - 1 + 1, mod2, true);
          } else {
            matrix.set(8, 15 - i2 - 1, mod2, true);
          }
        }
        matrix.set(size5 - 8, 8, 1, true);
      }
      function setupData(matrix, data2) {
        const size5 = matrix.size;
        let inc = -1;
        let row = size5 - 1;
        let bitIndex = 7;
        let byteIndex = 0;
        for (let col = size5 - 1; col > 0; col -= 2) {
          if (col === 6) col--;
          while (true) {
            for (let c2 = 0; c2 < 2; c2++) {
              if (!matrix.isReserved(row, col - c2)) {
                let dark = false;
                if (byteIndex < data2.length) {
                  dark = (data2[byteIndex] >>> bitIndex & 1) === 1;
                }
                matrix.set(row, col - c2, dark);
                bitIndex--;
                if (bitIndex === -1) {
                  byteIndex++;
                  bitIndex = 7;
                }
              }
            }
            row += inc;
            if (row < 0 || size5 <= row) {
              row -= inc;
              inc = -inc;
              break;
            }
          }
        }
      }
      function createData(version2, errorCorrectionLevel, segments) {
        const buffer = new BitBuffer();
        segments.forEach(function(data2) {
          buffer.put(data2.mode.bit, 4);
          buffer.put(data2.getLength(), Mode.getCharCountIndicator(data2.mode, version2));
          data2.write(buffer);
        });
        const totalCodewords = Utils.getSymbolTotalCodewords(version2);
        const ecTotalCodewords = ECCode.getTotalCodewordsCount(version2, errorCorrectionLevel);
        const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;
        if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {
          buffer.put(0, 4);
        }
        while (buffer.getLengthInBits() % 8 !== 0) {
          buffer.putBit(0);
        }
        const remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8;
        for (let i2 = 0; i2 < remainingByte; i2++) {
          buffer.put(i2 % 2 ? 17 : 236, 8);
        }
        return createCodewords(buffer, version2, errorCorrectionLevel);
      }
      function createCodewords(bitBuffer, version2, errorCorrectionLevel) {
        const totalCodewords = Utils.getSymbolTotalCodewords(version2);
        const ecTotalCodewords = ECCode.getTotalCodewordsCount(version2, errorCorrectionLevel);
        const dataTotalCodewords = totalCodewords - ecTotalCodewords;
        const ecTotalBlocks = ECCode.getBlocksCount(version2, errorCorrectionLevel);
        const blocksInGroup2 = totalCodewords % ecTotalBlocks;
        const blocksInGroup1 = ecTotalBlocks - blocksInGroup2;
        const totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks);
        const dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks);
        const dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1;
        const ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1;
        const rs = new ReedSolomonEncoder(ecCount);
        let offset5 = 0;
        const dcData = new Array(ecTotalBlocks);
        const ecData = new Array(ecTotalBlocks);
        let maxDataSize = 0;
        const buffer = new Uint8Array(bitBuffer.buffer);
        for (let b2 = 0; b2 < ecTotalBlocks; b2++) {
          const dataSize = b2 < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2;
          dcData[b2] = buffer.slice(offset5, offset5 + dataSize);
          ecData[b2] = rs.encode(dcData[b2]);
          offset5 += dataSize;
          maxDataSize = Math.max(maxDataSize, dataSize);
        }
        const data2 = new Uint8Array(totalCodewords);
        let index3 = 0;
        let i2, r2;
        for (i2 = 0; i2 < maxDataSize; i2++) {
          for (r2 = 0; r2 < ecTotalBlocks; r2++) {
            if (i2 < dcData[r2].length) {
              data2[index3++] = dcData[r2][i2];
            }
          }
        }
        for (i2 = 0; i2 < ecCount; i2++) {
          for (r2 = 0; r2 < ecTotalBlocks; r2++) {
            data2[index3++] = ecData[r2][i2];
          }
        }
        return data2;
      }
      function createSymbol(data2, version2, errorCorrectionLevel, maskPattern) {
        let segments;
        if (Array.isArray(data2)) {
          segments = Segments.fromArray(data2);
        } else if (typeof data2 === "string") {
          let estimatedVersion = version2;
          if (!estimatedVersion) {
            const rawSegments = Segments.rawSplit(data2);
            estimatedVersion = Version.getBestVersionForData(rawSegments, errorCorrectionLevel);
          }
          segments = Segments.fromString(data2, estimatedVersion || 40);
        } else {
          throw new Error("Invalid data");
        }
        const bestVersion = Version.getBestVersionForData(segments, errorCorrectionLevel);
        if (!bestVersion) {
          throw new Error("The amount of data is too big to be stored in a QR Code");
        }
        if (!version2) {
          version2 = bestVersion;
        } else if (version2 < bestVersion) {
          throw new Error(
            "\nThe chosen QR Code version cannot contain this amount of data.\nMinimum version required to store current data is: " + bestVersion + ".\n"
          );
        }
        const dataBits = createData(version2, errorCorrectionLevel, segments);
        const moduleCount = Utils.getSymbolSize(version2);
        const modules = new BitMatrix(moduleCount);
        setupFinderPattern(modules, version2);
        setupTimingPattern(modules);
        setupAlignmentPattern(modules, version2);
        setupFormatInfo(modules, errorCorrectionLevel, 0);
        if (version2 >= 7) {
          setupVersionInfo(modules, version2);
        }
        setupData(modules, dataBits);
        if (isNaN(maskPattern)) {
          maskPattern = MaskPattern.getBestMask(
            modules,
            setupFormatInfo.bind(null, modules, errorCorrectionLevel)
          );
        }
        MaskPattern.applyMask(maskPattern, modules);
        setupFormatInfo(modules, errorCorrectionLevel, maskPattern);
        return {
          modules,
          version: version2,
          errorCorrectionLevel,
          maskPattern,
          segments
        };
      }
      exports.create = function create2(data2, options2) {
        if (typeof data2 === "undefined" || data2 === "") {
          throw new Error("No input text");
        }
        let errorCorrectionLevel = ECLevel.M;
        let version2;
        let mask2;
        if (typeof options2 !== "undefined") {
          errorCorrectionLevel = ECLevel.from(options2.errorCorrectionLevel, ECLevel.M);
          version2 = Version.from(options2.version);
          mask2 = MaskPattern.from(options2.maskPattern);
          if (options2.toSJISFunc) {
            Utils.setToSJISFunction(options2.toSJISFunc);
          }
        }
        return createSymbol(data2, version2, errorCorrectionLevel, mask2);
      };
    }
  });

  // node_modules/qrcode/lib/renderer/utils.js
  var require_utils2 = __commonJS({
    "node_modules/qrcode/lib/renderer/utils.js"(exports) {
      function hex2rgba(hex) {
        if (typeof hex === "number") {
          hex = hex.toString();
        }
        if (typeof hex !== "string") {
          throw new Error("Color should be defined as hex string");
        }
        let hexCode = hex.slice().replace("#", "").split("");
        if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {
          throw new Error("Invalid hex color: " + hex);
        }
        if (hexCode.length === 3 || hexCode.length === 4) {
          hexCode = Array.prototype.concat.apply([], hexCode.map(function(c2) {
            return [c2, c2];
          }));
        }
        if (hexCode.length === 6) hexCode.push("F", "F");
        const hexValue = parseInt(hexCode.join(""), 16);
        return {
          r: hexValue >> 24 & 255,
          g: hexValue >> 16 & 255,
          b: hexValue >> 8 & 255,
          a: hexValue & 255,
          hex: "#" + hexCode.slice(0, 6).join("")
        };
      }
      exports.getOptions = function getOptions2(options2) {
        if (!options2) options2 = {};
        if (!options2.color) options2.color = {};
        const margin = typeof options2.margin === "undefined" || options2.margin === null || options2.margin < 0 ? 4 : options2.margin;
        const width = options2.width && options2.width >= 21 ? options2.width : void 0;
        const scale = options2.scale || 4;
        return {
          width,
          scale: width ? 4 : scale,
          margin,
          color: {
            dark: hex2rgba(options2.color.dark || "#000000ff"),
            light: hex2rgba(options2.color.light || "#ffffffff")
          },
          type: options2.type,
          rendererOpts: options2.rendererOpts || {}
        };
      };
      exports.getScale = function getScale2(qrSize, opts) {
        return opts.width && opts.width >= qrSize + opts.margin * 2 ? opts.width / (qrSize + opts.margin * 2) : opts.scale;
      };
      exports.getImageWidth = function getImageWidth(qrSize, opts) {
        const scale = exports.getScale(qrSize, opts);
        return Math.floor((qrSize + opts.margin * 2) * scale);
      };
      exports.qrToImageData = function qrToImageData(imgData, qr, opts) {
        const size5 = qr.modules.size;
        const data2 = qr.modules.data;
        const scale = exports.getScale(size5, opts);
        const symbolSize = Math.floor((size5 + opts.margin * 2) * scale);
        const scaledMargin = opts.margin * scale;
        const palette = [opts.color.light, opts.color.dark];
        for (let i2 = 0; i2 < symbolSize; i2++) {
          for (let j = 0; j < symbolSize; j++) {
            let posDst = (i2 * symbolSize + j) * 4;
            let pxColor = opts.color.light;
            if (i2 >= scaledMargin && j >= scaledMargin && i2 < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {
              const iSrc = Math.floor((i2 - scaledMargin) / scale);
              const jSrc = Math.floor((j - scaledMargin) / scale);
              pxColor = palette[data2[iSrc * size5 + jSrc] ? 1 : 0];
            }
            imgData[posDst++] = pxColor.r;
            imgData[posDst++] = pxColor.g;
            imgData[posDst++] = pxColor.b;
            imgData[posDst] = pxColor.a;
          }
        }
      };
    }
  });

  // node_modules/qrcode/lib/renderer/canvas.js
  var require_canvas = __commonJS({
    "node_modules/qrcode/lib/renderer/canvas.js"(exports) {
      var Utils = require_utils2();
      function clearCanvas(ctx, canvas, size5) {
        ctx.clearRect(0, 0, canvas.width, canvas.height);
        if (!canvas.style) canvas.style = {};
        canvas.height = size5;
        canvas.width = size5;
        canvas.style.height = size5 + "px";
        canvas.style.width = size5 + "px";
      }
      function getCanvasElement() {
        try {
          return document.createElement("canvas");
        } catch (e3) {
          throw new Error("You need to specify a canvas element");
        }
      }
      exports.render = function render(qrData, canvas, options2) {
        let opts = options2;
        let canvasEl = canvas;
        if (typeof opts === "undefined" && (!canvas || !canvas.getContext)) {
          opts = canvas;
          canvas = void 0;
        }
        if (!canvas) {
          canvasEl = getCanvasElement();
        }
        opts = Utils.getOptions(opts);
        const size5 = Utils.getImageWidth(qrData.modules.size, opts);
        const ctx = canvasEl.getContext("2d");
        const image = ctx.createImageData(size5, size5);
        Utils.qrToImageData(image.data, qrData, opts);
        clearCanvas(ctx, canvasEl, size5);
        ctx.putImageData(image, 0, 0);
        return canvasEl;
      };
      exports.renderToDataURL = function renderToDataURL(qrData, canvas, options2) {
        let opts = options2;
        if (typeof opts === "undefined" && (!canvas || !canvas.getContext)) {
          opts = canvas;
          canvas = void 0;
        }
        if (!opts) opts = {};
        const canvasEl = exports.render(qrData, canvas, opts);
        const type2 = opts.type || "image/png";
        const rendererOpts = opts.rendererOpts || {};
        return canvasEl.toDataURL(type2, rendererOpts.quality);
      };
    }
  });

  // node_modules/qrcode/lib/renderer/svg-tag.js
  var require_svg_tag = __commonJS({
    "node_modules/qrcode/lib/renderer/svg-tag.js"(exports) {
      var Utils = require_utils2();
      function getColorAttrib(color, attrib) {
        const alpha = color.a / 255;
        const str = attrib + '="' + color.hex + '"';
        return alpha < 1 ? str + " " + attrib + '-opacity="' + alpha.toFixed(2).slice(1) + '"' : str;
      }
      function svgCmd(cmd, x, y) {
        let str = cmd + x;
        if (typeof y !== "undefined") str += " " + y;
        return str;
      }
      function qrToPath(data2, size5, margin) {
        let path = "";
        let moveBy = 0;
        let newRow = false;
        let lineLength = 0;
        for (let i2 = 0; i2 < data2.length; i2++) {
          const col = Math.floor(i2 % size5);
          const row = Math.floor(i2 / size5);
          if (!col && !newRow) newRow = true;
          if (data2[i2]) {
            lineLength++;
            if (!(i2 > 0 && col > 0 && data2[i2 - 1])) {
              path += newRow ? svgCmd("M", col + margin, 0.5 + row + margin) : svgCmd("m", moveBy, 0);
              moveBy = 0;
              newRow = false;
            }
            if (!(col + 1 < size5 && data2[i2 + 1])) {
              path += svgCmd("h", lineLength);
              lineLength = 0;
            }
          } else {
            moveBy++;
          }
        }
        return path;
      }
      exports.render = function render(qrData, options2, cb) {
        const opts = Utils.getOptions(options2);
        const size5 = qrData.modules.size;
        const data2 = qrData.modules.data;
        const qrcodesize = size5 + opts.margin * 2;
        const bg = !opts.color.light.a ? "" : "<path " + getColorAttrib(opts.color.light, "fill") + ' d="M0 0h' + qrcodesize + "v" + qrcodesize + 'H0z"/>';
        const path = "<path " + getColorAttrib(opts.color.dark, "stroke") + ' d="' + qrToPath(data2, size5, opts.margin) + '"/>';
        const viewBox = 'viewBox="0 0 ' + qrcodesize + " " + qrcodesize + '"';
        const width = !opts.width ? "" : 'width="' + opts.width + '" height="' + opts.width + '" ';
        const svgTag = '<svg xmlns="http://www.w3.org/2000/svg" ' + width + viewBox + ' shape-rendering="crispEdges">' + bg + path + "</svg>\n";
        if (typeof cb === "function") {
          cb(null, svgTag);
        }
        return svgTag;
      };
    }
  });

  // node_modules/qrcode/lib/browser.js
  var require_browser2 = __commonJS({
    "node_modules/qrcode/lib/browser.js"(exports) {
      var canPromise = require_can_promise();
      var QRCode3 = require_qrcode();
      var CanvasRenderer = require_canvas();
      var SvgRenderer = require_svg_tag();
      function renderCanvas(renderFunc, canvas, text, opts, cb) {
        const args = [].slice.call(arguments, 1);
        const argsNum = args.length;
        const isLastArgCb = typeof args[argsNum - 1] === "function";
        if (!isLastArgCb && !canPromise()) {
          throw new Error("Callback required as last argument");
        }
        if (isLastArgCb) {
          if (argsNum < 2) {
            throw new Error("Too few arguments provided");
          }
          if (argsNum === 2) {
            cb = text;
            text = canvas;
            canvas = opts = void 0;
          } else if (argsNum === 3) {
            if (canvas.getContext && typeof cb === "undefined") {
              cb = opts;
              opts = void 0;
            } else {
              cb = opts;
              opts = text;
              text = canvas;
              canvas = void 0;
            }
          }
        } else {
          if (argsNum < 1) {
            throw new Error("Too few arguments provided");
          }
          if (argsNum === 1) {
            text = canvas;
            canvas = opts = void 0;
          } else if (argsNum === 2 && !canvas.getContext) {
            opts = text;
            text = canvas;
            canvas = void 0;
          }
          return new Promise(function(resolve, reject) {
            try {
              const data2 = QRCode3.create(text, opts);
              resolve(renderFunc(data2, canvas, opts));
            } catch (e3) {
              reject(e3);
            }
          });
        }
        try {
          const data2 = QRCode3.create(text, opts);
          cb(null, renderFunc(data2, canvas, opts));
        } catch (e3) {
          cb(e3);
        }
      }
      exports.create = QRCode3.create;
      exports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render);
      exports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL);
      exports.toString = renderCanvas.bind(null, function(data2, _3, opts) {
        return SvgRenderer.render(data2, opts);
      });
    }
  });

  // node_modules/@wallet-standard/wallet/lib/esm/register.js
  var _RegisterWalletEvent_detail;
  var init_register = __esm({
    "node_modules/@wallet-standard/wallet/lib/esm/register.js"() {
      _RegisterWalletEvent_detail = /* @__PURE__ */ new WeakMap();
    }
  });

  // node_modules/@wallet-standard/wallet/lib/esm/util.js
  function arraysEqual(a2, b2) {
    if (a2 === b2)
      return true;
    const length2 = a2.length;
    if (length2 !== b2.length)
      return false;
    for (let i2 = 0; i2 < length2; i2++) {
      if (a2[i2] !== b2[i2])
        return false;
    }
    return true;
  }
  function bytesEqual(a2, b2) {
    return arraysEqual(a2, b2);
  }
  var __classPrivateFieldGet, __classPrivateFieldSet, _ReadonlyWalletAccount_address, _ReadonlyWalletAccount_publicKey, _ReadonlyWalletAccount_chains, _ReadonlyWalletAccount_features, _ReadonlyWalletAccount_label, _ReadonlyWalletAccount_icon, ReadonlyWalletAccount;
  var init_util = __esm({
    "node_modules/@wallet-standard/wallet/lib/esm/util.js"() {
      __classPrivateFieldGet = function(receiver, state, kind, f3) {
        if (kind === "a" && !f3) throw new TypeError("Private accessor was defined without a getter");
        if (typeof state === "function" ? receiver !== state || !f3 : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
        return kind === "m" ? f3 : kind === "a" ? f3.call(receiver) : f3 ? f3.value : state.get(receiver);
      };
      __classPrivateFieldSet = function(receiver, state, value, kind, f3) {
        if (kind === "m") throw new TypeError("Private method is not writable");
        if (kind === "a" && !f3) throw new TypeError("Private accessor was defined without a setter");
        if (typeof state === "function" ? receiver !== state || !f3 : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
        return kind === "a" ? f3.call(receiver, value) : f3 ? f3.value = value : state.set(receiver, value), value;
      };
      ReadonlyWalletAccount = class _ReadonlyWalletAccount {
        /** Implementation of {@link "@wallet-standard/base".WalletAccount.address | WalletAccount::address} */
        get address() {
          return __classPrivateFieldGet(this, _ReadonlyWalletAccount_address, "f");
        }
        /** Implementation of {@link "@wallet-standard/base".WalletAccount.publicKey | WalletAccount::publicKey} */
        get publicKey() {
          return __classPrivateFieldGet(this, _ReadonlyWalletAccount_publicKey, "f").slice();
        }
        /** Implementation of {@link "@wallet-standard/base".WalletAccount.chains | WalletAccount::chains} */
        get chains() {
          return __classPrivateFieldGet(this, _ReadonlyWalletAccount_chains, "f").slice();
        }
        /** Implementation of {@link "@wallet-standard/base".WalletAccount.features | WalletAccount::features} */
        get features() {
          return __classPrivateFieldGet(this, _ReadonlyWalletAccount_features, "f").slice();
        }
        /** Implementation of {@link "@wallet-standard/base".WalletAccount.label | WalletAccount::label} */
        get label() {
          return __classPrivateFieldGet(this, _ReadonlyWalletAccount_label, "f");
        }
        /** Implementation of {@link "@wallet-standard/base".WalletAccount.icon | WalletAccount::icon} */
        get icon() {
          return __classPrivateFieldGet(this, _ReadonlyWalletAccount_icon, "f");
        }
        /**
         * Create and freeze a read-only account.
         *
         * @param account Account to copy properties from.
         */
        constructor(account) {
          _ReadonlyWalletAccount_address.set(this, void 0);
          _ReadonlyWalletAccount_publicKey.set(this, void 0);
          _ReadonlyWalletAccount_chains.set(this, void 0);
          _ReadonlyWalletAccount_features.set(this, void 0);
          _ReadonlyWalletAccount_label.set(this, void 0);
          _ReadonlyWalletAccount_icon.set(this, void 0);
          if (new.target === _ReadonlyWalletAccount) {
            Object.freeze(this);
          }
          __classPrivateFieldSet(this, _ReadonlyWalletAccount_address, account.address, "f");
          __classPrivateFieldSet(this, _ReadonlyWalletAccount_publicKey, account.publicKey.slice(), "f");
          __classPrivateFieldSet(this, _ReadonlyWalletAccount_chains, account.chains.slice(), "f");
          __classPrivateFieldSet(this, _ReadonlyWalletAccount_features, account.features.slice(), "f");
          __classPrivateFieldSet(this, _ReadonlyWalletAccount_label, account.label, "f");
          __classPrivateFieldSet(this, _ReadonlyWalletAccount_icon, account.icon, "f");
        }
      };
      _ReadonlyWalletAccount_address = /* @__PURE__ */ new WeakMap(), _ReadonlyWalletAccount_publicKey = /* @__PURE__ */ new WeakMap(), _ReadonlyWalletAccount_chains = /* @__PURE__ */ new WeakMap(), _ReadonlyWalletAccount_features = /* @__PURE__ */ new WeakMap(), _ReadonlyWalletAccount_label = /* @__PURE__ */ new WeakMap(), _ReadonlyWalletAccount_icon = /* @__PURE__ */ new WeakMap();
    }
  });

  // node_modules/@wallet-standard/wallet/lib/esm/index.js
  var init_esm9 = __esm({
    "node_modules/@wallet-standard/wallet/lib/esm/index.js"() {
      init_register();
      init_util();
    }
  });

  // node_modules/@solana-mobile/wallet-standard-mobile/lib/esm/index.browser.js
  function fromUint8Array2(byteArray) {
    return window.btoa(String.fromCharCode.call(null, ...byteArray));
  }
  function toUint8Array2(base64EncodedByteArray) {
    return new Uint8Array(window.atob(base64EncodedByteArray).split("").map((c2) => c2.charCodeAt(0)));
  }
  function isSolanaMobileWebShell(userAgentString) {
    return userAgentString.includes("Solana Mobile Web Shell");
  }
  function getIsPwaLaunchedAsApp() {
    const isAndroidTwa = typeof document !== "undefined" && document.referrer.startsWith("android-app://");
    if (typeof window == "undefined") return isAndroidTwa;
    const isStandalone = window.matchMedia("(display-mode: standalone)").matches;
    const isFullscreen = window.matchMedia("(display-mode: fullscreen)").matches;
    const isMinimalUI = window.matchMedia("(display-mode: minimal-ui)").matches;
    return isAndroidTwa || isStandalone || isFullscreen || isMinimalUI;
  }
  async function checkLocalNetworkAccessPermission() {
    if (typeof navigator !== "undefined" && isSolanaMobileWebShell(navigator.userAgent)) return;
    try {
      const lnaPermission = await navigator.permissions.query({ name: "loopback-network" });
      if (lnaPermission.state === "granted") return;
      else if (lnaPermission.state === "denied") {
        const modal = new LoopbackPermissionBlockedModal();
        modal.init();
        modal.open();
        throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_LOOPBACK_ACCESS_BLOCKED, "Local Network Access permission denied");
      } else if (lnaPermission.state === "prompt") {
        const modal = new LoopbackPermissionModal();
        if (await new Promise((resolve, reject) => {
          modal.addEventListener("close", (event) => {
            if (event) reject(new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_ASSOCIATION_CANCELLED, "Wallet connection cancelled by user", { event }));
          });
          lnaPermission.onchange = () => {
            lnaPermission.onchange = null;
            resolve(lnaPermission.state);
          };
          modal.init();
          modal.open();
        }) === "granted") {
          const modal2 = new LocalConnectionModal();
          await new Promise((resolve, reject) => {
            modal2.addEventListener("close", (event) => {
              if (event) reject(new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_ASSOCIATION_CANCELLED, "Wallet connection cancelled by user", { event }));
            });
            modal2.initWithCallback(async () => {
              resolve(true);
            });
            modal2.open();
          });
          return;
        } else return await checkLocalNetworkAccessPermission();
      }
      throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_LOOPBACK_ACCESS_BLOCKED, "Local Network Access permission unknown");
    } catch (e3) {
      if (e3 instanceof TypeError && (e3.message.includes("loopback-network") || e3.message.includes("local-network-access"))) return;
      if (e3 instanceof SolanaMobileWalletAdapterError) throw e3;
      throw new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_LOOPBACK_ACCESS_BLOCKED, e3 instanceof Error ? e3.message : "Local Network Access permission unknown");
    }
  }
  function getErrorMessage2(error2) {
    return error2 instanceof Error ? error2.message : "Unknown error";
  }
  async function defaultErrorModalWalletNotFoundHandler() {
    if (typeof window !== "undefined") {
      const userAgent = window.navigator.userAgent.toLowerCase();
      const errorDialog = new ErrorModal();
      if (userAgent.includes("wv")) errorDialog.initWithError({
        name: "SolanaMobileWalletAdapterError",
        code: "ERROR_BROWSER_NOT_SUPPORTED",
        message: ""
      });
      else errorDialog.initWithError({
        name: "SolanaMobileWalletAdapterError",
        code: "ERROR_WALLET_NOT_FOUND",
        message: ""
      });
      errorDialog.open();
    }
  }
  function createDefaultAuthorizationCache() {
    let storage;
    try {
      storage = window.localStorage;
    } catch {
    }
    return {
      async clear() {
        if (!storage) return;
        try {
          storage.removeItem(CACHE_KEY);
        } catch {
        }
      },
      async get() {
        if (!storage) return;
        try {
          const parsed = JSON.parse(storage.getItem(CACHE_KEY));
          if (parsed && parsed.accounts) {
            const parsedAccounts = parsed.accounts.map((account) => {
              return {
                ...account,
                publicKey: "publicKey" in account ? new Uint8Array(Object.values(account.publicKey)) : esm_default2.decode(account.address)
              };
            });
            return {
              ...parsed,
              accounts: parsedAccounts
            };
          } else return parsed || void 0;
        } catch {
        }
      },
      async set(authorization) {
        if (!storage) return;
        try {
          storage.setItem(CACHE_KEY, JSON.stringify(authorization));
        } catch {
        }
      }
    };
  }
  function createDefaultChainSelector() {
    return { async select(chains) {
      if (chains.length === 1) return chains[0];
      else if (chains.includes(SOLANA_MAINNET_CHAIN)) return SOLANA_MAINNET_CHAIN;
      else return chains[0];
    } };
  }
  var import_qrcode2, modalHtml$1, css$6, EmbeddedLoadingSpinner, modalHtml, css$5, fonts2, EmbeddedModal, LocalConnectionModal, ErrorDialogHtml$3, css$3, LoopbackPermissionBlockedModal, ErrorDialogHtml$2, css$2, LoopbackPermissionModal, ErrorDialogHtml$1, css$1, icon, SolanaMobileWalletAdapterWalletName, SIGNATURE_LENGTH_IN_BYTES2, DEFAULT_FEATURES, WALLET_ASSOCIATION_TIMEOUT, LocalSolanaMobileWalletAdapterWallet, WALLET_NOT_FOUND_ERROR_MESSAGE, BROWSER_NOT_SUPPORTED_ERROR_MESSAGE, ErrorModal, ErrorDialogHtml, css2, CACHE_KEY;
  var init_index_browser8 = __esm({
    "node_modules/@solana-mobile/wallet-standard-mobile/lib/esm/index.browser.js"() {
      init_esm2();
      init_index_browser7();
      init_esm3();
      init_esm8();
      import_qrcode2 = __toESM(require_browser2(), 1);
      init_esm5();
      modalHtml$1 = `
<div class="mobile-wallet-adapter-embedded-loading-indicator" role="dialog" aria-modal="true" aria-labelledby="modal-title">
    <div data-modal-close style="position: absolute; width: 100%; height: 100%;"></div>
    <div class="mobile-wallet-adapter-embedded-loading-container">
        <div class="mobile-wallet-adapter-embedded-loading-animation"></div>
    </div>
</div>
`;
      css$6 = `
.mobile-wallet-adapter-embedded-loading-indicator {
    display: flex; /* Use flexbox to center content */
    justify-content: center; /* Center horizontally */
    align-items: start; /* Center vertically */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
    overflow-y: auto; /* enable scrolling */
}

.mobile-wallet-adapter-embedded-loading-container {
    display: flex;
    margin: auto;
}

.mobile-wallet-adapter-embedded-loading-animation {
    position: relative;
    left: -9999px;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: var(--spinner-color);
    color: var(--spinner-color);
    box-shadow: 9984px 0 0 0 var(--spinner-color), 
                9999px 0 0 0 var(--spinner-color), 
                10014px 0 0 0 var(--spinner-color);
    animation: dot-typing 1.5s infinite linear;
}

@keyframes dot-typing {
    0% {
        box-shadow: 9984px 0 0 0 var(--spinner-color), 
                    9999px 0 0 0 var(--spinner-color), 
                    10014px 0 0 0 var(--spinner-color);
    }
    16.667% {
        box-shadow: 9984px -10px 0 0 var(--spinner-color), 
                    9999px 0 0 0 var(--spinner-color), 
                    10014px 0 0 0 var(--spinner-color);
    }
    33.333% {
        box-shadow: 9984px 0 0 0 var(--spinner-color), 
                    9999px 0 0 0 var(--spinner-color), 
                    10014px 0 0 0 var(--spinner-color);
    }
    50% {
        box-shadow: 9984px 0 0 0 var(--spinner-color), 
                    9999px -10px 0 0 var(--spinner-color), 
                    10014px 0 0 0 var(--spinner-color);
    }
    66.667% {
        box-shadow: 9984px 0 0 0 var(--spinner-color), 
                    9999px 0 0 0 var(--spinner-color), 
                    10014px 0 0 0 var(--spinner-color);
    }
    83.333% {
        box-shadow: 9984px 0 0 0 var(--spinner-color), 
                    9999px 0 0 0 var(--spinner-color), 
                    10014px -10px 0 0 var(--spinner-color);
    }
    100% {
        box-shadow: 9984px 0 0 0 var(--spinner-color), 
                    9999px 0 0 0 var(--spinner-color), 
                    10014px 0 0 0 var(--spinner-color);
    }
}
`;
      EmbeddedLoadingSpinner = class {
        #root = null;
        #eventListeners = {};
        #listenersAttached = false;
        dom = null;
        constructor() {
          this.init = this.init.bind(this);
          this.#root = document.getElementById("mobile-wallet-adapter-embedded-root-ui");
        }
        async init() {
          console.log("Injecting modal");
          this.#injectHTML();
        }
        open = () => {
          console.debug("Modal open");
          this.#attachEventListeners();
          if (this.#root) this.#root.style.display = "flex";
        };
        close = (event = void 0) => {
          console.debug("Modal close");
          this.#removeEventListeners();
          if (this.#root) this.#root.style.display = "none";
          this.#eventListeners["close"]?.forEach((listener) => listener(event));
        };
        addEventListener(event, listener) {
          this.#eventListeners[event]?.push(listener) || (this.#eventListeners[event] = [listener]);
          return () => this.removeEventListener(event, listener);
        }
        removeEventListener(event, listener) {
          this.#eventListeners[event] = this.#eventListeners[event]?.filter((existingListener) => listener !== existingListener);
        }
        #injectHTML() {
          if (this.dom) return;
          this.#root = document.createElement("div");
          this.#root.id = "mobile-wallet-adapter-embedded-root-ui";
          this.#root.innerHTML = modalHtml$1;
          this.#root.style.display = "none";
          const styles2 = document.createElement("style");
          styles2.id = "mobile-wallet-adapter-embedded-modal-styles";
          styles2.textContent = css$6;
          const host = document.createElement("div");
          this.dom = host.attachShadow({ mode: "closed" });
          host.style.setProperty("--spinner-color", "#FFFFFF");
          this.dom.appendChild(styles2);
          this.dom.appendChild(this.#root);
          document.body.appendChild(host);
        }
        #attachEventListeners() {
          if (!this.#root || this.#listenersAttached) return;
          [...this.#root.querySelectorAll("[data-modal-close]")].forEach((closer) => closer?.addEventListener("click", (event) => {
            this.close(event);
          }));
          window.addEventListener("load", this.close);
          document.addEventListener("keydown", this.#handleKeyDown);
          this.#listenersAttached = true;
        }
        #removeEventListeners() {
          if (!this.#listenersAttached) return;
          window.removeEventListener("load", this.close);
          document.removeEventListener("keydown", this.#handleKeyDown);
          if (!this.#root) return;
          [...this.#root.querySelectorAll("[data-modal-close]")].forEach((closer) => closer?.removeEventListener("click", this.close));
          this.#listenersAttached = false;
        }
        #handleKeyDown = (event) => {
          if (event.key === "Escape") this.close(event);
        };
      };
      modalHtml = `
<div class="mobile-wallet-adapter-embedded-modal-container" role="dialog" aria-modal="true" aria-labelledby="modal-title">
    <div data-modal-close style="position: absolute; width: 100%; height: 100%;"></div>
	<div class="mobile-wallet-adapter-embedded-modal-card">
		<div>
			<button data-modal-close class="mobile-wallet-adapter-embedded-modal-close">
				<svg width="14" height="14">
					<path d="M 6.7125,8.3036995 1.9082,13.108199 c -0.2113,0.2112 -0.4765,0.3168 -0.7957,0.3168 -0.3192,0 -0.5844,-0.1056 -0.7958,-0.3168 C 0.1056,12.896899 0,12.631699 0,12.312499 c 0,-0.3192 0.1056,-0.5844 0.3167,-0.7958 L 5.1212,6.7124995 0.3167,1.9082 C 0.1056,1.6969 0,1.4317 0,1.1125 0,0.7933 0.1056,0.5281 0.3167,0.3167 0.5281,0.1056 0.7933,0 1.1125,0 1.4317,0 1.6969,0.1056 1.9082,0.3167 L 6.7125,5.1212 11.5167,0.3167 C 11.7281,0.1056 11.9933,0 12.3125,0 c 0.3192,0 0.5844,0.1056 0.7957,0.3167 0.2112,0.2114 0.3168,0.4766 0.3168,0.7958 0,0.3192 -0.1056,0.5844 -0.3168,0.7957 L 8.3037001,6.7124995 13.1082,11.516699 c 0.2112,0.2114 0.3168,0.4766 0.3168,0.7958 0,0.3192 -0.1056,0.5844 -0.3168,0.7957 -0.2113,0.2112 -0.4765,0.3168 -0.7957,0.3168 -0.3192,0 -0.5844,-0.1056 -0.7958,-0.3168 z" />
				</svg>
			</button>
		</div>
		<div class="mobile-wallet-adapter-embedded-modal-content"></div>
	</div>
</div>
`;
      css$5 = `
.mobile-wallet-adapter-embedded-modal-container {
    display: flex; /* Use flexbox to center content */
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
    position: fixed; /* Stay in place */
    z-index: 2147483647; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
    overflow-y: auto; /* enable scrolling */
}

.mobile-wallet-adapter-embedded-modal-card {
    display: flex;
    flex-direction: column;
    margin: auto 20px;
    max-width: 780px;
    padding: 20px;
    border-radius: 24px;
    background: #ffffff;
    font-family: "Inter Tight", "PT Sans", Calibri, sans-serif;
    transform: translateY(-200%);
    animation: slide-in 0.5s forwards;
}

@keyframes slide-in {
    100% { transform: translateY(0%); }
}

.mobile-wallet-adapter-embedded-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    cursor: pointer;
    background: #e4e9e9;
    border: none;
    border-radius: 50%;
}

.mobile-wallet-adapter-embedded-modal-close:focus-visible {
    outline-color: red;
}

.mobile-wallet-adapter-embedded-modal-close svg {
    fill: #546266;
    transition: fill 200ms ease 0s;
}

.mobile-wallet-adapter-embedded-modal-close:hover svg {
    fill: #fff;
}
`;
      fonts2 = `
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">
`;
      EmbeddedModal = class {
        #root = null;
        #eventListeners = {};
        #listenersAttached = false;
        dom = null;
        constructor() {
          this.init = this.init.bind(this);
          this.#root = document.getElementById("mobile-wallet-adapter-embedded-root-ui");
        }
        async init() {
          console.log("Injecting modal");
          this.#injectHTML();
        }
        open = () => {
          console.debug("Modal open");
          this.#attachEventListeners();
          if (this.#root) this.#root.style.display = "flex";
        };
        close = (event = void 0) => {
          console.debug("Modal close");
          this.#removeEventListeners();
          if (this.#root) this.#root.style.display = "none";
          this.#eventListeners["close"]?.forEach((listener) => listener(event));
        };
        addEventListener(event, listener) {
          this.#eventListeners[event]?.push(listener) || (this.#eventListeners[event] = [listener]);
          return () => this.removeEventListener(event, listener);
        }
        removeEventListener(event, listener) {
          this.#eventListeners[event] = this.#eventListeners[event]?.filter((existingListener) => listener !== existingListener);
        }
        #injectHTML() {
          if (document.getElementById("mobile-wallet-adapter-embedded-root-ui")) {
            if (!this.#root) this.#root = document.getElementById("mobile-wallet-adapter-embedded-root-ui");
            return;
          }
          this.#root = document.createElement("div");
          this.#root.id = "mobile-wallet-adapter-embedded-root-ui";
          this.#root.innerHTML = modalHtml;
          this.#root.style.display = "none";
          const content = this.#root.querySelector(".mobile-wallet-adapter-embedded-modal-content");
          if (content) content.innerHTML = this.contentHtml;
          const styles2 = document.createElement("style");
          styles2.id = "mobile-wallet-adapter-embedded-modal-styles";
          styles2.textContent = css$5 + this.contentStyles;
          const host = document.createElement("div");
          host.innerHTML = fonts2;
          this.dom = host.attachShadow({ mode: "closed" });
          this.dom.appendChild(styles2);
          this.dom.appendChild(this.#root);
          document.body.appendChild(host);
        }
        #attachEventListeners() {
          if (!this.#root || this.#listenersAttached) return;
          [...this.#root.querySelectorAll("[data-modal-close]")].forEach((closer) => closer?.addEventListener("click", this.close));
          window.addEventListener("load", this.close);
          document.addEventListener("keydown", this.#handleKeyDown);
          this.#listenersAttached = true;
        }
        #removeEventListeners() {
          if (!this.#listenersAttached) return;
          window.removeEventListener("load", this.close);
          document.removeEventListener("keydown", this.#handleKeyDown);
          if (!this.#root) return;
          [...this.#root.querySelectorAll("[data-modal-close]")].forEach((closer) => closer?.removeEventListener("click", this.close));
          this.#listenersAttached = false;
        }
        #handleKeyDown = (event) => {
          if (event.key === "Escape") this.close(event);
        };
      };
      LocalConnectionModal = class extends EmbeddedModal {
        contentStyles = css$3;
        contentHtml = ErrorDialogHtml$3;
        initWithCallback(callback) {
          super.init();
          this.#prepareLaunchAction(callback);
        }
        #prepareLaunchAction(callback) {
          const launchButton = this.dom?.getElementById("mobile-wallet-adapter-launch-action");
          const listener = async () => {
            launchButton?.removeEventListener("click", listener);
            this.close();
            callback();
          };
          launchButton?.addEventListener("click", listener);
        }
      };
      ErrorDialogHtml$3 = `
<svg class="mobile-wallet-adapter-embedded-modal-launch-icon" width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M21.6 48C7.2 48 0 40.8 0 26.4V21.6C0 7.2 7.2 0 21.6 0H26.4C40.8 0 48 7.2 48 21.6V26.4C48 40.8 40.8 48 26.4 48H21.6Z" fill="#15994E"/>
    <mask id="mask0_189_522" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="8" y="8" width="32" height="32">
        <rect x="8" y="8" width="32" height="32" fill="#D9D9D9"/>
    </mask>
    <g mask="url(#mask0_189_522)">
        <mask id="mask1_189_522" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="8" y="8" width="32" height="32">
            <rect x="8" y="8" width="32" height="32" fill="#D9D9D9"/>
        </mask>
        <g mask="url(#mask1_189_522)">
            <path d="M22.1092 26.1208L19.4498 23.4615C19.1736 23.1851 18.8253 23.0468 18.4048 23.0468C17.9846 23.0468 17.6363 23.1851 17.3598 23.4615C17.0836 23.7377 16.9468 24.0861 16.9495 24.5065C16.9522 24.9267 17.0916 25.275 17.3678 25.5512L21.0405 29.2238C21.3463 29.5276 21.7031 29.6795 22.1108 29.6795C22.5184 29.6795 22.8742 29.5276 23.1782 29.2238L30.5918 21.8098C30.8683 21.5336 31.0065 21.1867 31.0065 20.7692C31.0065 20.3514 30.8683 20.0044 30.5918 19.7282C30.3156 19.4517 29.9673 19.3135 29.5468 19.3135C29.1266 19.3135 28.7784 19.4517 28.5022 19.7282L22.1092 26.1208ZM23.9998 37.6042C22.113 37.6042 20.3425 37.2473 18.6885 36.5335C17.0343 35.8197 15.5954 34.8512 14.3718 33.6278C13.1485 32.4043 12.18 30.9654 11.4662 29.3112C10.7524 27.6572 10.3955 25.8867 10.3955 23.9998C10.3955 22.113 10.7524 20.3425 11.4662 18.6885C12.18 17.0343 13.1485 15.5954 14.3718 14.3718C15.5954 13.1485 17.0343 12.18 18.6885 11.4662C20.3425 10.7524 22.113 10.3955 23.9998 10.3955C25.8867 10.3955 27.6572 10.7524 29.3112 11.4662C30.9654 12.18 32.4043 13.1485 33.6278 14.3718C34.8512 15.5954 35.8197 17.0343 36.5335 18.6885C37.2473 20.3425 37.6042 22.113 37.6042 23.9998C37.6042 25.8867 37.2473 27.6572 36.5335 29.3112C35.8197 30.9654 34.8512 32.4043 33.6278 33.6278C32.4043 34.8512 30.9654 35.8197 29.3112 36.5335C27.6572 37.2473 25.8867 37.6042 23.9998 37.6042Z" fill="white"/>
        </g>
    </g>
</svg>
<div class="mobile-wallet-adapter-embedded-modal-title">Ready to connect!</div>
<div>
    <button data-modal-action id="mobile-wallet-adapter-launch-action" class="mobile-wallet-adapter-embedded-modal-launch-action">
        Connect Wallet
    </button>
</div>
`;
      css$3 = `
.mobile-wallet-adapter-embedded-modal-close {
    display: none;
}
.mobile-wallet-adapter-embedded-modal-content {
    text-align: center;
    min-width: 300px;
}
.mobile-wallet-adapter-embedded-modal-launch-icon {
    margin-top: 24px;
}
.mobile-wallet-adapter-embedded-modal-title {
    margin: 18px 100px 30px 100px;
    color: #000000;
    font-size: 2.75em;
    font-weight: 600;
}
.mobile-wallet-adapter-embedded-modal-launch-action {
    display: block;
    width: 100%;
    height: 56px;
    font-size: 1.25em;
    background: #000000;
    color: #FFFFFF;
    border-radius: 18px;
}
/* Smaller screens */
@media all and (max-width: 600px) {
    .mobile-wallet-adapter-embedded-modal-title {
        font-size: 1.5em;
        margin-right: 12px;
        margin-left: 12px;
    }
}
`;
      LoopbackPermissionBlockedModal = class extends EmbeddedModal {
        contentStyles = css$2;
        get contentHtml() {
          const instructions = getIsPwaLaunchedAsApp() ? "Long press the app icon on your home screen to open site settings" : "Tap the lock or settings icon in the address bar to open site settings";
          return ErrorDialogHtml$2.replace("{{PERMISSION_INSTRUCTION_DETAIL}}", instructions);
        }
        async init() {
          super.init();
          this.#prepareLaunchAction();
        }
        #prepareLaunchAction() {
          const launchButton = this.dom?.getElementById("mobile-wallet-adapter-launch-action");
          const listener = async (event) => {
            launchButton?.removeEventListener("click", listener);
            this.close(event);
          };
          launchButton?.addEventListener("click", listener);
        }
      };
      ErrorDialogHtml$2 = `
<div class="mobile-wallet-adapter-embedded-modal-header">
    Local Wallet Connection
</div>
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M21.6 48C7.2 48 0 40.8 0 26.4V21.6C0 7.2 7.2 0 21.6 0H26.4C40.8 0 48 7.2 48 21.6V26.4C48 40.8 40.8 48 26.4 48H21.6Z" fill="#ED1515"/>
    <mask id="mask0_147_1364" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="8" y="8" width="32" height="32">
        <rect x="8" y="8" width="32" height="32" fill="#D9D9D9"/>
    </mask>
    <g mask="url(#mask0_147_1364)">
        <path d="M20.1398 36.2705C19.7363 36.2705 19.3508 36.1945 18.9835 36.0425C18.6162 35.8907 18.2916 35.674 18.0098 35.3922L12.6072 29.9895C12.3254 29.7077 12.1086 29.3832 11.9568 29.0158C11.8048 28.6485 11.7288 28.2631 11.7288 27.8595V20.1395C11.7288 19.736 11.8048 19.3505 11.9568 18.9832C12.1086 18.6158 12.3254 18.2913 12.6072 18.0095L18.0098 12.6068C18.2916 12.3251 18.6162 12.1083 18.9835 11.9565C19.3508 11.8045 19.7363 11.7285 20.1398 11.7285H27.8598C28.2634 11.7285 28.6488 11.8045 29.0162 11.9565C29.3835 12.1083 29.708 12.3251 29.9898 12.6068L35.3925 18.0095C35.6743 18.2913 35.891 18.6158 36.0428 18.9832C36.1948 19.3505 36.2708 19.736 36.2708 20.1395V27.8595C36.2708 28.2631 36.1948 28.6485 36.0428 29.0158C35.891 29.3832 35.6743 29.7077 35.3925 29.9895L29.9898 35.3922C29.708 35.674 29.3835 35.8907 29.0162 36.0425C28.6488 36.1945 28.2634 36.2705 27.8598 36.2705H20.1398ZM20.1732 33.2372H27.8265L33.2375 27.8262V20.1728L27.8265 14.7618H20.1732L14.7622 20.1728V27.8262L20.1732 33.2372ZM23.9998 25.9538L26.7868 28.7408C27.0473 29.0013 27.3729 29.1302 27.7638 29.1275C28.1549 29.1248 28.4807 28.9933 28.7412 28.7328C29.0016 28.4724 29.1318 28.1466 29.1318 27.7555C29.1318 27.3646 29.0016 27.039 28.7412 26.7785L25.9542 23.9995L28.7412 21.2125C29.0016 20.9521 29.1318 20.6264 29.1318 20.2355C29.1318 19.8444 29.0016 19.5186 28.7412 19.2582C28.4807 18.9977 28.1549 18.8675 27.7638 18.8675C27.3729 18.8675 27.0473 18.9977 26.7868 19.2582L23.9998 22.0452L21.2128 19.2582C20.9524 18.9977 20.628 18.8675 20.2398 18.8675C19.8514 18.8675 19.5269 18.9977 19.2665 19.2582C19.006 19.5186 18.8758 19.8444 18.8758 20.2355C18.8758 20.6264 19.006 20.9521 19.2665 21.2125L22.0455 23.9995L19.2585 26.7865C18.998 27.047 18.8692 27.3713 18.8718 27.7595C18.8745 28.148 19.006 28.4724 19.2665 28.7328C19.5269 28.9933 19.8527 29.1235 20.2438 29.1235C20.6347 29.1235 20.9604 28.9933 21.2208 28.7328L23.9998 25.9538Z" fill="black"/>
    </g>
</svg>
<div class="mobile-wallet-adapter-embedded-modal-title">
    Your wallet connection is blocked
</div>
<div id="mobile-wallet-adapter-local-launch-message" class="mobile-wallet-adapter-embedded-modal-subtitle">
    Visit site settings in the address bar and allow "Apps on Device".
</div>

<div class="mobile-wallet-adapter-embedded-modal-divider"><hr></div>
<div class="mobile-wallet-adapter-embedded-modal-footer">
    <div class="mobile-wallet-adapter-embedded-modal-details">
        <!-- Clickable header (label associated with the checkbox) -->
      	<label for="collapsible-1" class="mobile-wallet-adapter-embedded-modal-details-collapsible-header">
            <!-- Hidden checkbox to track state -->
            <input type="checkbox" id="collapsible-1" class="mobile-wallet-adapter-embedded-modal-details-collapsible-input">
            <span class="mobile-wallet-adapter-embedded-modal-details-collapsible-header-label">
              See details
            </span>
            <svg class="mobile-wallet-adapter-embedded-modal-details-collapsible-header-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
              <mask id="mask0_147_1382" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
                <rect width="24" height="24" fill="#D9D9D9"/>
              </mask>
              <g mask="url(#mask0_147_1382)">
                <path d="M11.9999 17.0811C11.8506 17.0811 11.7087 17.0563 11.5741 17.0067C11.4395 16.957 11.3162 16.8762 11.2042 16.7643L6.57924 12.1393C6.36801 11.9281 6.26656 11.667 6.27489 11.3561C6.28322 11.0453 6.39301 10.7842 6.60424 10.573C6.81547 10.3618 7.08069 10.2561 7.39989 10.2561C7.71909 10.2561 7.9843 10.3618 8.19554 10.573L11.9999 14.3773L15.8292 10.548C16.0405 10.3368 16.3015 10.2353 16.6124 10.2436C16.9233 10.252 17.1843 10.3618 17.3955 10.573C17.6068 10.7842 17.7124 11.0494 17.7124 11.3686C17.7124 11.6878 17.6068 11.9531 17.3955 12.1643L12.7955 16.7643C12.6836 16.8762 12.5603 16.957 12.4257 17.0067C12.2911 17.0563 12.1492 17.0811 11.9999 17.0811Z" fill="black"/>
              </g>
            </svg>
      	</label>
        
        <!-- Content to show/hide -->
        <ul class="mobile-wallet-adapter-embedded-modal-details-collapsible-content">
            <li>{{PERMISSION_INSTRUCTION_DETAIL}}</li>
            <li>Allow "Apps on Device"</li>
        </ul>
    </div>
</div>
<div>
    <button data-modal-action id="mobile-wallet-adapter-launch-action" class="mobile-wallet-adapter-embedded-modal-launch-action">
        Got it
    </button>
</div>
`;
      css$2 = `
.mobile-wallet-adapter-embedded-modal-close {
    display: none;
}
.mobile-wallet-adapter-embedded-modal-content {
    text-align: center;
}
.mobile-wallet-adapter-embedded-modal-header {
    margin: 18px auto 30px auto;
    color: #7D9093;
    font-size: 1.0em;
    font-weight: 500;
}
.mobile-wallet-adapter-embedded-modal-title {
    margin: 18px 100px auto 100px;
    color: #000000;
    font-size: 2.75em;
    font-weight: 600;
}
.mobile-wallet-adapter-embedded-modal-subtitle {
    margin: 12px 60px 30px 60px;
    color: #7D9093;
    font-size: 1.25em;
    font-weight: 400;
}
.mobile-wallet-adapter-embedded-modal-details-collapsible-header {
    display: flex;
    flex-direction: row;
  	justify-content: space-between;
    margin: 10px auto 10px auto;
    color: #000000;
    font-size: 1.5em;
    font-weight: 600;
    cursor: pointer; /* Show pointer on hover */
    transition: background 0.2s ease; /* Smooth background change */
}
.mobile-wallet-adapter-embedded-modal-details-collapsible-header-icon {
  	transition: rotate 0.3s ease;
}
.mobile-wallet-adapter-embedded-modal-details-collapsible-input {
  	display: none; /* Hide the checkbox */
}
.mobile-wallet-adapter-embedded-modal-details-collapsible-content {
    margin: 0px auto 40px auto;
    max-height: 0px; /* Collapse content */
    overflow: hidden; /* Hide overflow when collapsed */
    transition: max-height 0.3s ease; /* Smooth transition */
}
.mobile-wallet-adapter-embedded-modal-details-collapsible-content li {
    margin: 20px auto;
    color: #000000;
    font-size: 1.25em;
    font-weight: 400;
    text-align: left;
}
/* When checkbox is checked, show content */
.mobile-wallet-adapter-embedded-modal-details-collapsible-header:has(> input:checked) ~ .mobile-wallet-adapter-embedded-modal-details-collapsible-content {
  	max-height: 300px;
}
.mobile-wallet-adapter-embedded-modal-details-collapsible-header:has(> input:checked) > .mobile-wallet-adapter-embedded-modal-details-collapsible-header-icon {
  	rotate: 180deg;
}
.mobile-wallet-adapter-embedded-modal-launch-action {
    display: block;
    width: 100%;
    height: 56px;
    /*margin-top: 40px;*/
    font-size: 1.25em;
    /*line-height: 24px;*/
    /*letter-spacing: -1%;*/
    background: #000000;
    color: #FFFFFF;
    border-radius: 18px;
}
/* Smaller screens */
@media all and (max-width: 600px) {
    .mobile-wallet-adapter-embedded-modal-title {
        font-size: 1.75em;
        margin-right: 12px;
        margin-left: 12px;
    }
    .mobile-wallet-adapter-embedded-modal-subtitle {
        margin-right: 12px;
        margin-left: 12px;
    }
}
`;
      LoopbackPermissionModal = class extends EmbeddedModal {
        contentStyles = css$1;
        contentHtml = ErrorDialogHtml$1;
        async init() {
          super.init();
          this.#prepareLaunchAction();
        }
        #prepareLaunchAction() {
          const launchButton = this.dom?.getElementById("mobile-wallet-adapter-launch-action");
          const listener = async () => {
            launchButton?.removeEventListener("click", listener);
            try {
              await fetch("http://localhost");
            } catch {
            }
            this.close();
          };
          launchButton?.addEventListener("click", listener);
        }
      };
      ErrorDialogHtml$1 = `
<div class="mobile-wallet-adapter-embedded-modal-title">Allow connections to your wallet</div>
<div id="mobile-wallet-adapter-local-launch-message" class="mobile-wallet-adapter-embedded-modal-subtitle">
    Tap "Allow" on the next screen
</div>
<svg class="mobile-wallet-adapter-embedded-modal-permission-prompt-mock" xmlns="http://www.w3.org/2000/svg" width="281" height="83" viewBox="0 0 281 83" fill="none">
    <rect width="281" height="83" rx="22" fill="#F0F3F5"/>
    <path d="M254.194 64L252.626 56.657H254.047L254.866 61.452L254.985 62.278H255.02L255.146 61.452L255.993 57.497H257.4L258.254 61.431L258.373 62.278H258.415L258.534 61.431L259.346 56.657H260.718L259.143 64H257.673L256.826 59.961L256.693 59.093H256.651L256.511 59.961L255.664 64H254.194Z" fill="black"/>
    <path d="M248.837 64.231C248.147 64.231 247.54 64.07 247.017 63.748C246.495 63.426 246.086 62.978 245.792 62.404C245.498 61.83 245.351 61.1673 245.351 60.416V60.241C245.351 59.4897 245.498 58.827 245.792 58.253C246.086 57.679 246.495 57.2333 247.017 56.916C247.54 56.594 248.147 56.433 248.837 56.433C249.528 56.433 250.135 56.594 250.657 56.916C251.18 57.2333 251.588 57.679 251.882 58.253C252.176 58.827 252.323 59.4897 252.323 60.241V60.416C252.323 61.1673 252.176 61.83 251.882 62.404C251.588 62.978 251.18 63.426 250.657 63.748C250.135 64.07 249.528 64.231 248.837 64.231ZM248.837 62.824C249.43 62.824 249.897 62.607 250.237 62.173C250.583 61.7343 250.755 61.1417 250.755 60.395V60.262C250.755 59.5107 250.583 58.918 250.237 58.484C249.897 58.05 249.43 57.833 248.837 57.833C248.249 57.833 247.783 58.05 247.437 58.484C247.092 58.918 246.919 59.5107 246.919 60.262V60.395C246.919 61.1417 247.092 61.7343 247.437 62.173C247.783 62.607 248.249 62.824 248.837 62.824Z" fill="black"/>
    <path d="M242.298 64.231C241.467 64.231 240.814 63.993 240.338 63.517C239.866 63.0364 239.631 62.3737 239.631 61.529V53.78H241.178V61.389C241.178 62.3317 241.591 62.803 242.417 62.803C242.65 62.803 242.865 62.7587 243.061 62.67C243.257 62.5814 243.464 62.4367 243.684 62.236L244.538 63.377C244.225 63.6664 243.884 63.881 243.516 64.021C243.152 64.161 242.746 64.231 242.298 64.231ZM237.51 55.061V53.78H240.611V55.061H237.51Z" fill="black"/>
    <path d="M234.463 64.231C233.633 64.231 232.979 63.993 232.503 63.517C232.032 63.0364 231.796 62.3737 231.796 61.529V53.78H233.343V61.389C233.343 62.3317 233.756 62.803 234.582 62.803C234.816 62.803 235.03 62.7587 235.226 62.67C235.422 62.5814 235.63 62.4367 235.849 62.236L236.703 63.377C236.391 63.6664 236.05 63.881 235.681 64.021C235.317 64.161 234.911 64.231 234.463 64.231ZM229.675 55.061V53.78H232.776V55.061H229.675Z" fill="black"/>
    <path d="M221.442 64L224.557 53.976H226.132L229.233 64H227.581L225.642 56.972L225.341 55.761H225.299L225.005 56.972L223.073 64H221.442ZM222.835 61.634L223.255 60.29H227.371L227.805 61.634H222.835Z" fill="black"/>
    <path d="M178.261 64L175.034 60.066V60.024L178.121 56.657H180.011L176.504 60.423V59.632L180.165 64H178.261ZM173.543 64V53.78H175.097V64H173.543Z" fill="#7D9093" fill-opacity="0.5"/>
    <path d="M169.306 64.224C168.588 64.224 167.958 64.0653 167.416 63.748C166.88 63.426 166.462 62.9803 166.163 62.411C165.865 61.837 165.715 61.1673 165.715 60.402V60.248C165.715 59.4873 165.862 58.8223 166.156 58.253C166.45 57.679 166.863 57.2333 167.395 56.916C167.927 56.594 168.546 56.433 169.25 56.433C169.978 56.433 170.59 56.6056 171.084 56.951C171.579 57.2917 171.955 57.777 172.211 58.407L170.874 58.995C170.72 58.6123 170.508 58.323 170.237 58.127C169.967 57.9263 169.633 57.826 169.236 57.826C168.63 57.826 168.149 58.0383 167.794 58.463C167.444 58.883 167.269 59.4616 167.269 60.199V60.465C167.269 61.1837 167.454 61.7577 167.822 62.187C168.196 62.6163 168.69 62.831 169.306 62.831C169.712 62.831 170.06 62.733 170.349 62.537C170.639 62.341 170.877 62.0423 171.063 61.641L172.379 62.285C172.188 62.6957 171.941 63.0457 171.637 63.335C171.334 63.6243 170.986 63.846 170.594 64C170.202 64.1493 169.773 64.224 169.306 64.224Z" fill="#7D9093" fill-opacity="0.5"/>
    <path d="M161.003 64.231C160.312 64.231 159.706 64.07 159.183 63.748C158.66 63.426 158.252 62.978 157.958 62.404C157.664 61.83 157.517 61.1673 157.517 60.416V60.241C157.517 59.4897 157.664 58.827 157.958 58.253C158.252 57.679 158.66 57.2333 159.183 56.916C159.706 56.594 160.312 56.433 161.003 56.433C161.694 56.433 162.3 56.594 162.823 56.916C163.346 57.2333 163.754 57.679 164.048 58.253C164.342 58.827 164.489 59.4897 164.489 60.241V60.416C164.489 61.1673 164.342 61.83 164.048 62.404C163.754 62.978 163.346 63.426 162.823 63.748C162.3 64.07 161.694 64.231 161.003 64.231ZM161.003 62.824C161.596 62.824 162.062 62.607 162.403 62.173C162.748 61.7343 162.921 61.1417 162.921 60.395V60.262C162.921 59.5107 162.748 58.918 162.403 58.484C162.062 58.05 161.596 57.833 161.003 57.833C160.415 57.833 159.948 58.05 159.603 58.484C159.258 58.918 159.085 59.5107 159.085 60.262V60.395C159.085 61.1417 159.258 61.7343 159.603 62.173C159.948 62.607 160.415 62.824 161.003 62.824Z" fill="#7D9093" fill-opacity="0.5"/>
    <path d="M154.463 64.231C153.633 64.231 152.979 63.993 152.503 63.517C152.032 63.0364 151.796 62.3737 151.796 61.529V53.78H153.343V61.389C153.343 62.3317 153.756 62.803 154.582 62.803C154.816 62.803 155.03 62.7587 155.226 62.67C155.422 62.5814 155.63 62.4367 155.849 62.236L156.703 63.377C156.391 63.6664 156.05 63.881 155.681 64.021C155.317 64.161 154.911 64.231 154.463 64.231ZM149.675 55.061V53.78H152.776V55.061H149.675Z" fill="#7D9093" fill-opacity="0.5"/>
    <path d="M142.24 64V53.976H145.544C146.421 53.976 147.112 54.1953 147.616 54.634C148.12 55.0726 148.372 55.6583 148.372 56.391V56.566C148.372 57.0886 148.246 57.5366 147.994 57.91C147.742 58.2833 147.38 58.5586 146.909 58.736V58.792C147.492 58.9226 147.947 59.2003 148.274 59.625C148.605 60.045 148.771 60.5606 148.771 61.172V61.361C148.771 61.893 148.645 62.3573 148.393 62.754C148.145 63.1506 147.795 63.4586 147.343 63.678C146.895 63.8926 146.365 64 145.754 64H142.24ZM143.794 62.656H145.572C146.085 62.656 146.482 62.5253 146.762 62.264C147.042 62.0026 147.182 61.6293 147.182 61.144V60.99C147.182 60.5046 147.037 60.1313 146.748 59.87C146.463 59.604 146.05 59.471 145.509 59.471H143.36V58.183H145.32C145.791 58.183 146.153 58.064 146.405 57.826C146.657 57.588 146.783 57.2496 146.783 56.811V56.685C146.783 56.2416 146.657 55.9033 146.405 55.67C146.157 55.4366 145.796 55.32 145.32 55.32H143.794V62.656Z" fill="#7D9093" fill-opacity="0.5"/>
    <rect x="18" y="17" width="246" height="7" rx="3.5" fill="#7D9093" fill-opacity="0.26"/>
    <rect x="18" y="33" width="82" height="7" rx="3.5" fill="#7D9093" fill-opacity="0.26"/>
</svg>
<div>
    <button data-modal-action id="mobile-wallet-adapter-launch-action" class="mobile-wallet-adapter-embedded-modal-launch-action">
        Continue to Allow
    </button>
</div>
`;
      css$1 = `
.mobile-wallet-adapter-embedded-modal-close {
    display: none;
}
.mobile-wallet-adapter-embedded-modal-content {
    text-align: center;
}
.mobile-wallet-adapter-embedded-modal-title {
    margin: 18px 100px auto 100px;
    color: #000000;
    font-size: 2.75em;
    font-weight: 600;
}
.mobile-wallet-adapter-embedded-modal-subtitle {
    margin: 20px 60px 40px 60px;
    color: #7D9093;
    font-size: 1.25em;
    font-weight: 400;
}
.mobile-wallet-adapter-embedded-modal-permission-prompt-mock {
    width: 90%;
    height: auto;
    margin: 0 auto 30px auto;
    display: block;
}
.mobile-wallet-adapter-embedded-modal-launch-action {
    display: block;
    width: 100%;
    height: 56px;
    font-size: 1.25em;
    background: #000000;
    color: #FFFFFF;
    border-radius: 18px;
}
/* Smaller screens */
@media all and (max-width: 600px) {
    .mobile-wallet-adapter-embedded-modal-title {
        font-size: 1.5em;
        margin-right: 12px;
        margin-left: 12px;
    }
    .mobile-wallet-adapter-embedded-modal-subtitle {
        margin-right: 12px;
        margin-left: 12px;
    }
}
`;
      icon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03IDIuNUgxN0MxNy44Mjg0IDIuNSAxOC41IDMuMTcxNTcgMTguNSA0VjIwQzE4LjUgMjAuODI4NCAxNy44Mjg0IDIxLjUgMTcgMjEuNUg3QzYuMTcxNTcgMjEuNSA1LjUgMjAuODI4NCA1LjUgMjBWNEM1LjUgMy4xNzE1NyA2LjE3MTU3IDIuNSA3IDIuNVpNMyA0QzMgMS43OTA4NiA0Ljc5MDg2IDAgNyAwSDE3QzE5LjIwOTEgMCAyMSAxLjc5MDg2IDIxIDRWMjBDMjEgMjIuMjA5MSAxOS4yMDkxIDI0IDE3IDI0SDdDNC43OTA4NiAyNCAzIDIyLjIwOTEgMyAyMFY0Wk0xMSA0LjYxNTM4QzEwLjQ0NzcgNC42MTUzOCAxMCA1LjA2MzEgMTAgNS42MTUzOFY2LjM4NDYyQzEwIDYuOTM2OSAxMC40NDc3IDcuMzg0NjIgMTEgNy4zODQ2MkgxM0MxMy41NTIzIDcuMzg0NjIgMTQgNi45MzY5IDE0IDYuMzg0NjJWNS42MTUzOEMxNCA1LjA2MzEgMTMuNTUyMyA0LjYxNTM4IDEzIDQuNjE1MzhIMTFaIiBmaWxsPSIjRENCOEZGIi8+Cjwvc3ZnPgo=";
      SolanaMobileWalletAdapterWalletName = "Mobile Wallet Adapter";
      SIGNATURE_LENGTH_IN_BYTES2 = 64;
      DEFAULT_FEATURES = [
        SolanaSignAndSendTransaction,
        SolanaSignTransaction,
        SolanaSignMessage,
        SolanaSignIn
      ];
      WALLET_ASSOCIATION_TIMEOUT = 3e4;
      LocalSolanaMobileWalletAdapterWallet = class {
        #listeners = {};
        #version = "1.0.0";
        #name = SolanaMobileWalletAdapterWalletName;
        #url = "https://solanamobile.com/wallets";
        #icon = icon;
        #appIdentity;
        #authorization;
        #authorizationCache;
        #connecting = false;
        /**
        * Every time the connection is recycled in some way (eg. `disconnect()` is called)
        * increment this and use it to make sure that `transact` calls from the previous
        * 'generation' don't continue to do work and throw exceptions.
        */
        #connectionGeneration = 0;
        #chains = [];
        #chainSelector;
        #optionalFeatures;
        #onWalletNotFound;
        get version() {
          return this.#version;
        }
        get name() {
          return this.#name;
        }
        get url() {
          return this.#url;
        }
        get icon() {
          return this.#icon;
        }
        get chains() {
          return this.#chains;
        }
        get features() {
          return {
            [StandardConnect]: {
              version: "1.0.0",
              connect: this.#connect
            },
            [StandardDisconnect]: {
              version: "1.0.0",
              disconnect: this.#disconnect
            },
            [StandardEvents]: {
              version: "1.0.0",
              on: this.#on
            },
            [SolanaSignMessage]: {
              version: "1.0.0",
              signMessage: this.#signMessage
            },
            [SolanaSignIn]: {
              version: "1.0.0",
              signIn: this.#signIn
            },
            ...this.#optionalFeatures
          };
        }
        get accounts() {
          return this.#authorization?.accounts ?? [];
        }
        constructor(config) {
          this.#authorizationCache = config.authorizationCache;
          this.#appIdentity = config.appIdentity;
          this.#chains = config.chains;
          this.#chainSelector = config.chainSelector;
          this.#onWalletNotFound = config.onWalletNotFound;
          this.#optionalFeatures = {
            [SolanaSignAndSendTransaction]: {
              version: "1.0.0",
              supportedTransactionVersions: ["legacy", 0],
              signAndSendTransaction: this.#signAndSendTransaction
            },
            [SolanaSignTransaction]: {
              version: "1.0.0",
              supportedTransactionVersions: ["legacy", 0],
              signTransaction: this.#signTransaction
            }
          };
        }
        get connected() {
          return !!this.#authorization;
        }
        get isAuthorized() {
          return !!this.#authorization;
        }
        get currentAuthorization() {
          return this.#authorization;
        }
        get cachedAuthorizationResult() {
          return this.#authorizationCache.get();
        }
        #on = (event, listener) => {
          this.#listeners[event]?.push(listener) || (this.#listeners[event] = [listener]);
          return () => this.#off(event, listener);
        };
        #emit(event, ...args) {
          this.#listeners[event]?.forEach((listener) => listener.apply(null, args));
        }
        #off(event, listener) {
          this.#listeners[event] = this.#listeners[event]?.filter((existingListener) => listener !== existingListener);
        }
        #connect = async ({ silent } = {}) => {
          if (this.#connecting || this.connected) return { accounts: this.accounts };
          this.#connecting = true;
          try {
            if (silent) {
              const cachedAuthorization = await this.#authorizationCache.get();
              if (cachedAuthorization) {
                await this.#handleWalletCapabilitiesResult(cachedAuthorization.capabilities);
                await this.#handleAuthorizationResult(cachedAuthorization);
              } else return { accounts: this.accounts };
            } else await this.#performAuthorization();
          } catch (e3) {
            throw new Error(getErrorMessage2(e3), { cause: e3 });
          } finally {
            this.#connecting = false;
          }
          return { accounts: this.accounts };
        };
        #performAuthorization = async (signInPayload) => {
          try {
            const cachedAuthorizationResult = await this.#authorizationCache.get();
            if (cachedAuthorizationResult) {
              this.#handleAuthorizationResult(cachedAuthorizationResult);
              return cachedAuthorizationResult;
            }
            const selectedChain = await this.#chainSelector.select(this.#chains);
            return await this.#transact(async (wallet) => {
              const [capabilities, mwaAuthorizationResult] = await Promise.all([wallet.getCapabilities(), wallet.authorize({
                chain: selectedChain,
                identity: this.#appIdentity,
                sign_in_payload: signInPayload
              })]);
              const accounts = this.#accountsToWalletStandardAccounts(mwaAuthorizationResult.accounts);
              const authorization = {
                ...mwaAuthorizationResult,
                accounts,
                chain: selectedChain,
                capabilities
              };
              Promise.all([
                this.#handleWalletCapabilitiesResult(capabilities),
                this.#authorizationCache.set(authorization),
                this.#handleAuthorizationResult(authorization)
              ]);
              return authorization;
            });
          } catch (e3) {
            throw new Error(getErrorMessage2(e3), { cause: e3 });
          }
        };
        #handleAuthorizationResult = async (authorization) => {
          const didPublicKeysChange = this.#authorization == null || this.#authorization?.accounts.length !== authorization.accounts.length || this.#authorization.accounts.some((account, ii) => account.address !== authorization.accounts[ii].address);
          this.#authorization = authorization;
          if (didPublicKeysChange) this.#emit("change", { accounts: this.accounts });
        };
        #handleWalletCapabilitiesResult = async (capabilities) => {
          const supportsSignTransaction = capabilities.features.includes("solana:signTransactions");
          const supportsSignAndSendTransaction = capabilities.supports_sign_and_send_transactions;
          const didCapabilitiesChange = SolanaSignAndSendTransaction in this.features !== supportsSignAndSendTransaction || SolanaSignTransaction in this.features !== supportsSignTransaction;
          this.#optionalFeatures = {
            ...(supportsSignAndSendTransaction || !supportsSignAndSendTransaction && !supportsSignTransaction) && { [SolanaSignAndSendTransaction]: {
              version: "1.0.0",
              supportedTransactionVersions: ["legacy", 0],
              signAndSendTransaction: this.#signAndSendTransaction
            } },
            ...supportsSignTransaction && { [SolanaSignTransaction]: {
              version: "1.0.0",
              supportedTransactionVersions: ["legacy", 0],
              signTransaction: this.#signTransaction
            } }
          };
          if (didCapabilitiesChange) this.#emit("change", { features: this.features });
        };
        #performReauthorization = async (wallet, authToken, chain) => {
          try {
            const [capabilities, mwaAuthorizationResult] = await Promise.all([this.#authorization?.capabilities ?? await wallet.getCapabilities(), wallet.authorize({
              auth_token: authToken,
              identity: this.#appIdentity,
              chain
            })]);
            const accounts = this.#accountsToWalletStandardAccounts(mwaAuthorizationResult.accounts);
            const authorization = {
              ...mwaAuthorizationResult,
              accounts,
              chain,
              capabilities
            };
            Promise.all([this.#authorizationCache.set(authorization), this.#handleAuthorizationResult(authorization)]);
          } catch (e3) {
            this.#disconnect();
            throw new Error(getErrorMessage2(e3), { cause: e3 });
          }
        };
        #disconnect = async () => {
          this.#authorizationCache.clear();
          this.#connecting = false;
          this.#connectionGeneration++;
          this.#authorization = void 0;
          this.#emit("change", { accounts: this.accounts });
        };
        #transact = async (callback) => {
          const walletUriBase = this.#authorization?.wallet_uri_base;
          const config = walletUriBase ? { baseUri: walletUriBase } : void 0;
          const currentConnectionGeneration = this.#connectionGeneration;
          const loadingSpinner = new EmbeddedLoadingSpinner();
          try {
            let associating = true;
            let timeout = void 0;
            const result = await Promise.race([checkLocalNetworkAccessPermission().then(async () => {
              loadingSpinner.init();
              const { wallet, close } = await startScenario(config);
              associating = false;
              loadingSpinner.addEventListener("close", (event) => {
                if (event) close();
              });
              loadingSpinner.open();
              const result2 = await callback(await wallet);
              loadingSpinner.close();
              close();
              return result2;
            }), new Promise((_3, reject) => {
              timeout = setTimeout(() => {
                if (associating) reject(new SolanaMobileWalletAdapterError(SolanaMobileWalletAdapterErrorCode.ERROR_ASSOCIATION_CANCELLED, "Wallet connection timed out", { event: void 0 }));
              }, WALLET_ASSOCIATION_TIMEOUT);
            })]);
            clearTimeout(timeout);
            return result;
          } catch (e3) {
            loadingSpinner.close();
            if (this.#connectionGeneration !== currentConnectionGeneration) await new Promise(() => {
            });
            if (e3 instanceof Error && e3.name === "SolanaMobileWalletAdapterError" && e3.code === "ERROR_WALLET_NOT_FOUND") await this.#onWalletNotFound(this);
            throw e3;
          }
        };
        #assertIsAuthorized = () => {
          if (!this.#authorization) throw new Error("Wallet not connected");
          return {
            authToken: this.#authorization.auth_token,
            chain: this.#authorization.chain
          };
        };
        #accountsToWalletStandardAccounts = (accounts) => {
          return accounts.map((account) => {
            const publicKey2 = toUint8Array2(account.address);
            return {
              address: esm_default2.encode(publicKey2),
              publicKey: publicKey2,
              label: account.label,
              icon: account.icon,
              chains: account.chains ?? this.#chains,
              features: account.features ?? DEFAULT_FEATURES
            };
          });
        };
        #performSignTransactions = async (transactions) => {
          const { authToken, chain } = this.#assertIsAuthorized();
          try {
            const base64Transactions = transactions.map((tx) => {
              return fromUint8Array2(tx);
            });
            return await this.#transact(async (wallet) => {
              await this.#performReauthorization(wallet, authToken, chain);
              return (await wallet.signTransactions({ payloads: base64Transactions })).signed_payloads.map(toUint8Array2);
            });
          } catch (e3) {
            throw new Error(getErrorMessage2(e3), { cause: e3 });
          }
        };
        #performSignAndSendTransaction = async (transaction, options2) => {
          const { authToken, chain } = this.#assertIsAuthorized();
          try {
            return await this.#transact(async (wallet) => {
              const [capabilities] = await Promise.all([wallet.getCapabilities(), this.#performReauthorization(wallet, authToken, chain)]);
              if (capabilities.supports_sign_and_send_transactions) {
                const base64Transaction = fromUint8Array2(transaction);
                return (await wallet.signAndSendTransactions({
                  ...options2,
                  payloads: [base64Transaction]
                })).signatures.map(toUint8Array2)[0];
              } else throw new Error("connected wallet does not support signAndSendTransaction");
            });
          } catch (e3) {
            throw new Error(getErrorMessage2(e3), { cause: e3 });
          }
        };
        #signAndSendTransaction = async (...inputs) => {
          const outputs = [];
          for (const input of inputs) {
            const signature2 = await this.#performSignAndSendTransaction(input.transaction, input.options);
            outputs.push({ signature: signature2 });
          }
          return outputs;
        };
        #signTransaction = async (...inputs) => {
          return (await this.#performSignTransactions(inputs.map(({ transaction }) => transaction))).map((signedTransaction) => {
            return { signedTransaction };
          });
        };
        #signMessage = async (...inputs) => {
          const { authToken, chain } = this.#assertIsAuthorized();
          const addresses = inputs.map(({ account }) => fromUint8Array2(new Uint8Array(account.publicKey)));
          const messages = inputs.map(({ message }) => fromUint8Array2(message));
          try {
            return await this.#transact(async (wallet) => {
              await this.#performReauthorization(wallet, authToken, chain);
              return (await wallet.signMessages({
                addresses,
                payloads: messages
              })).signed_payloads.map(toUint8Array2).map((signedMessage) => {
                return {
                  signedMessage,
                  signature: signedMessage.slice(-SIGNATURE_LENGTH_IN_BYTES2)
                };
              });
            });
          } catch (e3) {
            throw new Error(getErrorMessage2(e3), { cause: e3 });
          }
        };
        #signIn = async (...inputs) => {
          const outputs = [];
          if (inputs.length > 1) for (const input of inputs) outputs.push(await this.#performSignIn(input));
          else return [await this.#performSignIn(inputs[0])];
          return outputs;
        };
        #performSignIn = async (input) => {
          this.#connecting = true;
          try {
            const authorizationResult = await this.#performAuthorization({
              ...input,
              domain: input?.domain ?? window.location.host
            });
            if (!authorizationResult.sign_in_result) throw new Error("Sign in failed, no sign in result returned by wallet");
            const signedInAddress = authorizationResult.sign_in_result.address;
            const signedInAccount = authorizationResult.accounts.find((acc) => acc.address == signedInAddress);
            return {
              account: {
                ...signedInAccount ?? { address: esm_default2.encode(toUint8Array2(signedInAddress)) },
                publicKey: toUint8Array2(signedInAddress),
                chains: signedInAccount?.chains ?? this.#chains,
                features: signedInAccount?.features ?? authorizationResult.capabilities.features
              },
              signedMessage: toUint8Array2(authorizationResult.sign_in_result.signed_message),
              signature: toUint8Array2(authorizationResult.sign_in_result.signature)
            };
          } catch (e3) {
            throw new Error(getErrorMessage2(e3), { cause: e3 });
          } finally {
            this.#connecting = false;
          }
        };
      };
      WALLET_NOT_FOUND_ERROR_MESSAGE = "To use mobile wallet adapter, you must have a compatible mobile wallet application installed on your device.";
      BROWSER_NOT_SUPPORTED_ERROR_MESSAGE = "This browser appears to be incompatible with mobile wallet adapter. Open this page in a compatible mobile browser app and try again.";
      ErrorModal = class extends EmbeddedModal {
        contentStyles = css2;
        contentHtml = ErrorDialogHtml;
        initWithError(error2) {
          super.init();
          this.populateError(error2);
        }
        populateError(error2) {
          const errorMessageElement = this.dom?.getElementById("mobile-wallet-adapter-error-message");
          const actionBtn = this.dom?.getElementById("mobile-wallet-adapter-error-action");
          if (errorMessageElement) {
            if (error2.name === "SolanaMobileWalletAdapterError") switch (error2.code) {
              case "ERROR_WALLET_NOT_FOUND":
                errorMessageElement.innerHTML = WALLET_NOT_FOUND_ERROR_MESSAGE;
                if (actionBtn) actionBtn.addEventListener("click", () => {
                  window.location.href = "https://solanamobile.com/wallets";
                });
                return;
              case "ERROR_BROWSER_NOT_SUPPORTED":
                errorMessageElement.innerHTML = BROWSER_NOT_SUPPORTED_ERROR_MESSAGE;
                if (actionBtn) actionBtn.style.display = "none";
                return;
            }
            errorMessageElement.innerHTML = `An unexpected error occurred: ${error2.message}`;
          } else console.log("Failed to locate error dialog element");
        }
      };
      ErrorDialogHtml = `
<svg class="mobile-wallet-adapter-embedded-modal-error-icon" xmlns="http://www.w3.org/2000/svg" height="50px" viewBox="0 -960 960 960" width="50px" fill="#000000"><path d="M 280,-80 Q 197,-80 138.5,-138.5 80,-197 80,-280 80,-363 138.5,-421.5 197,-480 280,-480 q 83,0 141.5,58.5 58.5,58.5 58.5,141.5 0,83 -58.5,141.5 Q 363,-80 280,-80 Z M 824,-120 568,-376 Q 556,-389 542.5,-402.5 529,-416 516,-428 q 38,-24 61,-64 23,-40 23,-88 0,-75 -52.5,-127.5 Q 495,-760 420,-760 345,-760 292.5,-707.5 240,-655 240,-580 q 0,6 0.5,11.5 0.5,5.5 1.5,11.5 -18,2 -39.5,8 -21.5,6 -38.5,14 -2,-11 -3,-22 -1,-11 -1,-23 0,-109 75.5,-184.5 Q 311,-840 420,-840 q 109,0 184.5,75.5 75.5,75.5 75.5,184.5 0,43 -13.5,81.5 Q 653,-460 629,-428 l 251,252 z m -615,-61 71,-71 70,71 29,-28 -71,-71 71,-71 -28,-28 -71,71 -71,-71 -28,28 71,71 -71,71 z"/></svg>
<div class="mobile-wallet-adapter-embedded-modal-title">We can't find a wallet.</div>
<div id="mobile-wallet-adapter-error-message" class="mobile-wallet-adapter-embedded-modal-subtitle"></div>
<div>
    <button data-error-action id="mobile-wallet-adapter-error-action" class="mobile-wallet-adapter-embedded-modal-error-action">
        Find a wallet
    </button>
</div>
`;
      css2 = `
.mobile-wallet-adapter-embedded-modal-content {
    text-align: center;
}

.mobile-wallet-adapter-embedded-modal-error-icon {
    margin-top: 24px;
}

.mobile-wallet-adapter-embedded-modal-title {
    margin: 18px 100px auto 100px;
    color: #000000;
    font-size: 2.75em;
    font-weight: 600;
}

.mobile-wallet-adapter-embedded-modal-subtitle {
    margin: 30px 60px 40px 60px;
    color: #000000;
    font-size: 1.25em;
    font-weight: 400;
}

.mobile-wallet-adapter-embedded-modal-error-action {
    display: block;
    width: 100%;
    height: 56px;
    /*margin-top: 40px;*/
    font-size: 1.25em;
    /*line-height: 24px;*/
    /*letter-spacing: -1%;*/
    background: #000000;
    color: #FFFFFF;
    border-radius: 18px;
}

/* Smaller screens */
@media all and (max-width: 600px) {
    .mobile-wallet-adapter-embedded-modal-title {
        font-size: 1.5em;
        margin-right: 12px;
        margin-left: 12px;
    }
    .mobile-wallet-adapter-embedded-modal-subtitle {
        margin-right: 12px;
        margin-left: 12px;
    }
}
`;
      CACHE_KEY = "SolanaMobileWalletAdapterDefaultAuthorizationCache";
    }
  });

  // node_modules/@wallet-standard/app/lib/esm/wallets.js
  function addRegisteredWallet(wallet) {
    cachedWalletsArray = void 0;
    registeredWalletsSet.add(wallet);
  }
  function removeRegisteredWallet(wallet) {
    cachedWalletsArray = void 0;
    registeredWalletsSet.delete(wallet);
  }
  function getWallets() {
    if (wallets)
      return wallets;
    wallets = Object.freeze({ register, get, on });
    if (typeof window === "undefined")
      return wallets;
    const api = Object.freeze({ register });
    try {
      window.addEventListener("wallet-standard:register-wallet", ({ detail: callback }) => callback(api));
    } catch (error2) {
      console.error("wallet-standard:register-wallet event listener could not be added\n", error2);
    }
    try {
      window.dispatchEvent(new AppReadyEvent(api));
    } catch (error2) {
      console.error("wallet-standard:app-ready event could not be dispatched\n", error2);
    }
    return wallets;
  }
  function register(...wallets3) {
    wallets3 = wallets3.filter((wallet) => !registeredWalletsSet.has(wallet));
    if (!wallets3.length)
      return () => {
      };
    wallets3.forEach((wallet) => addRegisteredWallet(wallet));
    listeners["register"]?.forEach((listener) => guard(() => listener(...wallets3)));
    return function unregister() {
      wallets3.forEach((wallet) => removeRegisteredWallet(wallet));
      listeners["unregister"]?.forEach((listener) => guard(() => listener(...wallets3)));
    };
  }
  function get() {
    if (!cachedWalletsArray) {
      cachedWalletsArray = [...registeredWalletsSet];
    }
    return cachedWalletsArray;
  }
  function on(event, listener) {
    listeners[event]?.push(listener) || (listeners[event] = [listener]);
    return function off() {
      listeners[event] = listeners[event]?.filter((existingListener) => listener !== existingListener);
    };
  }
  function guard(callback) {
    try {
      callback();
    } catch (error2) {
      console.error(error2);
    }
  }
  function DEPRECATED_getWallets() {
    if (wallets)
      return wallets;
    wallets = getWallets();
    if (typeof window === "undefined")
      return wallets;
    const callbacks = window.navigator.wallets || [];
    if (!Array.isArray(callbacks)) {
      console.error("window.navigator.wallets is not an array");
      return wallets;
    }
    const { register: register3 } = wallets;
    const push = (...callbacks2) => callbacks2.forEach((callback) => guard(() => callback({ register: register3 })));
    try {
      Object.defineProperty(window.navigator, "wallets", {
        value: Object.freeze({ push })
      });
    } catch (error2) {
      console.error("window.navigator.wallets could not be set");
      return wallets;
    }
    push(...callbacks);
    return wallets;
  }
  var __classPrivateFieldGet2, __classPrivateFieldSet2, _AppReadyEvent_detail, wallets, registeredWalletsSet, listeners, cachedWalletsArray, AppReadyEvent;
  var init_wallets = __esm({
    "node_modules/@wallet-standard/app/lib/esm/wallets.js"() {
      __classPrivateFieldGet2 = function(receiver, state, kind, f3) {
        if (kind === "a" && !f3) throw new TypeError("Private accessor was defined without a getter");
        if (typeof state === "function" ? receiver !== state || !f3 : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
        return kind === "m" ? f3 : kind === "a" ? f3.call(receiver) : f3 ? f3.value : state.get(receiver);
      };
      __classPrivateFieldSet2 = function(receiver, state, value, kind, f3) {
        if (kind === "m") throw new TypeError("Private method is not writable");
        if (kind === "a" && !f3) throw new TypeError("Private accessor was defined without a setter");
        if (typeof state === "function" ? receiver !== state || !f3 : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
        return kind === "a" ? f3.call(receiver, value) : f3 ? f3.value = value : state.set(receiver, value), value;
      };
      wallets = void 0;
      registeredWalletsSet = /* @__PURE__ */ new Set();
      listeners = {};
      AppReadyEvent = class extends Event {
        get detail() {
          return __classPrivateFieldGet2(this, _AppReadyEvent_detail, "f");
        }
        get type() {
          return "wallet-standard:app-ready";
        }
        constructor(api) {
          super("wallet-standard:app-ready", {
            bubbles: false,
            cancelable: false,
            composed: false
          });
          _AppReadyEvent_detail.set(this, void 0);
          __classPrivateFieldSet2(this, _AppReadyEvent_detail, api, "f");
        }
        /** @deprecated */
        preventDefault() {
          throw new Error("preventDefault cannot be called");
        }
        /** @deprecated */
        stopImmediatePropagation() {
          throw new Error("stopImmediatePropagation cannot be called");
        }
        /** @deprecated */
        stopPropagation() {
          throw new Error("stopPropagation cannot be called");
        }
      };
      _AppReadyEvent_detail = /* @__PURE__ */ new WeakMap();
    }
  });

  // node_modules/@wallet-standard/app/lib/esm/index.js
  var init_esm10 = __esm({
    "node_modules/@wallet-standard/app/lib/esm/index.js"() {
      init_wallets();
    }
  });

  // node_modules/@wallet-standard/base/lib/esm/bytes.js
  var init_bytes = __esm({
    "node_modules/@wallet-standard/base/lib/esm/bytes.js"() {
    }
  });

  // node_modules/@wallet-standard/base/lib/esm/identifier.js
  var init_identifier = __esm({
    "node_modules/@wallet-standard/base/lib/esm/identifier.js"() {
    }
  });

  // node_modules/@wallet-standard/base/lib/esm/wallet.js
  var init_wallet = __esm({
    "node_modules/@wallet-standard/base/lib/esm/wallet.js"() {
    }
  });

  // node_modules/@wallet-standard/base/lib/esm/window.js
  var init_window = __esm({
    "node_modules/@wallet-standard/base/lib/esm/window.js"() {
    }
  });

  // node_modules/@wallet-standard/base/lib/esm/index.js
  var init_esm11 = __esm({
    "node_modules/@wallet-standard/base/lib/esm/index.js"() {
      init_bytes();
      init_identifier();
      init_wallet();
      init_window();
    }
  });

  // node_modules/@wallet-standard/errors/lib/esm/codes.js
  var init_codes = __esm({
    "node_modules/@wallet-standard/errors/lib/esm/codes.js"() {
    }
  });

  // node_modules/@wallet-standard/errors/lib/esm/error.js
  var init_error2 = __esm({
    "node_modules/@wallet-standard/errors/lib/esm/error.js"() {
    }
  });

  // node_modules/@wallet-standard/errors/lib/esm/stack-trace.js
  var init_stack_trace = __esm({
    "node_modules/@wallet-standard/errors/lib/esm/stack-trace.js"() {
    }
  });

  // node_modules/@wallet-standard/errors/lib/esm/index.js
  var init_esm12 = __esm({
    "node_modules/@wallet-standard/errors/lib/esm/index.js"() {
      init_codes();
      init_error2();
      init_stack_trace();
    }
  });

  // node_modules/@wallet-standard/core/lib/esm/index.js
  var init_esm13 = __esm({
    "node_modules/@wallet-standard/core/lib/esm/index.js"() {
      init_esm10();
      init_esm11();
      init_esm12();
      init_esm3();
      init_esm9();
    }
  });

  // node_modules/@solana-mobile/wallet-adapter-mobile/lib/esm/index.browser.js
  function fromUint8Array3(byteArray) {
    return window.btoa(String.fromCharCode.call(null, ...byteArray));
  }
  function getIsSupported() {
    return typeof window !== "undefined" && window.isSecureContext && typeof document !== "undefined" && /android/i.test(navigator.userAgent);
  }
  function isVersionedTransaction2(transaction) {
    return "version" in transaction;
  }
  function chainOrClusterToChainId(chain) {
    switch (chain) {
      case "mainnet-beta":
        return "solana:mainnet";
      case "testnet":
        return "solana:testnet";
      case "devnet":
        return "solana:devnet";
      default:
        return chain;
    }
  }
  function getErrorMessage3(error2) {
    return error2 instanceof Error ? error2.message : "Unknown error";
  }
  function createDefaultAddressSelector() {
    return { async select(addresses) {
      return addresses[0];
    } };
  }
  function createDefaultAuthorizationResultCache() {
    return createDefaultAuthorizationCache();
  }
  async function defaultWalletNotFoundHandler(_mobileWalletAdapter) {
    return defaultErrorModalWalletNotFoundHandler();
  }
  function createDefaultWalletNotFoundHandler() {
    return defaultWalletNotFoundHandler;
  }
  var SolanaMobileWalletAdapterWalletName2, SIGNATURE_LENGTH_IN_BYTES3, BaseSolanaMobileWalletAdapter, LocalSolanaMobileWalletAdapter, SolanaMobileWalletAdapter;
  var init_index_browser9 = __esm({
    "node_modules/@solana-mobile/wallet-adapter-mobile/lib/esm/index.browser.js"() {
      init_esm4();
      init_esm2();
      init_index_browser_esm();
      init_index_browser8();
      init_esm13();
      SolanaMobileWalletAdapterWalletName2 = SolanaMobileWalletAdapterWalletName;
      SIGNATURE_LENGTH_IN_BYTES3 = 64;
      BaseSolanaMobileWalletAdapter = class extends BaseSignInMessageSignerWalletAdapter {
        supportedTransactionVersions = /* @__PURE__ */ new Set(["legacy", 0]);
        name;
        icon;
        url;
        #wallet;
        #connecting = false;
        #readyState = getIsSupported() ? WalletReadyState.Loadable : WalletReadyState.Unsupported;
        #accountSelector;
        #selectedAccount;
        #publicKey;
        #handleChangeEvent = async (properties) => {
          if (properties.accounts && properties.accounts.length > 0) {
            this.#declareWalletAsInstalled();
            const nextSelectedAccount = await this.#accountSelector(properties.accounts);
            if (nextSelectedAccount !== this.#selectedAccount) {
              this.#selectedAccount = nextSelectedAccount;
              this.#publicKey = void 0;
              this.emit("connect", this.publicKey);
            }
          }
        };
        constructor(wallet, config) {
          super();
          this.#accountSelector = async (accounts) => {
            const selectedBase64EncodedAddress = await config.addressSelector.select(accounts.map(({ publicKey: publicKey2 }) => fromUint8Array3(new Uint8Array(publicKey2))));
            return accounts.find(({ publicKey: publicKey2 }) => fromUint8Array3(new Uint8Array(publicKey2)) === selectedBase64EncodedAddress) ?? accounts[0];
          };
          this.#wallet = wallet;
          this.#wallet.features[StandardEvents].on("change", this.#handleChangeEvent);
          this.name = this.#wallet.name;
          this.icon = this.#wallet.icon;
          this.url = this.#wallet.url;
        }
        get publicKey() {
          if (!this.#publicKey && this.#selectedAccount) try {
            this.#publicKey = new PublicKey(this.#selectedAccount.publicKey);
          } catch (e3) {
            throw new WalletPublicKeyError(e3 instanceof Error && e3?.message || "Unknown error", e3);
          }
          return this.#publicKey ?? null;
        }
        get connected() {
          return this.#wallet.connected;
        }
        get connecting() {
          return this.#connecting;
        }
        get readyState() {
          return this.#readyState;
        }
        /** @deprecated Use `autoConnect()` instead. */
        async autoConnect_DO_NOT_USE_OR_YOU_WILL_BE_FIRED() {
          return await this.autoConnect();
        }
        async autoConnect() {
          this.#connect(true);
        }
        async connect() {
          this.#connect();
        }
        async #connect(autoConnect = false) {
          if (this.connecting || this.connected) return;
          return await this.#runWithGuard(async () => {
            if (this.#readyState !== WalletReadyState.Installed && this.#readyState !== WalletReadyState.Loadable) throw new WalletNotReadyError();
            this.#connecting = true;
            try {
              await this.#wallet.features[StandardConnect].connect({ silent: autoConnect });
            } catch (e3) {
              throw new WalletConnectionError(e3 instanceof Error && e3.message || "Unknown error", e3);
            } finally {
              this.#connecting = false;
            }
          });
        }
        /** @deprecated Use `connect()` or `autoConnect()` instead. */
        async performAuthorization(signInPayload) {
          try {
            const cachedAuthorizationResult = await this.#wallet.cachedAuthorizationResult;
            if (cachedAuthorizationResult) {
              await this.#wallet.features[StandardConnect].connect({ silent: true });
              return cachedAuthorizationResult;
            }
            if (signInPayload) await this.#wallet.features[SolanaSignIn].signIn(signInPayload);
            else await this.#wallet.features[StandardConnect].connect();
            return await await this.#wallet.cachedAuthorizationResult;
          } catch (e3) {
            throw new WalletConnectionError(e3 instanceof Error && e3.message || "Unknown error", e3);
          }
        }
        async disconnect() {
          return await this.#runWithGuard(async () => {
            this.#connecting = false;
            this.#publicKey = void 0;
            this.#selectedAccount = void 0;
            await this.#wallet.features[StandardDisconnect].disconnect();
            this.emit("disconnect");
          });
        }
        async signIn(input) {
          return this.#runWithGuard(async () => {
            if (this.#readyState !== WalletReadyState.Installed && this.#readyState !== WalletReadyState.Loadable) throw new WalletNotReadyError();
            this.#connecting = true;
            try {
              const outputs = await this.#wallet.features[SolanaSignIn].signIn({
                ...input,
                domain: input?.domain ?? window.location.host
              });
              if (outputs.length > 0) return outputs[0];
              else throw new Error("Sign in failed, no sign in result returned by wallet");
            } catch (e3) {
              throw new WalletConnectionError(e3 instanceof Error && e3.message || "Unknown error", e3);
            } finally {
              this.#connecting = false;
            }
          });
        }
        async signMessage(message) {
          return await this.#runWithGuard(async () => {
            const account = this.#assertIsAuthorized();
            try {
              return (await this.#wallet.features[SolanaSignMessage].signMessage({
                account,
                message
              }))[0].signature;
            } catch (error2) {
              throw new WalletSignMessageError(getErrorMessage3(error2), error2);
            }
          });
        }
        async sendTransaction(transaction, connection, options2) {
          return await this.#runWithGuard(async () => {
            const account = this.#assertIsAuthorized();
            try {
              let getTargetCommitment = function() {
                let targetCommitment;
                switch (connection.commitment) {
                  case "confirmed":
                  case "finalized":
                  case "processed":
                    targetCommitment = connection.commitment;
                    break;
                  default:
                    targetCommitment = "finalized";
                }
                let targetPreflightCommitment;
                switch (options2?.preflightCommitment) {
                  case "confirmed":
                  case "finalized":
                  case "processed":
                    targetPreflightCommitment = options2.preflightCommitment;
                    break;
                  case void 0:
                    targetPreflightCommitment = targetCommitment;
                    break;
                  default:
                    targetPreflightCommitment = "finalized";
                }
                return (targetPreflightCommitment === "finalized" ? 2 : targetPreflightCommitment === "confirmed" ? 1 : 0) < (targetCommitment === "finalized" ? 2 : targetCommitment === "confirmed" ? 1 : 0) ? targetPreflightCommitment : targetCommitment;
              };
              if (SolanaSignAndSendTransaction in this.#wallet.features) {
                const chain = chainOrClusterToChainId(this.#wallet.currentAuthorization.chain);
                const [signature2] = (await this.#wallet.features[SolanaSignAndSendTransaction].signAndSendTransaction({
                  account,
                  transaction: transaction.serialize(),
                  chain,
                  options: options2 ? {
                    skipPreflight: options2.skipPreflight,
                    maxRetries: options2.maxRetries
                  } : void 0
                })).map((output2) => {
                  return fromUint8Array3(output2.signature);
                });
                return signature2;
              } else {
                const [signedTransaction] = await this.#performSignTransactions([transaction]);
                if (isVersionedTransaction2(signedTransaction)) return await connection.sendTransaction(signedTransaction);
                else {
                  const serializedTransaction = signedTransaction.serialize();
                  return await connection.sendRawTransaction(serializedTransaction, {
                    ...options2,
                    preflightCommitment: getTargetCommitment()
                  });
                }
              }
            } catch (error2) {
              throw new WalletSendTransactionError(getErrorMessage3(error2), error2);
            }
          });
        }
        async signTransaction(transaction) {
          return await this.#runWithGuard(async () => {
            const [signedTransaction] = await this.#performSignTransactions([transaction]);
            return signedTransaction;
          });
        }
        async signAllTransactions(transactions) {
          return await this.#runWithGuard(async () => {
            return await this.#performSignTransactions(transactions);
          });
        }
        #declareWalletAsInstalled() {
          if (this.#readyState !== WalletReadyState.Installed) this.emit("readyStateChange", this.#readyState = WalletReadyState.Installed);
        }
        #assertIsAuthorized() {
          if (!this.#wallet.isAuthorized || !this.#selectedAccount) throw new WalletNotConnectedError();
          return this.#selectedAccount;
        }
        async #performSignTransactions(transactions) {
          const account = this.#assertIsAuthorized();
          try {
            if (SolanaSignTransaction in this.#wallet.features) return this.#wallet.features[SolanaSignTransaction].signTransaction(...transactions.map((value) => {
              return {
                account,
                transaction: value.serialize()
              };
            })).then((outputs) => {
              return outputs.map((output2) => {
                const byteArray = output2.signedTransaction;
                const messageOffset = byteArray[0] * SIGNATURE_LENGTH_IN_BYTES3 + 1;
                if (VersionedMessage.deserializeMessageVersion(byteArray.slice(messageOffset, byteArray.length)) === "legacy") return Transaction.from(byteArray);
                else return VersionedTransaction.deserialize(byteArray);
              });
            });
            else throw new Error("Connected wallet does not support signing transactions");
          } catch (error2) {
            throw new WalletSignTransactionError(getErrorMessage3(error2), error2);
          }
        }
        async #runWithGuard(callback) {
          try {
            return await callback();
          } catch (e3) {
            this.emit("error", e3 instanceof WalletError ? e3 : new WalletError(getErrorMessage3(e3), e3));
            throw e3;
          }
        }
      };
      LocalSolanaMobileWalletAdapter = class extends BaseSolanaMobileWalletAdapter {
        constructor(config) {
          const chain = chainOrClusterToChainId(config.chain ?? config.cluster);
          super(new LocalSolanaMobileWalletAdapterWallet({
            appIdentity: config.appIdentity,
            authorizationCache: {
              set: config.authorizationResultCache.set,
              get: async () => {
                return await config.authorizationResultCache.get();
              },
              clear: config.authorizationResultCache.clear
            },
            chains: [chain],
            chainSelector: createDefaultChainSelector(),
            onWalletNotFound: async () => {
              config.onWalletNotFound(this);
            }
          }), {
            addressSelector: config.addressSelector,
            chain
          });
        }
      };
      SolanaMobileWalletAdapter = class extends LocalSolanaMobileWalletAdapter {
      };
    }
  });

  // node_modules/@solana/wallet-standard-wallet-adapter-base/lib/esm/adapter.js
  var __classPrivateFieldGet3, __classPrivateFieldSet3, _StandardWalletAdapter_instances, _StandardWalletAdapter_account, _StandardWalletAdapter_publicKey, _StandardWalletAdapter_connecting, _StandardWalletAdapter_disconnecting, _StandardWalletAdapter_off, _StandardWalletAdapter_supportedTransactionVersions, _StandardWalletAdapter_wallet, _StandardWalletAdapter_readyState, _StandardWalletAdapter_connect, _StandardWalletAdapter_connected, _StandardWalletAdapter_disconnected, _StandardWalletAdapter_reset, _StandardWalletAdapter_changed, _StandardWalletAdapter_signTransaction, _StandardWalletAdapter_signAllTransactions, _StandardWalletAdapter_signMessage, _StandardWalletAdapter_signIn, StandardWalletAdapter;
  var init_adapter2 = __esm({
    "node_modules/@solana/wallet-standard-wallet-adapter-base/lib/esm/adapter.js"() {
      init_esm4();
      init_esm2();
      init_esm6();
      init_index_browser_esm();
      init_esm3();
      init_esm9();
      init_esm8();
      __classPrivateFieldGet3 = function(receiver, state, kind, f3) {
        if (kind === "a" && !f3) throw new TypeError("Private accessor was defined without a getter");
        if (typeof state === "function" ? receiver !== state || !f3 : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
        return kind === "m" ? f3 : kind === "a" ? f3.call(receiver) : f3 ? f3.value : state.get(receiver);
      };
      __classPrivateFieldSet3 = function(receiver, state, value, kind, f3) {
        if (kind === "m") throw new TypeError("Private method is not writable");
        if (kind === "a" && !f3) throw new TypeError("Private accessor was defined without a setter");
        if (typeof state === "function" ? receiver !== state || !f3 : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
        return kind === "a" ? f3.call(receiver, value) : f3 ? f3.value = value : state.set(receiver, value), value;
      };
      StandardWalletAdapter = class extends BaseWalletAdapter {
        get name() {
          return __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").name;
        }
        get url() {
          return "https://github.com/solana-labs/wallet-standard";
        }
        get icon() {
          return __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").icon;
        }
        get readyState() {
          return __classPrivateFieldGet3(this, _StandardWalletAdapter_readyState, "f");
        }
        get publicKey() {
          return __classPrivateFieldGet3(this, _StandardWalletAdapter_publicKey, "f");
        }
        get connecting() {
          return __classPrivateFieldGet3(this, _StandardWalletAdapter_connecting, "f");
        }
        get supportedTransactionVersions() {
          return __classPrivateFieldGet3(this, _StandardWalletAdapter_supportedTransactionVersions, "f");
        }
        get wallet() {
          return __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f");
        }
        get standard() {
          return true;
        }
        constructor({ wallet }) {
          super();
          _StandardWalletAdapter_instances.add(this);
          _StandardWalletAdapter_account.set(this, void 0);
          _StandardWalletAdapter_publicKey.set(this, void 0);
          _StandardWalletAdapter_connecting.set(this, void 0);
          _StandardWalletAdapter_disconnecting.set(this, void 0);
          _StandardWalletAdapter_off.set(this, void 0);
          _StandardWalletAdapter_supportedTransactionVersions.set(this, void 0);
          _StandardWalletAdapter_wallet.set(this, void 0);
          _StandardWalletAdapter_readyState.set(this, typeof window === "undefined" || typeof document === "undefined" ? WalletReadyState.Unsupported : WalletReadyState.Installed);
          _StandardWalletAdapter_changed.set(this, (properties) => {
            if ("accounts" in properties) {
              const account = __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").accounts[0];
              if (__classPrivateFieldGet3(this, _StandardWalletAdapter_account, "f") && !__classPrivateFieldGet3(this, _StandardWalletAdapter_disconnecting, "f") && account !== __classPrivateFieldGet3(this, _StandardWalletAdapter_account, "f")) {
                if (account) {
                  __classPrivateFieldGet3(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_connected).call(this, account);
                } else {
                  this.emit("error", new WalletDisconnectedError());
                  __classPrivateFieldGet3(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_disconnected).call(this);
                }
              }
            }
            if ("features" in properties) {
              __classPrivateFieldGet3(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_reset).call(this);
            }
          });
          __classPrivateFieldSet3(this, _StandardWalletAdapter_wallet, wallet, "f");
          __classPrivateFieldSet3(this, _StandardWalletAdapter_account, null, "f");
          __classPrivateFieldSet3(this, _StandardWalletAdapter_publicKey, null, "f");
          __classPrivateFieldSet3(this, _StandardWalletAdapter_connecting, false, "f");
          __classPrivateFieldSet3(this, _StandardWalletAdapter_disconnecting, false, "f");
          __classPrivateFieldSet3(this, _StandardWalletAdapter_off, __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features[StandardEvents].on("change", __classPrivateFieldGet3(this, _StandardWalletAdapter_changed, "f")), "f");
          __classPrivateFieldGet3(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_reset).call(this);
        }
        destroy() {
          __classPrivateFieldSet3(this, _StandardWalletAdapter_account, null, "f");
          __classPrivateFieldSet3(this, _StandardWalletAdapter_publicKey, null, "f");
          __classPrivateFieldSet3(this, _StandardWalletAdapter_connecting, false, "f");
          __classPrivateFieldSet3(this, _StandardWalletAdapter_disconnecting, false, "f");
          const off = __classPrivateFieldGet3(this, _StandardWalletAdapter_off, "f");
          if (off) {
            __classPrivateFieldSet3(this, _StandardWalletAdapter_off, null, "f");
            off();
          }
        }
        async autoConnect() {
          return __classPrivateFieldGet3(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_connect).call(this, { silent: true });
        }
        async connect() {
          return __classPrivateFieldGet3(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_connect).call(this);
        }
        async disconnect() {
          if (StandardDisconnect in __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features) {
            try {
              __classPrivateFieldSet3(this, _StandardWalletAdapter_disconnecting, true, "f");
              await __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features[StandardDisconnect].disconnect();
            } catch (error2) {
              this.emit("error", new WalletDisconnectionError(error2?.message, error2));
            } finally {
              __classPrivateFieldSet3(this, _StandardWalletAdapter_disconnecting, false, "f");
            }
          }
          __classPrivateFieldGet3(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_disconnected).call(this);
        }
        async sendTransaction(transaction, connection, options2 = {}) {
          try {
            const account = __classPrivateFieldGet3(this, _StandardWalletAdapter_account, "f");
            if (!account)
              throw new WalletNotConnectedError();
            let feature;
            if (SolanaSignAndSendTransaction in __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features) {
              if (account.features.includes(SolanaSignAndSendTransaction)) {
                feature = SolanaSignAndSendTransaction;
              } else if (SolanaSignTransaction in __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features && account.features.includes(SolanaSignTransaction)) {
                feature = SolanaSignTransaction;
              } else {
                throw new WalletAccountError();
              }
            } else if (SolanaSignTransaction in __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features) {
              if (!account.features.includes(SolanaSignTransaction))
                throw new WalletAccountError();
              feature = SolanaSignTransaction;
            } else {
              throw new WalletConfigError();
            }
            const chain = getChainForEndpoint(connection.rpcEndpoint);
            if (!account.chains.includes(chain))
              throw new WalletSendTransactionError();
            try {
              const { signers, ...sendOptions } = options2;
              let serializedTransaction;
              if (isVersionedTransaction(transaction)) {
                signers?.length && transaction.sign(signers);
                serializedTransaction = transaction.serialize();
              } else {
                transaction = await this.prepareTransaction(transaction, connection, sendOptions);
                signers?.length && transaction.partialSign(...signers);
                serializedTransaction = new Uint8Array(transaction.serialize({
                  requireAllSignatures: false,
                  verifySignatures: false
                }));
              }
              if (feature === SolanaSignAndSendTransaction) {
                const [output2] = await __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features[SolanaSignAndSendTransaction].signAndSendTransaction({
                  account,
                  chain,
                  transaction: serializedTransaction,
                  options: {
                    preflightCommitment: getCommitment(sendOptions.preflightCommitment || connection.commitment),
                    skipPreflight: sendOptions.skipPreflight,
                    maxRetries: sendOptions.maxRetries,
                    minContextSlot: sendOptions.minContextSlot
                  }
                });
                return esm_default2.encode(output2.signature);
              } else {
                const [output2] = await __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features[SolanaSignTransaction].signTransaction({
                  account,
                  chain,
                  transaction: serializedTransaction,
                  options: {
                    preflightCommitment: getCommitment(sendOptions.preflightCommitment || connection.commitment),
                    minContextSlot: sendOptions.minContextSlot
                  }
                });
                return await connection.sendRawTransaction(output2.signedTransaction, {
                  ...sendOptions,
                  preflightCommitment: getCommitment(sendOptions.preflightCommitment || connection.commitment)
                });
              }
            } catch (error2) {
              if (error2 instanceof WalletError)
                throw error2;
              throw new WalletSendTransactionError(error2?.message, error2);
            }
          } catch (error2) {
            this.emit("error", error2);
            throw error2;
          }
        }
      };
      _StandardWalletAdapter_account = /* @__PURE__ */ new WeakMap(), _StandardWalletAdapter_publicKey = /* @__PURE__ */ new WeakMap(), _StandardWalletAdapter_connecting = /* @__PURE__ */ new WeakMap(), _StandardWalletAdapter_disconnecting = /* @__PURE__ */ new WeakMap(), _StandardWalletAdapter_off = /* @__PURE__ */ new WeakMap(), _StandardWalletAdapter_supportedTransactionVersions = /* @__PURE__ */ new WeakMap(), _StandardWalletAdapter_wallet = /* @__PURE__ */ new WeakMap(), _StandardWalletAdapter_readyState = /* @__PURE__ */ new WeakMap(), _StandardWalletAdapter_changed = /* @__PURE__ */ new WeakMap(), _StandardWalletAdapter_instances = /* @__PURE__ */ new WeakSet(), _StandardWalletAdapter_connect = async function _StandardWalletAdapter_connect2(input) {
        try {
          if (this.connected || this.connecting)
            return;
          if (__classPrivateFieldGet3(this, _StandardWalletAdapter_readyState, "f") !== WalletReadyState.Installed)
            throw new WalletNotReadyError();
          __classPrivateFieldSet3(this, _StandardWalletAdapter_connecting, true, "f");
          if (!__classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").accounts.length) {
            try {
              await __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features[StandardConnect].connect(input);
            } catch (error2) {
              throw new WalletConnectionError(error2?.message, error2);
            }
          }
          const account = __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").accounts[0];
          if (!account)
            throw new WalletAccountError();
          __classPrivateFieldGet3(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_connected).call(this, account);
        } catch (error2) {
          this.emit("error", error2);
          throw error2;
        } finally {
          __classPrivateFieldSet3(this, _StandardWalletAdapter_connecting, false, "f");
        }
      }, _StandardWalletAdapter_connected = function _StandardWalletAdapter_connected2(account) {
        let publicKey2;
        try {
          publicKey2 = new PublicKey(account.address);
        } catch (error2) {
          throw new WalletPublicKeyError(error2?.message, error2);
        }
        __classPrivateFieldSet3(this, _StandardWalletAdapter_account, account, "f");
        __classPrivateFieldSet3(this, _StandardWalletAdapter_publicKey, publicKey2, "f");
        __classPrivateFieldGet3(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_reset).call(this);
        this.emit("connect", publicKey2);
      }, _StandardWalletAdapter_disconnected = function _StandardWalletAdapter_disconnected2() {
        __classPrivateFieldSet3(this, _StandardWalletAdapter_account, null, "f");
        __classPrivateFieldSet3(this, _StandardWalletAdapter_publicKey, null, "f");
        __classPrivateFieldGet3(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_reset).call(this);
        this.emit("disconnect");
      }, _StandardWalletAdapter_reset = function _StandardWalletAdapter_reset2() {
        const supportedTransactionVersions = SolanaSignAndSendTransaction in __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features ? __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features[SolanaSignAndSendTransaction].supportedTransactionVersions : __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features[SolanaSignTransaction].supportedTransactionVersions;
        __classPrivateFieldSet3(this, _StandardWalletAdapter_supportedTransactionVersions, arraysEqual(supportedTransactionVersions, ["legacy"]) ? null : new Set(supportedTransactionVersions), "f");
        if (SolanaSignTransaction in __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features && __classPrivateFieldGet3(this, _StandardWalletAdapter_account, "f")?.features.includes(SolanaSignTransaction)) {
          this.signTransaction = __classPrivateFieldGet3(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_signTransaction);
          this.signAllTransactions = __classPrivateFieldGet3(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_signAllTransactions);
        } else {
          delete this.signTransaction;
          delete this.signAllTransactions;
        }
        if (SolanaSignMessage in __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features && __classPrivateFieldGet3(this, _StandardWalletAdapter_account, "f")?.features.includes(SolanaSignMessage)) {
          this.signMessage = __classPrivateFieldGet3(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_signMessage);
        } else {
          delete this.signMessage;
        }
        if (SolanaSignIn in __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features) {
          this.signIn = __classPrivateFieldGet3(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_signIn);
        } else {
          delete this.signIn;
        }
      }, _StandardWalletAdapter_signTransaction = async function _StandardWalletAdapter_signTransaction2(transaction) {
        try {
          const account = __classPrivateFieldGet3(this, _StandardWalletAdapter_account, "f");
          if (!account)
            throw new WalletNotConnectedError();
          if (!(SolanaSignTransaction in __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features))
            throw new WalletConfigError();
          if (!account.features.includes(SolanaSignTransaction))
            throw new WalletAccountError();
          try {
            const signedTransactions = await __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features[SolanaSignTransaction].signTransaction({
              account,
              transaction: isVersionedTransaction(transaction) ? transaction.serialize() : new Uint8Array(transaction.serialize({
                requireAllSignatures: false,
                verifySignatures: false
              }))
            });
            const serializedTransaction = signedTransactions[0].signedTransaction;
            return isVersionedTransaction(transaction) ? VersionedTransaction.deserialize(serializedTransaction) : Transaction.from(serializedTransaction);
          } catch (error2) {
            if (error2 instanceof WalletError)
              throw error2;
            throw new WalletSignTransactionError(error2?.message, error2);
          }
        } catch (error2) {
          this.emit("error", error2);
          throw error2;
        }
      }, _StandardWalletAdapter_signAllTransactions = async function _StandardWalletAdapter_signAllTransactions2(transactions) {
        try {
          const account = __classPrivateFieldGet3(this, _StandardWalletAdapter_account, "f");
          if (!account)
            throw new WalletNotConnectedError();
          if (!(SolanaSignTransaction in __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features))
            throw new WalletConfigError();
          if (!account.features.includes(SolanaSignTransaction))
            throw new WalletAccountError();
          try {
            const signedTransactions = await __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features[SolanaSignTransaction].signTransaction(...transactions.map((transaction) => ({
              account,
              transaction: isVersionedTransaction(transaction) ? transaction.serialize() : new Uint8Array(transaction.serialize({
                requireAllSignatures: false,
                verifySignatures: false
              }))
            })));
            return transactions.map((transaction, index3) => {
              const signedTransaction = signedTransactions[index3].signedTransaction;
              return isVersionedTransaction(transaction) ? VersionedTransaction.deserialize(signedTransaction) : Transaction.from(signedTransaction);
            });
          } catch (error2) {
            throw new WalletSignTransactionError(error2?.message, error2);
          }
        } catch (error2) {
          this.emit("error", error2);
          throw error2;
        }
      }, _StandardWalletAdapter_signMessage = async function _StandardWalletAdapter_signMessage2(message) {
        try {
          const account = __classPrivateFieldGet3(this, _StandardWalletAdapter_account, "f");
          if (!account)
            throw new WalletNotConnectedError();
          if (!(SolanaSignMessage in __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features))
            throw new WalletConfigError();
          if (!account.features.includes(SolanaSignMessage))
            throw new WalletAccountError();
          try {
            const signedMessages = await __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features[SolanaSignMessage].signMessage({
              account,
              message
            });
            return signedMessages[0].signature;
          } catch (error2) {
            throw new WalletSignMessageError(error2?.message, error2);
          }
        } catch (error2) {
          this.emit("error", error2);
          throw error2;
        }
      }, _StandardWalletAdapter_signIn = async function _StandardWalletAdapter_signIn2(input = {}) {
        try {
          if (!(SolanaSignIn in __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features))
            throw new WalletConfigError();
          let output2;
          try {
            [output2] = await __classPrivateFieldGet3(this, _StandardWalletAdapter_wallet, "f").features[SolanaSignIn].signIn(input);
          } catch (error2) {
            throw new WalletSignInError(error2?.message, error2);
          }
          if (!output2)
            throw new WalletSignInError();
          __classPrivateFieldGet3(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_connected).call(this, output2.account);
          return output2;
        } catch (error2) {
          this.emit("error", error2);
          throw error2;
        }
      };
    }
  });

  // node_modules/@solana/wallet-standard-wallet-adapter-base/lib/esm/types.js
  var isWalletAdapterCompatibleWallet;
  var init_types3 = __esm({
    "node_modules/@solana/wallet-standard-wallet-adapter-base/lib/esm/types.js"() {
      init_esm4();
      isWalletAdapterCompatibleWallet = isWalletAdapterCompatibleStandardWallet;
    }
  });

  // node_modules/@solana/wallet-standard-wallet-adapter-base/lib/esm/wallet.js
  var __classPrivateFieldSet4, __classPrivateFieldGet4, _SolanaWalletAdapterWalletAccount_adapter, _SolanaWalletAdapterWallet_instances, _SolanaWalletAdapterWallet_listeners, _SolanaWalletAdapterWallet_adapter, _SolanaWalletAdapterWallet_supportedTransactionVersions, _SolanaWalletAdapterWallet_chain, _SolanaWalletAdapterWallet_endpoint, _SolanaWalletAdapterWallet_account, _SolanaWalletAdapterWallet_connected, _SolanaWalletAdapterWallet_disconnected, _SolanaWalletAdapterWallet_connect, _SolanaWalletAdapterWallet_disconnect, _SolanaWalletAdapterWallet_on, _SolanaWalletAdapterWallet_emit, _SolanaWalletAdapterWallet_off, _SolanaWalletAdapterWallet_deserializeTransaction, _SolanaWalletAdapterWallet_signAndSendTransaction, _SolanaWalletAdapterWallet_signTransaction, _SolanaWalletAdapterWallet_signMessage, _SolanaWalletAdapterWallet_signIn, SolanaWalletAdapterWalletAccount;
  var init_wallet2 = __esm({
    "node_modules/@solana/wallet-standard-wallet-adapter-base/lib/esm/wallet.js"() {
      init_esm2();
      init_index_browser_esm();
      init_esm9();
      init_esm8();
      __classPrivateFieldSet4 = function(receiver, state, value, kind, f3) {
        if (kind === "m") throw new TypeError("Private method is not writable");
        if (kind === "a" && !f3) throw new TypeError("Private accessor was defined without a setter");
        if (typeof state === "function" ? receiver !== state || !f3 : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
        return kind === "a" ? f3.call(receiver, value) : f3 ? f3.value = value : state.set(receiver, value), value;
      };
      __classPrivateFieldGet4 = function(receiver, state, kind, f3) {
        if (kind === "a" && !f3) throw new TypeError("Private accessor was defined without a getter");
        if (typeof state === "function" ? receiver !== state || !f3 : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
        return kind === "m" ? f3 : kind === "a" ? f3.call(receiver) : f3 ? f3.value : state.get(receiver);
      };
      SolanaWalletAdapterWalletAccount = class _SolanaWalletAdapterWalletAccount extends ReadonlyWalletAccount {
        constructor({ adapter, address, publicKey: publicKey2, chains }) {
          const features = [SolanaSignAndSendTransaction];
          if ("signTransaction" in adapter) {
            features.push(SolanaSignTransaction);
          }
          if ("signMessage" in adapter) {
            features.push(SolanaSignMessage);
          }
          if ("signIn" in adapter) {
            features.push(SolanaSignIn);
          }
          super({ address, publicKey: publicKey2, chains, features });
          _SolanaWalletAdapterWalletAccount_adapter.set(this, void 0);
          if (new.target === _SolanaWalletAdapterWalletAccount) {
            Object.freeze(this);
          }
          __classPrivateFieldSet4(this, _SolanaWalletAdapterWalletAccount_adapter, adapter, "f");
        }
      };
      _SolanaWalletAdapterWalletAccount_adapter = /* @__PURE__ */ new WeakMap();
      _SolanaWalletAdapterWallet_listeners = /* @__PURE__ */ new WeakMap(), _SolanaWalletAdapterWallet_adapter = /* @__PURE__ */ new WeakMap(), _SolanaWalletAdapterWallet_supportedTransactionVersions = /* @__PURE__ */ new WeakMap(), _SolanaWalletAdapterWallet_chain = /* @__PURE__ */ new WeakMap(), _SolanaWalletAdapterWallet_endpoint = /* @__PURE__ */ new WeakMap(), _SolanaWalletAdapterWallet_account = /* @__PURE__ */ new WeakMap(), _SolanaWalletAdapterWallet_connect = /* @__PURE__ */ new WeakMap(), _SolanaWalletAdapterWallet_disconnect = /* @__PURE__ */ new WeakMap(), _SolanaWalletAdapterWallet_on = /* @__PURE__ */ new WeakMap(), _SolanaWalletAdapterWallet_signAndSendTransaction = /* @__PURE__ */ new WeakMap(), _SolanaWalletAdapterWallet_signTransaction = /* @__PURE__ */ new WeakMap(), _SolanaWalletAdapterWallet_signMessage = /* @__PURE__ */ new WeakMap(), _SolanaWalletAdapterWallet_signIn = /* @__PURE__ */ new WeakMap(), _SolanaWalletAdapterWallet_instances = /* @__PURE__ */ new WeakSet(), _SolanaWalletAdapterWallet_connected = function _SolanaWalletAdapterWallet_connected2() {
        const publicKey2 = __classPrivateFieldGet4(this, _SolanaWalletAdapterWallet_adapter, "f").publicKey?.toBytes();
        if (publicKey2) {
          const address = __classPrivateFieldGet4(this, _SolanaWalletAdapterWallet_adapter, "f").publicKey.toBase58();
          const account = __classPrivateFieldGet4(this, _SolanaWalletAdapterWallet_account, "f");
          if (!account || account.address !== address || account.chains.includes(__classPrivateFieldGet4(this, _SolanaWalletAdapterWallet_chain, "f")) || !bytesEqual(account.publicKey, publicKey2)) {
            __classPrivateFieldSet4(this, _SolanaWalletAdapterWallet_account, new SolanaWalletAdapterWalletAccount({
              adapter: __classPrivateFieldGet4(this, _SolanaWalletAdapterWallet_adapter, "f"),
              address,
              publicKey: publicKey2,
              chains: [__classPrivateFieldGet4(this, _SolanaWalletAdapterWallet_chain, "f")]
            }), "f");
            __classPrivateFieldGet4(this, _SolanaWalletAdapterWallet_instances, "m", _SolanaWalletAdapterWallet_emit).call(this, "change", { accounts: this.accounts });
          }
        }
      }, _SolanaWalletAdapterWallet_disconnected = function _SolanaWalletAdapterWallet_disconnected2() {
        if (__classPrivateFieldGet4(this, _SolanaWalletAdapterWallet_account, "f")) {
          __classPrivateFieldSet4(this, _SolanaWalletAdapterWallet_account, void 0, "f");
          __classPrivateFieldGet4(this, _SolanaWalletAdapterWallet_instances, "m", _SolanaWalletAdapterWallet_emit).call(this, "change", { accounts: this.accounts });
        }
      }, _SolanaWalletAdapterWallet_emit = function _SolanaWalletAdapterWallet_emit2(event, ...args) {
        __classPrivateFieldGet4(this, _SolanaWalletAdapterWallet_listeners, "f")[event]?.forEach((listener) => listener.apply(null, args));
      }, _SolanaWalletAdapterWallet_off = function _SolanaWalletAdapterWallet_off2(event, listener) {
        __classPrivateFieldGet4(this, _SolanaWalletAdapterWallet_listeners, "f")[event] = __classPrivateFieldGet4(this, _SolanaWalletAdapterWallet_listeners, "f")[event]?.filter((existingListener) => listener !== existingListener);
      }, _SolanaWalletAdapterWallet_deserializeTransaction = function _SolanaWalletAdapterWallet_deserializeTransaction2(serializedTransaction) {
        const transaction = VersionedTransaction.deserialize(serializedTransaction);
        if (!__classPrivateFieldGet4(this, _SolanaWalletAdapterWallet_supportedTransactionVersions, "f").includes(transaction.version))
          throw new Error("unsupported transaction version");
        if (transaction.version === "legacy" && arraysEqual(__classPrivateFieldGet4(this, _SolanaWalletAdapterWallet_supportedTransactionVersions, "f"), ["legacy"]))
          return Transaction.from(serializedTransaction);
        return transaction;
      };
    }
  });

  // node_modules/@solana/wallet-standard-wallet-adapter-base/lib/esm/index.js
  var init_esm14 = __esm({
    "node_modules/@solana/wallet-standard-wallet-adapter-base/lib/esm/index.js"() {
      init_adapter2();
      init_types3();
      init_wallet2();
    }
  });

  // node_modules/@solana/wallet-standard-wallet-adapter-react/lib/esm/useStandardWalletAdapters.js
  function useStandardWalletAdapters(adapters) {
    const warnings2 = useConstant(() => /* @__PURE__ */ new Set());
    const { get: get3, on: on3 } = useConstant(() => DEPRECATED_getWallets());
    const [standardAdapters, setStandardAdapters] = (0, import_react169.useState)(() => wrapWalletsWithAdapters(get3()));
    (0, import_react169.useEffect)(() => {
      const listeners3 = [
        on3("register", (...wallets3) => setStandardAdapters((standardAdapters2) => [...standardAdapters2, ...wrapWalletsWithAdapters(wallets3)])),
        on3("unregister", (...wallets3) => setStandardAdapters((standardAdapters2) => standardAdapters2.filter((standardAdapter) => wallets3.some((wallet) => wallet === standardAdapter.wallet))))
      ];
      return () => listeners3.forEach((off) => off());
    }, [on3]);
    const prevStandardAdapters = usePrevious2(standardAdapters);
    (0, import_react169.useEffect)(() => {
      if (!prevStandardAdapters)
        return;
      const currentAdapters = new Set(standardAdapters);
      const removedAdapters = new Set(prevStandardAdapters.filter((previousAdapter) => !currentAdapters.has(previousAdapter)));
      removedAdapters.forEach((adapter) => adapter.destroy());
    }, [prevStandardAdapters, standardAdapters]);
    (0, import_react169.useEffect)(() => () => standardAdapters.forEach((adapter) => adapter.destroy()), []);
    return (0, import_react169.useMemo)(() => [
      ...standardAdapters,
      ...adapters.filter(({ name }) => {
        if (standardAdapters.some((standardAdapter) => standardAdapter.name === name)) {
          if (!warnings2.has(name)) {
            warnings2.add(name);
            console.warn(`${name} was registered as a Standard Wallet. The Wallet Adapter for ${name} can be removed from your app.`);
          }
          return false;
        }
        return true;
      })
    ], [standardAdapters, adapters, warnings2]);
  }
  function useConstant(fn) {
    const ref = (0, import_react169.useRef)(void 0);
    if (ref.current === void 0) {
      ref.current = { value: fn() };
    }
    return ref.current.value;
  }
  function usePrevious2(state) {
    const ref = (0, import_react169.useRef)(void 0);
    (0, import_react169.useEffect)(() => {
      ref.current = state;
    });
    return ref.current;
  }
  function wrapWalletsWithAdapters(wallets3) {
    return wallets3.filter(isWalletAdapterCompatibleWallet).map((wallet) => new StandardWalletAdapter({ wallet }));
  }
  var import_react169;
  var init_useStandardWalletAdapters = __esm({
    "node_modules/@solana/wallet-standard-wallet-adapter-react/lib/esm/useStandardWalletAdapters.js"() {
      init_esm14();
      init_esm10();
      import_react169 = __toESM(require_react(), 1);
    }
  });

  // node_modules/@solana/wallet-standard-wallet-adapter-react/lib/esm/index.js
  var init_esm15 = __esm({
    "node_modules/@solana/wallet-standard-wallet-adapter-react/lib/esm/index.js"() {
      init_useStandardWalletAdapters();
    }
  });

  // node_modules/@solana/wallet-adapter-react/lib/esm/getEnvironment.js
  function isWebView(userAgentString) {
    return /(WebView|Version\/.+(Chrome)\/(\d+)\.(\d+)\.(\d+)\.(\d+)|; wv\).+(Chrome)\/(\d+)\.(\d+)\.(\d+)\.(\d+))/i.test(userAgentString);
  }
  function getEnvironment({ adapters, userAgentString }) {
    if (adapters.some((adapter) => adapter.name !== SolanaMobileWalletAdapterWalletName2 && adapter.readyState === WalletReadyState.Installed)) {
      return Environment.DESKTOP_WEB;
    }
    if (userAgentString && // Step 1: Check whether we're on a platform that supports MWA at all.
    /android/i.test(userAgentString) && // Step 2: Determine that we are *not* running in a WebView.
    !isWebView(userAgentString)) {
      return Environment.MOBILE_WEB;
    } else {
      return Environment.DESKTOP_WEB;
    }
  }
  var Environment;
  var init_getEnvironment = __esm({
    "node_modules/@solana/wallet-adapter-react/lib/esm/getEnvironment.js"() {
      init_index_browser9();
      init_esm4();
      (function(Environment2) {
        Environment2[Environment2["DESKTOP_WEB"] = 0] = "DESKTOP_WEB";
        Environment2[Environment2["MOBILE_WEB"] = 1] = "MOBILE_WEB";
      })(Environment || (Environment = {}));
    }
  });

  // node_modules/@solana/wallet-adapter-react/lib/esm/getInferredClusterFromEndpoint.js
  function getInferredClusterFromEndpoint(endpoint) {
    if (!endpoint) {
      return "mainnet-beta";
    }
    if (/devnet/i.test(endpoint)) {
      return "devnet";
    } else if (/testnet/i.test(endpoint)) {
      return "testnet";
    } else {
      return "mainnet-beta";
    }
  }
  var init_getInferredClusterFromEndpoint = __esm({
    "node_modules/@solana/wallet-adapter-react/lib/esm/getInferredClusterFromEndpoint.js"() {
    }
  });

  // node_modules/@solana/wallet-adapter-react/lib/esm/WalletProviderBase.js
  function WalletProviderBase({ children, wallets: adapters, adapter, isUnloadingRef, onAutoConnectRequest, onConnectError, onError, onSelectWallet }) {
    const isConnectingRef = (0, import_react170.useRef)(false);
    const [connecting, setConnecting] = (0, import_react170.useState)(false);
    const isDisconnectingRef = (0, import_react170.useRef)(false);
    const [disconnecting, setDisconnecting] = (0, import_react170.useState)(false);
    const [publicKey2, setPublicKey] = (0, import_react170.useState)(() => adapter?.publicKey ?? null);
    const [connected, setConnected] = (0, import_react170.useState)(() => adapter?.connected ?? false);
    const onErrorRef = (0, import_react170.useRef)(onError);
    (0, import_react170.useEffect)(() => {
      onErrorRef.current = onError;
      return () => {
        onErrorRef.current = void 0;
      };
    }, [onError]);
    const handleErrorRef = (0, import_react170.useRef)((error2, adapter2) => {
      if (!isUnloadingRef.current) {
        if (onErrorRef.current) {
          onErrorRef.current(error2, adapter2);
        } else {
          console.error(error2, adapter2);
          if (error2 instanceof WalletNotReadyError && typeof window !== "undefined" && adapter2) {
            window.open(adapter2.url, "_blank");
          }
        }
      }
      return error2;
    });
    const [wallets3, setWallets] = (0, import_react170.useState)(() => adapters.map((adapter2) => ({
      adapter: adapter2,
      readyState: adapter2.readyState
    })).filter(({ readyState }) => readyState !== WalletReadyState.Unsupported));
    (0, import_react170.useEffect)(() => {
      setWallets((wallets4) => adapters.map((adapter2, index3) => {
        const wallet2 = wallets4[index3];
        return wallet2 && wallet2.adapter === adapter2 && wallet2.readyState === adapter2.readyState ? wallet2 : {
          adapter: adapter2,
          readyState: adapter2.readyState
        };
      }).filter(({ readyState }) => readyState !== WalletReadyState.Unsupported));
      function handleReadyStateChange(readyState) {
        setWallets((prevWallets) => {
          const index3 = prevWallets.findIndex(({ adapter: adapter3 }) => adapter3 === this);
          if (index3 === -1)
            return prevWallets;
          const { adapter: adapter2 } = prevWallets[index3];
          return [
            ...prevWallets.slice(0, index3),
            { adapter: adapter2, readyState },
            ...prevWallets.slice(index3 + 1)
          ].filter(({ readyState: readyState2 }) => readyState2 !== WalletReadyState.Unsupported);
        });
      }
      adapters.forEach((adapter2) => adapter2.on("readyStateChange", handleReadyStateChange, adapter2));
      return () => {
        adapters.forEach((adapter2) => adapter2.off("readyStateChange", handleReadyStateChange, adapter2));
      };
    }, [adapter, adapters]);
    const wallet = (0, import_react170.useMemo)(() => wallets3.find((wallet2) => wallet2.adapter === adapter) ?? null, [adapter, wallets3]);
    (0, import_react170.useEffect)(() => {
      if (!adapter)
        return;
      const handleConnect2 = (publicKey3) => {
        setPublicKey(publicKey3);
        isConnectingRef.current = false;
        setConnecting(false);
        setConnected(true);
        isDisconnectingRef.current = false;
        setDisconnecting(false);
      };
      const handleDisconnect2 = () => {
        if (isUnloadingRef.current)
          return;
        setPublicKey(null);
        isConnectingRef.current = false;
        setConnecting(false);
        setConnected(false);
        isDisconnectingRef.current = false;
        setDisconnecting(false);
      };
      const handleError2 = (error2) => {
        handleErrorRef.current(error2, adapter);
      };
      adapter.on("connect", handleConnect2);
      adapter.on("disconnect", handleDisconnect2);
      adapter.on("error", handleError2);
      return () => {
        adapter.off("connect", handleConnect2);
        adapter.off("disconnect", handleDisconnect2);
        adapter.off("error", handleError2);
        handleDisconnect2();
      };
    }, [adapter, isUnloadingRef]);
    const didAttemptAutoConnectRef = (0, import_react170.useRef)(false);
    (0, import_react170.useEffect)(() => {
      return () => {
        didAttemptAutoConnectRef.current = false;
      };
    }, [adapter]);
    (0, import_react170.useEffect)(() => {
      if (didAttemptAutoConnectRef.current || isConnectingRef.current || connected || !onAutoConnectRequest || !(wallet?.readyState === WalletReadyState.Installed || wallet?.readyState === WalletReadyState.Loadable))
        return;
      isConnectingRef.current = true;
      setConnecting(true);
      didAttemptAutoConnectRef.current = true;
      (async function() {
        try {
          await onAutoConnectRequest();
        } catch {
          onConnectError();
        } finally {
          setConnecting(false);
          isConnectingRef.current = false;
        }
      })();
    }, [connected, onAutoConnectRequest, onConnectError, wallet]);
    const sendTransaction = (0, import_react170.useCallback)(async (transaction, connection, options2) => {
      if (!adapter)
        throw handleErrorRef.current(new WalletNotSelectedError());
      if (!connected)
        throw handleErrorRef.current(new WalletNotConnectedError(), adapter);
      return await adapter.sendTransaction(transaction, connection, options2);
    }, [adapter, connected]);
    const signTransaction = (0, import_react170.useMemo)(() => adapter && "signTransaction" in adapter ? async (transaction) => {
      if (!connected)
        throw handleErrorRef.current(new WalletNotConnectedError(), adapter);
      return await adapter.signTransaction(transaction);
    } : void 0, [adapter, connected]);
    const signAllTransactions = (0, import_react170.useMemo)(() => adapter && "signAllTransactions" in adapter ? async (transactions) => {
      if (!connected)
        throw handleErrorRef.current(new WalletNotConnectedError(), adapter);
      return await adapter.signAllTransactions(transactions);
    } : void 0, [adapter, connected]);
    const signMessage = (0, import_react170.useMemo)(() => adapter && "signMessage" in adapter ? async (message) => {
      if (!connected)
        throw handleErrorRef.current(new WalletNotConnectedError(), adapter);
      return await adapter.signMessage(message);
    } : void 0, [adapter, connected]);
    const signIn = (0, import_react170.useMemo)(() => adapter && "signIn" in adapter ? async (input) => {
      return await adapter.signIn(input);
    } : void 0, [adapter]);
    const handleConnect = (0, import_react170.useCallback)(async () => {
      if (isConnectingRef.current || isDisconnectingRef.current || wallet?.adapter.connected)
        return;
      if (!wallet)
        throw handleErrorRef.current(new WalletNotSelectedError());
      const { adapter: adapter2, readyState } = wallet;
      if (!(readyState === WalletReadyState.Installed || readyState === WalletReadyState.Loadable))
        throw handleErrorRef.current(new WalletNotReadyError(), adapter2);
      isConnectingRef.current = true;
      setConnecting(true);
      try {
        await adapter2.connect();
      } catch (e3) {
        onConnectError();
        throw e3;
      } finally {
        setConnecting(false);
        isConnectingRef.current = false;
      }
    }, [onConnectError, wallet]);
    const handleDisconnect = (0, import_react170.useCallback)(async () => {
      if (isDisconnectingRef.current)
        return;
      if (!adapter)
        return;
      isDisconnectingRef.current = true;
      setDisconnecting(true);
      try {
        await adapter.disconnect();
      } finally {
        setDisconnecting(false);
        isDisconnectingRef.current = false;
      }
    }, [adapter]);
    return import_react170.default.createElement(WalletContext.Provider, { value: {
      autoConnect: !!onAutoConnectRequest,
      wallets: wallets3,
      wallet,
      publicKey: publicKey2,
      connected,
      connecting,
      disconnecting,
      select: onSelectWallet,
      connect: handleConnect,
      disconnect: handleDisconnect,
      sendTransaction,
      signTransaction,
      signAllTransactions,
      signMessage,
      signIn
    } }, children);
  }
  var import_react170;
  var init_WalletProviderBase = __esm({
    "node_modules/@solana/wallet-adapter-react/lib/esm/WalletProviderBase.js"() {
      init_esm4();
      import_react170 = __toESM(require_react(), 1);
      init_errors3();
      init_useWallet();
    }
  });

  // node_modules/@solana/wallet-adapter-react/lib/esm/WalletProvider.js
  function getUserAgent2() {
    if (_userAgent === void 0) {
      _userAgent = globalThis.navigator?.userAgent ?? null;
    }
    return _userAgent;
  }
  function getIsMobile(adapters) {
    const userAgentString = getUserAgent2();
    return getEnvironment({ adapters, userAgentString }) === Environment.MOBILE_WEB;
  }
  function getUriForAppIdentity() {
    const location = globalThis.location;
    if (!location)
      return;
    return `${location.protocol}//${location.host}`;
  }
  function WalletProvider({ children, wallets: adapters, autoConnect, localStorageKey = "walletName", onError }) {
    const { connection } = useConnection();
    const adaptersWithStandardAdapters = useStandardWalletAdapters(adapters);
    const mobileWalletAdapter = (0, import_react171.useMemo)(() => {
      if (!getIsMobile(adaptersWithStandardAdapters)) {
        return null;
      }
      const existingMobileWalletAdapter = adaptersWithStandardAdapters.find((adapter2) => adapter2.name === SolanaMobileWalletAdapterWalletName2);
      if (existingMobileWalletAdapter) {
        return existingMobileWalletAdapter;
      }
      return new SolanaMobileWalletAdapter({
        addressSelector: createDefaultAddressSelector(),
        appIdentity: {
          uri: getUriForAppIdentity()
        },
        authorizationResultCache: createDefaultAuthorizationResultCache(),
        cluster: getInferredClusterFromEndpoint(connection?.rpcEndpoint),
        onWalletNotFound: createDefaultWalletNotFoundHandler()
      });
    }, [adaptersWithStandardAdapters, connection?.rpcEndpoint]);
    const adaptersWithMobileWalletAdapter = (0, import_react171.useMemo)(() => {
      if (mobileWalletAdapter == null || adaptersWithStandardAdapters.indexOf(mobileWalletAdapter) !== -1) {
        return adaptersWithStandardAdapters;
      }
      return [mobileWalletAdapter, ...adaptersWithStandardAdapters];
    }, [adaptersWithStandardAdapters, mobileWalletAdapter]);
    const [walletName, setWalletName] = useLocalStorage(localStorageKey, null);
    const adapter = (0, import_react171.useMemo)(() => adaptersWithMobileWalletAdapter.find((a2) => a2.name === walletName) ?? null, [adaptersWithMobileWalletAdapter, walletName]);
    const changeWallet = (0, import_react171.useCallback)((nextWalletName) => {
      if (walletName === nextWalletName)
        return;
      if (adapter && // Selecting a wallet other than the mobile wallet adapter is not
      // sufficient reason to call `disconnect` on the mobile wallet adapter.
      // Calling `disconnect` on the mobile wallet adapter causes the entire
      // authorization store to be wiped.
      adapter.name !== SolanaMobileWalletAdapterWalletName2) {
        adapter.disconnect();
      }
      setWalletName(nextWalletName);
    }, [adapter, setWalletName, walletName]);
    (0, import_react171.useEffect)(() => {
      if (!adapter)
        return;
      function handleDisconnect() {
        if (isUnloadingRef.current)
          return;
        setWalletName(null);
      }
      adapter.on("disconnect", handleDisconnect);
      return () => {
        adapter.off("disconnect", handleDisconnect);
      };
    }, [adapter, adaptersWithStandardAdapters, setWalletName, walletName]);
    const hasUserSelectedAWallet = (0, import_react171.useRef)(false);
    const handleAutoConnectRequest = (0, import_react171.useMemo)(() => {
      if (!autoConnect || !adapter)
        return;
      return async () => {
        if (autoConnect === true || await autoConnect(adapter)) {
          if (hasUserSelectedAWallet.current) {
            await adapter.connect();
          } else {
            await adapter.autoConnect();
          }
        }
      };
    }, [autoConnect, adapter]);
    const isUnloadingRef = (0, import_react171.useRef)(false);
    (0, import_react171.useEffect)(() => {
      if (walletName === SolanaMobileWalletAdapterWalletName2 && getIsMobile(adaptersWithStandardAdapters)) {
        isUnloadingRef.current = false;
        return;
      }
      function handleBeforeUnload() {
        isUnloadingRef.current = true;
      }
      window.addEventListener("beforeunload", handleBeforeUnload);
      return () => {
        window.removeEventListener("beforeunload", handleBeforeUnload);
      };
    }, [adaptersWithStandardAdapters, walletName]);
    const handleConnectError = (0, import_react171.useCallback)(() => {
      if (adapter) {
        changeWallet(null);
      }
    }, [adapter, changeWallet]);
    const selectWallet = (0, import_react171.useCallback)((walletName2) => {
      hasUserSelectedAWallet.current = true;
      changeWallet(walletName2);
    }, [changeWallet]);
    return import_react171.default.createElement(WalletProviderBase, { wallets: adaptersWithMobileWalletAdapter, adapter, isUnloadingRef, onAutoConnectRequest: handleAutoConnectRequest, onConnectError: handleConnectError, onError, onSelectWallet: selectWallet }, children);
  }
  var import_react171, _userAgent;
  var init_WalletProvider = __esm({
    "node_modules/@solana/wallet-adapter-react/lib/esm/WalletProvider.js"() {
      init_index_browser9();
      init_esm15();
      import_react171 = __toESM(require_react(), 1);
      init_getEnvironment();
      init_getInferredClusterFromEndpoint();
      init_useConnection();
      init_useLocalStorage();
      init_WalletProviderBase();
    }
  });

  // node_modules/@solana/wallet-adapter-react/lib/esm/index.js
  var init_esm16 = __esm({
    "node_modules/@solana/wallet-adapter-react/lib/esm/index.js"() {
      init_ConnectionProvider();
      init_errors3();
      init_useAnchorWallet();
      init_useConnection();
      init_useLocalStorage();
      init_useWallet();
      init_WalletProvider();
    }
  });

  // node_modules/@solana/wallet-standard-core/lib/esm/index.js
  var init_esm17 = __esm({
    "node_modules/@solana/wallet-standard-core/lib/esm/index.js"() {
      init_esm5();
      init_esm2();
      init_esm6();
    }
  });

  // node_modules/@solana/wallet-standard-wallet-adapter/lib/esm/index.js
  var init_esm18 = __esm({
    "node_modules/@solana/wallet-standard-wallet-adapter/lib/esm/index.js"() {
      init_esm14();
      init_esm15();
    }
  });

  // node_modules/@solana/wallet-standard/lib/esm/index.js
  var init_esm19 = __esm({
    "node_modules/@solana/wallet-standard/lib/esm/index.js"() {
      init_esm17();
      init_esm18();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Web3SolanaWalletButtons.js
  var Web3SolanaWalletButtons_exports = {};
  __export(Web3SolanaWalletButtons_exports, {
    Web3SolanaWalletButtons: () => Web3SolanaWalletButtons
  });
  var import_react172, SOCIAL_BUTTON_BLOCK_THRESHOLD, SOCIAL_BUTTON_PRE_TEXT_THRESHOLD, MAX_STRATEGIES_PER_ROW, Web3SolanaWalletButtonsInner, WalletButtonIcon, WalletButtonBlock, Web3SolanaWalletButtons;
  var init_Web3SolanaWalletButtons = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Web3SolanaWalletButtons.js"() {
      init_localizationKeys();
      init_makeLocalizable();
      init_breakpoints();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_sleep();
      init_utils6();
      init_LinkRenderer();
      init_WalletInitialIcon();
      import_react172 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      init_esm4();
      init_esm16();
      init_esm19();
      SOCIAL_BUTTON_BLOCK_THRESHOLD = 2;
      SOCIAL_BUTTON_PRE_TEXT_THRESHOLD = 1;
      MAX_STRATEGIES_PER_ROW = 5;
      Web3SolanaWalletButtonsInner = ({ web3AuthCallback }) => {
        const card = useCardState();
        const { wallets: wallets3 } = useWallet();
        const { t: t2 } = useLocalizations();
        const installedWallets = import_react172.default.useMemo(() => wallets3.filter((w) => {
          return w.readyState === WalletReadyState.Installed;
        }).map((wallet) => {
          return {
            name: wallet.adapter.name,
            icon: wallet.adapter.icon
          };
        }), [wallets3]);
        const startWeb3AuthFlow = (walletName) => async () => {
          card.setLoading(walletName);
          try {
            await web3AuthCallback({ walletName });
          } catch {
            await sleep(1e3);
          } finally {
            card.setIdle();
          }
        };
        const { strategyRows } = distributeStrategiesIntoRows(installedWallets, MAX_STRATEGIES_PER_ROW, void 0);
        const strategyRowOneLength = strategyRows.at(0)?.length ?? 0;
        const shouldForceSingleColumnOnMobile = installedWallets.length === 2;
        const ButtonElement = installedWallets.length <= SOCIAL_BUTTON_BLOCK_THRESHOLD ? WalletButtonBlock : WalletButtonIcon;
        if (installedWallets.length === 0) return /* @__PURE__ */ jsx2(Card.Alert, { children: /* @__PURE__ */ jsx2(LinkRenderer, {
          text: t2(localizationKeys("web3SolanaWalletButtons.noneAvailable", { solanaWalletsLink: "https://solana.com/solana-wallets" })),
          isExternal: true,
          sx: (t$1) => ({
            textDecoration: "underline",
            textUnderlineOffset: t$1.space.$1,
            color: "inherit"
          })
        }) });
        return /* @__PURE__ */ jsx2(Flex2, {
          direction: "col",
          gap: 2,
          elementDescriptor: descriptors.web3SolanaWalletButtonsRoot,
          children: strategyRows.map((row, rowIndex) => /* @__PURE__ */ jsx2(Grid2, {
            elementDescriptor: descriptors.web3SolanaWalletButtons,
            gap: 2,
            sx: (t$1) => ({
              justifyContent: "center",
              [mqu.sm]: { gridTemplateColumns: shouldForceSingleColumnOnMobile ? "repeat(1, minmax(0, 1fr))" : void 0 },
              gridTemplateColumns: wallets3.length < 1 ? `repeat(1, minmax(0, 1fr))` : `repeat(${row.length}, ${rowIndex === 0 ? `minmax(0, 1fr)` : `minmax(0, calc((100% - (${strategyRowOneLength} - 1) * ${t$1.sizes.$2}) / ${strategyRowOneLength}))`})`
            }),
            children: row.map((w) => {
              const label = installedWallets.length === SOCIAL_BUTTON_PRE_TEXT_THRESHOLD ? localizationKeys("web3SolanaWalletButtons.continue", { walletName: w.name }) : w.name;
              const imageOrInitial = w.icon ? /* @__PURE__ */ jsx2(Image2, {
                elementDescriptor: [descriptors.walletIcon, descriptors.web3SolanaWalletButtonsWalletInitialIcon],
                isDisabled: card.isLoading,
                isLoading: card.loadingMetadata === w.name,
                src: w.icon,
                alt: t2(localizationKeys("web3SolanaWalletButtons.connect", { walletName: w.name })),
                sx: (theme) => ({
                  width: theme.sizes.$4,
                  height: "auto",
                  maxWidth: "100%"
                })
              }) : /* @__PURE__ */ jsx2(WalletInitialIcon, {
                value: w.name,
                isDisabled: card.isLoading,
                id: w.name
              });
              return /* @__PURE__ */ jsx2(ButtonElement, {
                id: w.name,
                onClick: startWeb3AuthFlow(w.name),
                isLoading: card.loadingMetadata === w.name,
                isDisabled: card.isLoading,
                label: t2(label),
                icon: imageOrInitial
              }, w.name);
            })
          }, row.map((r2) => {
            return r2.name;
          }).join("-")))
        });
      };
      WalletButtonIcon = (0, import_react172.forwardRef)((props, ref) => {
        const { icon: icon2, label, id, ...rest } = props;
        return /* @__PURE__ */ jsx2(Button2, {
          ref,
          "aria-label": label,
          textVariant: "buttonLarge",
          variant: "outline",
          colorScheme: "neutral",
          hoverAsFocus: true,
          sx: (t2) => ({
            minHeight: t2.sizes.$8,
            width: "100%"
          }),
          ...rest,
          children: icon2
        });
      });
      WalletButtonBlock = (0, import_react172.forwardRef)((props, ref) => {
        const { id, icon: icon2, isLoading, label, ...rest } = props;
        const isIconElement = (0, import_react172.isValidElement)(icon2);
        return /* @__PURE__ */ jsx2(SimpleButton2, {
          variant: "outline",
          block: true,
          isLoading,
          hoverAsFocus: true,
          ref,
          ...rest,
          sx: (theme) => [{
            gap: theme.space.$4,
            position: "relative",
            justifyContent: "flex-start"
          }, props.sx],
          children: /* @__PURE__ */ jsxs2(Flex2, {
            justify: "center",
            align: "center",
            as: "span",
            gap: 3,
            sx: {
              width: "100%",
              overflow: "hidden"
            },
            children: [(isLoading || icon2) && /* @__PURE__ */ jsx2(Flex2, {
              as: "span",
              center: true,
              sx: (theme) => ({ flex: `0 0 ${theme.space.$4}` }),
              children: isLoading ? /* @__PURE__ */ jsx2(Spinner, {
                size: "sm",
                elementDescriptor: descriptors.spinner
              }) : !isIconElement && icon2 ? /* @__PURE__ */ jsx2(Icon, {
                icon: icon2,
                sx: [(theme) => ({
                  color: theme.colors.$neutralAlpha600,
                  width: theme.sizes.$4,
                  position: "absolute"
                })]
              }) : icon2
            }), /* @__PURE__ */ jsx2(Text2, {
              as: "span",
              truncate: true,
              variant: "buttonLarge",
              children: label
            })]
          })
        });
      });
      Web3SolanaWalletButtons = (props) => {
        const network = MAINNET_ENDPOINT;
        return /* @__PURE__ */ jsx2(ConnectionProvider, {
          endpoint: network,
          children: /* @__PURE__ */ jsx2(WalletProvider, {
            wallets: (0, import_react172.useMemo)(() => [], [network]),
            onError: (err) => {
              console.error(err);
            },
            children: /* @__PURE__ */ jsx2(Web3SolanaWalletButtonsInner, { web3AuthCallback: props.web3AuthCallback })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOneSolanaWalletsCard.js
  var import_react173, Web3SolanaWalletButtons2, SignInFactorOneSolanaWalletsCardInner, SignInFactorOneSolanaWalletsCard;
  var init_SignInFactorOneSolanaWalletsCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOneSolanaWalletsCard.js"() {
      init_RouteContext();
      init_localizationKeys();
      init_SignIn();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      init_withRedirect();
      init_BackLink();
      init_web3CallbackErrorHandler();
      import_react173 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      Web3SolanaWalletButtons2 = (0, import_react173.lazy)(() => Promise.resolve().then(() => (init_Web3SolanaWalletButtons(), Web3SolanaWalletButtons_exports)).then((m2) => ({ default: m2.Web3SolanaWalletButtons })));
      SignInFactorOneSolanaWalletsCardInner = () => {
        const clerk2 = useClerk();
        const card = useCardState();
        const router = useRouter();
        const ctx = useSignInContext();
        const onBackLinkClick = () => {
          router.navigate("../");
        };
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "chooseWallet",
          children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
            /* @__PURE__ */ jsxs2(Header.Root, {
              showLogo: true,
              children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("signIn.web3Solana.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("signIn.web3Solana.subtitle") })]
            }),
            /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
            /* @__PURE__ */ jsxs2(Flex2, {
              direction: "col",
              gap: 4,
              children: [/* @__PURE__ */ jsx2(import_react173.Suspense, {
                fallback: /* @__PURE__ */ jsx2(Flex2, {
                  direction: "row",
                  align: "center",
                  justify: "center",
                  sx: (t2) => ({
                    height: "100%",
                    minHeight: t2.sizes.$32
                  }),
                  children: /* @__PURE__ */ jsx2(Spinner, {
                    size: "lg",
                    colorScheme: "primary",
                    elementDescriptor: descriptors.spinner
                  })
                }),
                children: /* @__PURE__ */ jsx2(Web3SolanaWalletButtons2, { web3AuthCallback: ({ walletName }) => {
                  return clerk2.authenticateWithWeb3({
                    customNavigate: router.navigate,
                    redirectUrl: ctx.afterSignInUrl || "/",
                    secondFactorUrl: "factor-two",
                    signUpContinueUrl: ctx.isCombinedFlow ? "create/continue" : ctx.signUpContinueUrl,
                    strategy: "web3_solana_signature",
                    walletName
                  }).catch((err) => web3CallbackErrorHandler(err, card.setError));
                } })
              }), /* @__PURE__ */ jsx2(BackLink2, {
                boxElementDescriptor: descriptors.backRow,
                linkElementDescriptor: descriptors.backLink,
                onClick: onBackLinkClick
              })]
            })
          ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] })
        });
      };
      SignInFactorOneSolanaWalletsCard = withRedirectToSignInTask(withRedirectToAfterSignIn(withCardStateProvider(SignInFactorOneSolanaWalletsCardInner)));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/normalizeRoutingOptions.js
  var normalizeRoutingOptions;
  var init_normalizeRoutingOptions = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/normalizeRoutingOptions.js"() {
      init_errors();
      normalizeRoutingOptions = ({ routing, path }) => {
        if (!!path && !routing) return {
          routing: "path",
          path
        };
        if (routing !== "path" && !!path) return clerkInvalidRoutingStrategy(routing);
        return {
          routing,
          path
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpStartSolanaWalletsCard.js
  var import_react175, Web3SolanaWalletButtons3, SignUpStartSolanaWalletsCardInner, SignUpStartSolanaWalletsCard;
  var init_SignUpStartSolanaWalletsCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpStartSolanaWalletsCard.js"() {
      init_RouteContext();
      init_localizationKeys();
      init_SignUp();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      init_withRedirect();
      init_BackLink();
      init_web3CallbackErrorHandler();
      import_react175 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      Web3SolanaWalletButtons3 = (0, import_react175.lazy)(() => Promise.resolve().then(() => (init_Web3SolanaWalletButtons(), Web3SolanaWalletButtons_exports)).then((m2) => ({ default: m2.Web3SolanaWalletButtons })));
      SignUpStartSolanaWalletsCardInner = () => {
        const clerk2 = useClerk();
        const card = useCardState();
        const router = useRouter();
        const ctx = useSignUpContext();
        const onBackLinkClick = () => {
          router.navigate("../");
        };
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "chooseWallet",
          children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
            /* @__PURE__ */ jsxs2(Header.Root, {
              showLogo: true,
              children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("signUp.web3Solana.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("signUp.web3Solana.subtitle") })]
            }),
            /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
            /* @__PURE__ */ jsxs2(Flex2, {
              direction: "col",
              gap: 4,
              children: [/* @__PURE__ */ jsx2(import_react175.Suspense, {
                fallback: /* @__PURE__ */ jsx2(Flex2, {
                  direction: "row",
                  align: "center",
                  justify: "center",
                  sx: (t2) => ({
                    height: "100%",
                    minHeight: t2.sizes.$32
                  }),
                  children: /* @__PURE__ */ jsx2(Spinner, {
                    size: "lg",
                    colorScheme: "primary",
                    elementDescriptor: descriptors.spinner
                  })
                }),
                children: /* @__PURE__ */ jsx2(Web3SolanaWalletButtons3, { web3AuthCallback: ({ walletName }) => {
                  return clerk2.authenticateWithWeb3({
                    customNavigate: router.navigate,
                    redirectUrl: ctx.afterSignUpUrl || "/",
                    signUpContinueUrl: "continue",
                    strategy: "web3_solana_signature",
                    unsafeMetadata: ctx.unsafeMetadata,
                    walletName
                  }).catch((err) => web3CallbackErrorHandler(err, card.setError));
                } })
              }), /* @__PURE__ */ jsx2(BackLink2, {
                boxElementDescriptor: descriptors.backRow,
                linkElementDescriptor: descriptors.backLink,
                onClick: onBackLinkClick
              })]
            })
          ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] })
        });
      };
      SignUpStartSolanaWalletsCard = withRedirectToSignUpTask(withRedirectToAfterSignUp(withCardStateProvider(SignUpStartSolanaWalletsCardInner)));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/ReversibleContainer.js
  var import_react177, SocialButtonsReversibleContainerWithDivider, ReversibleContainer, interleaveElementInArray;
  var init_ReversibleContainer = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/ReversibleContainer.js"() {
      init_AppearanceContext();
      init_Divider();
      import_react177 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      SocialButtonsReversibleContainerWithDivider = (props) => {
        const appearance = useAppearance();
        const childrenWithDivider = interleaveElementInArray(import_react177.default.Children.toArray(props.children), (i2) => /* @__PURE__ */ jsx2(Divider, {}, `divider${i2}`));
        return /* @__PURE__ */ jsx2(ReversibleContainer, {
          reverse: appearance.parsedOptions.socialButtonsPlacement === "bottom",
          ...props,
          children: childrenWithDivider
        });
      };
      ReversibleContainer = (props) => {
        const { children, reverse } = props;
        return /* @__PURE__ */ jsx2(Fragment3, { children: reverse ? import_react177.default.Children.toArray(children).reverse() : children });
      };
      interleaveElementInArray = (arr, generator) => {
        return arr.reduce((acc, child, i2) => {
          return i2 === arr.length - 1 ? [...acc, child] : [
            ...acc,
            child,
            generator(i2)
          ];
        }, []);
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/usernameUtils.js
  var INVALID_LENGTH, NEEDS_NON_NUMBER_CHAR, createUsernameError;
  var init_usernameUtils = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/usernameUtils.js"() {
      init_localizationKeys();
      INVALID_LENGTH = "form_username_invalid_length";
      NEEDS_NON_NUMBER_CHAR = "form_username_needs_non_number_char";
      createUsernameError = (errors, localizationConfig) => {
        const { t: t2, usernameSettings } = localizationConfig;
        const clerkApiError = errors[0];
        if (!localizationConfig) return clerkApiError;
        if (clerkApiError?.code === INVALID_LENGTH) return t2(localizationKeys(`unstable__errors.${INVALID_LENGTH}`, {
          min_length: usernameSettings.min_length,
          max_length: usernameSettings.max_length
        }));
        if (clerkApiError?.code === NEEDS_NON_NUMBER_CHAR) return t2(localizationKeys(`unstable__errors.${NEEDS_NON_NUMBER_CHAR}`));
        return clerkApiError;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/LegalConsentCheckbox.js
  var LegalCheckboxLabel, LegalCheckbox;
  var init_LegalConsentCheckbox = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/LegalConsentCheckbox.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_makeLocalizable();
      init_useFormField();
      init_elementDescriptors();
      init_AppearanceContext();
      init_customizables();
      init_FieldControl();
      init_LinkRenderer();
      init_emotion_react_jsx_runtime_browser_esm();
      LegalCheckboxLabel = (props) => {
        const { termsUrl, privacyPolicyUrl } = props;
        const { t: t2 } = useLocalizations();
        const { placeholder, ...inputProps } = sanitizeInputProps(useFormField());
        let localizationKey;
        if (termsUrl && privacyPolicyUrl) localizationKey = localizationKeys("signUp.legalConsent.checkbox.label__termsOfServiceAndPrivacyPolicy", {
          termsOfServiceLink: termsUrl,
          privacyPolicyLink: privacyPolicyUrl
        });
        else if (termsUrl) localizationKey = localizationKeys("signUp.legalConsent.checkbox.label__onlyTermsOfService", { termsOfServiceLink: termsUrl });
        else if (privacyPolicyUrl) localizationKey = localizationKeys("signUp.legalConsent.checkbox.label__onlyPrivacyPolicy", { privacyPolicyLink: privacyPolicyUrl });
        return /* @__PURE__ */ jsx2(FormLabel2, {
          elementDescriptor: descriptors.formFieldCheckboxLabel,
          htmlFor: inputProps.id,
          isDisabled: inputProps.isDisabled,
          sx: (t$1) => ({
            paddingInlineStart: t$1.space.$1x5,
            textAlign: "start"
          }),
          children: /* @__PURE__ */ jsx2(Text2, {
            variant: "body",
            as: "span",
            children: /* @__PURE__ */ jsx2(LinkRenderer, {
              text: t2(localizationKey),
              isExternal: true,
              sx: (t$1) => ({
                textDecoration: "underline",
                textUnderlineOffset: t$1.space.$1
              })
            })
          })
        });
      };
      LegalCheckbox = (props) => {
        const { displayConfig } = useEnvironment();
        const { parsedOptions } = useAppearance();
        const termsLink = parsedOptions.termsPageUrl || displayConfig.termsUrl;
        const privacyPolicy = parsedOptions.privacyPageUrl || displayConfig.privacyPolicyUrl;
        return /* @__PURE__ */ jsx2(Field.Root, {
          ...props,
          children: /* @__PURE__ */ jsxs2(Flex2, {
            justify: "center",
            children: [/* @__PURE__ */ jsx2(Field.CheckboxIndicator, {
              elementDescriptor: descriptors.formFieldCheckboxInput,
              elementId: descriptors.formFieldInput.setId("legalAccepted")
            }), /* @__PURE__ */ jsx2(LegalCheckboxLabel, {
              termsUrl: termsLink,
              privacyPolicyUrl: privacyPolicy
            })]
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpForm.js
  var import_react178, SignUpForm;
  var init_SignUpForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpForm.js"() {
      init_localizationKeys();
      init_breakpoints();
      init_AppearanceContext();
      init_customizables();
      init_Form2();
      init_CaptchaElement();
      init_LegalConsentCheckbox();
      import_react178 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      SignUpForm = (props) => {
        const { handleSubmit, fields, formState, canToggleEmailPhone, onlyLegalAcceptedMissing = false, handleEmailPhoneToggle } = props;
        const { showOptionalFields } = useAppearance().parsedOptions;
        const shouldShow = (name) => {
          if ((name === "emailAddress" || name === "phoneNumber") && canToggleEmailPhone) return !!fields[name];
          return !!fields[name] && (showOptionalFields || fields[name]?.required);
        };
        return /* @__PURE__ */ jsxs2(Form$1.Root, {
          onSubmit: handleSubmit,
          gap: 8,
          children: [!onlyLegalAcceptedMissing && /* @__PURE__ */ jsxs2(Col2, {
            gap: 6,
            children: [
              (shouldShow("firstName") || shouldShow("lastName")) && /* @__PURE__ */ jsxs2(Form$1.ControlRow, {
                elementId: "name",
                sx: { [mqu.sm]: { flexWrap: "wrap" } },
                children: [shouldShow("firstName") && /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                  ...formState.firstName.props,
                  isRequired: fields.firstName?.required,
                  isOptional: !fields.firstName?.required
                }), shouldShow("lastName") && /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                  ...formState.lastName.props,
                  isRequired: fields.lastName?.required,
                  isOptional: !fields.lastName?.required
                })]
              }),
              shouldShow("username") && /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: "username",
                children: /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                  ...formState.username.props,
                  isRequired: fields.username?.required,
                  isOptional: !fields.username?.required
                })
              }),
              shouldShow("emailAddress") && /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: "emailAddress",
                children: /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                  ...formState.emailAddress.props,
                  isRequired: fields.emailAddress?.required,
                  isOptional: !fields.emailAddress?.required,
                  isDisabled: fields.emailAddress?.disabled,
                  actionLabel: canToggleEmailPhone ? localizationKeys("signUp.start.actionLink__use_phone") : void 0,
                  onActionClicked: canToggleEmailPhone ? () => handleEmailPhoneToggle("phoneNumber") : void 0
                })
              }),
              shouldShow("phoneNumber") && /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: "phoneNumber",
                children: /* @__PURE__ */ jsx2(Form$1.PhoneInput, {
                  ...formState.phoneNumber.props,
                  isRequired: fields.phoneNumber?.required,
                  isOptional: !fields.phoneNumber?.required,
                  actionLabel: canToggleEmailPhone ? localizationKeys("signUp.start.actionLink__use_email") : void 0,
                  onActionClicked: canToggleEmailPhone ? () => handleEmailPhoneToggle("emailAddress") : void 0
                })
              }),
              shouldShow("password") && /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: "password",
                children: /* @__PURE__ */ jsx2(Form$1.PasswordInput, {
                  ...formState.password.props,
                  isRequired: fields.password?.required,
                  isOptional: !fields.password?.required,
                  autoComplete: "new-password"
                })
              })
            ]
          }), /* @__PURE__ */ jsxs2(Col2, {
            center: true,
            children: [/* @__PURE__ */ jsx2(CaptchaElement, {}), /* @__PURE__ */ jsxs2(Col2, {
              gap: 6,
              sx: { width: "100%" },
              children: [shouldShow("legalAccepted") && /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: "legalAccepted",
                children: /* @__PURE__ */ jsx2(LegalCheckbox, {
                  ...formState.legalAccepted.props,
                  isRequired: fields.legalAccepted?.required
                })
              }), /* @__PURE__ */ jsx2(Form$1.SubmitButton, {
                hasArrow: true,
                localizationKey: localizationKeys("formButtonPrimary")
              })]
            })]
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/signUpFormHelpers.js
  function determineActiveFields(fieldProps) {
    return FieldKeys.reduce((fields, fieldKey) => {
      const field = getField(fieldKey, fieldProps);
      if (field) fields[fieldKey] = field;
      return fields;
    }, {});
  }
  function minimizeFieldsForExistingSignup(fields, signUp) {
    if (signUp) {
      const hasEmailFilled = !!signUp.emailAddress;
      const hasVerifiedEmail = signUp.verifications?.emailAddress?.status === "verified";
      const hasVerifiedPhone = signUp.verifications?.phoneNumber?.status === "verified";
      const hasVerifiedExternalAccount = signUp.verifications?.externalAccount?.status === "verified";
      const hasVerifiedWeb3Wallet = signUp.verifications?.web3Wallet?.status === "verified";
      const hasLegalAccepted = signUp.legalAcceptedAt !== null;
      if (hasEmailFilled && hasVerifiedEmail) delete fields.emailAddress;
      if (hasVerifiedPhone) delete fields.phoneNumber;
      if (hasVerifiedExternalAccount || hasVerifiedWeb3Wallet) delete fields.password;
      if (signUp.firstName) delete fields.firstName;
      if (signUp.lastName) delete fields.lastName;
      if (signUp.username) delete fields.username;
      if (hasLegalAccepted) delete fields.legalAccepted;
      Object.entries(fields).forEach(([k, v]) => {
        if (v && !v.required) delete fields[k];
      });
    }
  }
  function showFormFields(userSettings) {
    const { authenticatableSocialStrategies, web3FirstFactors } = userSettings;
    return userSettings.hasValidAuthFactor || !authenticatableSocialStrategies.length && !web3FirstFactors.length;
  }
  function emailOrPhone(attributes, isProgressiveSignUp) {
    const { email_address, phone_number } = attributes;
    return Boolean(isProgressiveSignUp ? email_address?.enabled && phone_number?.enabled && !email_address.required && !phone_number.required : email_address?.used_for_first_factor && phone_number?.used_for_first_factor);
  }
  function getField(fieldKey, fieldProps) {
    switch (fieldKey) {
      case "emailAddress":
        return getEmailAddressField(fieldProps);
      case "phoneNumber":
        return getPhoneNumberField(fieldProps);
      case "password":
        return getPasswordField(fieldProps.attributes);
      case "ticket":
        return getTicketField(fieldProps.hasTicket);
      case "legalAccepted":
        return getLegalAcceptedField(fieldProps.legalConsentRequired);
      case "username":
      case "firstName":
      case "lastName":
        return getGenericField(fieldKey, fieldProps.attributes);
      default:
        return;
    }
  }
  function getEmailAddressField({ attributes, hasTicket, hasEmail, activeCommIdentifierType, isProgressiveSignUp }) {
    if (isProgressiveSignUp) {
      if (!((!hasTicket || hasTicket && hasEmail) && attributes.email_address?.enabled)) return;
      if (emailOrPhone(attributes, isProgressiveSignUp) && activeCommIdentifierType !== "emailAddress") return;
      const { emailShouldBeRequired } = determineRequiredIdentifier(attributes);
      return {
        required: emailShouldBeRequired,
        disabled: !!hasTicket && !!hasEmail
      };
    }
    if (!((!hasTicket || hasTicket && hasEmail) && attributes.email_address?.enabled && attributes.email_address?.used_for_first_factor && activeCommIdentifierType === "emailAddress")) return;
    return {
      required: true,
      disabled: !!hasTicket && !!hasEmail
    };
  }
  function getPhoneNumberField({ attributes, hasTicket, activeCommIdentifierType, isProgressiveSignUp }) {
    if (isProgressiveSignUp) {
      if (!attributes.phone_number?.enabled) return;
      if (emailOrPhone(attributes, isProgressiveSignUp) && activeCommIdentifierType !== "phoneNumber") return;
      const { phoneShouldBeRequired } = determineRequiredIdentifier(attributes);
      return { required: phoneShouldBeRequired };
    }
    if (!(!hasTicket && attributes.phone_number?.enabled && attributes.phone_number.used_for_first_factor && activeCommIdentifierType === "phoneNumber")) return;
    return { required: true };
  }
  function getPasswordField(attributes) {
    if (!(attributes.password?.enabled && attributes.password.required)) return;
    return { required: Boolean(attributes.password?.required) };
  }
  function getTicketField(hasTicket) {
    if (!hasTicket) return;
    return { required: true };
  }
  function getLegalAcceptedField(legalConsentRequired) {
    if (!legalConsentRequired) return;
    return { required: true };
  }
  function getGenericField(fieldKey, attributes) {
    const attrKey = camelToSnake(fieldKey);
    if (!attributes[attrKey]?.enabled) return;
    return { required: attributes[attrKey]?.required };
  }
  function determineRequiredIdentifier(attributes) {
    const ctx = {
      passwordRequired: Boolean(attributes.password?.enabled && attributes.password.required),
      email: {
        enabled: Boolean(attributes.email_address?.enabled),
        required: Boolean(attributes.email_address?.required),
        firstFactor: Boolean(attributes.email_address?.used_for_first_factor)
      },
      phone: {
        enabled: Boolean(attributes.phone_number?.enabled),
        required: Boolean(attributes.phone_number?.required),
        firstFactor: Boolean(attributes.phone_number?.used_for_first_factor)
      },
      username: {
        enabled: Boolean(attributes.username?.enabled),
        required: Boolean(attributes.username?.required),
        firstFactor: Boolean(attributes.username?.used_for_first_factor)
      }
    };
    const outcomeMet = (outcome) => outcomePredicates[outcome].some((predicate) => predicate(ctx));
    if (outcomeMet("mirrorServer")) return {
      emailShouldBeRequired: ctx.email.required,
      phoneShouldBeRequired: ctx.phone.required,
      usernameShouldBeRequired: ctx.username.required
    };
    if (outcomeMet("none")) return {
      emailShouldBeRequired: false,
      phoneShouldBeRequired: false,
      usernameShouldBeRequired: false
    };
    const emailShouldBeRequired = outcomeMet("email");
    const phoneShouldBeRequired = outcomeMet("phone");
    const usernameShouldBeRequired = outcomeMet("username");
    if (ctx.passwordRequired && !emailShouldBeRequired && !phoneShouldBeRequired && !usernameShouldBeRequired) return {
      emailShouldBeRequired: true,
      phoneShouldBeRequired: false,
      usernameShouldBeRequired: false
    };
    return {
      emailShouldBeRequired,
      phoneShouldBeRequired,
      usernameShouldBeRequired
    };
  }
  var FieldKeys, getInitialActiveIdentifier, outcomePredicates;
  var init_signUpFormHelpers = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/signUpFormHelpers.js"() {
      init_underscore();
      FieldKeys = [
        "emailAddress",
        "phoneNumber",
        "username",
        "firstName",
        "lastName",
        "password",
        "ticket",
        "legalAccepted"
      ];
      getInitialActiveIdentifier = (attributes, isProgressiveSignUp, initialValues) => {
        if (initialValues?.emailAddress) return "emailAddress";
        if (initialValues?.phoneNumber) return "phoneNumber";
        if (emailOrPhone(attributes, isProgressiveSignUp)) return "emailAddress";
        const { email_address, phone_number } = attributes;
        if (email_address?.enabled && isProgressiveSignUp ? email_address.required : email_address?.used_for_first_factor) return "emailAddress";
        if (phone_number?.enabled && isProgressiveSignUp ? phone_number.required : phone_number?.used_for_first_factor) return "phoneNumber";
        return null;
      };
      outcomePredicates = {
        mirrorServer: [(ctx) => !ctx.passwordRequired, (ctx) => ctx.email.required || ctx.phone.required || ctx.username.required && ctx.username.firstFactor],
        none: [(ctx) => !ctx.email.enabled && !ctx.phone.enabled && !ctx.username.enabled],
        email: [
          (ctx) => ctx.email.enabled && !ctx.phone.enabled && !ctx.username.enabled,
          (ctx) => ctx.email.enabled && !ctx.email.required && ctx.phone.enabled && !ctx.phone.required,
          (ctx) => ctx.username.firstFactor && !ctx.username.required && ctx.email.enabled && !ctx.email.required,
          (ctx) => ctx.username.required && !ctx.username.firstFactor && ctx.email.enabled && ctx.phone.enabled
        ],
        phone: [
          (ctx) => ctx.phone.enabled && !ctx.email.required && !ctx.phone.required,
          (ctx) => ctx.username.firstFactor && !ctx.username.required && ctx.phone.enabled && !ctx.phone.required,
          (ctx) => ctx.phone.firstFactor && !ctx.email.firstFactor && !ctx.username.firstFactor,
          (ctx) => ctx.username.required && !ctx.username.firstFactor && ctx.phone.enabled && ctx.email.enabled,
          (ctx) => !ctx.email.enabled && ctx.phone.enabled && ctx.username.enabled
        ],
        username: [(ctx) => ctx.username.enabled && ctx.username.firstFactor && !ctx.email.enabled && !ctx.phone.enabled, (ctx) => ctx.username.required && !ctx.username.firstFactor && ctx.email.enabled && ctx.phone.enabled]
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/runtime.mjs
  function inBrowser() {
    return typeof globalThis.document !== "undefined";
  }
  function inIframe() {
    if (!inBrowser()) return false;
    try {
      return window.self !== window.top;
    } catch {
      return true;
    }
  }
  var init_runtime = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/runtime.mjs"() {
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/thirdPartyDomains.mjs
  var THIRD_PARTY_COOKIE_DOMAINS;
  var init_thirdPartyDomains = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/thirdPartyDomains.mjs"() {
      THIRD_PARTY_COOKIE_DOMAINS = [
        ".lovable.app",
        ".lovableproject.com",
        ".webcontainer-api.io",
        ".vusercontent.net",
        ".v0.dev",
        ".v0.app",
        ".lp.dev",
        ".replit.dev"
      ];
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/originPrefersPopup.js
  function originPrefersPopup() {
    return inIframe() || THIRD_PARTY_COOKIE_DOMAINS.some((domain) => window.location.hostname.endsWith(domain));
  }
  var init_originPrefersPopup = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/originPrefersPopup.js"() {
      init_runtime();
      init_thirdPartyDomains();
    }
  });

  // node_modules/@clerk/shared/dist/runtime/alternativePhoneCode.mjs
  var ALTERNATIVE_PHONE_CODE_PROVIDERS, getAlternativePhoneCodeProviderData;
  var init_alternativePhoneCode = __esm({
    "node_modules/@clerk/shared/dist/runtime/alternativePhoneCode.mjs"() {
      ALTERNATIVE_PHONE_CODE_PROVIDERS = [{
        channel: "whatsapp",
        name: "WhatsApp"
      }];
      getAlternativePhoneCodeProviderData = (channel) => {
        if (!channel) return null;
        return ALTERNATIVE_PHONE_CODE_PROVIDERS.find((p2) => p2.channel === channel) || null;
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/oauth.mjs
  var OAUTH_PROVIDERS;
  var init_oauth = __esm({
    "node_modules/@clerk/shared/dist/runtime/oauth.mjs"() {
      OAUTH_PROVIDERS = [
        {
          provider: "google",
          strategy: "oauth_google",
          name: "Google",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/google"
        },
        {
          provider: "discord",
          strategy: "oauth_discord",
          name: "Discord",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/discord"
        },
        {
          provider: "facebook",
          strategy: "oauth_facebook",
          name: "Facebook",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/facebook"
        },
        {
          provider: "twitch",
          strategy: "oauth_twitch",
          name: "Twitch",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/twitch"
        },
        {
          provider: "twitter",
          strategy: "oauth_twitter",
          name: "Twitter",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/twitter"
        },
        {
          provider: "microsoft",
          strategy: "oauth_microsoft",
          name: "Microsoft",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/microsoft"
        },
        {
          provider: "tiktok",
          strategy: "oauth_tiktok",
          name: "TikTok",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/tiktok"
        },
        {
          provider: "linkedin",
          strategy: "oauth_linkedin",
          name: "LinkedIn",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/linkedin"
        },
        {
          provider: "linkedin_oidc",
          strategy: "oauth_linkedin_oidc",
          name: "LinkedIn",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/linkedin-oidc"
        },
        {
          provider: "github",
          strategy: "oauth_github",
          name: "GitHub",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/github"
        },
        {
          provider: "gitlab",
          strategy: "oauth_gitlab",
          name: "GitLab",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/gitlab"
        },
        {
          provider: "dropbox",
          strategy: "oauth_dropbox",
          name: "Dropbox",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/dropbox"
        },
        {
          provider: "atlassian",
          strategy: "oauth_atlassian",
          name: "Atlassian",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/atlassian"
        },
        {
          provider: "bitbucket",
          strategy: "oauth_bitbucket",
          name: "Bitbucket",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/bitbucket"
        },
        {
          provider: "hubspot",
          strategy: "oauth_hubspot",
          name: "HubSpot",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/hubspot"
        },
        {
          provider: "notion",
          strategy: "oauth_notion",
          name: "Notion",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/notion"
        },
        {
          provider: "apple",
          strategy: "oauth_apple",
          name: "Apple",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/apple"
        },
        {
          provider: "line",
          strategy: "oauth_line",
          name: "LINE",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/line"
        },
        {
          provider: "instagram",
          strategy: "oauth_instagram",
          name: "Instagram",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/instagram"
        },
        {
          provider: "coinbase",
          strategy: "oauth_coinbase",
          name: "Coinbase",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/coinbase"
        },
        {
          provider: "spotify",
          strategy: "oauth_spotify",
          name: "Spotify",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/spotify"
        },
        {
          provider: "xero",
          strategy: "oauth_xero",
          name: "Xero",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/xero"
        },
        {
          provider: "box",
          strategy: "oauth_box",
          name: "Box",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/box"
        },
        {
          provider: "slack",
          strategy: "oauth_slack",
          name: "Slack",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/slack"
        },
        {
          provider: "linear",
          strategy: "oauth_linear",
          name: "Linear",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/linear"
        },
        {
          provider: "x",
          strategy: "oauth_x",
          name: "X / Twitter",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/x-twitter-v2"
        },
        {
          provider: "enstall",
          strategy: "oauth_enstall",
          name: "Enstall",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/enstall"
        },
        {
          provider: "huggingface",
          strategy: "oauth_huggingface",
          name: "Hugging Face",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/huggingface"
        },
        {
          provider: "vercel",
          strategy: "oauth_vercel",
          name: "Vercel",
          docsUrl: "https://clerk.com/docs/authentication/social-connections/vercel"
        }
      ];
    }
  });

  // node_modules/@clerk/shared/dist/runtime/web3.mjs
  var WEB3_PROVIDERS;
  var init_web3 = __esm({
    "node_modules/@clerk/shared/dist/runtime/web3.mjs"() {
      WEB3_PROVIDERS = [
        {
          provider: "metamask",
          strategy: "web3_metamask_signature",
          name: "MetaMask"
        },
        {
          provider: "base",
          strategy: "web3_base_signature",
          name: "Base"
        },
        {
          provider: "coinbase_wallet",
          strategy: "web3_coinbase_wallet_signature",
          name: "Coinbase Wallet"
        },
        {
          provider: "okx_wallet",
          strategy: "web3_okx_wallet_signature",
          name: "OKX Wallet"
        },
        {
          provider: "solana",
          strategy: "web3_solana_signature",
          name: "Solana"
        }
      ];
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useEnabledThirdPartyProviders.js
  var oauthStrategies, web3Strategies, phoneCodeChannels, providerToDisplayData, strategyToDisplayData, useEnabledThirdPartyProviders;
  var init_useEnabledThirdPartyProviders = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useEnabledThirdPartyProviders.js"() {
      init_EnvironmentContext();
      init_fromEntries();
      init_alternativePhoneCode();
      init_constants4();
      init_oauth();
      init_web3();
      oauthStrategies = OAUTH_PROVIDERS.map((p2) => p2.strategy);
      web3Strategies = WEB3_PROVIDERS.map((p2) => p2.strategy);
      phoneCodeChannels = ALTERNATIVE_PHONE_CODE_PROVIDERS.map((p2) => p2.channel);
      providerToDisplayData = fromEntries([...[...OAUTH_PROVIDERS, ...WEB3_PROVIDERS].map((p2) => {
        return [p2.provider, {
          strategy: p2.strategy,
          name: p2.name,
          iconUrl: iconImageUrl(p2.provider)
        }];
      }), ...[...ALTERNATIVE_PHONE_CODE_PROVIDERS].map((p2) => {
        return [p2.channel, {
          strategy: p2.channel,
          name: p2.name,
          iconUrl: iconImageUrl(p2.channel)
        }];
      })]);
      strategyToDisplayData = fromEntries([...[...OAUTH_PROVIDERS, ...WEB3_PROVIDERS].map((p2) => {
        return [p2.strategy, {
          id: p2.provider,
          name: p2.name,
          iconUrl: iconImageUrl(p2.provider)
        }];
      }), ...[...ALTERNATIVE_PHONE_CODE_PROVIDERS].map((p2) => {
        return [p2.channel, {
          id: p2.channel,
          name: p2.name,
          iconUrl: iconImageUrl(p2.channel)
        }];
      })]);
      useEnabledThirdPartyProviders = () => {
        const { socialProviderStrategies, web3FirstFactors, authenticatableSocialStrategies, social, alternativePhoneCodeChannels } = useEnvironment().userSettings;
        const knownSocialProviderStrategies = socialProviderStrategies.filter((s2) => oauthStrategies.includes(s2));
        const customSocialProviderStrategies = socialProviderStrategies.filter((s2) => !oauthStrategies.includes(s2) && s2.startsWith("oauth_custom_"));
        const knownAuthenticatableSocialStrategies = authenticatableSocialStrategies.filter((s2) => oauthStrategies.includes(s2));
        const customAuthenticatableSocialStrategies = authenticatableSocialStrategies.filter((s2) => !oauthStrategies.includes(s2) && s2.startsWith("oauth_custom_"));
        const allCustomOAuthProviders = Object.keys(social).filter((s2) => s2.startsWith("oauth_custom_"));
        const activeCustomSocialStrategies = socialProviderStrategies.filter((s2) => !oauthStrategies.includes(s2) || s2.startsWith("oauth_custom_"));
        allCustomOAuthProviders.forEach((s2) => {
          const providerName = s2.replace("oauth_", "");
          providerToDisplayData[providerName] = {
            strategy: s2,
            name: social[s2].name,
            iconUrl: social[s2].logo_url || ""
          };
        });
        activeCustomSocialStrategies.forEach((s2) => {
          strategyToDisplayData[s2] = {
            id: s2.replace("oauth_", ""),
            iconUrl: social[s2].logo_url || "",
            name: social[s2].name
          };
        });
        const authenticatableOauthStrategies = [...knownAuthenticatableSocialStrategies, ...customAuthenticatableSocialStrategies];
        authenticatableOauthStrategies.sort((a2, b2) => {
          const aName = a2.replace(/^oauth_custom_|^oauth_/, "");
          const bName = b2.replace(/^oauth_custom_|^oauth_/, "");
          return aName.localeCompare(bName);
        });
        const knownWeb3Strategies = web3FirstFactors.filter((s2) => web3Strategies.includes(s2));
        const knownAlternativePhoneCodeChannels = alternativePhoneCodeChannels.filter((s2) => phoneCodeChannels.includes(s2));
        return {
          strategies: [
            ...knownSocialProviderStrategies,
            ...knownWeb3Strategies,
            ...customSocialProviderStrategies,
            ...knownAlternativePhoneCodeChannels
          ],
          web3Strategies: knownWeb3Strategies,
          alternativePhoneCodeChannels: knownAlternativePhoneCodeChannels,
          authenticatableOauthStrategies,
          strategyToDisplayData,
          providerToDisplayData
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useTotalEnabledAuthMethods.js
  var useTotalEnabledAuthMethods;
  var init_useTotalEnabledAuthMethods = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useTotalEnabledAuthMethods.js"() {
      init_EnvironmentContext();
      init_useEnabledThirdPartyProviders();
      useTotalEnabledAuthMethods = () => {
        const { userSettings } = useEnvironment();
        const { authenticatableOauthStrategies, web3Strategies: web3Strategies2, alternativePhoneCodeChannels } = useEnabledThirdPartyProviders();
        const firstFactorCount = userSettings.enabledFirstFactorIdentifiers.filter((attr2) => attr2 !== "passkey").length;
        const oauthCount = authenticatableOauthStrategies.length;
        const web3Count = web3Strategies2.length;
        const alternativePhoneCodeCount = alternativePhoneCodeChannels.length;
        return firstFactorCount + oauthCount + web3Count + alternativePhoneCodeCount;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/ProviderInitialIcon.js
  var ProviderInitialIcon;
  var init_ProviderInitialIcon = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/ProviderInitialIcon.js"() {
      init_common();
      init_elementDescriptors();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      ProviderInitialIcon = (props) => {
        const { value, id, ...rest } = props;
        return /* @__PURE__ */ jsx2(Box2, {
          as: "span",
          elementDescriptor: [descriptors.providerIcon, descriptors.socialButtonsProviderInitialIcon],
          elementId: descriptors.socialButtonsProviderInitialIcon.setId(id),
          sx: (t2) => ({
            ...common.centeredFlex("inline-flex"),
            width: t2.space.$4,
            height: t2.space.$4,
            borderRadius: t2.radii.$sm,
            color: t2.colors.$colorPrimaryForeground,
            backgroundColor: t2.colors.$primary500
          }),
          ...rest,
          children: /* @__PURE__ */ jsx2(Text2, {
            as: "span",
            variant: "buttonSmall",
            sx: {
              ...common.centeredFlex("inline-flex"),
              width: "100%"
            },
            children: value[0].toUpperCase()
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/ProviderIcon.js
  var SUPPORTS_MASK_IMAGE, supportsMaskImage, getIconImageStyles, getThemeSize, ProviderIcon;
  var init_ProviderIcon = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/ProviderIcon.js"() {
      init_elementDescriptors();
      init_customizables();
      init_ProviderInitialIcon();
      init_emotion_react_jsx_runtime_browser_esm();
      SUPPORTS_MASK_IMAGE = [
        "apple",
        "github",
        "okx_wallet",
        "vercel"
      ];
      supportsMaskImage = (id) => {
        return SUPPORTS_MASK_IMAGE.includes(id);
      };
      getIconImageStyles = (theme, id, iconUrl) => {
        if (supportsMaskImage(id)) return {
          "--cl-icon-fill": theme.colors.$colorForeground,
          backgroundColor: "var(--cl-icon-fill)",
          maskImage: `url(${iconUrl})`,
          maskSize: "cover",
          maskPosition: "center",
          maskRepeat: "no-repeat"
        };
        return {
          backgroundImage: `url(${iconUrl})`,
          backgroundSize: "cover",
          backgroundPosition: "center",
          backgroundRepeat: "no-repeat"
        };
      };
      getThemeSize = (theme, size5) => {
        return theme.sizes[size5] || size5;
      };
      ProviderIcon = (props) => {
        const { id, iconUrl, name, size: size5 = "$4", isLoading, isDisabled, alt, elementDescriptor = descriptors.providerIcon, elementId, sx, ...rest } = props;
        if (!iconUrl || iconUrl.trim() === "") {
          const { ref, ...initialIconProps } = rest;
          return /* @__PURE__ */ jsx2(ProviderInitialIcon, {
            id,
            value: name,
            isLoading,
            isDisabled,
            sx,
            ...initialIconProps
          });
        }
        return /* @__PURE__ */ jsx2(Span2, {
          elementDescriptor,
          elementId,
          "aria-label": alt || `${name} icon`,
          sx: (theme) => {
            const iconSize = getThemeSize(theme, size5);
            return [{
              display: "inline-block",
              width: iconSize,
              height: iconSize,
              maxWidth: "100%",
              opacity: isLoading || isDisabled ? 0.5 : 1,
              ...getIconImageStyles(theme, id, iconUrl)
            }, sx];
          },
          ...rest
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/SocialButtons.js
  var import_react179, SOCIAL_BUTTON_BLOCK_THRESHOLD2, SOCIAL_BUTTON_PRE_TEXT_THRESHOLD2, MAX_STRATEGIES_PER_ROW2, isWeb3Strategy, isPhoneCodeChannel, SocialButtons, SocialButtonIcon, SocialButtonBlock;
  var init_SocialButtons = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/SocialButtons.js"() {
      init_useEnabledThirdPartyProviders();
      init_localizationKeys();
      init_useTotalEnabledAuthMethods();
      init_breakpoints();
      init_elementDescriptors();
      init_AppearanceContext();
      init_contexts();
      init_customizables();
      init_sleep();
      init_ProviderIcon();
      init_Badge2();
      init_utils6();
      import_react179 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_alternativePhoneCode();
      SOCIAL_BUTTON_BLOCK_THRESHOLD2 = 2;
      SOCIAL_BUTTON_PRE_TEXT_THRESHOLD2 = 1;
      MAX_STRATEGIES_PER_ROW2 = 5;
      isWeb3Strategy = (val) => {
        return val.startsWith("web3_");
      };
      isPhoneCodeChannel = (val) => {
        return !!getAlternativePhoneCodeProviderData(val);
      };
      SocialButtons = import_react179.default.memo((props) => {
        const { oauthCallback, web3Callback, alternativePhoneCodeCallback, enableOAuthProviders = true, enableWeb3Providers = true, enableAlternativePhoneCodeProviders = true, idleAfterDelay = true, showLastAuthenticationStrategy = false } = props;
        const { web3Strategies: web3Strategies2, authenticatableOauthStrategies, strategyToDisplayData: strategyToDisplayData2, alternativePhoneCodeChannels } = useEnabledThirdPartyProviders();
        const totalEnabledAuthMethods = useTotalEnabledAuthMethods();
        const card = useCardState();
        const clerk2 = useClerk();
        const { socialButtonsVariant } = useAppearance().parsedOptions;
        const strategies = [
          ...enableOAuthProviders ? authenticatableOauthStrategies : [],
          ...enableWeb3Providers ? web3Strategies2 : [],
          ...enableAlternativePhoneCodeProviders ? alternativePhoneCodeChannels : []
        ];
        if (!strategies.length) return null;
        const clientLastAuth = showLastAuthenticationStrategy ? clerk2.client?.lastAuthenticationStrategy : null;
        const isValidStrategy = (strategy) => {
          return strategies.includes(strategy);
        };
        const convertedClientLastAuth = clientLastAuth?.startsWith("saml_") ? clientLastAuth.replace("saml_", "oauth_") : clientLastAuth;
        const lastAuthenticationStrategy = convertedClientLastAuth && isValidStrategy(convertedClientLastAuth) ? convertedClientLastAuth : null;
        const { strategyRows, lastAuthenticationStrategyPresent } = distributeStrategiesIntoRows([...strategies], MAX_STRATEGIES_PER_ROW2, lastAuthenticationStrategy);
        const strategyRowOneLength = strategyRows.at(lastAuthenticationStrategyPresent ? 1 : 0)?.length ?? 0;
        const remainingStrategiesLength = lastAuthenticationStrategyPresent ? strategies.length - 1 : strategies.length;
        const shouldForceSingleColumnOnMobile = !lastAuthenticationStrategyPresent && strategies.length === 2;
        const preferBlockButtons = socialButtonsVariant === "blockButton" ? true : socialButtonsVariant === "iconButton" ? false : strategies.length <= SOCIAL_BUTTON_BLOCK_THRESHOLD2;
        const startOauth = async (strategy) => {
          card.setLoading(strategy);
          try {
            if (isWeb3Strategy(strategy)) await web3Callback(strategy);
            else await oauthCallback(strategy);
          } catch {
            await sleep(1e3);
            card.setIdle();
          }
          if (idleAfterDelay) {
            await sleep(5e3);
            card.setIdle();
          }
        };
        const onSocialButtonClick = (strategy) => async () => {
          if (isPhoneCodeChannel(strategy)) alternativePhoneCodeCallback(strategy);
          else await startOauth(strategy);
        };
        const ButtonElement = preferBlockButtons ? SocialButtonBlock : SocialButtonIcon;
        return /* @__PURE__ */ jsx2(Flex2, {
          direction: "col",
          gap: 2,
          elementDescriptor: descriptors.socialButtonsRoot,
          children: strategyRows.map((row, rowIndex) => /* @__PURE__ */ jsx2(Grid2, {
            elementDescriptor: descriptors.socialButtons,
            gap: 2,
            sx: (t2) => ({
              justifyContent: "center",
              [mqu.sm]: { gridTemplateColumns: shouldForceSingleColumnOnMobile ? "repeat(1, minmax(0, 1fr))" : void 0 },
              gridTemplateColumns: strategies.length < 1 ? `repeat(1, minmax(0, 1fr))` : `repeat(${row.length}, ${rowIndex === 0 ? `minmax(0, 1fr)` : `minmax(0, calc((100% - (${strategyRowOneLength} - 1) * ${t2.sizes.$2}) / ${strategyRowOneLength}))`})`
            }),
            children: row.map((strategy) => {
              const shouldShowPreText = remainingStrategiesLength === SOCIAL_BUTTON_PRE_TEXT_THRESHOLD2 || strategy === lastAuthenticationStrategy && row.length === 1;
              const label = shouldShowPreText ? `Continue with ${strategyToDisplayData2[strategy].name}` : strategyToDisplayData2[strategy].name;
              const localizedText = shouldShowPreText ? localizationKeys("socialButtonsBlockButton", { provider: strategyToDisplayData2[strategy].name }) : localizationKeys("socialButtonsBlockButtonManyInView", { provider: strategyToDisplayData2[strategy].name });
              const imageOrInitial = /* @__PURE__ */ jsx2(ProviderIcon, {
                id: strategyToDisplayData2[strategy].id,
                iconUrl: strategyToDisplayData2[strategy].iconUrl,
                name: strategyToDisplayData2[strategy].name,
                isLoading: card.loadingMetadata === strategy,
                isDisabled: card.isLoading,
                alt: `Sign in with ${strategyToDisplayData2[strategy].name}`,
                elementDescriptor: [descriptors.providerIcon, descriptors.socialButtonsProviderIcon],
                elementId: descriptors.socialButtonsProviderIcon.setId(strategyToDisplayData2[strategy].id)
              });
              return /* @__PURE__ */ jsx2(ButtonElement, {
                id: strategyToDisplayData2[strategy].id,
                onClick: onSocialButtonClick(strategy),
                isLoading: card.loadingMetadata === strategy,
                isDisabled: card.isLoading,
                label,
                textLocalizationKey: localizedText,
                icon: imageOrInitial,
                lastAuthenticationStrategy: strategy === lastAuthenticationStrategy && totalEnabledAuthMethods > 1
              }, strategy);
            })
          }, row.join("-")))
        });
      });
      SocialButtonIcon = (0, import_react179.forwardRef)((props, ref) => {
        const { icon: icon2, label, id, textLocalizationKey, lastAuthenticationStrategy, ...rest } = props;
        if (lastAuthenticationStrategy) return /* @__PURE__ */ jsx2(SocialButtonBlock, {
          ...props,
          ref
        });
        return /* @__PURE__ */ jsx2(Button2, {
          ref,
          elementDescriptor: descriptors.socialButtonsIconButton,
          elementId: descriptors.socialButtonsIconButton.setId(id),
          textVariant: "buttonLarge",
          variant: "outline",
          colorScheme: "neutral",
          hoverAsFocus: true,
          sx: (t2) => ({
            minHeight: t2.sizes.$8,
            width: "100%"
          }),
          ...rest,
          children: icon2
        });
      });
      SocialButtonBlock = (0, import_react179.forwardRef)((props, ref) => {
        const { id, icon: icon2, isLoading, label, textLocalizationKey, lastAuthenticationStrategy, ...rest } = props;
        const isIconElement = (0, import_react179.isValidElement)(icon2);
        return /* @__PURE__ */ jsxs2(SimpleButton2, {
          elementDescriptor: descriptors.socialButtonsBlockButton,
          elementId: descriptors.socialButtonsBlockButton.setId(id),
          variant: "outline",
          block: true,
          isLoading,
          hoverAsFocus: true,
          ref,
          ...rest,
          sx: (theme) => [{
            gap: theme.space.$4,
            position: "relative",
            justifyContent: "flex-start"
          }, props.sx],
          children: [lastAuthenticationStrategy && /* @__PURE__ */ jsx2(LastAuthenticationStrategyBadge, { overlay: true }), /* @__PURE__ */ jsxs2(Flex2, {
            justify: "center",
            align: "center",
            as: "span",
            gap: 3,
            sx: {
              width: "100%",
              overflow: "hidden"
            },
            children: [(isLoading || icon2) && /* @__PURE__ */ jsx2(Flex2, {
              as: "span",
              center: true,
              sx: (theme) => ({ flex: `0 0 ${theme.space.$4}` }),
              children: isLoading ? /* @__PURE__ */ jsx2(Spinner, {
                size: "sm",
                elementDescriptor: descriptors.spinner
              }) : !isIconElement && icon2 ? /* @__PURE__ */ jsx2(Icon, {
                icon: icon2,
                sx: [(theme) => ({
                  color: theme.colors.$neutralAlpha600,
                  width: theme.sizes.$4,
                  position: "absolute"
                })]
              }) : icon2
            }), /* @__PURE__ */ jsx2(Text2, {
              elementDescriptor: descriptors.socialButtonsBlockButtonText,
              elementId: descriptors.socialButtonsBlockButtonText.setId(id),
              as: "span",
              truncate: true,
              variant: "buttonLarge",
              localizationKey: textLocalizationKey,
              children: label
            })]
          })]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpSocialButtons.js
  var import_react181, SignUpSocialButtons;
  var init_SignUpSocialButtons = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpSocialButtons.js"() {
      init_RouteContext();
      init_SignUp();
      init_CoreClientContext();
      init_contexts();
      init_errorHandler();
      init_web3CallbackErrorHandler();
      init_originPrefersPopup();
      init_SocialButtons();
      import_react181 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      SignUpSocialButtons = import_react181.default.memo((props) => {
        const clerk2 = useClerk();
        const { navigate } = useRouter();
        const card = useCardState();
        const ctx = useSignUpContext();
        const signUp = useCoreSignUp();
        const redirectUrl = ctx.ssoCallbackUrl;
        const redirectUrlComplete = ctx.afterSignUpUrl || "/";
        const shouldUsePopup = ctx.oauthFlow === "popup" || ctx.oauthFlow === "auto" && originPrefersPopup();
        const { continueSignUp = false, onAlternativePhoneCodeProviderClick, ...rest } = props;
        return /* @__PURE__ */ jsx2(SocialButtons, {
          ...rest,
          showLastAuthenticationStrategy: false,
          idleAfterDelay: !shouldUsePopup,
          oauthCallback: (strategy) => {
            if (shouldUsePopup) {
              const popup = window.open("about:blank", "", "width=600,height=800");
              const interval = setInterval(() => {
                if (!popup || popup.closed) {
                  clearInterval(interval);
                  card.setIdle();
                }
              }, 500);
              return signUp.authenticateWithPopup({
                strategy,
                redirectUrl,
                redirectUrlComplete,
                popup,
                continueSignUp,
                unsafeMetadata: ctx.unsafeMetadata,
                legalAccepted: props.legalAccepted,
                oidcPrompt: ctx.oidcPrompt
              }).catch((err) => handleError(err, [], card.setError));
            }
            return signUp.authenticateWithRedirect({
              continueSignUp,
              redirectUrl,
              redirectUrlComplete,
              strategy,
              unsafeMetadata: ctx.unsafeMetadata,
              legalAccepted: props.legalAccepted,
              oidcPrompt: ctx.oidcPrompt
            }).catch((err) => handleError(err, [], card.setError));
          },
          web3Callback: (strategy) => {
            if (strategy === "web3_solana_signature") return navigate(`choose-wallet?strategy=${strategy}`);
            return clerk2.authenticateWithWeb3({
              customNavigate: navigate,
              redirectUrl: redirectUrlComplete,
              signUpContinueUrl: "continue",
              unsafeMetadata: ctx.unsafeMetadata,
              strategy,
              legalAccepted: props.legalAccepted
            }).catch((err) => web3CallbackErrorHandler(err, card.setError));
          },
          alternativePhoneCodeCallback: (channel) => {
            onAlternativePhoneCodeProviderClick?.(channel);
          }
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/util.js
  var util_exports = {};
  __export(util_exports, {
    completeSignUpFlow: () => completeSignUpFlow
  });
  var init_util2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/util.js"() {
      init_completeSignUpFlow();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpContinue.js
  function SignUpContinueInternal() {
    const card = useCardState();
    const clerk2 = useClerk();
    const { navigate } = useRouter();
    const { displayConfig, userSettings } = useEnvironment();
    const { attributes, usernameSettings } = userSettings;
    const { t: t2, locale } = useLocalizations();
    const { afterSignUpUrl, signInUrl, unsafeMetadata, initialValues = {}, isCombinedFlow: _isCombinedFlow, navigateOnSetActive } = useSignUpContext();
    const signUp = useCoreSignUp();
    const isWithinSignInContext = !!import_react183.default.useContext(SignInContext);
    const isCombinedFlow = !!(_isCombinedFlow && !!isWithinSignInContext);
    const isProgressiveSignUp = userSettings.signUp.progressive;
    const [activeCommIdentifierType, setActiveCommIdentifierType] = import_react183.default.useState(getInitialActiveIdentifier(attributes, userSettings.signUp.progressive));
    const ctx = useSignUpContext();
    const formState = {
      firstName: useFormControl("firstName", initialValues.firstName || "", {
        type: "text",
        label: localizationKeys("formFieldLabel__firstName"),
        placeholder: localizationKeys("formFieldInputPlaceholder__firstName")
      }),
      lastName: useFormControl("lastName", initialValues.lastName || "", {
        type: "text",
        label: localizationKeys("formFieldLabel__lastName"),
        placeholder: localizationKeys("formFieldInputPlaceholder__lastName")
      }),
      emailAddress: useFormControl("emailAddress", initialValues.emailAddress || signUp.emailAddress || "", {
        type: "email",
        label: localizationKeys("formFieldLabel__emailAddress"),
        placeholder: localizationKeys("formFieldInputPlaceholder__emailAddress")
      }),
      username: useFormControl("username", initialValues.username || "", {
        type: "text",
        label: localizationKeys("formFieldLabel__username"),
        placeholder: localizationKeys("formFieldInputPlaceholder__username"),
        transformer: (value) => value.trim(),
        buildErrorMessage: (errors) => createUsernameError(errors, {
          t: t2,
          locale,
          usernameSettings
        })
      }),
      phoneNumber: useFormControl("phoneNumber", initialValues.phoneNumber || "", {
        type: "tel",
        label: localizationKeys("formFieldLabel__phoneNumber"),
        placeholder: localizationKeys("formFieldInputPlaceholder__phoneNumber")
      }),
      password: useFormControl("password", "", {
        type: "password",
        label: localizationKeys("formFieldLabel__password"),
        placeholder: localizationKeys("formFieldInputPlaceholder__signUpPassword"),
        validatePassword: true
      }),
      legalAccepted: useFormControl("legalAccepted", "", {
        type: "checkbox",
        label: "",
        defaultChecked: false,
        isRequired: userSettings.signUp.legal_consent_enabled || false
      })
    };
    const onlyLegalConsentMissing = (0, import_react183.useMemo)(() => signUp.missingFields && signUp.missingFields.length === 1 && signUp.missingFields[0] === "legal_accepted" && signUp.unverifiedFields && signUp.unverifiedFields.length === 0, [signUp.missingFields, signUp.unverifiedFields]);
    (0, import_react183.useEffect)(() => {
      if (!signUp.id && clerk2.__internal_setActiveInProgress !== true) navigate(displayConfig.signUpUrl);
    }, []);
    if (!signUp.id) return /* @__PURE__ */ jsx2(LoadingCard, {});
    const hasEmail = !!formState.emailAddress.value;
    const hasVerifiedExternalAccount = signUp.verifications?.externalAccount?.status == "verified";
    const fields = determineActiveFields({
      attributes,
      hasEmail,
      activeCommIdentifierType,
      signUp,
      isProgressiveSignUp,
      legalConsentRequired: userSettings.signUp.legal_consent_enabled
    });
    minimizeFieldsForExistingSignup(fields, signUp);
    const oauthOptions = userSettings.authenticatableSocialStrategies;
    const handleChangeActive = (type2) => {
      if (!emailOrPhone(attributes, isProgressiveSignUp)) return;
      setActiveCommIdentifierType(type2);
    };
    const handleSubmit = async (e3) => {
      e3.preventDefault();
      const fieldsToSubmit = Object.entries(fields).reduce((acc, [k, v]) => [...acc, ...v && formState[k] ? [formState[k]] : []], []);
      if (unsafeMetadata) fieldsToSubmit.push({
        id: "unsafeMetadata",
        value: unsafeMetadata
      });
      const emailAddressProvided = !!(fieldsToSubmit.find((f3) => f3.id === "emailAddress")?.value || "");
      const phoneNumberProvided = !!(fieldsToSubmit.find((f3) => f3.id === "phoneNumber")?.value || "");
      if (signUp.missingFields.includes("email_address") && signUp.missingFields.includes("phone_number") && !emailAddressProvided && !phoneNumberProvided && emailOrPhone(attributes, isProgressiveSignUp)) {
        fieldsToSubmit.push(formState.emailAddress);
        fieldsToSubmit.push(formState.phoneNumber);
      }
      card.setLoading();
      card.setError(void 0);
      return signUp.update(buildRequest(fieldsToSubmit)).then((res) => completeSignUpFlow({
        signUp: res,
        verifyEmailPath: "./verify-email-address",
        verifyPhonePath: "./verify-phone-number",
        handleComplete: () => clerk2.setActive({
          session: res.createdSessionId,
          navigate: async ({ session, decorateUrl }) => {
            await navigateOnSetActive({
              session,
              redirectUrl: afterSignUpUrl,
              decorateUrl
            });
          }
        }),
        navigate,
        oidcPrompt: ctx.oidcPrompt
      })).catch((err) => handleError(err, fieldsToSubmit, card.setError)).finally(() => card.setIdle());
    };
    const canToggleEmailPhone = emailOrPhone(attributes, isProgressiveSignUp);
    const showOauthProviders = !hasVerifiedExternalAccount && oauthOptions.length > 0;
    const headerTitle = !onlyLegalConsentMissing ? localizationKeys("signUp.continue.title") : localizationKeys("signUp.legalConsent.continue.title");
    const headerSubtitle = !onlyLegalConsentMissing ? localizationKeys("signUp.continue.subtitle") : localizationKeys("signUp.legalConsent.continue.subtitle");
    return /* @__PURE__ */ jsx2(Flow.Part, {
      part: "complete",
      children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
        /* @__PURE__ */ jsxs2(Header.Root, {
          showLogo: true,
          children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: headerTitle }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: headerSubtitle })]
        }),
        /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
        /* @__PURE__ */ jsx2(Flex2, {
          direction: "col",
          elementDescriptor: descriptors.main,
          gap: 8,
          children: /* @__PURE__ */ jsxs2(SocialButtonsReversibleContainerWithDivider, { children: [showOauthProviders && !onlyLegalConsentMissing && /* @__PURE__ */ jsx2(SignUpSocialButtons, {
            enableOAuthProviders: showOauthProviders,
            enableWeb3Providers: false,
            enableAlternativePhoneCodeProviders: false,
            continueSignUp: true
          }), /* @__PURE__ */ jsx2(SignUpForm, {
            handleSubmit,
            fields,
            formState,
            onlyLegalAcceptedMissing: onlyLegalConsentMissing,
            canToggleEmailPhone,
            handleEmailPhoneToggle: handleChangeActive
          })] })
        })
      ] }), /* @__PURE__ */ jsx2(Card.Footer, { children: !isCombinedFlow ? /* @__PURE__ */ jsxs2(Card.Action, {
        elementId: "signUp",
        children: [/* @__PURE__ */ jsx2(Card.ActionText, { localizationKey: localizationKeys("signUp.continue.actionText") }), /* @__PURE__ */ jsx2(Card.ActionLink, {
          localizationKey: localizationKeys("signUp.continue.actionLink"),
          to: isCombinedFlow ? "../../" : clerk2.buildUrlWithAuth(signInUrl)
        })]
      }) : null })] })
    });
  }
  var import_react183, SignUpContinue;
  var init_SignUpContinue = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpContinue.js"() {
      init_RouteContext();
      init_EnvironmentContext();
      init_localizationKeys();
      init_SignIn();
      init_SignUp();
      init_CoreClientContext();
      init_makeLocalizable();
      init_useFormControl();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      init_errorHandler();
      init_LoadingCard();
      init_ReversibleContainer();
      init_usernameUtils();
      init_SignUpForm();
      init_signUpFormHelpers();
      init_SignUpSocialButtons();
      init_util2();
      import_react183 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      SignUpContinue = withCardStateProvider(SignUpContinueInternal);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/ChooseEnterpriseConnectionCard.js
  var import_react185, ChooseEnterpriseConnectionCard, ChooseEnterpriseConnectionButton;
  var init_ChooseEnterpriseConnectionCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/ChooseEnterpriseConnectionCard.js"() {
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      import_react185 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ChooseEnterpriseConnectionCard = ({ title, subtitle, onClick, enterpriseConnections }) => {
        const card = useCardState();
        return /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
          /* @__PURE__ */ jsxs2(Header.Root, {
            showLogo: true,
            children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: title }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: subtitle })]
          }),
          /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
          /* @__PURE__ */ jsx2(Grid2, {
            elementDescriptor: descriptors.enterpriseConnectionsRoot,
            gap: 2,
            children: enterpriseConnections?.map(({ id, name }) => /* @__PURE__ */ jsx2(ChooseEnterpriseConnectionButton, {
              id,
              label: name,
              onClick
            }, id))
          })
        ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] });
      };
      ChooseEnterpriseConnectionButton = (props) => {
        const { label, onClick, ...rest } = props;
        const [isLoading, setIsLoading] = (0, import_react185.useState)(false);
        const handleClick = () => {
          setIsLoading(true);
          onClick(props.id).catch(() => setIsLoading(false));
        };
        return /* @__PURE__ */ jsx2(SimpleButton2, {
          elementDescriptor: descriptors.enterpriseConnectionButton,
          variant: "outline",
          block: true,
          isLoading,
          hoverAsFocus: true,
          onClick: handleClick,
          ...rest,
          sx: (theme) => [{
            gap: theme.space.$4,
            position: "relative",
            justifyContent: "flex-start"
          }, rest.sx],
          children: /* @__PURE__ */ jsxs2(Flex2, {
            justify: "center",
            align: "center",
            as: "span",
            gap: 3,
            sx: {
              width: "100%",
              overflow: "hidden"
            },
            children: [isLoading && /* @__PURE__ */ jsx2(Flex2, {
              as: "span",
              center: true,
              sx: (theme) => ({ flex: `0 0 ${theme.space.$4}` }),
              children: /* @__PURE__ */ jsx2(Spinner, {
                size: "sm",
                elementDescriptor: descriptors.spinner
              })
            }), /* @__PURE__ */ jsx2(Text2, {
              elementDescriptor: descriptors.enterpriseConnectionButtonText,
              as: "span",
              truncate: true,
              variant: "buttonLarge",
              children: label
            })]
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpEnterpriseConnections.js
  var SignUpEnterpriseConnectionsInternal, SignUpEnterpriseConnections;
  var init_SignUpEnterpriseConnections = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpEnterpriseConnections.js"() {
      init_useFetch();
      init_localizationKeys();
      init_SignUp();
      init_contexts();
      init_Flow();
      init_LoadingCard();
      init_withRedirect();
      init_ChooseEnterpriseConnectionCard();
      init_emotion_react_jsx_runtime_browser_esm();
      init_react();
      SignUpEnterpriseConnectionsInternal = () => {
        const clerk2 = useClerk();
        const ctx = useSignUpContext();
        const signUp = clerk2.client.signUp;
        const { data: enterpriseConnections, isLoading } = useFetch(signUp?.__experimental_getEnterpriseConnections, { signUpId: signUp.id });
        const handleEnterpriseSSO = (enterpriseConnectionId) => {
          const redirectUrl = ctx.ssoCallbackUrl;
          const redirectUrlComplete = ctx.afterSignUpUrl || "/";
          return signUp.authenticateWithRedirect({
            strategy: "enterprise_sso",
            redirectUrl,
            redirectUrlComplete,
            continueSignUp: true,
            enterpriseConnectionId
          });
        };
        if (!isLoading && !enterpriseConnections?.length) return null;
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "enterpriseConnections",
          children: enterpriseConnections?.length ? /* @__PURE__ */ jsx2(ChooseEnterpriseConnectionCard, {
            title: localizationKeys("signUp.enterpriseConnections.title"),
            subtitle: localizationKeys("signUp.enterpriseConnections.subtitle"),
            onClick: handleEnterpriseSSO,
            enterpriseConnections
          }) : isLoading ? /* @__PURE__ */ jsx2(LoadingCard, {}) : null
        });
      };
      SignUpEnterpriseConnections = withRedirectToAfterSignUp(withCardStateProvider(SignUpEnterpriseConnectionsInternal));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/SSOCallback.js
  var import_react187, SSOCallback, SSOCallbackCard;
  var init_SSOCallback = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/SSOCallback.js"() {
      init_RouteContext();
      init_contexts();
      init_Flow();
      init_Card();
      init_errorHandler();
      init_CaptchaElement();
      init_LoadingCard();
      import_react187 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      SSOCallback = withCardStateProvider((props) => {
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "ssoCallback",
          children: /* @__PURE__ */ jsx2(SSOCallbackCard, { ...props })
        });
      });
      SSOCallbackCard = (props) => {
        const { handleRedirectCallback, __internal_setActiveInProgress } = useClerk();
        const { navigate } = useRouter();
        const card = useCardState();
        import_react187.default.useEffect(() => {
          let timeoutId;
          if (__internal_setActiveInProgress !== true) {
            const intent = new URLSearchParams(window.location.search).get("intent");
            const reloadResource = intent === "signIn" || intent === "signUp" ? intent : void 0;
            handleRedirectCallback({
              ...props,
              reloadResource
            }, navigate).catch((e3) => {
              handleError(e3, [], card.setError);
              timeoutId = setTimeout(() => void navigate("../"), 4e3);
            });
          }
          return () => clearTimeout(timeoutId);
        }, [handleError, handleRedirectCallback]);
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "ssoCallback",
          children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
            /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
            /* @__PURE__ */ jsx2(LoadingCardContainer, {}),
            /* @__PURE__ */ jsx2(CaptchaElement, {})
          ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpSSOCallback.js
  var SignUpSSOCallback;
  var init_SignUpSSOCallback = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpSSOCallback.js"() {
      init_SSOCallback();
      init_withRedirect();
      SignUpSSOCallback = withRedirectToSignUpTask(withRedirectToAfterSignUp(SSOCallback));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/constants.js
  var FirstFactorConfigs, groupIdentifiers, getIdentifierControlDisplayValues, PREFERRED_SIGN_IN_STRATEGIES;
  var init_constants5 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/constants.js"() {
      init_localizationKeys();
      FirstFactorConfigs = Object.freeze({
        email_address_username: {
          label: localizationKeys("formFieldLabel__emailAddress_username"),
          placeholder: localizationKeys("formFieldInputPlaceholder__emailAddress_username"),
          type: "text",
          action: localizationKeys("signIn.start.actionLink__use_email_username"),
          validLastAuthenticationStrategies: /* @__PURE__ */ new Set([
            "email_code",
            "email_link",
            "email_address",
            "username",
            "password"
          ])
        },
        email_address: {
          label: localizationKeys("formFieldLabel__emailAddress"),
          placeholder: localizationKeys("formFieldInputPlaceholder__emailAddress"),
          type: "email",
          action: localizationKeys("signIn.start.actionLink__use_email"),
          validLastAuthenticationStrategies: /* @__PURE__ */ new Set([
            "email_code",
            "email_link",
            "email_address",
            "password"
          ])
        },
        phone_number: {
          label: localizationKeys("formFieldLabel__phoneNumber"),
          placeholder: localizationKeys("formFieldInputPlaceholder__phoneNumber"),
          type: "tel",
          action: localizationKeys("signIn.start.actionLink__use_phone"),
          validLastAuthenticationStrategies: /* @__PURE__ */ new Set(["phone_code", "password"])
        },
        username: {
          label: localizationKeys("formFieldLabel__username"),
          placeholder: localizationKeys("formFieldInputPlaceholder__username"),
          type: "text",
          action: localizationKeys("signIn.start.actionLink__use_username"),
          validLastAuthenticationStrategies: /* @__PURE__ */ new Set(["username", "password"])
        },
        default: {
          label: "",
          placeholder: "",
          type: "text",
          action: "",
          validLastAuthenticationStrategies: /* @__PURE__ */ new Set()
        }
      });
      groupIdentifiers = (attributes) => {
        let newAttributes = [...attributes.filter((a2) => a2 !== "passkey")];
        if (["email_address", "username"].every((r2) => newAttributes.includes(r2))) {
          newAttributes = newAttributes.filter((a2) => !["email_address", "username"].includes(a2));
          newAttributes.unshift("email_address_username");
        }
        return newAttributes;
      };
      getIdentifierControlDisplayValues = (identifiers, identifier2) => {
        const index3 = identifiers.indexOf(identifier2);
        if (index3 === -1) return {
          currentIdentifier: { ...FirstFactorConfigs["default"] },
          nextIdentifier: void 0
        };
        return {
          currentIdentifier: { ...FirstFactorConfigs[identifier2] },
          nextIdentifier: identifiers.length > 1 ? { ...FirstFactorConfigs[identifiers[(index3 + 1) % identifiers.length]] } : void 0
        };
      };
      PREFERRED_SIGN_IN_STRATEGIES = Object.freeze({
        Password: "password",
        OTP: "otp"
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/factorSorting.js
  var makeSortingOrderMap, STRATEGY_SORT_ORDER_PASSWORD_PREF, STRATEGY_SORT_ORDER_OTP_PREF, STRATEGY_SORT_ORDER_ALL_STRATEGIES_BUTTONS, STRATEGY_SORT_ORDER_BACKUP_CODE_PREF, makeSortingFunction, passwordPrefFactorComparator, otpPrefFactorComparator, backupCodePrefFactorComparator, allStrategiesButtonsComparator;
  var init_factorSorting = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/factorSorting.js"() {
      makeSortingOrderMap = (arr) => arr.reduce((acc, k, i2) => {
        acc[k] = i2;
        return acc;
      }, {});
      STRATEGY_SORT_ORDER_PASSWORD_PREF = makeSortingOrderMap([
        "passkey",
        "password",
        "email_link",
        "email_code",
        "phone_code"
      ]);
      STRATEGY_SORT_ORDER_OTP_PREF = makeSortingOrderMap([
        "email_link",
        "email_code",
        "phone_code",
        "passkey",
        "password"
      ]);
      STRATEGY_SORT_ORDER_ALL_STRATEGIES_BUTTONS = makeSortingOrderMap([
        "email_link",
        "email_code",
        "phone_code",
        "passkey",
        "password"
      ]);
      STRATEGY_SORT_ORDER_BACKUP_CODE_PREF = makeSortingOrderMap([
        "totp",
        "phone_code",
        "backup_code"
      ]);
      makeSortingFunction = (sortingMap) => (a2, b2) => {
        const orderA = sortingMap[a2.strategy];
        const orderB = sortingMap[b2.strategy];
        if (orderA === void 0 || orderB === void 0) return 0;
        return orderA - orderB;
      };
      passwordPrefFactorComparator = makeSortingFunction(STRATEGY_SORT_ORDER_PASSWORD_PREF);
      otpPrefFactorComparator = makeSortingFunction(STRATEGY_SORT_ORDER_OTP_PREF);
      backupCodePrefFactorComparator = makeSortingFunction(STRATEGY_SORT_ORDER_BACKUP_CODE_PREF);
      allStrategiesButtonsComparator = makeSortingFunction(STRATEGY_SORT_ORDER_ALL_STRATEGIES_BUTTONS);
    }
  });

  // node_modules/@clerk/shared/dist/runtime/browser-CMFCxUv7.mjs
  function inBrowser2() {
    return typeof window !== "undefined";
  }
  function userAgentIsRobot(userAgent) {
    return !userAgent ? false : botAgentRegex.test(userAgent);
  }
  function isValidBrowser() {
    const navigator2 = inBrowser2() ? window?.navigator : null;
    if (!navigator2) return false;
    return !userAgentIsRobot(navigator2?.userAgent) && !navigator2?.webdriver;
  }
  var botAgentRegex;
  var init_browser_CMFCxUv7 = __esm({
    "node_modules/@clerk/shared/dist/runtime/browser-CMFCxUv7.mjs"() {
      botAgentRegex = new RegExp([
        "bot",
        "spider",
        "crawl",
        "APIs-Google",
        "AdsBot",
        "Googlebot",
        "mediapartners",
        "Google Favicon",
        "FeedFetcher",
        "Google-Read-Aloud",
        "DuplexWeb-Google",
        "googleweblight",
        "bing",
        "yandex",
        "baidu",
        "duckduck",
        "yahoo",
        "ecosia",
        "ia_archiver",
        "facebook",
        "instagram",
        "pinterest",
        "reddit",
        "slack",
        "twitter",
        "whatsapp",
        "youtube",
        "semrush"
      ].join("|"), "i");
    }
  });

  // node_modules/@clerk/shared/dist/runtime/webauthn.mjs
  function isWebAuthnSupported() {
    return isValidBrowser() && typeof window.PublicKeyCredential === "function";
  }
  async function isWebAuthnAutofillSupported() {
    try {
      return isWebAuthnSupported() && await window.PublicKeyCredential.isConditionalMediationAvailable();
    } catch {
      return false;
    }
  }
  var init_webauthn = __esm({
    "node_modules/@clerk/shared/dist/runtime/webauthn.mjs"() {
      init_browser_CMFCxUv7();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/utils.js
  function findPasskeyStrategy(factors) {
    if (isWebAuthnSupported()) {
      const passkeyFactor = factors.find(({ strategy }) => strategy === "passkey");
      if (passkeyFactor) return passkeyFactor;
    }
    return null;
  }
  function determineStrategyWhenPasswordIsPreferred(factors, identifier2) {
    const passkeyFactor = findPasskeyStrategy(factors);
    if (passkeyFactor) return passkeyFactor;
    const selected = factors.sort(passwordPrefFactorComparator)[0];
    if (selected.strategy === "password") return selected;
    return factors.find(factorForIdentifier(identifier2)) || selected || null;
  }
  function determineStrategyWhenOTPIsPreferred(factors, identifier2) {
    const passkeyFactor = findPasskeyStrategy(factors);
    if (passkeyFactor) return passkeyFactor;
    const sortedBasedOnPrefFactor = factors.sort(otpPrefFactorComparator);
    const forIdentifier = sortedBasedOnPrefFactor.find(factorForIdentifier(identifier2));
    if (forIdentifier) return forIdentifier;
    const firstBasedOnPref = sortedBasedOnPrefFactor[0];
    if (firstBasedOnPref.strategy === "email_link") return firstBasedOnPref;
    return factors.find(factorForIdentifier(identifier2)) || firstBasedOnPref || null;
  }
  function determineStartingSignInFactor(firstFactors, identifier2, preferredSignInStrategy) {
    if (!firstFactors || firstFactors.length === 0) return null;
    return preferredSignInStrategy === PREFERRED_SIGN_IN_STRATEGIES.Password ? determineStrategyWhenPasswordIsPreferred(firstFactors, identifier2) : determineStrategyWhenOTPIsPreferred(firstFactors, identifier2);
  }
  function factorHasLocalStrategy(factor) {
    if (!factor) return false;
    return localStrategies.includes(factor.strategy);
  }
  function determineStartingSignInSecondFactor(secondFactors) {
    if (!secondFactors || secondFactors.length === 0) return null;
    const totpFactor = secondFactors.find((f3) => f3.strategy === "totp");
    if (totpFactor) return totpFactor;
    const phoneCodeFactor = secondFactors.find((f3) => f3.strategy === "phone_code");
    if (phoneCodeFactor) return phoneCodeFactor;
    return secondFactors[0];
  }
  function getSignUpAttributeFromIdentifier(identifier2) {
    if (identifier2.type === "tel") return "phoneNumber";
    if (isEmail(identifier2.value)) return "emailAddress";
    return "username";
  }
  var factorForIdentifier, localStrategies, resetPasswordStrategies, isResetPasswordStrategy, isEmail, getPreferredAlternativePhoneChannel, getPreferredAlternativePhoneChannelForCombinedFlow;
  var init_utils10 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/utils.js"() {
      init_constants5();
      init_phoneUtils();
      init_factorSorting();
      init_underscore();
      init_webauthn();
      factorForIdentifier = (i2) => (f3) => {
        return "safeIdentifier" in f3 && f3.safeIdentifier === i2;
      };
      localStrategies = [
        "passkey",
        "email_code",
        "password",
        "phone_code",
        "email_link"
      ];
      resetPasswordStrategies = ["reset_password_phone_code", "reset_password_email_code"];
      isResetPasswordStrategy = (strategy) => !!strategy && resetPasswordStrategies.includes(strategy);
      isEmail = (str) => /^\S+@\S+\.\S+$/.test(str);
      getPreferredAlternativePhoneChannel = (fields, preferredChannels, phoneNumberFieldName) => {
        if (!preferredChannels) return null;
        const strategy = fields.find((f3) => f3.id === "strategy")?.value;
        if (!!strategy && strategy !== "phone_code") return null;
        const phoneNumber = fields.find((f3) => f3.id === phoneNumberFieldName)?.value;
        if (!phoneNumber || !phoneNumber?.startsWith("+")) return null;
        const preferredChannel = getPreferredPhoneCodeChannelByCountry(phoneNumber, preferredChannels);
        if (preferredChannel === "sms") return null;
        return preferredChannel;
      };
      getPreferredAlternativePhoneChannelForCombinedFlow = (preferredChannels, identifierAttribute, identifierValue) => {
        if (!preferredChannels) return null;
        if (!identifierAttribute || identifierAttribute !== "phoneNumber") return null;
        if (!identifierValue || !identifierValue?.startsWith("+")) return null;
        const preferredChannel = getPreferredPhoneCodeChannelByCountry(identifierValue, preferredChannels);
        if (preferredChannel === "sms") return null;
        return preferredChannel;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/block.js
  function _extends27() {
    return _extends27 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends27.apply(null, arguments);
  }
  var React$129, _path31, SvgBlock, block_default;
  var init_block = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/block.js"() {
      React$129 = __toESM(require_react(), 1);
      SvgBlock = function SvgBlock$1(props) {
        return /* @__PURE__ */ React$129.createElement("svg", _extends27({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 48 48"
        }, props), _path31 || (_path31 = /* @__PURE__ */ React$129.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M12.996 16.178A13.44 13.44 0 0 0 10.5 24c0 7.456 6.044 13.5 13.5 13.5 2.916 0 5.615-.924 7.822-2.496zm3.182-3.182 18.826 18.826A13.44 13.44 0 0 0 37.5 24c0-7.456-6.044-13.5-13.5-13.5-2.916 0-5.615.924-7.822 2.496m20.55 23.731A17.94 17.94 0 0 0 42 24c0-9.941-8.059-18-18-18S6 14.059 6 24s8.059 18 18 18c4.97 0 9.468-2.014 12.725-5.27l.003-.002z",
          clipRule: "evenodd"
        })));
      };
      block_default = SvgBlock;
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/email.mjs
  function buildEmailAddress({ localPart, frontendApi }) {
    return `${localPart}@${frontendApi ? frontendApi.replace("clerk.", "") : "clerk.com"}`;
  }
  var init_email = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/email.mjs"() {
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useSupportEmail.js
  function useSupportEmail() {
    const Clerk = useClerk();
    const { supportEmail: supportEmailFromOptions } = useOptions();
    const { displayConfig } = useEnvironment();
    const { supportEmail: supportEmailFromEnvironment } = displayConfig;
    return import_react189.default.useMemo(() => supportEmailFromOptions || supportEmailFromEnvironment || buildEmailAddress({
      localPart: "support",
      frontendApi: Clerk.frontendApi
    }), [
      Clerk.frontendApi,
      supportEmailFromOptions,
      supportEmailFromEnvironment
    ]);
  }
  var import_react189;
  var init_useSupportEmail = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useSupportEmail.js"() {
      init_OptionsContext();
      init_EnvironmentContext();
      import_react189 = __toESM(require_react(), 1);
      init_react();
      init_email();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpRestrictedAccess.js
  var SignUpRestrictedAccess;
  var init_SignUpRestrictedAccess = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpRestrictedAccess.js"() {
      init_RouteContext();
      init_EnvironmentContext();
      init_localizationKeys();
      init_block();
      init_SignUp();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_useSupportEmail();
      init_constants();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      SignUpRestrictedAccess = () => {
        const clerk2 = useClerk();
        const card = useCardState();
        const { navigate } = useRouter();
        const { signInUrl, waitlistUrl } = useSignUpContext();
        const supportEmail = useSupportEmail();
        const { userSettings } = useEnvironment();
        const { mode } = userSettings.signUp;
        const handleEmailSupport = () => {
          window.location.href = `mailto:${supportEmail}`;
        };
        const handleWaitlistNavigate = async () => {
          await navigate(clerk2.buildUrlWithAuth(waitlistUrl));
        };
        const subtitle = mode === SIGN_UP_MODES.RESTRICTED ? localizationKeys("signUp.restrictedAccess.subtitle") : localizationKeys("signUp.restrictedAccess.subtitleWaitlist");
        return /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
          /* @__PURE__ */ jsxs2(Header.Root, {
            showLogo: true,
            children: [
              /* @__PURE__ */ jsx2(Icon, {
                icon: block_default,
                sx: (t2) => ({
                  margin: "auto",
                  width: t2.sizes.$10,
                  height: t2.sizes.$10
                })
              }),
              /* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("signUp.restrictedAccess.title") }),
              /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: subtitle })
            ]
          }),
          /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
          mode === SIGN_UP_MODES.RESTRICTED && supportEmail && /* @__PURE__ */ jsx2(Flex2, {
            direction: "col",
            gap: 4,
            children: /* @__PURE__ */ jsx2(Button2, {
              localizationKey: localizationKeys("signUp.restrictedAccess.blockButton__emailSupport"),
              onClick: handleEmailSupport
            })
          }),
          mode === SIGN_UP_MODES.WAITLIST && /* @__PURE__ */ jsx2(Flex2, {
            direction: "col",
            gap: 4,
            children: /* @__PURE__ */ jsx2(Button2, {
              localizationKey: localizationKeys("signUp.restrictedAccess.blockButton__joinWaitlist"),
              onClick: handleWaitlistNavigate
            })
          })
        ] }), /* @__PURE__ */ jsx2(Card.Footer, { children: /* @__PURE__ */ jsxs2(Card.Action, {
          elementId: "signUp",
          children: [/* @__PURE__ */ jsx2(Card.ActionText, { localizationKey: localizationKeys("signUp.restrictedAccess.actionText") }), /* @__PURE__ */ jsx2(Card.ActionLink, {
            localizationKey: localizationKeys("signUp.restrictedAccess.actionLink"),
            to: clerk2.buildUrlWithAuth(signInUrl)
          })]
        }) })] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpStartAlternativePhoneCodePhoneNumberCard.js
  var SignUpStartAlternativePhoneCodePhoneNumberCard;
  var init_SignUpStartAlternativePhoneCodePhoneNumberCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpStartAlternativePhoneCodePhoneNumberCard.js"() {
      init_useEnabledThirdPartyProviders();
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_ProviderIcon();
      init_Form2();
      init_CaptchaElement();
      init_LegalConsentCheckbox();
      init_emotion_react_jsx_runtime_browser_esm();
      SignUpStartAlternativePhoneCodePhoneNumberCard = (props) => {
        const { handleSubmit, fields, formState, onUseAnotherMethod, phoneCodeProvider } = props;
        const { providerToDisplayData: providerToDisplayData2, strategyToDisplayData: strategyToDisplayData2 } = useEnabledThirdPartyProviders();
        const provider = phoneCodeProvider.name;
        const channel = phoneCodeProvider.channel;
        const card = useCardState();
        const strategyData = strategyToDisplayData2[channel];
        const shouldShow = (name) => {
          return !!fields[name] && fields[name]?.required;
        };
        return /* @__PURE__ */ jsx2(Card.Root, { children: /* @__PURE__ */ jsxs2(Card.Content, { children: [
          /* @__PURE__ */ jsxs2(Header.Root, {
            showLogo: true,
            showDivider: true,
            children: [
              /* @__PURE__ */ jsx2(Col2, {
                center: true,
                children: providerToDisplayData2[phoneCodeProvider.channel] && /* @__PURE__ */ jsx2(ProviderIcon, {
                  id: phoneCodeProvider.channel,
                  iconUrl: providerToDisplayData2[phoneCodeProvider.channel].iconUrl,
                  name: strategyData?.name || channel || provider,
                  alt: `${strategyData?.name || channel || provider} logo`,
                  size: "$7",
                  sx: (theme) => ({ marginBottom: theme.sizes.$6 })
                })
              }),
              /* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("signUp.start.alternativePhoneCodeProvider.title", { provider }) }),
              /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("signUp.start.alternativePhoneCodeProvider.subtitle", { provider }) })
            ]
          }),
          /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
          /* @__PURE__ */ jsx2(Flex2, {
            direction: "col",
            elementDescriptor: descriptors.main,
            gap: 6,
            children: /* @__PURE__ */ jsxs2(Form$1.Root, {
              onSubmit: handleSubmit,
              gap: 8,
              children: [
                /* @__PURE__ */ jsx2(Col2, {
                  gap: 6,
                  children: /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                    elementId: "phoneNumber",
                    children: /* @__PURE__ */ jsx2(Form$1.PhoneInput, {
                      ...formState.phoneNumber.props,
                      label: localizationKeys("signUp.start.alternativePhoneCodeProvider.label", { provider: provider || "" }),
                      isRequired: true,
                      isOptional: false,
                      actionLabel: void 0,
                      onActionClicked: void 0
                    })
                  })
                }),
                /* @__PURE__ */ jsxs2(Col2, {
                  center: true,
                  children: [/* @__PURE__ */ jsx2(CaptchaElement, {}), /* @__PURE__ */ jsxs2(Col2, {
                    gap: 6,
                    sx: { width: "100%" },
                    children: [shouldShow("legalAccepted") && /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                      elementId: "legalAccepted",
                      children: /* @__PURE__ */ jsx2(LegalCheckbox, {
                        ...formState.legalAccepted.props,
                        isRequired: fields.legalAccepted?.required
                      })
                    }), /* @__PURE__ */ jsx2(Form$1.SubmitButton, {
                      hasArrow: true,
                      localizationKey: localizationKeys("formButtonPrimary")
                    })]
                  })]
                }),
                /* @__PURE__ */ jsx2(Col2, {
                  center: true,
                  children: /* @__PURE__ */ jsx2(Button2, {
                    variant: "link",
                    colorScheme: "neutral",
                    onClick: onUseAnotherMethod,
                    localizationKey: localizationKeys("signUp.start.alternativePhoneCodeProvider.actionLink")
                  })
                })
              ]
            })
          })
        ] }) });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpStart.js
  function SignUpStartInternal() {
    const card = useCardState();
    const clerk2 = useClerk();
    const status = useLoadingStatus();
    const signUp = useCoreSignUp();
    const { showOptionalFields } = useAppearance().parsedOptions;
    const { userSettings, authConfig } = useEnvironment();
    const { navigate } = useRouter();
    const { attributes } = userSettings;
    const { setActive } = useClerk();
    const ctx = useSignUpContext();
    const isWithinSignInContext = !!import_react192.default.useContext(SignInContext);
    const { afterSignUpUrl, signInUrl, unsafeMetadata, navigateOnSetActive } = ctx;
    const isCombinedFlow = !!(ctx.isCombinedFlow && !!isWithinSignInContext);
    const [activeCommIdentifierType, setActiveCommIdentifierType] = import_react192.default.useState(() => getInitialActiveIdentifier(attributes, userSettings.signUp.progressive, {
      phoneNumber: ctx.initialValues?.phoneNumber === null ? void 0 : ctx.initialValues?.phoneNumber,
      emailAddress: ctx.initialValues?.emailAddress === null ? void 0 : ctx.initialValues?.emailAddress,
      ...isCombinedFlow ? {
        emailAddress: signUp.emailAddress,
        phoneNumber: signUp.phoneNumber
      } : {}
    }));
    const { t: t2, locale } = useLocalizations();
    const initialValues = ctx.initialValues || {};
    const [alternativePhoneCodeProvider, setAlternativePhoneCodeProvider] = import_react192.default.useState(null);
    const [missingRequirementsWithTicket, setMissingRequirementsWithTicket] = import_react192.default.useState(false);
    const { userSettings: { passwordSettings, usernameSettings } } = useEnvironment();
    const { mode } = userSettings.signUp;
    const formState = {
      firstName: useFormControl("firstName", signUp.firstName || initialValues.firstName || "", {
        type: "text",
        label: localizationKeys("formFieldLabel__firstName"),
        placeholder: localizationKeys("formFieldInputPlaceholder__firstName")
      }),
      lastName: useFormControl("lastName", signUp.lastName || initialValues.lastName || "", {
        type: "text",
        label: localizationKeys("formFieldLabel__lastName"),
        placeholder: localizationKeys("formFieldInputPlaceholder__lastName")
      }),
      emailAddress: useFormControl("emailAddress", signUp.emailAddress || initialValues.emailAddress || "", {
        type: "email",
        label: localizationKeys("formFieldLabel__emailAddress"),
        placeholder: localizationKeys("formFieldInputPlaceholder__emailAddress")
      }),
      username: useFormControl("username", signUp.username || initialValues.username || "", {
        type: "text",
        label: localizationKeys("formFieldLabel__username"),
        placeholder: localizationKeys("formFieldInputPlaceholder__username"),
        transformer: (value) => value.trim(),
        buildErrorMessage: (errors) => createUsernameError(errors, {
          t: t2,
          locale,
          usernameSettings
        })
      }),
      phoneNumber: useFormControl("phoneNumber", signUp.phoneNumber || initialValues.phoneNumber || "", {
        type: "tel",
        label: localizationKeys("formFieldLabel__phoneNumber"),
        placeholder: localizationKeys("formFieldInputPlaceholder__phoneNumber")
      }),
      legalAccepted: useFormControl("legalAccepted", "", {
        type: "checkbox",
        label: "",
        defaultChecked: false,
        isRequired: userSettings.signUp.legal_consent_enabled || false
      }),
      password: useFormControl("password", "", {
        type: "password",
        label: localizationKeys("formFieldLabel__password"),
        placeholder: localizationKeys("formFieldInputPlaceholder__signUpPassword"),
        validatePassword: true,
        buildErrorMessage: (errors) => createPasswordError(errors, {
          t: t2,
          locale,
          passwordSettings
        })
      }),
      ticket: useFormControl("ticket", getClerkQueryParam("__clerk_ticket") || getClerkQueryParam("__clerk_invitation_token") || "")
    };
    const hasTicket = !!formState.ticket.value;
    const hasExistingSignUpWithTicket = !!(signUp.id && signUp.status !== null && (getClerkQueryParam("__clerk_ticket") || getClerkQueryParam("__clerk_invitation_token")));
    const hasEmail = !!formState.emailAddress.value;
    const isProgressiveSignUp = userSettings.signUp.progressive;
    const isLegalConsentEnabled = userSettings.signUp.legal_consent_enabled;
    const oidcPrompt = ctx.oidcPrompt;
    const fields = determineActiveFields({
      attributes,
      hasTicket: hasTicket || hasExistingSignUpWithTicket,
      hasEmail,
      activeCommIdentifierType,
      isProgressiveSignUp,
      legalConsentRequired: isLegalConsentEnabled
    });
    const handleTokenFlow = () => {
      if (!formState.ticket.value) return;
      status.setLoading();
      card.setLoading();
      signUp.create({
        strategy: "ticket",
        ticket: formState.ticket.value,
        unsafeMetadata
      }).then((signUp$1) => {
        formState.emailAddress.setValue(signUp$1.emailAddress || "");
        if (signUp$1.status === "missing_requirements") setMissingRequirementsWithTicket(true);
        const redirectUrl = ctx.ssoCallbackUrl;
        return completeSignUpFlow({
          signUp: signUp$1,
          redirectUrl,
          redirectUrlComplete: ctx.afterSignUpUrl || "/",
          verifyEmailPath: "verify-email-address",
          verifyPhonePath: "verify-phone-number",
          continuePath: "continue",
          handleComplete: () => {
            removeClerkQueryParam("__clerk_ticket");
            removeClerkQueryParam("__clerk_invitation_token");
            return setActive({
              session: signUp$1.createdSessionId,
              navigate: async ({ session, decorateUrl }) => {
                await navigateOnSetActive({
                  session,
                  redirectUrl: afterSignUpUrl,
                  decorateUrl
                });
              }
            });
          },
          navigate,
          oidcPrompt
        });
      }).catch((err) => {
        formState.ticket.setValue("");
        handleError(err, [], card.setError);
      }).finally(() => {
        if (signUp.missingFields.some((mf) => mf === "enterprise_sso")) return;
        status.setIdle();
        card.setIdle();
      });
    };
    import_react192.default.useLayoutEffect(() => {
      handleTokenFlow();
    }, []);
    import_react192.default.useEffect(() => {
      async function handleOauthError() {
        const error2 = signUp.verifications.externalAccount.error;
        if (error2) {
          switch (error2.code) {
            case ERROR_CODES.NOT_ALLOWED_TO_SIGN_UP:
            case ERROR_CODES.OAUTH_ACCESS_DENIED:
            case ERROR_CODES.NOT_ALLOWED_ACCESS:
            case ERROR_CODES.SAML_USER_ATTRIBUTE_MISSING:
            case ERROR_CODES.OAUTH_EMAIL_DOMAIN_RESERVED_BY_SAML:
            case ERROR_CODES.USER_LOCKED:
            case ERROR_CODES.ENTERPRISE_SSO_USER_ATTRIBUTE_MISSING:
            case ERROR_CODES.ENTERPRISE_SSO_EMAIL_ADDRESS_DOMAIN_MISMATCH:
            case ERROR_CODES.ENTERPRISE_SSO_HOSTED_DOMAIN_MISMATCH:
            case ERROR_CODES.SAML_EMAIL_ADDRESS_DOMAIN_MISMATCH:
            case ERROR_CODES.ORGANIZATION_MEMBERSHIP_QUOTA_EXCEEDED_FOR_SSO:
            case ERROR_CODES.CAPTCHA_INVALID:
            case ERROR_CODES.FRAUD_DEVICE_BLOCKED:
            case ERROR_CODES.FRAUD_ACTION_BLOCKED:
            case ERROR_CODES.SIGNUP_RATE_LIMIT_EXCEEDED:
            case ERROR_CODES.USER_BANNED:
            case ERROR_CODES.USER_DEACTIVATED:
              card.setError(error2);
              break;
            default:
              card.setError("Unable to complete action at this time. If the problem persists please contact support.");
          }
          await signUp.create({});
        }
      }
      handleOauthError();
    }, []);
    const handleChangeActive = (type2) => {
      if (!emailOrPhone(attributes, isProgressiveSignUp)) return;
      setActiveCommIdentifierType(type2);
    };
    const handleSubmit = async (e3) => {
      e3.preventDefault();
      const fieldsToSubmit = Object.entries(fields).reduce((acc, [k, v]) => {
        acc.push(...v && formState[k] ? [formState[k]] : []);
        return acc;
      }, []);
      if (unsafeMetadata) fieldsToSubmit.push({
        id: "unsafeMetadata",
        value: unsafeMetadata
      });
      if (fields.ticket || hasExistingSignUpWithTicket) {
        const noop7 = () => {
        };
        fieldsToSubmit.push({
          id: "strategy",
          value: "ticket",
          clearFeedback: noop7,
          setValue: noop7,
          onChange: noop7,
          setError: noop7
        });
        if (!formState.ticket.value && hasExistingSignUpWithTicket) {
          const ticketValue = getClerkQueryParam("__clerk_ticket") || getClerkQueryParam("__clerk_invitation_token");
          if (ticketValue) fieldsToSubmit.push({
            id: "ticket",
            value: ticketValue,
            clearFeedback: noop7,
            setValue: noop7,
            onChange: noop7,
            setError: noop7
          });
        }
      }
      const preferredAlternativePhoneChannel = alternativePhoneCodeProvider?.channel || getPreferredAlternativePhoneChannel(fieldsToSubmit, authConfig.preferredChannels, "phoneNumber");
      if (preferredAlternativePhoneChannel) {
        const noop7 = () => {
        };
        fieldsToSubmit.push({
          id: "strategy",
          value: "phone_code",
          clearFeedback: noop7,
          setValue: noop7,
          onChange: noop7,
          setError: noop7
        });
        fieldsToSubmit.push({
          id: "channel",
          value: preferredAlternativePhoneChannel,
          clearFeedback: noop7,
          setValue: noop7,
          onChange: noop7,
          setError: noop7
        });
      }
      const emailAddressProvided = !!(fieldsToSubmit.find((f3) => f3.id === "emailAddress")?.value || "");
      const phoneNumberProvided = !!(fieldsToSubmit.find((f3) => f3.id === "phoneNumber")?.value || "");
      if (!emailAddressProvided && !phoneNumberProvided && emailOrPhone(attributes, isProgressiveSignUp)) {
        fieldsToSubmit.push(formState.emailAddress);
        fieldsToSubmit.push(formState.phoneNumber);
      }
      card.setLoading();
      card.setError(void 0);
      const redirectUrl = ctx.ssoCallbackUrl;
      const redirectUrlComplete = ctx.afterSignUpUrl || "/";
      let signUpAttempt;
      if (!fields.ticket && !hasExistingSignUpWithTicket) signUpAttempt = signUp.create(buildRequest(fieldsToSubmit));
      else signUpAttempt = signUp.upsert(buildRequest(fieldsToSubmit));
      return signUpAttempt.then((res) => completeSignUpFlow({
        signUp: res,
        verifyEmailPath: "verify-email-address",
        verifyPhonePath: "verify-phone-number",
        handleComplete: () => setActive({
          session: res.createdSessionId,
          navigate: async ({ session, decorateUrl }) => {
            await navigateOnSetActive({
              session,
              redirectUrl: afterSignUpUrl,
              decorateUrl
            });
          }
        }),
        navigate,
        redirectUrl,
        redirectUrlComplete,
        oidcPrompt
      })).catch((err) => {
        if (isClerkAPIResponseError2(err) && err.errors?.[0]?.code === "enterprise_connection_id_is_required_with_multiple_connections") return navigate("./enterprise-connections");
        return handleError(err, fieldsToSubmit, card.setError);
      }).finally(() => card.setIdle());
    };
    if (status.isLoading) return /* @__PURE__ */ jsx2(LoadingCard, {});
    const canToggleEmailPhone = emailOrPhone(attributes, isProgressiveSignUp);
    const visibleFields = Object.entries(fields).filter(([key, opts]) => {
      if ((key === "emailAddress" || key === "phoneNumber") && canToggleEmailPhone) return !!opts;
      return showOptionalFields || opts?.required;
    });
    const shouldShowForm = showFormFields(userSettings) && visibleFields.length > 0;
    const showOauthProviders = (!(hasTicket || hasExistingSignUpWithTicket) || missingRequirementsWithTicket) && userSettings.authenticatableSocialStrategies.length > 0;
    const showWeb3Providers = !(hasTicket || hasExistingSignUpWithTicket) && userSettings.web3FirstFactors.length > 0;
    const showAlternativePhoneCodeProviders = !(hasTicket || hasExistingSignUpWithTicket) && userSettings.alternativePhoneCodeChannels.length > 0;
    const onAlternativePhoneCodeUseAnotherMethod = () => {
      setAlternativePhoneCodeProvider(null);
    };
    const onAlternativePhoneCodeProviderClick = (phoneCodeChannel) => {
      setAlternativePhoneCodeProvider(getAlternativePhoneCodeProviderData(phoneCodeChannel) || null);
    };
    if (mode !== SIGN_UP_MODES.PUBLIC && !(hasTicket || hasExistingSignUpWithTicket)) return /* @__PURE__ */ jsx2(SignUpRestrictedAccess, {});
    return /* @__PURE__ */ jsx2(Flow.Part, {
      part: "start",
      children: !alternativePhoneCodeProvider ? /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
        /* @__PURE__ */ jsxs2(Header.Root, {
          showLogo: true,
          children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: isCombinedFlow ? localizationKeys("signUp.start.titleCombined") : localizationKeys("signUp.start.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: isCombinedFlow ? localizationKeys("signUp.start.subtitleCombined") : localizationKeys("signUp.start.subtitle") })]
        }),
        /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
        /* @__PURE__ */ jsxs2(Flex2, {
          direction: "col",
          elementDescriptor: descriptors.main,
          gap: 6,
          children: [/* @__PURE__ */ jsxs2(SocialButtonsReversibleContainerWithDivider, { children: [(showOauthProviders || showWeb3Providers || showAlternativePhoneCodeProviders) && /* @__PURE__ */ jsx2(SignUpSocialButtons, {
            enableOAuthProviders: showOauthProviders,
            enableWeb3Providers: showWeb3Providers,
            enableAlternativePhoneCodeProviders: showAlternativePhoneCodeProviders,
            onAlternativePhoneCodeProviderClick,
            continueSignUp: missingRequirementsWithTicket,
            legalAccepted: Boolean(formState.legalAccepted.checked) || void 0
          }), shouldShowForm && /* @__PURE__ */ jsx2(SignUpForm, {
            handleSubmit,
            fields,
            formState,
            canToggleEmailPhone,
            handleEmailPhoneToggle: handleChangeActive
          })] }), !shouldShowForm && /* @__PURE__ */ jsx2(CaptchaElement, {})]
        })
      ] }), /* @__PURE__ */ jsx2(Card.Footer, { children: /* @__PURE__ */ jsxs2(Card.Action, {
        elementId: "signUp",
        children: [/* @__PURE__ */ jsx2(Card.ActionText, { localizationKey: localizationKeys("signUp.start.actionText") }), /* @__PURE__ */ jsx2(Card.ActionLink, {
          localizationKey: localizationKeys("signUp.start.actionLink"),
          to: isCombinedFlow ? "../" : clerk2.buildUrlWithAuth(signInUrl)
        })]
      }) })] }) : /* @__PURE__ */ jsx2(SignUpStartAlternativePhoneCodePhoneNumberCard, {
        handleSubmit,
        fields,
        formState,
        onUseAnotherMethod: onAlternativePhoneCodeUseAnotherMethod,
        phoneCodeProvider: alternativePhoneCodeProvider
      })
    });
  }
  var import_react192, SignUpStart;
  var init_SignUpStart = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpStart.js"() {
      init_RouteContext();
      init_EnvironmentContext();
      init_useLoadingStatus();
      init_localizationKeys();
      init_passwordUtils();
      init_SignIn();
      init_SignUp();
      init_CoreClientContext();
      init_makeLocalizable();
      init_useFormControl();
      init_elementDescriptors();
      init_AppearanceContext();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      init_errorHandler();
      init_CaptchaElement();
      init_LoadingCard();
      init_withRedirect();
      init_utils10();
      init_ReversibleContainer();
      init_usernameUtils();
      init_SignUpForm();
      init_signUpFormHelpers();
      init_SignUpSocialButtons();
      init_util2();
      init_SignUpRestrictedAccess();
      init_SignUpStartAlternativePhoneCodePhoneNumberCard();
      init_error();
      import_react192 = __toESM(require_react(), 1);
      init_constants();
      init_queryParams();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_alternativePhoneCode();
      SignUpStart = withRedirectToSignUpTask(withRedirectToAfterSignUp(withCardStateProvider(SignUpStartInternal)));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpVerificationCodeForm.js
  var import_react194, SignUpVerificationCodeForm;
  var init_SignUpVerificationCodeForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpVerificationCodeForm.js"() {
      init_RouteContext();
      init_SignIn();
      init_SignUp();
      init_VerificationCodeCard();
      init_util2();
      import_react194 = __toESM(require_react(), 1);
      init_queryParams();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      SignUpVerificationCodeForm = (props) => {
        const { afterSignUpUrl, navigateOnSetActive, isCombinedFlow: _isCombinedFlow } = useSignUpContext();
        const { setActive } = useClerk();
        const { navigate } = useRouter();
        const isCombinedFlow = !!(!!import_react194.default.useContext(SignInContext) && _isCombinedFlow);
        const goBack = () => {
          const params = forwardClerkQueryParams();
          return navigate(isCombinedFlow ? "../../" : "../", { searchParams: params });
        };
        const action = (code, resolve, reject) => {
          props.attempt(code).then(async (res) => {
            await resolve();
            return completeSignUpFlow({
              signUp: res,
              verifyEmailPath: "../verify-email-address",
              verifyPhonePath: "../verify-phone-number",
              continuePath: "../continue",
              handleComplete: () => setActive({
                session: res.createdSessionId,
                navigate: async ({ session, decorateUrl }) => {
                  await navigateOnSetActive({
                    session,
                    redirectUrl: afterSignUpUrl,
                    decorateUrl
                  });
                }
              }),
              navigate
            });
          }).catch((err) => {
            return reject(err);
          });
        };
        return /* @__PURE__ */ jsx2(VerificationCodeCard, {
          cardTitle: props.cardTitle,
          cardSubtitle: props.cardSubtitle,
          resendButton: props.resendButton,
          onCodeEntryFinishedAction: action,
          onResendCodeClicked: props.prepare,
          safeIdentifier: props.safeIdentifier,
          onIdentityPreviewEditClicked: goBack,
          alternativeMethodsLabel: props.alternativeMethodsLabel,
          onShowAlternativeMethodsClicked: props.onShowAlternativeMethodsClicked,
          showAlternativeMethods: props.showAlternativeMethods
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpEmailCodeCard.js
  var SignUpEmailCodeCard;
  var init_SignUpEmailCodeCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpEmailCodeCard.js"() {
      init_useFetch();
      init_localizationKeys();
      init_CoreClientContext();
      init_contexts();
      init_Flow();
      init_errorHandler();
      init_SignUpVerificationCodeForm();
      init_emotion_react_jsx_runtime_browser_esm();
      SignUpEmailCodeCard = () => {
        const signUp = useCoreSignUp();
        const card = useCardState();
        const emailVerificationStatus = signUp.verifications.emailAddress.status;
        const shouldAvoidPrepare = !signUp.status || emailVerificationStatus === "verified";
        const prepare = () => {
          if (shouldAvoidPrepare) return;
          return signUp.prepareEmailAddressVerification({ strategy: "email_code" }).catch((err) => handleError(err, [], card.setError));
        };
        useFetch(shouldAvoidPrepare ? void 0 : () => signUp.prepareEmailAddressVerification({ strategy: "email_code" }), {
          name: "prepare",
          strategy: "email_code",
          number: signUp.emailAddress
        }, {
          staleTime: 100,
          onError: (err) => handleError(err, [], card.setError)
        });
        const attempt = (code) => signUp.attemptEmailAddressVerification({ code });
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "emailCode",
          children: /* @__PURE__ */ jsx2(SignUpVerificationCodeForm, {
            cardTitle: localizationKeys("signUp.emailCode.title"),
            cardSubtitle: localizationKeys("signUp.emailCode.subtitle"),
            inputLabel: localizationKeys("signUp.emailCode.formSubtitle"),
            resendButton: localizationKeys("signUp.emailCode.resendButton"),
            prepare,
            attempt,
            safeIdentifier: signUp.emailAddress
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useEmailLink.js
  function useEmailLink(resource) {
    const { startEmailLinkFlow, cancelEmailLinkFlow } = import_react196.default.useMemo(() => resource.createEmailLinkFlow(), [resource]);
    import_react196.default.useEffect(() => {
      return cancelEmailLinkFlow;
    }, []);
    return {
      startEmailLinkFlow,
      cancelEmailLinkFlow
    };
  }
  var import_react196;
  var init_useEmailLink = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useEmailLink.js"() {
      import_react196 = __toESM(require_react(), 1);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/VerificationLinkCard.js
  var import_react197, VerificationLinkCard, VerificationLink;
  var init_VerificationLinkCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/VerificationLinkCard.js"() {
      init_RouteContext();
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      init_TimerButton();
      init_IdentityPreview();
      import_react197 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      VerificationLinkCard = (props) => {
        const { navigate } = useRouter();
        const card = useCardState();
        const goBack = () => {
          return navigate("../");
        };
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "emailLinkVerify",
          children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
            /* @__PURE__ */ jsxs2(Header.Root, {
              showLogo: true,
              children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: props.cardTitle }), /* @__PURE__ */ jsxs2(VerificationLink, {
                formSubtitle: props.formSubtitle,
                resendButton: props.resendButton,
                onResendCodeClicked: props.onResendCodeClicked,
                children: [" ", /* @__PURE__ */ jsx2(IdentityPreview, {
                  identifier: props.safeIdentifier,
                  avatarUrl: props.profileImageUrl,
                  onClick: goBack
                })]
              })]
            }),
            /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
            props.cardNotice && /* @__PURE__ */ jsx2(Alert2, {
              colorScheme: "warning",
              children: /* @__PURE__ */ jsx2(Text2, {
                colorScheme: "warning",
                localizationKey: props.cardNotice,
                variant: "caption"
              })
            }),
            /* @__PURE__ */ jsx2(Card.Action, {
              elementId: "alternativeMethods",
              children: props.onShowAlternativeMethodsClicked && /* @__PURE__ */ jsx2(Card.ActionLink, {
                localizationKey: localizationKeys("footerActionLink__useAnotherMethod"),
                onClick: props.onShowAlternativeMethodsClicked
              })
            })
          ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] })
        });
      };
      VerificationLink = (props) => {
        const card = useCardState();
        return /* @__PURE__ */ jsxs2(Col2, {
          elementDescriptor: descriptors.form,
          gap: 1,
          children: [/* @__PURE__ */ jsxs2(Col2, {
            elementDescriptor: descriptors.formHeader,
            gap: 1,
            children: [!!props.formSubtitle && /* @__PURE__ */ jsx2(Text2, {
              localizationKey: props.formSubtitle,
              elementDescriptor: descriptors.formHeaderSubtitle,
              colorScheme: "secondary"
            }), props.children]
          }), /* @__PURE__ */ jsx2(TimerButton, {
            localizationKey: props.resendButton,
            elementDescriptor: descriptors.formResendCodeLink,
            onClick: props.onResendCodeClicked,
            startDisabled: true,
            isDisabled: card.isLoading,
            throttleTimeInSec: 60,
            sx: (theme) => ({
              marginTop: theme.space.$4,
              width: "100%"
            })
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpEmailLinkCard.js
  var import_react198, SignUpEmailLinkCard;
  var init_SignUpEmailLinkCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpEmailLinkCard.js"() {
      init_RouteContext();
      init_useEmailLink();
      init_localizationKeys();
      init_SignUp();
      init_CoreClientContext();
      init_makeLocalizable();
      init_contexts();
      init_Flow();
      init_EmailLinkStatusCard();
      init_errorHandler();
      init_VerificationLinkCard();
      init_util2();
      import_react198 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      SignUpEmailLinkCard = () => {
        const { t: t2 } = useLocalizations();
        const signUp = useCoreSignUp();
        const signUpContext = useSignUpContext();
        const { afterSignUpUrl, navigateOnSetActive } = signUpContext;
        const card = useCardState();
        const { navigate } = useRouter();
        const { setActive } = useClerk();
        const [showVerifyModal, setShowVerifyModal] = import_react198.default.useState(false);
        const { startEmailLinkFlow, cancelEmailLinkFlow } = useEmailLink(signUp);
        import_react198.default.useEffect(() => {
          startEmailLinkVerification();
        }, []);
        const restartVerification = () => {
          cancelEmailLinkFlow();
          startEmailLinkVerification();
        };
        const startEmailLinkVerification = () => {
          return startEmailLinkFlow({ redirectUrl: signUpContext.emailLinkRedirectUrl }).then((res) => handleVerificationResult(res)).catch((err) => {
            handleError(err, [], card.setError);
          });
        };
        const handleVerificationResult = async (su) => {
          const ver = su.verifications.emailAddress;
          if (ver.status === "expired") card.setError(t2(localizationKeys("formFieldError__verificationLinkExpired")));
          else if (ver.verifiedFromTheSameClient()) setShowVerifyModal(true);
          else await completeSignUpFlow({
            signUp: su,
            continuePath: "../continue",
            verifyEmailPath: "../verify-email-address",
            verifyPhonePath: "../verify-phone-number",
            handleComplete: () => setActive({
              session: su.createdSessionId,
              navigate: async ({ session, decorateUrl }) => {
                await navigateOnSetActive({
                  session,
                  redirectUrl: afterSignUpUrl,
                  decorateUrl
                });
              }
            }),
            navigate
          });
        };
        if (showVerifyModal) return /* @__PURE__ */ jsx2(EmailLinkStatusCard, {
          title: localizationKeys("signUp.emailLink.verifiedSwitchTab.title"),
          subtitle: localizationKeys("signUp.emailLink.verifiedSwitchTab.subtitleNewTab"),
          status: "verified_switch_tab"
        });
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "emailLink",
          children: /* @__PURE__ */ jsx2(VerificationLinkCard, {
            cardTitle: localizationKeys("signUp.emailLink.title"),
            cardSubtitle: localizationKeys("signUp.emailLink.subtitle"),
            formTitle: localizationKeys("signUp.emailLink.formTitle"),
            formSubtitle: localizationKeys("signUp.emailLink.formSubtitle"),
            resendButton: localizationKeys("signUp.emailLink.resendButton"),
            onResendCodeClicked: restartVerification,
            safeIdentifier: signUp.emailAddress
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpVerifyEmail.js
  var SignUpVerifyEmail;
  var init_SignUpVerifyEmail = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpVerifyEmail.js"() {
      init_EnvironmentContext();
      init_contexts();
      init_SignUpEmailCodeCard();
      init_SignUpEmailLinkCard();
      init_emotion_react_jsx_runtime_browser_esm();
      SignUpVerifyEmail = withCardStateProvider(() => {
        const { userSettings } = useEnvironment();
        const { attributes } = userSettings;
        return attributes.email_address?.verifications?.includes("email_link") ? /* @__PURE__ */ jsx2(SignUpEmailLinkCard, {}) : /* @__PURE__ */ jsx2(SignUpEmailCodeCard, {});
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpPhoneCodeCard.js
  var SignUpPhoneCodeCard;
  var init_SignUpPhoneCodeCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpPhoneCodeCard.js"() {
      init_useFetch();
      init_localizationKeys();
      init_CoreClientContext();
      init_contexts();
      init_Flow();
      init_errorHandler();
      init_LoadingCard();
      init_SignUpVerificationCodeForm();
      init_emotion_react_jsx_runtime_browser_esm();
      init_alternativePhoneCode();
      SignUpPhoneCodeCard = withCardStateProvider(() => {
        const signUp = useCoreSignUp();
        const card = useCardState();
        const channel = signUp.verifications.phoneNumber.channel;
        const phoneVerificationStatus = signUp.verifications.phoneNumber.status;
        const shouldAvoidPrepare = !signUp.status || phoneVerificationStatus === "verified";
        const isAlternativePhoneCodeProvider = !!channel && channel !== "sms";
        const channelToBeSent = isAlternativePhoneCodeProvider ? channel : void 0;
        const prepare = () => {
          if (shouldAvoidPrepare) return;
          return signUp.preparePhoneNumberVerification({
            strategy: "phone_code",
            channel: channelToBeSent
          }).catch((err) => handleError(err, [], card.setError));
        };
        useFetch(shouldAvoidPrepare || isAlternativePhoneCodeProvider ? void 0 : () => signUp.preparePhoneNumberVerification({
          strategy: "phone_code",
          channel: void 0
        }), {
          name: "signUp.preparePhoneNumberVerification",
          strategy: "phone_code",
          number: signUp.phoneNumber
        }, {
          staleTime: 100,
          onError: (err) => handleError(err, [], card.setError)
        });
        const attempt = (code) => signUp.attemptPhoneNumberVerification({ code });
        let cardTitleKey = localizationKeys("signUp.phoneCode.title");
        let cardSubtitleKey = localizationKeys("signUp.phoneCode.subtitle");
        let resendButtonKey = localizationKeys("signUp.phoneCode.resendButton");
        if (isAlternativePhoneCodeProvider) {
          const provider = getAlternativePhoneCodeProviderData(channel)?.name;
          cardTitleKey = localizationKeys("signUp.alternativePhoneCodeProvider.title", { provider: provider || "" });
          cardSubtitleKey = localizationKeys("signUp.alternativePhoneCodeProvider.subtitle", { provider: provider || "" });
          resendButtonKey = localizationKeys("signUp.alternativePhoneCodeProvider.resendButton");
        }
        const prepareWithSMS = () => {
          card.setLoading();
          card.setError(void 0);
          signUp.preparePhoneNumberVerification({
            strategy: "phone_code",
            channel: void 0
          }).catch((err) => handleError(err, [], card.setError)).finally(() => card.setIdle());
        };
        if (card.isLoading) return /* @__PURE__ */ jsx2(LoadingCard, {});
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "phoneCode",
          children: /* @__PURE__ */ jsx2(SignUpVerificationCodeForm, {
            cardTitle: cardTitleKey,
            cardSubtitle: cardSubtitleKey,
            resendButton: resendButtonKey,
            prepare,
            attempt,
            safeIdentifier: signUp.phoneNumber,
            alternativeMethodsLabel: isAlternativePhoneCodeProvider ? localizationKeys("footerActionLink__alternativePhoneCodeProvider") : void 0,
            onShowAlternativeMethodsClicked: isAlternativePhoneCodeProvider ? prepareWithSMS : void 0,
            showAlternativeMethods: isAlternativePhoneCodeProvider ? true : void 0
          })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpVerifyPhone.js
  var SignUpVerifyPhone;
  var init_SignUpVerifyPhone = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/SignUpVerifyPhone.js"() {
      init_SignUpPhoneCodeCard();
      init_emotion_react_jsx_runtime_browser_esm();
      SignUpVerifyPhone = () => {
        return /* @__PURE__ */ jsx2(SignUpPhoneCodeCard, {});
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignUp/index.js
  var SignUp_exports = {};
  __export(SignUp_exports, {
    SignUp: () => SignUp,
    SignUpContinue: () => SignUpContinue,
    SignUpModal: () => SignUpModal,
    SignUpSSOCallback: () => SignUpSSOCallback,
    SignUpStart: () => SignUpStart,
    SignUpVerifyEmail: () => SignUpVerifyEmail,
    SignUpVerifyPhone: () => SignUpVerifyPhone
  });
  function RedirectToSignUp() {
    const clerk2 = useClerk();
    import_react200.default.useEffect(() => {
      clerk2.redirectToSignUp();
    }, [clerk2]);
    return null;
  }
  function SignUpRoutes() {
    usePreloadTasks();
    const signUpContext = useSignUpContext();
    return /* @__PURE__ */ jsx2(Flow.Root, {
      flow: "signUp",
      children: /* @__PURE__ */ jsxs2(Switch, { children: [
        /* @__PURE__ */ jsx2(Route, {
          path: "verify-email-address",
          canActivate: (clerk2) => !!clerk2.client.signUp.emailAddress,
          children: /* @__PURE__ */ jsx2(SignUpVerifyEmail, {})
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: "verify-phone-number",
          canActivate: (clerk2) => !!clerk2.client.signUp.phoneNumber,
          children: /* @__PURE__ */ jsx2(SignUpVerifyPhone, {})
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: "sso-callback",
          children: /* @__PURE__ */ jsx2(SignUpSSOCallback, {
            signUpUrl: signUpContext.signUpUrl,
            signInUrl: signUpContext.signInUrl,
            signUpForceRedirectUrl: signUpContext.afterSignUpUrl,
            signInForceRedirectUrl: signUpContext.afterSignInUrl,
            secondFactorUrl: signUpContext.secondFactorUrl,
            continueSignUpUrl: "../continue",
            verifyEmailAddressUrl: "../verify-email-address",
            verifyPhoneNumberUrl: "../verify-phone-number",
            unsafeMetadata: signUpContext.unsafeMetadata
          })
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: "verify",
          children: /* @__PURE__ */ jsx2(SignUpEmailLinkFlowComplete, {
            redirectUrlComplete: signUpContext.afterSignUpUrl,
            verifyEmailPath: "../verify-email-address",
            verifyPhonePath: "../verify-phone-number"
          })
        }),
        /* @__PURE__ */ jsxs2(Route, {
          path: "continue",
          children: [
            /* @__PURE__ */ jsx2(Route, {
              path: "verify-email-address",
              canActivate: (clerk2) => !!clerk2.client.signUp.emailAddress,
              children: /* @__PURE__ */ jsx2(SignUpVerifyEmail, {})
            }),
            /* @__PURE__ */ jsx2(Route, {
              path: "verify-phone-number",
              canActivate: (clerk2) => !!clerk2.client.signUp.phoneNumber,
              children: /* @__PURE__ */ jsx2(SignUpVerifyPhone, {})
            }),
            /* @__PURE__ */ jsx2(Route, {
              index: true,
              children: /* @__PURE__ */ jsx2(SignUpContinue, {})
            })
          ]
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: "tasks",
          children: /* @__PURE__ */ jsx2(SessionTasks2, { redirectUrlComplete: signUpContext.afterSignUpUrl })
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: "enterprise-connections",
          children: /* @__PURE__ */ jsx2(SignUpEnterpriseConnections, {})
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: "choose-wallet",
          children: /* @__PURE__ */ jsx2(SignUpStartSolanaWalletsCard, {})
        }),
        /* @__PURE__ */ jsx2(Route, {
          index: true,
          children: /* @__PURE__ */ jsx2(SignUpStart, {})
        }),
        /* @__PURE__ */ jsx2(Route, { children: /* @__PURE__ */ jsx2(RedirectToSignUp, {}) })
      ] })
    });
  }
  var import_react200, SignUp, InternalSignUp, SignUpModal;
  var init_SignUp2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignUp/index.js"() {
      init_components();
      init_Route();
      init_VirtualRouter();
      init_Switch();
      init_SignUp();
      init_CoreSessionContext();
      init_Flow();
      init_EmailLinkCompleteFlowCard();
      init_usePreloadTasks();
      init_SignUpStartSolanaWalletsCard();
      init_SignUpContinue();
      init_SignUpEnterpriseConnections();
      init_SignUpSSOCallback();
      init_SignUpStart();
      init_SignUpVerifyEmail();
      init_SignUpVerifyPhone();
      import_react200 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      SignUpRoutes.displayName = "SignUp";
      SignUp = withCoreSessionSwitchGuard(SignUpRoutes);
      InternalSignUp = withCoreSessionSwitchGuard(SignUpRoutes);
      SignUpModal = (props) => {
        const signUpProps = {
          signInUrl: `/${VIRTUAL_ROUTER_BASE_PATH}/sign-in`,
          waitlistUrl: `/${VIRTUAL_ROUTER_BASE_PATH}/waitlist`,
          ...props
        };
        return /* @__PURE__ */ jsx2(Route, {
          path: "sign-up",
          children: /* @__PURE__ */ jsx2(SignUpContext.Provider, {
            value: {
              componentName: "SignUp",
              ...signUpProps,
              routing: "virtual",
              mode: "modal"
            },
            children: /* @__PURE__ */ jsx2("div", { children: /* @__PURE__ */ jsx2(InternalSignUp, {
              ...signUpProps,
              routing: "virtual"
            }) })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/lazy-sign-up.js
  var import_react202, preloadSignUp, LazySignUpVerifyPhone, LazySignUpVerifyEmail, LazySignUpStart, LazySignUpSSOCallback, LazySignUpContinue, lazyCompleteSignUpFlow;
  var init_lazy_sign_up = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/lazy-sign-up.js"() {
      import_react202 = __toESM(require_react(), 1);
      preloadSignUp = () => Promise.resolve().then(() => (init_SignUp2(), SignUp_exports));
      LazySignUpVerifyPhone = (0, import_react202.lazy)(() => preloadSignUp().then((m2) => ({ default: m2.SignUpVerifyPhone })));
      LazySignUpVerifyEmail = (0, import_react202.lazy)(() => preloadSignUp().then((m2) => ({ default: m2.SignUpVerifyEmail })));
      LazySignUpStart = (0, import_react202.lazy)(() => preloadSignUp().then((m2) => ({ default: m2.SignUpStart })));
      LazySignUpSSOCallback = (0, import_react202.lazy)(() => preloadSignUp().then((m2) => ({ default: m2.SignUpSSOCallback })));
      LazySignUpContinue = (0, import_react202.lazy)(() => preloadSignUp().then((m2) => ({ default: m2.SignUpContinue })));
      lazyCompleteSignUpFlow = () => Promise.resolve().then(() => (init_util2(), util_exports)).then((m2) => m2.completeSignUpFlow);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/ResetPassword.js
  var import_react203, ResetPasswordInternal, ResetPassword;
  var init_ResetPassword = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/ResetPassword.js"() {
      init_RouteContext();
      init_EnvironmentContext();
      init_localizationKeys();
      init_passwordUtils();
      init_usePassword();
      init_CoreClientContext();
      init_makeLocalizable();
      init_useFormControl();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_errorHandler();
      init_Form2();
      init_useSupportEmail();
      init_errors();
      import_react203 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ResetPasswordInternal = () => {
        const signIn = useCoreSignIn();
        const card = useCardState();
        const { navigate } = useRouter();
        const supportEmail = useSupportEmail();
        const { userSettings: { passwordSettings } } = useEnvironment();
        const { t: t2, locale } = useLocalizations();
        const requiresNewPassword = signIn.status === "needs_new_password" && signIn.firstFactorVerification.strategy !== "reset_password_email_code" && signIn.firstFactorVerification.strategy !== "reset_password_phone_code";
        import_react203.default.useEffect(() => {
          if (requiresNewPassword) card.setError(t2(localizationKeys("signIn.resetPassword.requiredMessage")));
        }, []);
        const passwordField = useFormControl("password", "", {
          type: "password",
          label: localizationKeys("formFieldLabel__newPassword"),
          isRequired: true,
          validatePassword: true,
          buildErrorMessage: (errors) => createPasswordError(errors, {
            t: t2,
            locale,
            passwordSettings
          })
        });
        const confirmField = useFormControl("confirmPassword", "", {
          type: "password",
          label: localizationKeys("formFieldLabel__confirmPassword"),
          isRequired: true
        });
        const sessionsField = useFormControl("signOutOfOtherSessions", "", {
          type: "checkbox",
          label: localizationKeys("formFieldLabel__signOutOfOtherSessions"),
          defaultChecked: true
        });
        const { setConfirmPasswordFeedback, isPasswordMatch } = useConfirmPassword({
          passwordField,
          confirmPasswordField: confirmField
        });
        const canSubmit = isPasswordMatch;
        const validateForm = () => {
          if (passwordField.value) setConfirmPasswordFeedback(confirmField.value);
        };
        const resetPassword = async () => {
          if (!canSubmit) return;
          passwordField.clearFeedback();
          confirmField.clearFeedback();
          try {
            const { status, createdSessionId } = await signIn.resetPassword({
              password: passwordField.value,
              signOutOfOtherSessions: sessionsField.checked
            });
            switch (status) {
              case "complete":
                if (createdSessionId) {
                  const queryParams = new URLSearchParams();
                  queryParams.set("createdSessionId", createdSessionId);
                  return navigate(`../reset-password-success?${queryParams.toString()}`);
                }
                return console.error(clerkInvalidFAPIResponse(status, supportEmail));
              case "needs_second_factor":
                return navigate("../factor-two");
              default:
                return console.error(clerkInvalidFAPIResponse(status, supportEmail));
            }
          } catch (e3) {
            return handleError(e3, [passwordField, confirmField], card.setError);
          }
        };
        const goBack = () => {
          return navigate("../");
        };
        return /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
          /* @__PURE__ */ jsx2(Header.Root, {
            showLogo: true,
            children: /* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("signIn.resetPassword.title") })
          }),
          /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
          /* @__PURE__ */ jsx2(Col2, {
            elementDescriptor: descriptors.main,
            gap: 8,
            children: /* @__PURE__ */ jsxs2(Form$1.Root, {
              onSubmit: resetPassword,
              onBlur: validateForm,
              gap: 8,
              children: [/* @__PURE__ */ jsxs2(Col2, {
                gap: 6,
                children: [
                  /* @__PURE__ */ jsx2("input", {
                    readOnly: true,
                    "data-testid": "hidden-identifier",
                    id: "identifier-field",
                    name: "identifier",
                    value: signIn.identifier || "",
                    style: { display: "none" }
                  }),
                  /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                    elementId: passwordField.id,
                    children: /* @__PURE__ */ jsx2(Form$1.PasswordInput, {
                      ...passwordField.props,
                      isRequired: true,
                      autoFocus: true,
                      autoComplete: "new-password"
                    })
                  }),
                  /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                    elementId: confirmField.id,
                    children: /* @__PURE__ */ jsx2(Form$1.PasswordInput, {
                      ...confirmField.props,
                      onChange: (e3) => {
                        if (e3.target.value) setConfirmPasswordFeedback(e3.target.value);
                        return confirmField.props.onChange(e3);
                      },
                      autoComplete: "new-password"
                    })
                  }),
                  !requiresNewPassword && /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                    elementId: sessionsField.id,
                    children: /* @__PURE__ */ jsx2(Form$1.Checkbox, { ...sessionsField.props })
                  })
                ]
              }), /* @__PURE__ */ jsxs2(Col2, {
                gap: 3,
                children: [/* @__PURE__ */ jsx2(Form$1.SubmitButton, {
                  isDisabled: !canSubmit,
                  localizationKey: localizationKeys("signIn.resetPassword.formButtonPrimary")
                }), /* @__PURE__ */ jsx2(Card.Action, {
                  elementId: "alternativeMethods",
                  children: /* @__PURE__ */ jsx2(Card.ActionLink, {
                    elementDescriptor: descriptors.backLink,
                    localizationKey: localizationKeys("backButton"),
                    onClick: goBack
                  })
                })]
              })]
            })
          })
        ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] });
      };
      ResetPassword = withCardStateProvider(ResetPasswordInternal);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useSetSessionWithTimeout.js
  var import_react204, useSetSessionWithTimeout;
  var init_useSetSessionWithTimeout = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useSetSessionWithTimeout.js"() {
      init_RouteContext();
      init_SignIn();
      import_react204 = __toESM(require_react(), 1);
      init_react();
      useSetSessionWithTimeout = (delay = 2e3) => {
        const { queryString } = useRouter();
        const { setActive } = useClerk();
        const { afterSignInUrl } = useSignInContext();
        (0, import_react204.useEffect)(() => {
          let timeoutId;
          const createdSessionId = new URLSearchParams(queryString).get("createdSessionId");
          if (createdSessionId) timeoutId = setTimeout(() => {
            setActive({
              session: createdSessionId,
              redirectUrl: afterSignInUrl
            });
          }, delay);
          return () => {
            if (timeoutId) clearTimeout(timeoutId);
          };
        }, [
          setActive,
          afterSignInUrl,
          queryString
        ]);
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/ResetPasswordSuccess.js
  var ResetPasswordSuccessInternal, ResetPasswordSuccess;
  var init_ResetPasswordSuccess = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/ResetPasswordSuccess.js"() {
      init_localizationKeys();
      init_Flex();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_useSetSessionWithTimeout();
      init_emotion_react_jsx_runtime_browser_esm();
      ResetPasswordSuccessInternal = () => {
        const card = useCardState();
        useSetSessionWithTimeout();
        return /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
          /* @__PURE__ */ jsx2(Header.Root, {
            showLogo: true,
            children: /* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("signIn.resetPassword.title") })
          }),
          /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
          /* @__PURE__ */ jsxs2(Col2, {
            elementDescriptor: descriptors.main,
            gap: 8,
            children: [/* @__PURE__ */ jsx2(Text2, { localizationKey: localizationKeys("signIn.resetPassword.successMessage") }), /* @__PURE__ */ jsx2(Flex, {
              direction: "row",
              center: true,
              children: /* @__PURE__ */ jsx2(Spinner, {
                size: "xl",
                colorScheme: "primary",
                elementDescriptor: descriptors.spinner
              })
            })]
          })
        ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] });
      };
      ResetPasswordSuccess = withCardStateProvider(ResetPasswordSuccessInternal);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/UserAvatar.js
  var UserAvatar;
  var init_UserAvatar = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/UserAvatar.js"() {
      init_Avatar();
      init_emotion_react_jsx_runtime_browser_esm();
      init_user();
      UserAvatar = (props) => {
        const { name, firstName, lastName, avatarUrl, imageUrl, ...rest } = props;
        return /* @__PURE__ */ jsx2(Avatar, {
          title: getFullName({
            name,
            firstName,
            lastName
          }),
          initials: getInitials({
            name,
            firstName,
            lastName
          }),
          imageUrl: avatarUrl ? avatarUrl : imageUrl,
          ...rest
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/UserPreview.js
  var import_react206, UserPreview;
  var init_UserPreview = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/UserPreview.js"() {
      init_makeLocalizable();
      init_elementDescriptors();
      init_customizables();
      init_UserAvatar();
      import_react206 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      init_user();
      UserPreview = (props) => {
        const { user, externalAccount, enterpriseAccount, size: size5 = "md", showAvatar = true, icon: icon2, iconSx, rounded = true, imageUrl: imageUrlProp, badge, elementId, sx, title, subtitle, avatarSx, mainIdentifierSx, mainIdentifierVariant, subtitleProps, ...rest } = props;
        const { t: t2 } = useLocalizations();
        const name = getFullName({ ...user }) || getFullName({ ...externalAccount }) || getFullName({ ...enterpriseAccount });
        const identifier2 = getIdentifier({ ...user }) || externalAccount?.accountIdentifier?.() || enterpriseAccount?.emailAddress;
        const localizedTitle = t2(title);
        const imageUrl = imageUrlProp || user?.imageUrl || externalAccount?.imageUrl;
        const getAvatarSizes = (t$1) => ({
          xs: t$1.sizes.$5,
          sm: t$1.sizes.$8,
          md: t$1.sizes.$9,
          lg: t$1.sizes.$12
        })[size5];
        const mainIdentifierSize = mainIdentifierVariant || {
          xs: "subtitle",
          sm: "caption",
          md: "subtitle",
          lg: "h1"
        }[size5];
        const previewTitle = localizedTitle || name || identifier2;
        return /* @__PURE__ */ jsxs2(Flex2, {
          elementDescriptor: descriptors.userPreview,
          elementId: descriptors.userPreview.setId(elementId),
          align: "center",
          as: "span",
          sx: [(t$1) => ({
            minWidth: "0px",
            width: "fit-content",
            gap: t$1.space.$4,
            minHeight: imageUrl && !showAvatar ? getAvatarSizes(t$1) : void 0
          }), sx],
          ...rest,
          children: [imageUrl ? showAvatar ? /* @__PURE__ */ jsxs2(Flex2, {
            elementDescriptor: descriptors.userPreviewAvatarContainer,
            elementId: descriptors.userPreviewAvatarContainer.setId(elementId),
            justify: "center",
            as: "span",
            sx: { position: "relative" },
            children: [/* @__PURE__ */ jsx2(UserAvatar, {
              boxElementDescriptor: descriptors.userPreviewAvatarBox,
              imageElementDescriptor: descriptors.userPreviewAvatarImage,
              ...user,
              ...externalAccount,
              ...enterpriseAccount,
              name,
              avatarUrl: imageUrl,
              size: getAvatarSizes,
              sx: avatarSx,
              rounded
            }), icon2 && /* @__PURE__ */ jsx2(Flex2, {
              elementDescriptor: descriptors.userPreviewAvatarIcon,
              sx: [{
                position: "absolute",
                insetInlineStart: 0,
                bottom: 0
              }, iconSx],
              as: "span",
              children: icon2
            })]
          }) : null : null, /* @__PURE__ */ jsxs2(Flex2, {
            elementDescriptor: descriptors.userPreviewTextContainer,
            elementId: descriptors.userPreviewTextContainer.setId(elementId),
            direction: "col",
            justify: "center",
            as: "span",
            sx: {
              minWidth: "0px",
              textAlign: "start"
            },
            children: [/* @__PURE__ */ jsxs2(Text2, {
              elementDescriptor: descriptors.userPreviewMainIdentifier,
              elementId: descriptors.userPreviewMainIdentifier.setId(elementId),
              variant: mainIdentifierSize,
              as: "span",
              sx: [(theme) => ({
                display: "flex",
                gap: theme.sizes.$1,
                alignItems: "center"
              }), mainIdentifierSx],
              children: [previewTitle && /* @__PURE__ */ jsx2(Text2, {
                elementDescriptor: descriptors.userPreviewMainIdentifierText,
                elementId: descriptors.userPreviewMainIdentifierText.setId(elementId),
                as: "span",
                truncate: true,
                sx: { fontWeight: "inherit" },
                children: previewTitle
              }), badge]
            }), (subtitle || name && identifier2) && /* @__PURE__ */ jsx2(Text2, {
              elementDescriptor: descriptors.userPreviewSecondaryIdentifier,
              elementId: descriptors.userPreviewSecondaryIdentifier.setId(elementId),
              truncate: true,
              as: "span",
              localizationKey: subtitle || identifier2,
              colorScheme: "secondary",
              ...subtitleProps
            })]
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/constants.js
  var MIN_CLERK_JS_VERSION, USER_PROFILE_NAVBAR_ROUTE_ID, ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID, USER_BUTTON_ITEM_ID, USER_PROFILE_CARD_SCROLLBOX_ID, ORGANIZATION_PROFILE_CARD_SCROLLBOX_ID;
  var init_constants6 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/constants.js"() {
      MIN_CLERK_JS_VERSION = "6.0.0";
      USER_PROFILE_NAVBAR_ROUTE_ID = {
        ACCOUNT: "account",
        SECURITY: "security",
        BILLING: "billing",
        API_KEYS: "apiKeys"
      };
      ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID = {
        GENERAL: "general",
        MEMBERS: "members",
        BILLING: "billing",
        API_KEYS: "apiKeys"
      };
      USER_BUTTON_ITEM_ID = {
        MANAGE_ACCOUNT: "manageAccount",
        SIGN_OUT: "signOut"
      };
      USER_PROFILE_CARD_SCROLLBOX_ID = "clerk-profileCardScrollBox";
      ORGANIZATION_PROFILE_CARD_SCROLLBOX_ID = "clerk-organizationProfileScrollBox";
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/cog-filled.js
  function _extends28() {
    return _extends28 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends28.apply(null, arguments);
  }
  var React$130, _path33, SvgCogFilled, cog_filled_default;
  var init_cog_filled = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/cog-filled.js"() {
      React$130 = __toESM(require_react(), 1);
      SvgCogFilled = function SvgCogFilled$1(props) {
        return /* @__PURE__ */ React$130.createElement("svg", _extends28({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path33 || (_path33 = /* @__PURE__ */ React$130.createElement("path", {
          fillRule: "evenodd",
          d: "M6.559 2.536A.67.67 0 0 1 7.212 2h1.574a.67.67 0 0 1 .653.536l.22 1.101c.466.178.9.429 1.287.744l1.065-.36a.67.67 0 0 1 .79.298l.787 1.362a.666.666 0 0 1-.136.834l-.845.742c.079.492.079.994 0 1.486l.845.742a.666.666 0 0 1 .137.833l-.787 1.363a.67.67 0 0 1-.791.298l-1.065-.36c-.386.315-.82.566-1.286.744l-.22 1.101a.666.666 0 0 1-.654.536H7.212a.666.666 0 0 1-.653-.536l-.22-1.101a4.7 4.7 0 0 1-1.287-.744l-1.065.36a.666.666 0 0 1-.79-.298L2.41 10.32a.67.67 0 0 1 .136-.834l.845-.743a4.7 4.7 0 0 1 0-1.485l-.845-.742a.67.67 0 0 1-.137-.833l.787-1.363a.67.67 0 0 1 .791-.298l1.065.36c.387-.315.821-.566 1.287-.744zM7.999 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4",
          clipRule: "evenodd"
        })));
      };
      cog_filled_default = SvgCogFilled;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/signout.js
  function _extends29() {
    return _extends29 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends29.apply(null, arguments);
  }
  var React$131, _path34, SvgSignout, signout_default;
  var init_signout = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/signout.js"() {
      React$131 = __toESM(require_react(), 1);
      SvgSignout = function SvgSignout$1(props) {
        return /* @__PURE__ */ React$131.createElement("svg", _extends29({
          xmlns: "http://www.w3.org/2000/svg",
          viewBox: "0 0 16 16"
        }, props), _path34 || (_path34 = /* @__PURE__ */ React$131.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M2.6 2.604A2.05 2.05 0 0 1 4.052 2h3.417c.544 0 1.066.217 1.45.604.385.387.601.911.601 1.459v.688c0 .414-.334.75-.746.75a.75.75 0 0 1-.745-.75v-.689a.564.564 0 0 0-.56-.562H4.051a.56.56 0 0 0-.56.563v7.875a.564.564 0 0 0 .56.562h3.417a.56.56 0 0 0 .56-.562v-.672c0-.415.333-.75.745-.75s.746.335.746.75v.672c0 .547-.216 1.071-.6 1.458a2.05 2.05 0 0 1-1.45.604H4.05a2.05 2.05 0 0 1-1.45-.604A2.07 2.07 0 0 1 2 11.937V4.064c0-.548.216-1.072.6-1.459m8.386 3.116a.743.743 0 0 1 1.055 0l1.74 1.75a.753.753 0 0 1 0 1.06l-1.74 1.75a.743.743 0 0 1-1.055 0 .753.753 0 0 1 0-1.06l.467-.47H5.858A.75.75 0 0 1 5.112 8c0-.414.334-.75.746-.75h5.595l-.467-.47a.753.753 0 0 1 0-1.06",
          clipRule: "evenodd"
        })));
      };
      signout_default = SvgSignout;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/ExternalElementMounter.js
  var import_react207, ExternalElementMounter;
  var init_ExternalElementMounter = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/ExternalElementMounter.js"() {
      import_react207 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ExternalElementMounter = ({ mount, unmount, ...rest }) => {
        const nodeRef = (0, import_react207.useRef)(null);
        (0, import_react207.useEffect)(() => {
          let elRef;
          if (nodeRef.current) {
            elRef = nodeRef.current;
            mount(nodeRef.current);
          }
          return () => {
            unmount(elRef);
          };
        }, [nodeRef.current]);
        return /* @__PURE__ */ jsx2("div", {
          ref: nodeRef,
          ...rest
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/runtimeEnvironment.js
  var isDevelopmentSDK;
  var init_runtimeEnvironment = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/runtimeEnvironment.js"() {
      init_utils4();
      isDevelopmentSDK = (clerk2) => isDevelopmentEnvironment() || clerk2.sdkMetadata?.environment === "development";
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/sanitizeCustomLinkURL.js
  var sanitizeCustomLinkURL;
  var init_sanitizeCustomLinkURL = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/sanitizeCustomLinkURL.js"() {
      init_url();
      sanitizeCustomLinkURL = (url) => {
        if (!url) throw new Error("Clerk: URL is required for custom links");
        if (isValidUrl(url)) return url;
        return url.charAt(0) === "/" ? url : `/${url}`;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/createCustomMenuItems.js
  var createUserButtonCustomMenuItems, createCustomMenuItems, getMenuItems, getUserButtonDefaultMenuItems, isValidCustomMenuItem, isCustomMenuItem, isCustomMenuItemWithOpen, isCustomMenuLink, isReorderItem, checkForDuplicateUsageOfReorderingItems, warnForDuplicateLabels;
  var init_createCustomMenuItems = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/createCustomMenuItems.js"() {
      init_constants6();
      init_localizationKeys();
      init_cog_filled();
      init_signout();
      init_ExternalElementMounter();
      init_runtimeEnvironment();
      init_sanitizeCustomLinkURL();
      init_emotion_react_jsx_runtime_browser_esm();
      createUserButtonCustomMenuItems = (customMenuItems, clerk2) => {
        return createCustomMenuItems({
          customMenuItems,
          getDefaultMenuItems: getUserButtonDefaultMenuItems
        }, clerk2);
      };
      createCustomMenuItems = ({ customMenuItems, getDefaultMenuItems }, clerk2) => {
        const { INITIAL_MENU_ITEMS, validReorderItemLabels } = getDefaultMenuItems();
        const validCustomMenuItems = customMenuItems.filter((item) => {
          if (!isValidCustomMenuItem(item, validReorderItemLabels)) {
            if (isDevelopmentSDK(clerk2)) console.error("Clerk: Invalid custom menu item:", item);
            return false;
          }
          return true;
        });
        if (isDevelopmentSDK(clerk2)) {
          checkForDuplicateUsageOfReorderingItems(customMenuItems, validReorderItemLabels);
          warnForDuplicateLabels(validCustomMenuItems);
        }
        const { menuItems } = getMenuItems({
          customMenuItems: validCustomMenuItems,
          defaultMenuItems: INITIAL_MENU_ITEMS
        });
        return menuItems;
      };
      getMenuItems = ({ customMenuItems, defaultMenuItems }) => {
        let remainingDefaultItems = defaultMenuItems.map((r2) => r2);
        const allItems = [...customMenuItems.map((ci, index3) => {
          if (isCustomMenuLink(ci)) return {
            name: ci.label,
            id: `custom-menutItem-${index3}`,
            icon: (props) => /* @__PURE__ */ jsx2(ExternalElementMounter, {
              mount: ci.mountIcon,
              unmount: ci.unmountIcon,
              ...props
            }),
            path: sanitizeCustomLinkURL(ci.href)
          };
          if (isCustomMenuItem(ci)) return {
            name: ci.label,
            id: `custom-menutItem-${index3}`,
            icon: (props) => /* @__PURE__ */ jsx2(ExternalElementMounter, {
              mount: ci.mountIcon,
              unmount: ci.unmountIcon,
              ...props
            }),
            onClick: ci?.onClick
          };
          if (isCustomMenuItemWithOpen(ci)) return {
            name: ci.label,
            id: `custom-menutItem-${index3}`,
            icon: (props) => /* @__PURE__ */ jsx2(ExternalElementMounter, {
              mount: ci.mountIcon,
              unmount: ci.unmountIcon,
              ...props
            }),
            open: ci.open
          };
          const reorderItem = defaultMenuItems.find((item) => item.id === ci.label);
          remainingDefaultItems = remainingDefaultItems.filter((item) => item.id !== ci.label);
          return { ...reorderItem };
        }), ...remainingDefaultItems];
        if (!customMenuItems.some((item) => item.label === USER_BUTTON_ITEM_ID.MANAGE_ACCOUNT)) allItems.sort((a2) => {
          if (a2.id === USER_BUTTON_ITEM_ID.MANAGE_ACCOUNT) return -1;
          return 0;
        });
        return { menuItems: allItems };
      };
      getUserButtonDefaultMenuItems = () => {
        const INITIAL_MENU_ITEMS = [{
          name: localizationKeys("userButton.action__manageAccount"),
          id: USER_BUTTON_ITEM_ID.MANAGE_ACCOUNT,
          icon: cog_filled_default
        }, {
          name: localizationKeys("userButton.action__signOut"),
          id: USER_BUTTON_ITEM_ID.SIGN_OUT,
          icon: signout_default
        }];
        return {
          INITIAL_MENU_ITEMS,
          validReorderItemLabels: INITIAL_MENU_ITEMS.map((r2) => r2.id)
        };
      };
      isValidCustomMenuItem = (item, validReorderItemLabels) => {
        return (isCustomMenuLink(item) || isCustomMenuItem(item) || isCustomMenuItemWithOpen(item) || isReorderItem(item, validReorderItemLabels)) && typeof item.label === "string";
      };
      isCustomMenuItem = (ci) => {
        return !!ci.label && !!ci.onClick && !ci.mount && !ci.unmount && !!ci.mountIcon && !!ci.unmountIcon;
      };
      isCustomMenuItemWithOpen = (ci) => {
        return !!ci.label && !!ci.open && !ci.mount && !ci.unmount && !!ci.mountIcon && !!ci.unmountIcon;
      };
      isCustomMenuLink = (ci) => {
        return !!ci.href && !!ci.label && !ci.mount && !ci.unmount && !!ci.mountIcon && !!ci.unmountIcon;
      };
      isReorderItem = (ci, validItems) => {
        return !ci.mount && !ci.unmount && !ci.mountIcon && !ci.unmountIcon && validItems.some((v) => v === ci.label);
      };
      checkForDuplicateUsageOfReorderingItems = (customMenuItems, validReorderItems) => {
        customMenuItems.filter((ci) => isReorderItem(ci, validReorderItems)).reduce((acc, ci) => {
          if (acc.includes(ci.label)) console.error(`Clerk: The "${ci.label}" item is used more than once when reordering pages. This may cause unexpected behavior.`);
          return [...acc, ci.label];
        }, []);
      };
      warnForDuplicateLabels = (items) => {
        const labels = items.map((item) => item.label);
        const duplicates = labels.filter((label, index3) => labels.indexOf(label) !== index3);
        if (duplicates.length > 0) console.warn(`Clerk: Duplicate custom menu item labels found: ${duplicates.join(", ")}`);
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/UserButton.js
  var import_react208, UserButtonContext, useUserButtonContext;
  var init_UserButton = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/UserButton.js"() {
      init_OptionsContext();
      init_RouteContext();
      init_EnvironmentContext();
      init_createCustomMenuItems();
      import_react208 = __toESM(require_react(), 1);
      init_react();
      UserButtonContext = (0, import_react208.createContext)(null);
      useUserButtonContext = () => {
        const context = (0, import_react208.useContext)(UserButtonContext);
        const clerk2 = useClerk();
        const { navigate } = useRouter();
        const { displayConfig } = useEnvironment();
        const options2 = useOptions();
        if (!context || context.componentName !== "UserButton") throw new Error("Clerk: useUserButtonContext called outside of the mounted UserButton component.");
        const { componentName, customMenuItems, ...ctx } = context;
        const signInUrl = ctx.signInUrl || options2.signInUrl || displayConfig.signInUrl;
        const userProfileUrl = ctx.userProfileUrl || displayConfig.userProfileUrl;
        const afterSignOutUrl = clerk2.buildAfterSignOutUrl();
        const navigateAfterSignOut = () => navigate(afterSignOutUrl);
        const afterMultiSessionSingleSignOutUrl = clerk2.buildAfterMultiSessionSingleSignOutUrl();
        const navigateAfterMultiSessionSingleSignOut = () => clerk2.redirectWithAuth(afterMultiSessionSingleSignOutUrl);
        const afterSwitchSessionUrl = ctx.afterSwitchSessionUrl || displayConfig.afterSwitchSessionUrl;
        const userProfileMode = !!ctx.userProfileUrl && !ctx.userProfileMode ? "navigation" : ctx.userProfileMode;
        const menuItems = (0, import_react208.useMemo)(() => {
          return createUserButtonCustomMenuItems(customMenuItems || [], clerk2);
        }, []);
        return {
          ...ctx,
          componentName,
          navigateAfterMultiSessionSingleSignOut,
          navigateAfterSignOut,
          signInUrl,
          userProfileUrl,
          afterMultiSessionSingleSignOutUrl,
          afterSignOutUrl,
          afterSwitchSessionUrl,
          userProfileMode: userProfileMode || "modal",
          menutItems: menuItems
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserButton/SessionActions.js
  var SingleSessionActions, MultiSessionActions, SignOutAllActions;
  var init_SessionActions = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserButton/SessionActions.js"() {
      init_constants6();
      init_RouteContext();
      init_localizationKeys();
      init_add();
      init_cog_filled();
      init_signout();
      init_switch_arrow_right();
      init_UserButton();
      init_elementDescriptors();
      init_customizables();
      init_Actions();
      init_PreviewButton();
      init_UserPreview();
      init_emotion_react_jsx_runtime_browser_esm();
      SingleSessionActions = (props) => {
        const { navigate } = useRouter();
        const { handleManageAccountClicked, handleSignOutSessionClicked, handleUserProfileActionClicked, session } = props;
        const { menutItems } = useUserButtonContext();
        const commonActionSx = (t2) => ({
          borderTopWidth: t2.borderWidths.$normal,
          borderTopStyle: t2.borderStyles.$solid,
          borderTopColor: t2.colors.$borderAlpha100,
          padding: `${t2.space.$4} ${t2.space.$5}`
        });
        const handleActionClick = async (menuItem) => {
          if (menuItem?.path) {
            await navigate(menuItem.path);
            return props?.completedCallback();
          }
          if (menuItem.id === USER_BUTTON_ITEM_ID.MANAGE_ACCOUNT) return await handleManageAccountClicked();
          if (menuItem?.open) return handleUserProfileActionClicked(menuItem.open);
          menuItem.onClick?.();
          return props?.completedCallback();
        };
        return /* @__PURE__ */ jsx2(Actions, {
          role: "menu",
          elementDescriptor: descriptors.userButtonPopoverActions,
          elementId: descriptors.userButtonPopoverActions.setId("singleSession"),
          sx: (t2) => ({
            borderTopWidth: t2.borderWidths.$normal,
            borderTopStyle: t2.borderStyles.$solid,
            borderTopColor: t2.colors.$borderAlpha100
          }),
          children: menutItems?.map((item) => {
            const isDefaultItem = Object.values(USER_BUTTON_ITEM_ID).includes(item.id);
            let itemDescriptors;
            if (isDefaultItem) itemDescriptors = {
              elementDescriptor: descriptors.userButtonPopoverActionButton,
              elementId: descriptors.userButtonPopoverActionButton.setId(item.id),
              iconBoxElementDescriptor: descriptors.userButtonPopoverActionButtonIconBox,
              iconBoxElementId: descriptors.userButtonPopoverActionButtonIconBox.setId(item.id),
              iconElementDescriptor: descriptors.userButtonPopoverActionButtonIcon,
              iconElementId: descriptors.userButtonPopoverActionButtonIcon.setId(item.id)
            };
            else itemDescriptors = {
              elementDescriptor: descriptors.userButtonPopoverCustomItemButton,
              elementId: descriptors.userButtonPopoverCustomItemButton.setId(item.id),
              iconBoxElementDescriptor: descriptors.userButtonPopoverCustomItemButtonIconBox,
              iconBoxElementId: descriptors.userButtonPopoverCustomItemButtonIconBox.setId(item.id),
              iconElementDescriptor: descriptors.userButtonPopoverActionItemButtonIcon,
              iconElementId: descriptors.userButtonPopoverActionItemButtonIcon.setId(item.id)
            };
            return /* @__PURE__ */ jsx2(Action, {
              ...itemDescriptors,
              icon: item.icon,
              label: item.name,
              onClick: item.id === USER_BUTTON_ITEM_ID.SIGN_OUT ? handleSignOutSessionClicked(session) : () => handleActionClick(item),
              sx: commonActionSx,
              iconSx: (t2) => ({
                width: t2.sizes.$4,
                height: t2.sizes.$4
              })
            }, item.id);
          })
        });
      };
      MultiSessionActions = (props) => {
        const { navigate } = useRouter();
        const { handleManageAccountClicked, handleSignOutSessionClicked, handleSessionClicked, handleAddAccountClicked, handleUserProfileActionClicked, session, otherSessions } = props;
        const { menutItems } = useUserButtonContext();
        const handleActionClick = async (route) => {
          if (route?.path) {
            await navigate(route.path);
            return props?.completedCallback();
          }
          if (route.id === USER_BUTTON_ITEM_ID.MANAGE_ACCOUNT) return await handleManageAccountClicked();
          if (route?.open) return handleUserProfileActionClicked(route.open);
          route.onClick?.();
          return props?.completedCallback();
        };
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [menutItems.every((item) => Object.values(USER_BUTTON_ITEM_ID).includes(item.id)) ? /* @__PURE__ */ jsx2(SmallActions, {
          role: "menu",
          elementDescriptor: descriptors.userButtonPopoverActions,
          elementId: descriptors.userButtonPopoverActions.setId("multiSession"),
          children: /* @__PURE__ */ jsxs2(Flex2, {
            justify: "between",
            sx: (t2) => ({
              marginInlineStart: t2.space.$12,
              padding: `0 ${t2.space.$5} ${t2.space.$4}`,
              gap: t2.space.$2
            }),
            children: [/* @__PURE__ */ jsx2(SmallAction, {
              elementDescriptor: descriptors.userButtonPopoverActionButton,
              elementId: descriptors.userButtonPopoverActionButton.setId("manageAccount"),
              iconBoxElementDescriptor: descriptors.userButtonPopoverActionButtonIconBox,
              iconBoxElementId: descriptors.userButtonPopoverActionButtonIconBox.setId("manageAccount"),
              iconElementDescriptor: descriptors.userButtonPopoverActionButtonIcon,
              iconElementId: descriptors.userButtonPopoverActionButtonIcon.setId("manageAccount"),
              icon: cog_filled_default,
              label: localizationKeys("userButton.action__manageAccount"),
              onClick: handleManageAccountClicked,
              focusRing: true
            }), /* @__PURE__ */ jsx2(SmallAction, {
              elementDescriptor: descriptors.userButtonPopoverActionButton,
              elementId: descriptors.userButtonPopoverActionButton.setId("signOut"),
              iconBoxElementDescriptor: descriptors.userButtonPopoverActionButtonIconBox,
              iconBoxElementId: descriptors.userButtonPopoverActionButtonIconBox.setId("signOut"),
              iconElementDescriptor: descriptors.userButtonPopoverActionButtonIcon,
              iconElementId: descriptors.userButtonPopoverActionButtonIcon.setId("signOut"),
              icon: signout_default,
              label: localizationKeys("userButton.action__signOut"),
              onClick: handleSignOutSessionClicked(session),
              focusRing: true
            })]
          })
        }) : /* @__PURE__ */ jsx2(SmallActions, {
          role: "menu",
          elementDescriptor: descriptors.userButtonPopoverActions,
          elementId: descriptors.userButtonPopoverActions.setId("multiSession"),
          sx: (t2) => ({
            gap: t2.space.$1,
            paddingBottom: t2.space.$2
          }),
          children: menutItems?.map((item) => {
            const isDefaultItem = Object.values(USER_BUTTON_ITEM_ID).includes(item.id);
            let itemDescriptors;
            if (isDefaultItem) itemDescriptors = {
              elementDescriptor: descriptors.userButtonPopoverActionButton,
              elementId: descriptors.userButtonPopoverActionButton.setId(item.id),
              iconBoxElementDescriptor: descriptors.userButtonPopoverActionButtonIconBox,
              iconBoxElementId: descriptors.userButtonPopoverActionButtonIconBox.setId(item.id),
              iconElementDescriptor: descriptors.userButtonPopoverActionButtonIcon,
              iconElementId: descriptors.userButtonPopoverActionButtonIcon.setId(item.id)
            };
            else itemDescriptors = {
              elementDescriptor: descriptors.userButtonPopoverCustomItemButton,
              elementId: descriptors.userButtonPopoverCustomItemButton.setId(item.id),
              iconBoxElementDescriptor: descriptors.userButtonPopoverCustomItemButtonIconBox,
              iconBoxElementId: descriptors.userButtonPopoverCustomItemButtonIconBox.setId(item.id),
              iconElementDescriptor: descriptors.userButtonPopoverActionItemButtonIcon,
              iconElementId: descriptors.userButtonPopoverActionItemButtonIcon.setId(item.id)
            };
            return /* @__PURE__ */ jsx2(Action, {
              ...itemDescriptors,
              icon: item.icon,
              label: item.name,
              onClick: item.id === USER_BUTTON_ITEM_ID.SIGN_OUT ? handleSignOutSessionClicked(session) : () => handleActionClick(item),
              sx: (t2) => ({
                border: 0,
                padding: `${t2.space.$2} ${t2.space.$5}`,
                gap: t2.space.$3x5
              }),
              iconSx: (t2) => ({
                width: t2.sizes.$4,
                height: t2.sizes.$4
              }),
              iconBoxSx: (t2) => ({
                minHeight: t2.sizes.$4,
                minWidth: t2.sizes.$4,
                alignItems: "center"
              })
            }, item.id);
          })
        }), /* @__PURE__ */ jsxs2(Actions, {
          role: "menu",
          sx: (t2) => ({
            borderTopStyle: t2.borderStyles.$solid,
            borderTopWidth: t2.borderWidths.$normal,
            borderTopColor: t2.colors.$borderAlpha100
          }),
          children: [otherSessions.map((session$1) => /* @__PURE__ */ jsx2(PreviewButton, {
            icon: switch_arrow_right_default,
            onClick: handleSessionClicked(session$1),
            role: "menuitem",
            children: /* @__PURE__ */ jsx2(UserPreview, { user: session$1.user })
          }, session$1.id)), /* @__PURE__ */ jsx2(Action, {
            elementDescriptor: descriptors.userButtonPopoverActionButton,
            elementId: descriptors.userButtonPopoverActionButton.setId("addAccount"),
            iconBoxElementDescriptor: descriptors.userButtonPopoverActionButtonIconBox,
            iconBoxElementId: descriptors.userButtonPopoverActionButtonIconBox.setId("addAccount"),
            iconElementDescriptor: descriptors.userButtonPopoverActionButtonIcon,
            iconElementId: descriptors.userButtonPopoverActionButtonIcon.setId("addAccount"),
            icon: add_default,
            label: localizationKeys("userButton.action__addAccount"),
            onClick: handleAddAccountClicked,
            iconSx: (t2) => ({
              width: t2.sizes.$9,
              height: t2.sizes.$6
            }),
            iconBoxSx: (t2) => ({
              minHeight: t2.sizes.$9,
              minWidth: t2.sizes.$6,
              alignItems: "center"
            }),
            spinnerSize: "md"
          })]
        })] });
      };
      SignOutAllActions = (props) => {
        const { handleSignOutAllClicked, elementDescriptor, elementId, iconBoxElementDescriptor, iconBoxElementId, iconElementDescriptor, iconElementId, label, sx, actionSx } = props;
        return /* @__PURE__ */ jsx2(Actions, {
          role: "menu",
          sx: [(t2) => ({ padding: t2.space.$2 }), sx],
          children: /* @__PURE__ */ jsx2(Action, {
            elementDescriptor: elementDescriptor || descriptors.userButtonPopoverActionButton,
            elementId: elementId || descriptors.userButtonPopoverActionButton.setId("signOutAll"),
            iconBoxElementDescriptor: iconBoxElementDescriptor || descriptors.userButtonPopoverActionButtonIconBox,
            iconBoxElementId: iconBoxElementId || descriptors.userButtonPopoverActionButtonIconBox.setId("signOutAll"),
            iconElementDescriptor: iconElementDescriptor || descriptors.userButtonPopoverActionButtonIcon,
            iconElementId: iconElementId || descriptors.userButtonPopoverActionButtonIcon.setId("signOutAll"),
            icon: signout_default,
            label: label || localizationKeys("userButton.action__signOutAll"),
            onClick: handleSignOutAllClicked,
            variant: "ghost",
            colorScheme: "neutral",
            sx: [(t2) => ({
              backgroundColor: t2.colors.$transparent,
              padding: `${t2.space.$2} ${t2.space.$3}`,
              borderBottomWidth: 0,
              borderRadius: t2.radii.$lg
            }), actionSx],
            spinnerSize: "md"
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserButton/useMultisessionActions.js
  var useMultisessionActions;
  var init_useMultisessionActions = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserButton/useMultisessionActions.js"() {
      init_RouteContext();
      init_EnvironmentContext();
      init_contexts();
      init_sleep();
      init_useMultipleSessions();
      init_react();
      init_sessionTasks();
      init_windowNavigate();
      useMultisessionActions = (opts) => {
        const { setActive, signOut, openUserProfile } = useClerk();
        const card = useCardState();
        const { signedInSessions, otherSessions } = useMultipleSessions({ user: opts.user });
        const { navigate } = useRouter();
        const { displayConfig } = useEnvironment();
        const getContainer = usePortalRoot();
        const handleSignOutSessionClicked = (session) => () => {
          if (otherSessions.length === 0) return signOut(opts.navigateAfterSignOut);
          return signOut(opts.navigateAfterMultiSessionSingleSignOut, { sessionId: session.id }).finally(() => card.setIdle());
        };
        const handleManageAccountClicked = () => {
          if (opts.userProfileMode === "navigation") return navigate(opts.userProfileUrl || "").finally(() => {
            (async () => {
              await sleep(300);
              opts.actionCompleteCallback?.();
            })();
          });
          openUserProfile({
            getContainer,
            ...opts.userProfileProps
          });
          return opts.actionCompleteCallback?.();
        };
        const handleUserProfileActionClicked = (__experimental_startPath) => {
          if (opts.userProfileMode === "navigation") return navigate(opts.userProfileUrl || "").finally(() => {
            (async () => {
              await sleep(300);
              opts.actionCompleteCallback?.();
            })();
          });
          openUserProfile({
            getContainer,
            ...opts.userProfileProps,
            ...__experimental_startPath && { __experimental_startPath }
          });
          return opts.actionCompleteCallback?.();
        };
        const handleSignOutAllClicked = () => {
          return signOut(opts.navigateAfterSignOut);
        };
        const handleSessionClicked = (session) => async () => {
          card.setLoading();
          return setActive({
            session,
            navigate: async ({ session: session$1 }) => {
              if (!session$1.currentTask && opts.afterSwitchSessionUrl) {
                await navigate(opts.afterSwitchSessionUrl);
                return;
              }
              if (opts.taskUrl) {
                await navigate(opts.taskUrl);
                return;
              }
              await navigateIfTaskExists(session$1, {
                baseUrl: opts.signInUrl ?? displayConfig.signInUrl,
                navigate
              });
            }
          }).finally(() => {
            card.setIdle();
            opts.actionCompleteCallback?.();
          });
        };
        const handleAddAccountClicked = () => {
          windowNavigate(opts.signInUrl || window.location.href);
          return sleep(2e3);
        };
        return {
          handleSignOutSessionClicked,
          handleManageAccountClicked,
          handleUserProfileActionClicked,
          handleSignOutAllClicked,
          handleSessionClicked,
          handleAddAccountClicked,
          otherSessions,
          signedInSessions
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInAccountSwitcher.js
  var SignInAccountSwitcherInternal, SignInAccountSwitcher;
  var init_SignInAccountSwitcher = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInAccountSwitcher.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_add();
      init_switch_arrow_right();
      init_SignIn();
      init_SignOut();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      init_withRedirect();
      init_Actions();
      init_PreviewButton();
      init_UserPreview();
      init_SessionActions();
      init_useMultisessionActions();
      init_emotion_react_jsx_runtime_browser_esm();
      SignInAccountSwitcherInternal = () => {
        const card = useCardState();
        const { userProfileUrl } = useEnvironment().displayConfig;
        const { afterSignInUrl, path: signInPath, signInUrl, taskUrl } = useSignInContext();
        const { navigateAfterSignOut } = useSignOutContext();
        const { handleSignOutAllClicked, handleSessionClicked, signedInSessions, handleAddAccountClicked } = useMultisessionActions({
          taskUrl,
          navigateAfterSignOut,
          afterSwitchSessionUrl: afterSignInUrl,
          userProfileUrl,
          signInUrl: signInPath ?? signInUrl,
          user: void 0
        });
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "accountSwitcher",
          children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, {
            sx: (t2) => ({ padding: `${t2.space.$8} ${t2.space.$none} ${t2.space.$none}` }),
            children: [
              /* @__PURE__ */ jsxs2(Header.Root, { children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("signIn.accountSwitcher.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("signIn.accountSwitcher.subtitle") })] }),
              /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
              /* @__PURE__ */ jsx2(Col2, {
                elementDescriptor: descriptors.main,
                gap: 8,
                sx: (t2) => ({
                  borderTopWidth: t2.borderWidths.$normal,
                  borderTopStyle: t2.borderStyles.$solid,
                  borderTopColor: t2.colors.$borderAlpha100
                }),
                children: /* @__PURE__ */ jsxs2(Actions, {
                  role: "menu",
                  children: [signedInSessions.map((s2) => /* @__PURE__ */ jsx2(PreviewButton, {
                    onClick: handleSessionClicked(s2),
                    sx: (theme) => ({
                      height: theme.sizes.$16,
                      justifyContent: "flex-start",
                      borderRadius: 0
                    }),
                    icon: switch_arrow_right_default,
                    children: /* @__PURE__ */ jsx2(UserPreview, {
                      user: s2.user,
                      sx: { width: "100%" }
                    })
                  }, s2.id)), /* @__PURE__ */ jsx2(Action, {
                    elementDescriptor: descriptors.accountSwitcherActionButton,
                    elementId: descriptors.accountSwitcherActionButton.setId("addAccount"),
                    iconBoxElementDescriptor: descriptors.accountSwitcherActionButtonIconBox,
                    iconBoxElementId: descriptors.accountSwitcherActionButtonIconBox.setId("addAccount"),
                    iconElementDescriptor: descriptors.accountSwitcherActionButtonIcon,
                    iconElementId: descriptors.accountSwitcherActionButtonIcon.setId("addAccount"),
                    icon: add_default,
                    label: localizationKeys("signIn.accountSwitcher.action__addAccount"),
                    onClick: handleAddAccountClicked,
                    iconSx: (t2) => ({
                      width: t2.sizes.$9,
                      height: t2.sizes.$6
                    }),
                    iconBoxSx: (t2) => ({
                      minHeight: t2.sizes.$9,
                      minWidth: t2.sizes.$6,
                      alignItems: "center"
                    }),
                    spinnerSize: "md"
                  })]
                })
              })
            ]
          }), /* @__PURE__ */ jsx2(Card.Footer, {
            sx: (t2) => ({ ">:first-of-type": {
              padding: `${t2.space.$1}`,
              width: "100%"
            } }),
            children: /* @__PURE__ */ jsx2(Card.Action, {
              sx: {
                width: "100%",
                ">:first-of-type": {
                  width: "100%",
                  borderBottomWidth: 0
                }
              },
              children: /* @__PURE__ */ jsx2(SignOutAllActions, {
                handleSignOutAllClicked,
                elementDescriptor: descriptors.accountSwitcherActionButton,
                elementId: descriptors.accountSwitcherActionButton.setId("signOutAll"),
                iconBoxElementDescriptor: descriptors.accountSwitcherActionButtonIconBox,
                iconBoxElementId: descriptors.accountSwitcherActionButtonIconBox.setId("signOutAll"),
                iconElementDescriptor: descriptors.accountSwitcherActionButtonIcon,
                iconElementId: descriptors.accountSwitcherActionButtonIcon.setId("signOutAll"),
                label: localizationKeys("signIn.accountSwitcher.action__signOutAll"),
                actionSx: (t2) => ({ padding: `${t2.space.$2} ${t2.space.$2}` })
              })
            })
          })] })
        });
      };
      SignInAccountSwitcher = withRedirectToAfterSignIn(withCardStateProvider(SignInAccountSwitcherInternal));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/arrow-right.js
  function _extends30() {
    return _extends30 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends30.apply(null, arguments);
  }
  var React$132, _path35, SvgArrowRight, arrow_right_default;
  var init_arrow_right = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/arrow-right.js"() {
      React$132 = __toESM(require_react(), 1);
      SvgArrowRight = function SvgArrowRight$1(props) {
        return /* @__PURE__ */ React$132.createElement("svg", _extends30({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          stroke: "currentColor",
          viewBox: "0 0 20 20"
        }, props), _path35 || (_path35 = /* @__PURE__ */ React$132.createElement("path", {
          strokeLinecap: "round",
          strokeLinejoin: "round",
          strokeWidth: 2,
          d: "M3.3 10h13.4m-5-5 5 5-5 5"
        })));
      };
      arrow_right_default = SvgArrowRight;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/ArrowBlockButton.js
  var import_react211, ArrowBlockButton;
  var init_ArrowBlockButton = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/ArrowBlockButton.js"() {
      init_arrow_right();
      init_customizables();
      import_react211 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ArrowBlockButton = import_react211.default.forwardRef((props, ref) => {
        const { rightIcon = arrow_right_default, rightIconSx, leftIcon, leftIconSx, leftIconElementId, leftIconElementDescriptor, isLoading, children, textElementDescriptor, textElementId, spinnerElementDescriptor, spinnerElementId, arrowElementDescriptor, arrowElementId, textLocalizationKey, childrenSx, badge, textVariant = "buttonSmall", ...rest } = props;
        const isIconElement = (0, import_react211.isValidElement)(leftIcon);
        return /* @__PURE__ */ jsxs2(SimpleButton2, {
          variant: "outline",
          block: true,
          isLoading,
          ...rest,
          ref,
          sx: (theme) => [{
            gap: theme.space.$2,
            position: "relative",
            justifyContent: "center",
            borderColor: theme.colors.$neutralAlpha100,
            alignItems: "center",
            padding: `${theme.space.$1x5} ${theme.space.$3} ${theme.space.$1x5} ${theme.space.$2x5}`,
            "--arrow-opacity": "0",
            "--arrow-transform": `translateX(-${theme.space.$2})`,
            "&:hover,&:focus ": {
              "--arrow-opacity": "0.5",
              "--arrow-transform": "translateX(0px)"
            },
            '[dir="rtl"] &': { "--arrow-transform": `translateX(${theme.space.$2})` },
            '[dir="rtl"] &:hover, [dir="rtl"] &:focus': { "--arrow-transform": "translateX(0px)" }
          }, props.sx],
          children: [
            (isLoading || leftIcon) && /* @__PURE__ */ jsx2(Flex2, {
              as: "span",
              sx: (theme) => ({
                width: theme.space.$4,
                height: theme.space.$4,
                flex: "none",
                alignItems: "center"
              }),
              children: isLoading ? /* @__PURE__ */ jsx2(Spinner, {
                elementDescriptor: spinnerElementDescriptor,
                elementId: spinnerElementId,
                size: "md"
              }) : !isIconElement && leftIcon ? /* @__PURE__ */ jsx2(Icon, {
                elementDescriptor: leftIconElementDescriptor,
                elementId: leftIconElementId,
                icon: leftIcon,
                sx: [(theme) => ({
                  width: theme.sizes.$4,
                  transform: "translateZ(0)"
                }), leftIconSx]
              }) : leftIcon
            }),
            /* @__PURE__ */ jsxs2(Flex2, {
              gap: 2,
              as: "span",
              sx: [{ overflow: "hidden" }, childrenSx],
              children: [/* @__PURE__ */ jsx2(Text2, {
                elementDescriptor: textElementDescriptor,
                elementId: textElementId,
                as: "span",
                truncate: true,
                variant: textVariant,
                localizationKey: textLocalizationKey,
                children
              }), badge]
            }),
            rightIcon && /* @__PURE__ */ jsx2(Icon, {
              elementDescriptor: arrowElementDescriptor,
              elementId: arrowElementId,
              icon: rightIcon,
              sx: [(theme) => ({
                transition: "all 100ms ease",
                minWidth: theme.sizes.$4,
                minHeight: theme.sizes.$4,
                width: "1em",
                height: "1em",
                opacity: `var(--arrow-opacity)`,
                transform: `var(--arrow-transform)`,
                '[dir="rtl"] &': { transform: `var(--arrow-transform) scaleX(-1)` }
              }), rightIconSx]
            })
          ]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/ErrorCard.js
  var import_react212, ErrorCard;
  var init_ErrorCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/ErrorCard.js"() {
      init_RouteContext();
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      init_useSupportEmail();
      import_react212 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ErrorCard = (props) => {
        const { shouldNavigateBack = true } = props;
        const card = useCardState();
        const { navigate } = useRouter();
        const supportEmail = useSupportEmail();
        const handleEmailSupport = () => {
          window.location.href = `mailto:${supportEmail}`;
        };
        const goBack = (e3) => {
          if (props.onBackLinkClick) return props.onBackLinkClick(e3);
          if (shouldNavigateBack) navigate("../");
        };
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "havingTrouble",
          children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
            /* @__PURE__ */ jsxs2(Header.Root, {
              showLogo: true,
              children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: props.cardTitle || "Error" }), props.cardSubtitle && /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: props.cardSubtitle })]
            }),
            /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
            /* @__PURE__ */ jsxs2(Flex2, {
              direction: "col",
              elementDescriptor: descriptors.main,
              gap: 4,
              children: [
                props.message && /* @__PURE__ */ jsx2(Text2, {
                  colorScheme: "secondary",
                  localizationKey: props.message
                }),
                /* @__PURE__ */ jsx2(Button2, {
                  localizationKey: localizationKeys("signIn.alternativeMethods.getHelp.blockButton__emailSupport"),
                  onClick: handleEmailSupport,
                  hasArrow: true
                }),
                shouldNavigateBack ? /* @__PURE__ */ jsx2(Card.Action, {
                  elementId: "alternativeMethods",
                  children: /* @__PURE__ */ jsx2(Card.ActionLink, {
                    localizationKey: localizationKeys("backButton"),
                    onClick: goBack
                  })
                }) : null
              ]
            })
          ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/HavingTrouble.js
  var HavingTrouble;
  var init_HavingTrouble = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/HavingTrouble.js"() {
      init_localizationKeys();
      init_ErrorCard();
      init_emotion_react_jsx_runtime_browser_esm();
      HavingTrouble = (props) => {
        const { onBackLinkClick } = props;
        return /* @__PURE__ */ jsx2(ErrorCard, {
          cardTitle: localizationKeys("signIn.alternativeMethods.getHelp.title"),
          cardSubtitle: localizationKeys("signIn.alternativeMethods.getHelp.content"),
          onBackLinkClick
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorTwoAlternativeMethods.js
  function getButtonLabel(factor) {
    switch (factor.strategy) {
      case "phone_code":
        return localizationKeys("signIn.alternativeMethods.blockButton__phoneCode", { identifier: formatSafeIdentifier(factor.safeIdentifier) || "" });
      case "totp":
        return localizationKeys("signIn.alternativeMethods.blockButton__totp");
      case "backup_code":
        return localizationKeys("signIn.alternativeMethods.blockButton__backupCode");
      case "email_code":
        return localizationKeys("signIn.alternativeMethods.blockButton__emailCode", { identifier: formatSafeIdentifier(factor.safeIdentifier) || "" });
      case "email_link":
        return localizationKeys("signIn.alternativeMethods.blockButton__emailLink", { identifier: formatSafeIdentifier(factor.safeIdentifier) || "" });
      default:
        /* @__PURE__ */ ((_3) => _3)(factor);
        throw new Error("Invalid sign in strategy");
    }
  }
  var import_react213, SignInFactorTwoAlternativeMethods, AlternativeMethodsList;
  var init_SignInFactorTwoAlternativeMethods = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorTwoAlternativeMethods.js"() {
      init_localizationKeys();
      init_CoreClientContext();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      init_formatSafeIdentifier();
      init_ArrowBlockButton();
      init_factorSorting();
      init_HavingTrouble();
      import_react213 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      SignInFactorTwoAlternativeMethods = (props) => {
        const [showHavingTrouble, setShowHavingTrouble] = import_react213.default.useState(false);
        const toggleHavingTrouble = import_react213.default.useCallback(() => setShowHavingTrouble((s2) => !s2), [setShowHavingTrouble]);
        if (showHavingTrouble) return /* @__PURE__ */ jsx2(HavingTrouble, { onBackLinkClick: toggleHavingTrouble });
        return /* @__PURE__ */ jsx2(AlternativeMethodsList, {
          onBackLinkClick: props.onBackLinkClick,
          onFactorSelected: props.onFactorSelected,
          onHavingTroubleClick: toggleHavingTrouble
        });
      };
      AlternativeMethodsList = (props) => {
        const { onHavingTroubleClick, onFactorSelected, onBackLinkClick } = props;
        const card = useCardState();
        const { supportedSecondFactors } = useCoreSignIn();
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "alternativeMethods",
          children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
            /* @__PURE__ */ jsxs2(Header.Root, {
              showLogo: true,
              children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("signIn.alternativeMethods.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("signIn.alternativeMethods.subtitle") })]
            }),
            /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
            /* @__PURE__ */ jsxs2(Col2, {
              elementDescriptor: descriptors.main,
              gap: 3,
              children: [/* @__PURE__ */ jsx2(Col2, {
                gap: 2,
                children: supportedSecondFactors && supportedSecondFactors.sort(backupCodePrefFactorComparator).map((factor, i2) => /* @__PURE__ */ jsx2(ArrowBlockButton, {
                  textLocalizationKey: getButtonLabel(factor),
                  elementDescriptor: descriptors.alternativeMethodsBlockButton,
                  textElementDescriptor: descriptors.alternativeMethodsBlockButtonText,
                  arrowElementDescriptor: descriptors.alternativeMethodsBlockButtonArrow,
                  isDisabled: card.isLoading,
                  onClick: () => onFactorSelected(factor)
                }, i2))
              }), /* @__PURE__ */ jsx2(Card.Action, {
                elementId: "alternativeMethods",
                children: onBackLinkClick && /* @__PURE__ */ jsx2(Card.ActionLink, {
                  localizationKey: localizationKeys("backButton"),
                  onClick: props.onBackLinkClick
                })
              })]
            })
          ] }), /* @__PURE__ */ jsx2(Card.Footer, { children: /* @__PURE__ */ jsxs2(Card.Action, {
            elementId: "havingTrouble",
            children: [/* @__PURE__ */ jsx2(Card.ActionText, { localizationKey: localizationKeys("signIn.alternativeMethods.actionText") }), /* @__PURE__ */ jsx2(Card.ActionLink, {
              localizationKey: localizationKeys("signIn.alternativeMethods.actionLink"),
              onClick: onHavingTroubleClick
            })]
          }) })] })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorTwoCodeForm.js
  var import_react214, isResettingPassword, SignInFactorTwoCodeForm;
  var init_SignInFactorTwoCodeForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorTwoCodeForm.js"() {
      init_RouteContext();
      init_EnvironmentContext();
      init_localizationKeys();
      init_SignIn();
      init_CoreClientContext();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_VerificationCodeCard();
      init_useSupportEmail();
      init_utils10();
      init_error();
      init_errors();
      import_react214 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      isResettingPassword = (resource) => isResetPasswordStrategy(resource.firstFactorVerification?.strategy) && resource.firstFactorVerification?.status === "verified";
      SignInFactorTwoCodeForm = (props) => {
        const env = useEnvironment();
        const signIn = useCoreSignIn();
        const card = useCardState();
        const { afterSignInUrl, navigateOnSetActive } = useSignInContext();
        const { setActive } = useClerk();
        const { navigate } = useRouter();
        const supportEmail = useSupportEmail();
        const clerk2 = useClerk();
        const showNewDeviceVerificationNotice = (0, import_react214.useMemo)(() => {
          const anyAttributeUsedForSecondFactor = Object.values(env.userSettings.attributes).some((attr2) => attr2.used_for_second_factor);
          return signIn.clientTrustState === "new" && !anyAttributeUsedForSecondFactor;
        }, [signIn.clientTrustState, env.userSettings.attributes]);
        import_react214.default.useEffect(() => {
          if (props.factorAlreadyPrepared) return;
          prepare?.();
        }, []);
        const prepare = props.prepare ? () => {
          return props.prepare?.().then(() => props.onFactorPrepare()).catch((err) => {
            if (isUserLockedError(err)) return clerk2.__internal_navigateWithError("..", err.errors[0]);
            handleError(err, [], card.setError);
          });
        } : void 0;
        const action = (code, resolve, reject) => {
          signIn.attemptSecondFactor({
            strategy: props.factor.strategy,
            code
          }).then(async (res) => {
            await resolve();
            switch (res.status) {
              case "complete":
                if (isResettingPassword(res) && res.createdSessionId) {
                  const queryParams = new URLSearchParams();
                  queryParams.set("createdSessionId", res.createdSessionId);
                  return navigate(`../reset-password-success?${queryParams.toString()}`);
                }
                return setActive({
                  session: res.createdSessionId,
                  navigate: async ({ session, decorateUrl }) => {
                    await navigateOnSetActive({
                      session,
                      redirectUrl: afterSignInUrl,
                      decorateUrl
                    });
                  }
                });
              default:
                return console.error(clerkInvalidFAPIResponse(res.status, supportEmail));
            }
          }).catch((err) => {
            if (isUserLockedError(err)) return clerk2.__internal_navigateWithError("..", err.errors[0]);
            return reject(err);
          });
        };
        return /* @__PURE__ */ jsx2(VerificationCodeCard, {
          cardTitle: props.cardTitle,
          cardSubtitle: isResettingPassword(signIn) ? localizationKeys("signIn.forgotPassword.subtitle") : props.cardSubtitle,
          cardNotice: props.showClientTrustNotice || showNewDeviceVerificationNotice ? localizationKeys("signIn.newDeviceVerificationNotice") : void 0,
          resendButton: props.resendButton,
          inputLabel: props.inputLabel,
          onCodeEntryFinishedAction: action,
          onResendCodeClicked: prepare,
          safeIdentifier: "safeIdentifier" in props.factor ? props.factor.safeIdentifier : void 0,
          profileImageUrl: signIn.userData.imageUrl,
          onShowAlternativeMethodsClicked: props.onShowAlternativeMethodsClicked,
          children: isResettingPassword(signIn) && /* @__PURE__ */ jsx2(Text2, {
            localizationKey: localizationKeys("signIn.resetPasswordMfa.detailsLabel"),
            colorScheme: "secondary"
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorTwoEmailCodeCard.js
  var SignInFactorTwoEmailCodeCard;
  var init_SignInFactorTwoEmailCodeCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorTwoEmailCodeCard.js"() {
      init_localizationKeys();
      init_CoreClientContext();
      init_Flow();
      init_SignInFactorTwoCodeForm();
      init_emotion_react_jsx_runtime_browser_esm();
      SignInFactorTwoEmailCodeCard = (props) => {
        const signIn = useCoreSignIn();
        const prepare = () => {
          const { emailAddressId, strategy } = props.factor;
          return signIn.prepareSecondFactor({
            emailAddressId,
            strategy
          });
        };
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "emailCode2Fa",
          children: /* @__PURE__ */ jsx2(SignInFactorTwoCodeForm, {
            ...props,
            cardTitle: localizationKeys("signIn.emailCodeMfa.title"),
            cardSubtitle: localizationKeys("signIn.emailCodeMfa.subtitle"),
            inputLabel: localizationKeys("signIn.emailCodeMfa.formTitle"),
            resendButton: localizationKeys("signIn.emailCodeMfa.resendButton"),
            prepare
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorTwoEmailLinkCard.js
  var import_react216, isNewDevice, SignInFactorTwoEmailLinkCard;
  var init_SignInFactorTwoEmailLinkCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorTwoEmailLinkCard.js"() {
      init_useEmailLink();
      init_localizationKeys();
      init_redirects();
      init_SignIn();
      init_CoreClientContext();
      init_makeLocalizable();
      init_contexts();
      init_Flow();
      init_EmailLinkStatusCard();
      init_errorHandler();
      init_VerificationLinkCard();
      init_error();
      import_react216 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      isNewDevice = (resource) => resource.clientTrustState === "new";
      SignInFactorTwoEmailLinkCard = (props) => {
        const { t: t2 } = useLocalizations();
        const card = useCardState();
        const signIn = useCoreSignIn();
        const signInContext = useSignInContext();
        const { signInUrl } = signInContext;
        const { afterSignInUrl } = useSignInContext();
        const { setActive } = useClerk();
        const { startEmailLinkFlow, cancelEmailLinkFlow } = useEmailLink(signIn);
        const [showVerifyModal, setShowVerifyModal] = import_react216.default.useState(false);
        const clerk2 = useClerk();
        import_react216.default.useEffect(() => {
          startEmailLinkVerification();
        }, []);
        const restartVerification = () => {
          cancelEmailLinkFlow();
          startEmailLinkVerification();
        };
        const startEmailLinkVerification = () => {
          startEmailLinkFlow({
            emailAddressId: props.factor.emailAddressId,
            redirectUrl: buildVerificationRedirectUrl({
              ctx: signInContext,
              baseUrl: signInUrl,
              intent: "sign-in"
            })
          }).then((res) => handleVerificationResult(res)).catch((err) => {
            if (isUserLockedError(err)) return clerk2.__internal_navigateWithError("..", err.errors[0]);
            handleError(err, [], card.setError);
          });
        };
        const handleVerificationResult = async (si) => {
          const ver = si.secondFactorVerification;
          if (ver.status === "expired") card.setError(t2(localizationKeys("formFieldError__verificationLinkExpired")));
          else if (ver.verifiedFromTheSameClient()) setShowVerifyModal(true);
          else await setActive({
            session: si.createdSessionId,
            redirectUrl: afterSignInUrl
          });
        };
        if (showVerifyModal) return /* @__PURE__ */ jsx2(EmailLinkStatusCard, {
          title: localizationKeys("signIn.emailLink.verifiedSwitchTab.titleNewTab"),
          subtitle: localizationKeys("signIn.emailLink.verifiedSwitchTab.subtitleNewTab"),
          status: "verified_switch_tab"
        });
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "emailLink",
          children: /* @__PURE__ */ jsx2(VerificationLinkCard, {
            cardTitle: localizationKeys("signIn.emailLinkMfa.title"),
            cardSubtitle: localizationKeys("signIn.emailLinkMfa.subtitle"),
            cardNotice: props.showClientTrustNotice || isNewDevice(signIn) ? localizationKeys("signIn.newDeviceVerificationNotice") : void 0,
            formSubtitle: localizationKeys("signIn.emailLinkMfa.formSubtitle"),
            resendButton: localizationKeys("signIn.emailLinkMfa.resendButton"),
            onResendCodeClicked: restartVerification,
            safeIdentifier: props.factor.safeIdentifier,
            profileImageUrl: signIn.userData.imageUrl,
            onShowAlternativeMethodsClicked: props.onShowAlternativeMethodsClicked
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorTwoPhoneCodeCard.js
  var SignInFactorTwoPhoneCodeCard;
  var init_SignInFactorTwoPhoneCodeCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorTwoPhoneCodeCard.js"() {
      init_localizationKeys();
      init_CoreClientContext();
      init_Flow();
      init_SignInFactorTwoCodeForm();
      init_emotion_react_jsx_runtime_browser_esm();
      SignInFactorTwoPhoneCodeCard = (props) => {
        const signIn = useCoreSignIn();
        const prepare = () => {
          const { phoneNumberId, strategy } = props.factor;
          return signIn.prepareSecondFactor({
            phoneNumberId,
            strategy
          });
        };
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "phoneCode2Fa",
          children: /* @__PURE__ */ jsx2(SignInFactorTwoCodeForm, {
            ...props,
            cardTitle: localizationKeys("signIn.phoneCodeMfa.title"),
            cardSubtitle: localizationKeys("signIn.phoneCodeMfa.subtitle"),
            inputLabel: localizationKeys("signIn.phoneCodeMfa.formTitle"),
            resendButton: localizationKeys("signIn.phoneCodeMfa.resendButton"),
            prepare
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/useSecondFactorSelection.js
  function useSecondFactorSelection(availableFactors) {
    const lastPreparedFactorKeyRef = import_react218.default.useRef("");
    const [currentFactor, setCurrentFactor] = import_react218.default.useState(() => determineStartingSignInSecondFactor(availableFactors));
    const [showAllStrategies, setShowAllStrategies] = import_react218.default.useState(!currentFactor);
    const toggleAllStrategies = () => setShowAllStrategies((s2) => !s2);
    const handleFactorPrepare = () => {
      lastPreparedFactorKeyRef.current = secondFactorKey(currentFactor);
    };
    const selectFactor = (factor) => {
      setCurrentFactor(factor);
      setShowAllStrategies(false);
    };
    return {
      currentFactor,
      factorAlreadyPrepared: lastPreparedFactorKeyRef.current === secondFactorKey(currentFactor),
      handleFactorPrepare,
      selectFactor,
      showAllStrategies,
      toggleAllStrategies
    };
  }
  var import_react218, secondFactorKey;
  var init_useSecondFactorSelection = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/useSecondFactorSelection.js"() {
      init_utils10();
      import_react218 = __toESM(require_react(), 1);
      secondFactorKey = (factor) => {
        if (!factor) return "";
        let key = factor.strategy;
        if ("phoneNumberId" in factor) key += factor.phoneNumberId;
        return key;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInClientTrust.js
  function SignInClientTrustInternal() {
    const { currentFactor, factorAlreadyPrepared, handleFactorPrepare, selectFactor, showAllStrategies, toggleAllStrategies } = useSecondFactorSelection(useCoreSignIn().supportedSecondFactors);
    if (!currentFactor) return /* @__PURE__ */ jsx2(LoadingCard, {});
    if (showAllStrategies) return /* @__PURE__ */ jsx2(SignInFactorTwoAlternativeMethods, {
      onBackLinkClick: toggleAllStrategies,
      onFactorSelected: selectFactor
    });
    switch (currentFactor?.strategy) {
      case "phone_code":
        return /* @__PURE__ */ jsx2(SignInFactorTwoPhoneCodeCard, {
          showClientTrustNotice: true,
          factorAlreadyPrepared,
          onFactorPrepare: handleFactorPrepare,
          factor: currentFactor,
          onShowAlternativeMethodsClicked: toggleAllStrategies
        });
      case "email_code":
        return /* @__PURE__ */ jsx2(SignInFactorTwoEmailCodeCard, {
          showClientTrustNotice: true,
          factorAlreadyPrepared,
          onFactorPrepare: handleFactorPrepare,
          factor: currentFactor,
          onShowAlternativeMethodsClicked: toggleAllStrategies
        });
      case "email_link":
        return /* @__PURE__ */ jsx2(SignInFactorTwoEmailLinkCard, {
          showClientTrustNotice: true,
          factorAlreadyPrepared,
          onFactorPrepare: handleFactorPrepare,
          factor: currentFactor,
          onShowAlternativeMethodsClicked: toggleAllStrategies
        });
      default:
        return /* @__PURE__ */ jsx2(LoadingCard, {});
    }
  }
  var SignInClientTrust;
  var init_SignInClientTrust = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInClientTrust.js"() {
      init_CoreClientContext();
      init_contexts();
      init_LoadingCard();
      init_withRedirect();
      init_SignInFactorTwoAlternativeMethods();
      init_SignInFactorTwoEmailCodeCard();
      init_SignInFactorTwoEmailLinkCard();
      init_SignInFactorTwoPhoneCodeCard();
      init_useSecondFactorSelection();
      init_emotion_react_jsx_runtime_browser_esm();
      SignInClientTrust = withRedirectToSignInTask(withRedirectToAfterSignIn(withCardStateProvider(SignInClientTrustInternal)));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useAlternativeStrategies.js
  function useAlternativeStrategies({ filterOutFactor, supportedFirstFactors: _supportedFirstFactors }) {
    const { strategies: OAuthStrategies } = useEnabledThirdPartyProviders();
    const supportedFirstFactors = _supportedFirstFactors || [];
    const shouldAllowForAlternativeStrategies = supportedFirstFactors.filter((f3) => f3.strategy !== filterOutFactor?.strategy && !isResetPasswordStrategy(f3.strategy)).length + OAuthStrategies.length > 0;
    const firstPartyFactors = supportedFirstFactors.filter((f3) => !f3.strategy.startsWith("oauth_") && !(f3.strategy === filterOutFactor?.strategy)).filter((factor) => factorHasLocalStrategy(factor)).filter((factor) => factor.strategy === "passkey" ? isWebAuthnSupported() : true).sort(allStrategiesButtonsComparator);
    return {
      hasAnyStrategy: shouldAllowForAlternativeStrategies,
      hasFirstParty: !!firstPartyFactors,
      firstPartyFactors
    };
  }
  var init_useAlternativeStrategies = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useAlternativeStrategies.js"() {
      init_useEnabledThirdPartyProviders();
      init_factorSorting();
      init_utils10();
      init_webauthn();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/useResetPasswordFactor.js
  function useResetPasswordFactor() {
    return useCoreSignIn().supportedFirstFactors?.find(({ strategy }) => isResetPasswordStrategy(strategy));
  }
  var init_useResetPasswordFactor = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/useResetPasswordFactor.js"() {
      init_CoreClientContext();
      init_utils10();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/chat-alt.js
  function _extends31() {
    return _extends31 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends31.apply(null, arguments);
  }
  var React$133, _path36, SvgChatAlt, chat_alt_default;
  var init_chat_alt = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/chat-alt.js"() {
      React$133 = __toESM(require_react(), 1);
      SvgChatAlt = function SvgChatAlt$1(props) {
        return /* @__PURE__ */ React$133.createElement("svg", _extends31({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 16 16"
        }, props), _path36 || (_path36 = /* @__PURE__ */ React$133.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M14.4 4v6.4a1.6 1.6 0 0 1-1.6 1.6h-4l-4 3.2V12H3.2a1.6 1.6 0 0 1-1.6-1.6V4a1.6 1.6 0 0 1 1.6-1.6h9.6A1.6 1.6 0 0 1 14.4 4M5.6 6.4H4V8h1.6zm1.6 0h1.6V8H7.2zm4.8 0h-1.6V8H12z",
          clipRule: "evenodd"
        })));
      };
      chat_alt_default = SvgChatAlt;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/email.js
  function _extends32() {
    return _extends32 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends32.apply(null, arguments);
  }
  var React$134, _path37, _path211, SvgEmail, email_default;
  var init_email2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/email.js"() {
      React$134 = __toESM(require_react(), 1);
      SvgEmail = function SvgEmail$1(props) {
        return /* @__PURE__ */ React$134.createElement("svg", _extends32({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path37 || (_path37 = /* @__PURE__ */ React$134.createElement("path", {
          fill: "#42434D",
          d: "M2.75 2.75A1.75 1.75 0 0 0 1 4.5v1.016l6.51 3.693a1.1 1.1 0 0 0 .98 0L15 5.517V4.5a1.75 1.75 0 0 0-1.75-1.75z"
        })), _path211 || (_path211 = /* @__PURE__ */ React$134.createElement("path", {
          fill: "#42434D",
          d: "m15 6.984-5.924 3.4a2.4 2.4 0 0 1-2.152 0L1 6.983V11.5a1.75 1.75 0 0 0 1.75 1.75h10.5A1.75 1.75 0 0 0 15 11.5z"
        })));
      };
      email_default = SvgEmail;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/fingerprint.js
  function _extends33() {
    return _extends33 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends33.apply(null, arguments);
  }
  var React$135, _path38, SvgFingerprint, fingerprint_default;
  var init_fingerprint = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/fingerprint.js"() {
      React$135 = __toESM(require_react(), 1);
      SvgFingerprint = function SvgFingerprint$1(props) {
        return /* @__PURE__ */ React$135.createElement("svg", _extends33({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 48 48"
        }, props), _path38 || (_path38 = /* @__PURE__ */ React$135.createElement("path", {
          stroke: "currentColor",
          strokeLinecap: "round",
          strokeLinejoin: "round",
          strokeWidth: 3.6,
          d: "M11.127 39.944q.662-1.48 1.218-3.01M30.3 43.801c.723-1.89 1.197-4.02 1.725-5.962M16.165 5.997a20.5 20.5 0 0 1 9.432-1.77 20.3 20.3 0 0 1 9.176 2.687c2.764 1.602 5.042 3.83 6.622 6.472C42.974 16.03 43.802 19 43.8 22.022c0 3.94-.335 7.807-.98 11.58l-2.02 10.2M4.2 30.985a35.4 35.4 0 0 0 1.15-8.963c0-3.875 1.336-7.463 3.605-10.386m15.62 10.383c.008 7.484-1.62 14.893-4.775 21.782m-5.056-17.4q.217-2.163.218-4.38c0-2.362 1.013-4.628 2.815-6.299 1.803-1.67 4.248-2.609 6.797-2.609 2.55 0 4.995.939 6.797 2.61 1.803 1.67 2.816 3.936 2.816 6.298q0 1.626-.087 3.232l-.687 4.186"
        })));
      };
      fingerprint_default = SvgFingerprint;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/link.js
  function _extends34() {
    return _extends34 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends34.apply(null, arguments);
  }
  var React$136, _path39, _path212, SvgLink, link_default;
  var init_link = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/link.js"() {
      React$136 = __toESM(require_react(), 1);
      SvgLink = function SvgLink$1(props) {
        return /* @__PURE__ */ React$136.createElement("svg", _extends34({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 16 16"
        }, props), _path39 || (_path39 = /* @__PURE__ */ React$136.createElement("path", {
          fill: "currentColor",
          d: "M10.068 3.668a1.6 1.6 0 0 1 2.263 2.263l-2.4 2.4a1.6 1.6 0 0 1-2.263 0 .8.8 0 1 0-1.131 1.131 3.2 3.2 0 0 0 4.525 0l2.4-2.4a3.2 3.2 0 1 0-4.525-4.525l-1.2 1.2a.8.8 0 1 0 1.131 1.131z"
        })), _path212 || (_path212 = /* @__PURE__ */ React$136.createElement("path", {
          fill: "currentColor",
          d: "M6.068 7.668a1.6 1.6 0 0 1 2.263 0 .8.8 0 1 0 1.131-1.131 3.2 3.2 0 0 0-4.525 0l-2.4 2.4a3.2 3.2 0 0 0 4.525 4.525l1.2-1.2a.8.8 0 0 0-1.131-1.131l-1.2 1.2a1.6 1.6 0 0 1-2.263-2.263z"
        })));
      };
      link_default = SvgLink;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/lock-closed.js
  function _extends35() {
    return _extends35 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends35.apply(null, arguments);
  }
  var React$137, _path40, SvgLockClosed, lock_closed_default;
  var init_lock_closed = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/lock-closed.js"() {
      React$137 = __toESM(require_react(), 1);
      SvgLockClosed = function SvgLockClosed$1(props) {
        return /* @__PURE__ */ React$137.createElement("svg", _extends35({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 16 16"
        }, props), _path40 || (_path40 = /* @__PURE__ */ React$137.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M4 7.2V5.6a4 4 0 1 1 8 0v1.6a1.6 1.6 0 0 1 1.6 1.6v4a1.6 1.6 0 0 1-1.6 1.6H4a1.6 1.6 0 0 1-1.6-1.6v-4A1.6 1.6 0 0 1 4 7.2m6.4-1.6v1.6H5.6V5.6a2.4 2.4 0 0 1 4.8 0",
          clipRule: "evenodd"
        })));
      };
      lock_closed_default = SvgLockClosed;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/request-auth.js
  function _extends36() {
    return _extends36 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends36.apply(null, arguments);
  }
  var React$138, _path41, _path213, SvgRequestAuth, request_auth_default;
  var init_request_auth = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/request-auth.js"() {
      React$138 = __toESM(require_react(), 1);
      SvgRequestAuth = function SvgRequestAuth$1(props) {
        return /* @__PURE__ */ React$138.createElement("svg", _extends36({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 16 16"
        }, props), _path41 || (_path41 = /* @__PURE__ */ React$138.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M6 7.6v-.8a2 2 0 0 1 4 0v.8a.8.8 0 0 1 .8.8v2a.8.8 0 0 1-.8.8H6a.8.8 0 0 1-.8-.8v-2a.8.8 0 0 1 .8-.8m3.2-.8v.8H6.8v-.8a1.2 1.2 0 0 1 2.4 0",
          clipRule: "evenodd"
        })), _path213 || (_path213 = /* @__PURE__ */ React$138.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M13.07 2.9a7.2 7.2 0 1 0 .02 10.19s.42-.47 0-.89-.88 0-.88 0a5.95 5.95 0 1 1-.02-8.42l-1.04 1.04c-.25.24-.16.44.18.44h2.5c.63 0 .63 0 .63-.63v-2.5c0-.34-.2-.43-.44-.18l-.95.94Z",
          clipRule: "evenodd"
        })));
      };
      request_auth_default = SvgRequestAuth;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInSocialButtons.js
  var import_react219, SignInSocialButtons;
  var init_SignInSocialButtons = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInSocialButtons.js"() {
      init_RouteContext();
      init_SignIn();
      init_CoreClientContext();
      init_contexts();
      init_errorHandler();
      init_web3CallbackErrorHandler();
      init_originPrefersPopup();
      init_SocialButtons();
      init_error();
      import_react219 = __toESM(require_react(), 1);
      init_constants();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      SignInSocialButtons = import_react219.default.memo((props) => {
        const clerk2 = useClerk();
        const { navigate } = useRouter();
        const card = useCardState();
        const ctx = useSignInContext();
        const signIn = useCoreSignIn();
        const redirectUrl = ctx.ssoCallbackUrl;
        const redirectUrlComplete = ctx.afterSignInUrl || "/";
        const shouldUsePopup = ctx.oauthFlow === "popup" || ctx.oauthFlow === "auto" && originPrefersPopup();
        const { onAlternativePhoneCodeProviderClick, ...rest } = props;
        const handleError$1 = (err) => {
          if (isClerkAPIResponseError2(err)) {
            if (err.errors.find((e3) => e3.code === ERROR_CODES.SESSION_EXISTS)) return clerk2.setActive({
              session: clerk2.client.lastActiveSessionId,
              navigate: async ({ session, decorateUrl }) => {
                await ctx.navigateOnSetActive({
                  session,
                  redirectUrl: ctx.afterSignInUrl,
                  decorateUrl
                });
              }
            });
          }
          return handleError(err, [], card.setError);
        };
        return /* @__PURE__ */ jsx2(SocialButtons, {
          ...rest,
          showLastAuthenticationStrategy: true,
          idleAfterDelay: !shouldUsePopup,
          oauthCallback: (strategy) => {
            if (shouldUsePopup) {
              const popup = window.open("about:blank", "", "width=600,height=800");
              const interval = setInterval(() => {
                if (!popup || popup.closed) {
                  clearInterval(interval);
                  card.setIdle();
                }
              }, 500);
              return signIn.authenticateWithPopup({
                strategy,
                redirectUrl,
                redirectUrlComplete,
                popup,
                oidcPrompt: ctx.oidcPrompt
              }).catch((err) => handleError$1(err));
            }
            return signIn.authenticateWithRedirect({
              strategy,
              redirectUrl,
              redirectUrlComplete,
              oidcPrompt: ctx.oidcPrompt
            }).catch((err) => handleError$1(err));
          },
          web3Callback: (strategy) => {
            if (strategy === "web3_solana_signature") return navigate(`choose-wallet?strategy=${strategy}`);
            return clerk2.authenticateWithWeb3({
              customNavigate: navigate,
              redirectUrl: redirectUrlComplete,
              signUpContinueUrl: ctx.isCombinedFlow ? "create/continue" : ctx.signUpContinueUrl,
              strategy,
              secondFactorUrl: "factor-two"
            }).catch((err) => web3CallbackErrorHandler(err, card.setError));
          },
          alternativePhoneCodeCallback: (channel) => {
            onAlternativePhoneCodeProviderClick?.(channel);
          }
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/withHavingTrouble.js
  var import_react221, withHavingTrouble;
  var init_withHavingTrouble = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/withHavingTrouble.js"() {
      init_HavingTrouble();
      import_react221 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      withHavingTrouble = (Component, props) => {
        const [showHavingTrouble, setShowHavingTrouble] = import_react221.default.useState(false);
        const toggleHavingTrouble = import_react221.default.useCallback(() => setShowHavingTrouble((s2) => !s2), [setShowHavingTrouble]);
        if (showHavingTrouble) return /* @__PURE__ */ jsx2(HavingTrouble, { onBackLinkClick: toggleHavingTrouble });
        return /* @__PURE__ */ jsx2(Component, {
          ...props,
          onHavingTroubleClick: toggleHavingTrouble
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/AlternativeMethods.js
  function getButtonLabel2(factor) {
    switch (factor.strategy) {
      case "email_link":
        return localizationKeys("signIn.alternativeMethods.blockButton__emailLink", { identifier: formatSafeIdentifier(factor.safeIdentifier) || "" });
      case "email_code":
        return localizationKeys("signIn.alternativeMethods.blockButton__emailCode", { identifier: formatSafeIdentifier(factor.safeIdentifier) || "" });
      case "phone_code":
        return localizationKeys("signIn.alternativeMethods.blockButton__phoneCode", { identifier: formatSafeIdentifier(factor.safeIdentifier) || "" });
      case "password":
        return localizationKeys("signIn.alternativeMethods.blockButton__password");
      case "passkey":
        return localizationKeys("signIn.alternativeMethods.blockButton__passkey");
      case "reset_password_email_code":
        return localizationKeys("signIn.forgotPasswordAlternativeMethods.blockButton__resetPassword");
      case "reset_password_phone_code":
        return localizationKeys("signIn.forgotPasswordAlternativeMethods.blockButton__resetPassword");
      default:
        throw new Error(`Invalid sign in strategy: "${factor.strategy}"`);
    }
  }
  function getButtonIcon(factor) {
    return {
      email_link: link_default,
      email_code: email_default,
      phone_code: chat_alt_default,
      reset_password_email_code: request_auth_default,
      reset_password_phone_code: request_auth_default,
      password: lock_closed_default,
      passkey: fingerprint_default
    }[factor.strategy];
  }
  function determineFlowPart(mode) {
    switch (mode) {
      case "forgot":
        return "forgotPasswordMethods";
      case "pwned":
        return "passwordPwnedMethods";
      case "passwordCompromised":
        return "passwordCompromisedMethods";
      default:
        return "alternativeMethods";
    }
  }
  function determineTitle(mode) {
    switch (mode) {
      case "forgot":
        return localizationKeys("signIn.forgotPasswordAlternativeMethods.title");
      case "pwned":
        return localizationKeys("signIn.passwordPwned.title");
      case "passwordCompromised":
        return localizationKeys("signIn.passwordCompromised.title");
      default:
        return localizationKeys("signIn.alternativeMethods.title");
    }
  }
  function determineIsReset(mode) {
    switch (mode) {
      case "forgot":
      case "pwned":
        return true;
      case "passwordCompromised":
        return false;
      default:
        return false;
    }
  }
  var import_react222, AlternativeMethods, AlternativeMethodsList2;
  var init_AlternativeMethods = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/AlternativeMethods.js"() {
      init_localizationKeys();
      init_chat_alt();
      init_email2();
      init_fingerprint();
      init_link();
      init_lock_closed();
      init_request_auth();
      init_CoreClientContext();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Divider();
      init_Header();
      init_formatSafeIdentifier();
      init_ArrowBlockButton();
      init_BackLink();
      init_useAlternativeStrategies();
      init_SignInSocialButtons();
      init_useResetPasswordFactor();
      init_withHavingTrouble();
      import_react222 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      AlternativeMethods = (props) => {
        return withHavingTrouble(AlternativeMethodsList2, { ...props });
      };
      AlternativeMethodsList2 = (props) => {
        const { onBackLinkClick, onHavingTroubleClick, onFactorSelected, mode = "default" } = props;
        const card = useCardState();
        const resetPasswordFactor = useResetPasswordFactor();
        const { supportedFirstFactors } = useCoreSignIn();
        const { firstPartyFactors, hasAnyStrategy } = useAlternativeStrategies({
          filterOutFactor: props?.currentFactor,
          supportedFirstFactors
        });
        const flowPart = determineFlowPart(mode);
        const cardTitleKey = determineTitle(mode);
        const isReset = determineIsReset(mode);
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: flowPart,
          children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
            /* @__PURE__ */ jsxs2(Header.Root, {
              showLogo: true,
              children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: cardTitleKey }), !isReset && mode !== "passwordCompromised" && /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("signIn.alternativeMethods.subtitle") })]
            }),
            /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
            /* @__PURE__ */ jsxs2(Flex2, {
              direction: "col",
              elementDescriptor: descriptors.main,
              gap: 6,
              children: [
                isReset && resetPasswordFactor && /* @__PURE__ */ jsx2(Button2, {
                  localizationKey: getButtonLabel2(resetPasswordFactor),
                  elementDescriptor: descriptors.alternativeMethodsBlockButton,
                  isDisabled: card.isLoading,
                  onClick: () => {
                    card.setError(void 0);
                    onFactorSelected(resetPasswordFactor);
                  }
                }),
                isReset && hasAnyStrategy && /* @__PURE__ */ jsx2(Divider, { dividerText: localizationKeys("signIn.forgotPasswordAlternativeMethods.label__alternativeMethods") }),
                /* @__PURE__ */ jsxs2(Col2, {
                  gap: 4,
                  children: [hasAnyStrategy && /* @__PURE__ */ jsxs2(Flex2, {
                    elementDescriptor: descriptors.alternativeMethods,
                    direction: "col",
                    gap: 2,
                    children: [/* @__PURE__ */ jsx2(SignInSocialButtons, {
                      enableWeb3Providers: true,
                      enableOAuthProviders: true,
                      enableAlternativePhoneCodeProviders: false
                    }), firstPartyFactors && firstPartyFactors.map((factor, i2) => /* @__PURE__ */ jsx2(ArrowBlockButton, {
                      leftIcon: getButtonIcon(factor),
                      textLocalizationKey: getButtonLabel2(factor),
                      elementDescriptor: descriptors.alternativeMethodsBlockButton,
                      textElementDescriptor: descriptors.alternativeMethodsBlockButtonText,
                      arrowElementDescriptor: descriptors.alternativeMethodsBlockButtonArrow,
                      textVariant: "buttonLarge",
                      isDisabled: card.isLoading,
                      onClick: () => {
                        card.setError(void 0);
                        onFactorSelected(factor);
                      }
                    }, i2))]
                  }), onBackLinkClick && /* @__PURE__ */ jsx2(BackLink2, {
                    boxElementDescriptor: descriptors.backRow,
                    linkElementDescriptor: descriptors.backLink,
                    onClick: onBackLinkClick
                  })]
                })
              ]
            })
          ] }), /* @__PURE__ */ jsx2(Card.Footer, { children: /* @__PURE__ */ jsxs2(Card.Action, {
            elementId: "havingTrouble",
            children: [/* @__PURE__ */ jsx2(Card.ActionText, { localizationKey: localizationKeys("signIn.alternativeMethods.actionText") }), /* @__PURE__ */ jsx2(Card.ActionLink, {
              localizationKey: localizationKeys("signIn.alternativeMethods.actionLink"),
              onClick: onHavingTroubleClick
            })]
          }) })] })
        });
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/passkeys.mjs
  var Base64Converter, WebAuthnAbortService, __internal_WebAuthnAbortService, bufferToBase64Url, base64UrlToBuffer;
  var init_passkeys = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/passkeys.mjs"() {
      init_clerkRuntimeError_DqAmLuLY();
      init_error_NXMTfCAv();
      Base64Converter = class {
        static encode(buffer) {
          return btoa(String.fromCharCode(...new Uint8Array(buffer))).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
        }
        static decode(base64url) {
          const base64 = base64url.replace(/-/g, "+").replace(/_/g, "/");
          const binaryString = atob(base64);
          const length2 = binaryString.length;
          const bytes2 = new Uint8Array(length2);
          for (let i2 = 0; i2 < length2; i2++) bytes2[i2] = binaryString.charCodeAt(i2);
          return bytes2.buffer;
        }
      };
      WebAuthnAbortService = class {
        controller;
        __abort() {
          if (!this.controller) return;
          const abortError = /* @__PURE__ */ new Error();
          abortError.name = "AbortError";
          this.controller.abort(abortError);
        }
        createAbortSignal() {
          this.__abort();
          const newController = new AbortController();
          this.controller = newController;
          return newController.signal;
        }
        abort() {
          this.__abort();
          this.controller = void 0;
        }
      };
      __internal_WebAuthnAbortService = new WebAuthnAbortService();
      bufferToBase64Url = Base64Converter.encode.bind(Base64Converter);
      base64UrlToBuffer = Base64Converter.decode.bind(Base64Converter);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/shared.js
  function useHandleAuthenticateWithPasskey(onSecondFactor) {
    const card = useCardState();
    const { setActive, __internal_navigateWithError } = useClerk();
    const supportEmail = useSupportEmail();
    const { afterSignInUrl, navigateOnSetActive } = useSignInContext();
    const { authenticateWithPasskey } = useCoreSignIn();
    (0, import_react223.useEffect)(() => {
      return () => {
        __internal_WebAuthnAbortService.abort();
      };
    }, []);
    return (0, import_react223.useCallback)(async (...args) => {
      try {
        const res = await authenticateWithPasskey(...args);
        switch (res.status) {
          case "complete":
            return setActive({
              session: res.createdSessionId,
              navigate: async ({ session, decorateUrl }) => {
                await navigateOnSetActive({
                  session,
                  redirectUrl: afterSignInUrl,
                  decorateUrl
                });
              }
            });
          case "needs_second_factor":
            return onSecondFactor();
          default:
            return console.error(clerkInvalidFAPIResponse(res.status, supportEmail));
        }
      } catch (err) {
        const { flow } = args[0] || {};
        if (isClerkRuntimeError(err)) {
          if (err.code === "passkey_operation_aborted") return;
          if (flow === "autofill" && err.code === "passkey_retrieval_cancelled") return;
        }
        if (isUserLockedError(err)) return __internal_navigateWithError("..", err.errors[0]);
        handleError(err, [], card.setError);
      }
    }, []);
  }
  function hasMultipleEnterpriseConnections(factors) {
    if (!factors?.length) return false;
    return factors.filter((factor) => factor.strategy === "enterprise_sso" && "enterpriseConnectionId" in factor && "enterpriseConnectionName" in factor).length > 1;
  }
  var import_react223;
  var init_shared2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/shared.js"() {
      init_SignIn();
      init_CoreClientContext();
      init_contexts();
      init_errorHandler();
      init_useSupportEmail();
      init_error();
      init_errors();
      import_react223 = __toESM(require_react(), 1);
      init_react();
      init_passkeys();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOneAlternativeChannelCodeForm.js
  var SignInFactorOneAlternativeChannelCodeForm;
  var init_SignInFactorOneAlternativeChannelCodeForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOneAlternativeChannelCodeForm.js"() {
      init_RouteContext();
      init_localizationKeys();
      init_SignIn();
      init_CoreClientContext();
      init_contexts();
      init_errorHandler();
      init_VerificationCodeCard();
      init_useSupportEmail();
      init_error();
      init_errors();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      SignInFactorOneAlternativeChannelCodeForm = (props) => {
        const signIn = useCoreSignIn();
        const card = useCardState();
        const { navigate } = useRouter();
        const { afterSignInUrl, navigateOnSetActive } = useSignInContext();
        const { setActive } = useClerk();
        const supportEmail = useSupportEmail();
        const clerk2 = useClerk();
        const channel = props.factor.channel;
        const shouldAvoidPrepare = signIn.firstFactorVerification.status === "verified" && props.factorAlreadyPrepared;
        const goBack = () => {
          return navigate("../");
        };
        const prepare = () => {
          if (shouldAvoidPrepare) return;
          signIn.prepareFirstFactor({
            ...props.factor,
            channel
          }).then(() => props.onFactorPrepare()).catch((err) => handleError(err, [], card.setError));
        };
        const action = (code, resolve, reject) => {
          signIn.attemptFirstFactor({
            strategy: props.factor.strategy,
            code
          }).then(async (res) => {
            await resolve();
            switch (res.status) {
              case "complete":
                return setActive({
                  session: res.createdSessionId,
                  navigate: async ({ session, decorateUrl }) => {
                    await navigateOnSetActive({
                      session,
                      redirectUrl: afterSignInUrl,
                      decorateUrl
                    });
                  }
                });
              case "needs_second_factor":
                return navigate("../factor-two");
              case "needs_new_password":
                return navigate("../reset-password");
              default:
                return console.error(clerkInvalidFAPIResponse(res.status, supportEmail));
            }
          }).catch((err) => {
            if (isUserLockedError(err)) return clerk2.__internal_navigateWithError("..", err.errors[0]);
            return reject(err);
          });
        };
        const prepareWithSMS = () => {
          card.setError(void 0);
          props.onChangePhoneCodeChannel({
            ...props.factor,
            channel: void 0
          });
        };
        return /* @__PURE__ */ jsx2(VerificationCodeCard, {
          cardTitle: props.cardTitle,
          cardSubtitle: props.cardSubtitle,
          inputLabel: props.inputLabel,
          resendButton: props.resendButton,
          onCodeEntryFinishedAction: action,
          onResendCodeClicked: prepare,
          safeIdentifier: props.factor.safeIdentifier,
          profileImageUrl: signIn.userData.imageUrl,
          alternativeMethodsLabel: localizationKeys("footerActionLink__alternativePhoneCodeProvider"),
          onShowAlternativeMethodsClicked: prepareWithSMS,
          showAlternativeMethods: true,
          onIdentityPreviewEditClicked: goBack,
          onBackLinkClicked: props.onBackLinkClicked
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOneAlternativePhoneCodeCard.js
  var SignInFactorOneAlternativePhoneCodeCard;
  var init_SignInFactorOneAlternativePhoneCodeCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOneAlternativePhoneCodeCard.js"() {
      init_localizationKeys();
      init_Flow();
      init_SignInFactorOneAlternativeChannelCodeForm();
      init_emotion_react_jsx_runtime_browser_esm();
      init_alternativePhoneCode();
      SignInFactorOneAlternativePhoneCodeCard = (props) => {
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "phoneCode",
          children: /* @__PURE__ */ jsx2(SignInFactorOneAlternativeChannelCodeForm, {
            ...props,
            cardTitle: localizationKeys("signIn.alternativePhoneCodeProvider.title", { provider: getAlternativePhoneCodeProviderData(props.factor.channel)?.name || "" }),
            cardSubtitle: localizationKeys("signIn.alternativePhoneCodeProvider.subtitle"),
            inputLabel: localizationKeys("signIn.alternativePhoneCodeProvider.formTitle"),
            resendButton: localizationKeys("signIn.alternativePhoneCodeProvider.resendButton")
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOneCodeForm.js
  var import_react226, SignInFactorOneCodeForm;
  var init_SignInFactorOneCodeForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOneCodeForm.js"() {
      init_RouteContext();
      init_useFetch();
      init_SignIn();
      init_CoreClientContext();
      init_contexts();
      init_errorHandler();
      init_VerificationCodeCard();
      init_useSupportEmail();
      init_error();
      init_errors();
      import_react226 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      SignInFactorOneCodeForm = (props) => {
        const signIn = useCoreSignIn();
        const card = useCardState();
        const { navigate } = useRouter();
        const { afterSignInUrl, navigateOnSetActive } = useSignInContext();
        const { setActive } = useClerk();
        const supportEmail = useSupportEmail();
        const clerk2 = useClerk();
        const shouldAvoidPrepare = signIn.firstFactorVerification.status === "verified" && props.factorAlreadyPrepared;
        const cacheKey = (0, import_react226.useMemo)(() => {
          const factor = props.factor;
          let factorKey3 = factor.strategy;
          if ("emailAddressId" in factor) factorKey3 += `_${factor.emailAddressId}`;
          if ("phoneNumberId" in factor) factorKey3 += `_${factor.phoneNumberId}`;
          if ("channel" in factor && factor.channel) factorKey3 += `_${factor.channel}`;
          return {
            name: "signIn.prepareFirstFactor",
            factorKey: factorKey3
          };
        }, [
          props.factor.strategy,
          "emailAddressId" in props.factor ? props.factor.emailAddressId : void 0,
          "phoneNumberId" in props.factor ? props.factor.phoneNumberId : void 0,
          "channel" in props.factor ? props.factor.channel : void 0
        ]);
        const goBack = () => {
          return navigate("../");
        };
        const prepare = () => {
          if (shouldAvoidPrepare) return;
          signIn.prepareFirstFactor(props.factor).then(() => props.onFactorPrepare()).catch((err) => handleError(err, [], card.setError));
        };
        useFetch(shouldAvoidPrepare ? void 0 : () => signIn?.prepareFirstFactor(props.factor), cacheKey, {
          staleTime: 100,
          onSuccess: () => props.onFactorPrepare(),
          onError: (err) => handleError(err, [], card.setError)
        });
        const action = (code, resolve, reject) => {
          signIn.attemptFirstFactor({
            strategy: props.factor.strategy,
            code
          }).then(async (res) => {
            await resolve();
            switch (res.status) {
              case "complete":
                return setActive({
                  session: res.createdSessionId,
                  navigate: async ({ session, decorateUrl }) => {
                    await navigateOnSetActive({
                      session,
                      redirectUrl: afterSignInUrl,
                      decorateUrl
                    });
                  }
                });
              case "needs_second_factor":
                return navigate("../factor-two");
              case "needs_new_password":
                return navigate("../reset-password");
              default:
                return console.error(clerkInvalidFAPIResponse(res.status, supportEmail));
            }
          }).catch((err) => {
            if (isUserLockedError(err)) return clerk2.__internal_navigateWithError("..", err.errors[0]);
            return reject(err);
          });
        };
        return /* @__PURE__ */ jsx2(VerificationCodeCard, {
          cardTitle: props.cardTitle,
          cardSubtitle: props.cardSubtitle,
          inputLabel: props.inputLabel,
          resendButton: props.resendButton,
          onCodeEntryFinishedAction: action,
          onResendCodeClicked: prepare,
          safeIdentifier: props.factor.safeIdentifier,
          profileImageUrl: signIn.userData.imageUrl,
          onShowAlternativeMethodsClicked: props.onShowAlternativeMethodsClicked,
          showAlternativeMethods: props.showAlternativeMethods,
          onIdentityPreviewEditClicked: goBack,
          onBackLinkClicked: props.onBackLinkClicked
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOneEmailCodeCard.js
  var SignInFactorOneEmailCodeCard;
  var init_SignInFactorOneEmailCodeCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOneEmailCodeCard.js"() {
      init_localizationKeys();
      init_Flow();
      init_SignInFactorOneCodeForm();
      init_emotion_react_jsx_runtime_browser_esm();
      SignInFactorOneEmailCodeCard = (props) => {
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "emailCode",
          children: /* @__PURE__ */ jsx2(SignInFactorOneCodeForm, {
            ...props,
            cardTitle: localizationKeys("signIn.emailCode.title"),
            cardSubtitle: localizationKeys("signIn.emailCode.subtitle"),
            inputLabel: localizationKeys("signIn.emailCode.formTitle"),
            resendButton: localizationKeys("signIn.emailCode.resendButton")
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOneEmailLinkCard.js
  var import_react228, SignInFactorOneEmailLinkCard;
  var init_SignInFactorOneEmailLinkCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOneEmailLinkCard.js"() {
      init_RouteContext();
      init_useEmailLink();
      init_localizationKeys();
      init_redirects();
      init_SignIn();
      init_CoreClientContext();
      init_makeLocalizable();
      init_contexts();
      init_Flow();
      init_EmailLinkStatusCard();
      init_errorHandler();
      init_VerificationLinkCard();
      init_error();
      import_react228 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      SignInFactorOneEmailLinkCard = (props) => {
        const { t: t2 } = useLocalizations();
        const card = useCardState();
        const signIn = useCoreSignIn();
        const signInContext = useSignInContext();
        const { signInUrl } = signInContext;
        const { navigate } = useRouter();
        const { afterSignInUrl } = useSignInContext();
        const { setActive } = useClerk();
        const { startEmailLinkFlow, cancelEmailLinkFlow } = useEmailLink(signIn);
        const [showVerifyModal, setShowVerifyModal] = import_react228.default.useState(false);
        const clerk2 = useClerk();
        import_react228.default.useEffect(() => {
          startEmailLinkVerification();
        }, []);
        const restartVerification = () => {
          cancelEmailLinkFlow();
          startEmailLinkVerification();
        };
        const startEmailLinkVerification = () => {
          startEmailLinkFlow({
            emailAddressId: props.factor.emailAddressId,
            redirectUrl: buildVerificationRedirectUrl({
              ctx: signInContext,
              baseUrl: signInUrl,
              intent: "sign-in"
            })
          }).then((res) => handleVerificationResult(res)).catch((err) => {
            if (isUserLockedError(err)) return clerk2.__internal_navigateWithError("..", err.errors[0]);
            handleError(err, [], card.setError);
          });
        };
        const handleVerificationResult = async (si) => {
          const ver = si.firstFactorVerification;
          if (ver.status === "expired") card.setError(t2(localizationKeys("formFieldError__verificationLinkExpired")));
          else if (ver.verifiedFromTheSameClient()) setShowVerifyModal(true);
          else await completeSignInFlow(si);
        };
        const completeSignInFlow = async (si) => {
          if (si.status === "complete") return setActive({
            session: si.createdSessionId,
            redirectUrl: afterSignInUrl
          });
          else if (si.status === "needs_second_factor") return navigate("../factor-two");
        };
        if (showVerifyModal) return /* @__PURE__ */ jsx2(EmailLinkStatusCard, {
          title: localizationKeys("signIn.emailLink.verifiedSwitchTab.titleNewTab"),
          subtitle: localizationKeys("signIn.emailLink.verifiedSwitchTab.subtitleNewTab"),
          status: "verified_switch_tab"
        });
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "emailLink",
          children: /* @__PURE__ */ jsx2(VerificationLinkCard, {
            cardTitle: localizationKeys("signIn.emailLink.title"),
            cardSubtitle: localizationKeys("signIn.emailLink.subtitle"),
            formTitle: localizationKeys("signIn.emailLink.formTitle"),
            formSubtitle: localizationKeys("signIn.emailLink.formSubtitle"),
            resendButton: localizationKeys("signIn.emailLink.resendButton"),
            onResendCodeClicked: restartVerification,
            safeIdentifier: props.factor.safeIdentifier,
            profileImageUrl: signIn.userData.imageUrl,
            onShowAlternativeMethodsClicked: props.onShowAlternativeMethodsClicked
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOneEnterpriseConnections.js
  var SignInFactorOneEnterpriseConnectionsInternal, withEnterpriseConnectionsGuard, SignInFactorOneEnterpriseConnections;
  var init_SignInFactorOneEnterpriseConnections = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOneEnterpriseConnections.js"() {
      init_localizationKeys();
      init_SignIn();
      init_CoreClientContext();
      init_contexts();
      init_Flow();
      init_withRedirect();
      init_shared2();
      init_ChooseEnterpriseConnectionCard();
      init_emotion_react_jsx_runtime_browser_esm();
      init_react();
      SignInFactorOneEnterpriseConnectionsInternal = () => {
        const ctx = useSignInContext();
        const signIn = useClerk().client.signIn;
        if (!hasMultipleEnterpriseConnections(signIn.supportedFirstFactors)) return null;
        const enterpriseConnections = signIn.supportedFirstFactors.map((ff) => ({
          id: ff.enterpriseConnectionId,
          name: ff.enterpriseConnectionName
        }));
        const handleEnterpriseSSO = (enterpriseConnectionId) => {
          const redirectUrl = ctx.ssoCallbackUrl;
          const redirectUrlComplete = ctx.afterSignInUrl || "/";
          return signIn.authenticateWithRedirect({
            strategy: "enterprise_sso",
            redirectUrl,
            redirectUrlComplete,
            oidcPrompt: ctx.oidcPrompt,
            continueSignIn: true,
            enterpriseConnectionId
          });
        };
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "enterpriseConnections",
          children: /* @__PURE__ */ jsx2(ChooseEnterpriseConnectionCard, {
            title: localizationKeys("signIn.enterpriseConnections.title"),
            subtitle: localizationKeys("signIn.enterpriseConnections.subtitle"),
            onClick: handleEnterpriseSSO,
            enterpriseConnections
          })
        });
      };
      withEnterpriseConnectionsGuard = (Component) => {
        const displayName = Component.displayName || Component.name || "Component";
        Component.displayName = displayName;
        const HOC = (props) => {
          const signIn = useCoreSignIn();
          const signInCtx = useSignInContext();
          return withRedirect(Component, () => !hasMultipleEnterpriseConnections(signIn.supportedFirstFactors), ({ clerk: clerk2 }) => signInCtx.signInUrl || clerk2.buildSignInUrl(), "There are no enterprise connections available to sign-in. Clerk is redirecting to the `signInUrl` instead.")(props);
        };
        HOC.displayName = `withEnterpriseConnectionsGuard(${displayName})`;
        return HOC;
      };
      SignInFactorOneEnterpriseConnections = withCardStateProvider(withEnterpriseConnectionsGuard(SignInFactorOneEnterpriseConnectionsInternal));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOneForgotPasswordCard.js
  var SignInFactorOneForgotPasswordCard;
  var init_SignInFactorOneForgotPasswordCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOneForgotPasswordCard.js"() {
      init_localizationKeys();
      init_Flow();
      init_SignInFactorOneCodeForm();
      init_emotion_react_jsx_runtime_browser_esm();
      SignInFactorOneForgotPasswordCard = (props) => {
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "resetPassword",
          children: /* @__PURE__ */ jsx2(SignInFactorOneCodeForm, {
            ...props,
            showAlternativeMethods: false,
            cardTitle: localizationKeys("signIn.forgotPassword.title"),
            inputLabel: localizationKeys("signIn.forgotPassword.formTitle"),
            resendButton: localizationKeys("signIn.forgotPassword.resendButton")
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOnePasskey.js
  var import_react231, SignInFactorOnePasskey;
  var init_SignInFactorOnePasskey = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOnePasskey.js"() {
      init_RouteContext();
      init_localizationKeys();
      init_CoreClientContext();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      init_Form2();
      init_IdentityPreview();
      init_HavingTrouble();
      init_shared2();
      import_react231 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      SignInFactorOnePasskey = (props) => {
        const { onShowAlternativeMethodsClick } = props;
        const card = useCardState();
        const signIn = useCoreSignIn();
        const { navigate } = useRouter();
        const [showHavingTrouble, setShowHavingTrouble] = import_react231.default.useState(false);
        const toggleHavingTrouble = import_react231.default.useCallback(() => setShowHavingTrouble((s2) => !s2), [setShowHavingTrouble]);
        const onSecondFactor = () => navigate("../factor-two");
        const authenticateWithPasskey = useHandleAuthenticateWithPasskey(onSecondFactor);
        const goBack = () => {
          return navigate("../");
        };
        const handleSubmit = (e3) => {
          e3.preventDefault();
          return authenticateWithPasskey();
        };
        if (showHavingTrouble) return /* @__PURE__ */ jsx2(HavingTrouble, { onBackLinkClick: toggleHavingTrouble });
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "password",
          children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
            /* @__PURE__ */ jsxs2(Header.Root, {
              showLogo: true,
              children: [
                /* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("signIn.passkey.title") }),
                /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("signIn.passkey.subtitle") }),
                /* @__PURE__ */ jsx2(IdentityPreview, {
                  identifier: signIn.identifier,
                  avatarUrl: signIn.userData.imageUrl,
                  onClick: goBack
                })
              ]
            }),
            /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
            /* @__PURE__ */ jsxs2(Flex2, {
              direction: "col",
              elementDescriptor: descriptors.main,
              gap: 4,
              children: [/* @__PURE__ */ jsx2(Form$1.Root, {
                onSubmit: handleSubmit,
                gap: 8,
                children: /* @__PURE__ */ jsx2(Form$1.SubmitButton, { hasArrow: true })
              }), /* @__PURE__ */ jsx2(Card.Action, {
                elementId: onShowAlternativeMethodsClick ? "alternativeMethods" : "havingTrouble",
                children: /* @__PURE__ */ jsx2(Card.ActionLink, {
                  localizationKey: localizationKeys(onShowAlternativeMethodsClick ? "footerActionLink__useAnotherMethod" : "signIn.alternativeMethods.actionLink"),
                  onClick: onShowAlternativeMethodsClick || toggleHavingTrouble
                })
              })]
            })
          ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOnePasswordCard.js
  var import_react232, usePasswordControl, SignInFactorOnePasswordCard;
  var init_SignInFactorOnePasswordCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOnePasswordCard.js"() {
      init_RouteContext();
      init_localizationKeys();
      init_SignIn();
      init_CoreClientContext();
      init_useFormControl();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      init_errorHandler();
      init_Form2();
      init_IdentityPreview();
      init_useSupportEmail();
      init_HavingTrouble();
      init_useResetPasswordFactor();
      init_error();
      init_errors();
      import_react232 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      usePasswordControl = (props) => {
        const { onForgotPasswordMethodClick, onShowAlternativeMethodsClick } = props;
        const resetPasswordFactor = useResetPasswordFactor();
        const passwordControl = useFormControl("password", "", {
          type: "password",
          label: localizationKeys("formFieldLabel__password"),
          placeholder: localizationKeys("formFieldInputPlaceholder__password")
        });
        return {
          ...passwordControl,
          props: {
            ...passwordControl.props,
            actionLabel: resetPasswordFactor || onShowAlternativeMethodsClick ? localizationKeys("formFieldAction__forgotPassword") : "",
            onActionClicked: onForgotPasswordMethodClick ? onForgotPasswordMethodClick : onShowAlternativeMethodsClick ? onShowAlternativeMethodsClick : () => null
          }
        };
      };
      SignInFactorOnePasswordCard = (props) => {
        const { onShowAlternativeMethodsClick, onPasswordError } = props;
        const passwordInputRef = import_react232.default.useRef(null);
        const card = useCardState();
        const { setActive } = useClerk();
        const signIn = useCoreSignIn();
        const { afterSignInUrl, navigateOnSetActive } = useSignInContext();
        const supportEmail = useSupportEmail();
        const passwordControl = usePasswordControl(props);
        const { navigate } = useRouter();
        const [showHavingTrouble, setShowHavingTrouble] = import_react232.default.useState(false);
        const toggleHavingTrouble = import_react232.default.useCallback(() => setShowHavingTrouble((s2) => !s2), [setShowHavingTrouble]);
        const clerk2 = useClerk();
        const goBack = () => {
          navigate("../");
        };
        const handlePasswordSubmit = (e3) => {
          e3.preventDefault();
          signIn.attemptFirstFactor({
            strategy: "password",
            password: passwordControl.value
          }).then((res) => {
            switch (res.status) {
              case "complete":
                return setActive({
                  session: res.createdSessionId,
                  navigate: ({ session, decorateUrl }) => {
                    return navigateOnSetActive({
                      session,
                      redirectUrl: afterSignInUrl,
                      decorateUrl
                    });
                  }
                });
              case "needs_second_factor":
                return navigate("../factor-two");
              case "needs_client_trust":
                return navigate("../client-trust");
              default:
                return console.error(clerkInvalidFAPIResponse(res.status, supportEmail));
            }
          }).catch((err) => {
            if (isUserLockedError(err)) return clerk2.__internal_navigateWithError("..", err.errors[0]);
            if (onPasswordError) {
              if (isPasswordPwnedError(err)) {
                card.setError({
                  ...err.errors[0],
                  code: "form_password_pwned__sign_in"
                });
                onPasswordError("pwned");
                return;
              }
              if (isPasswordCompromisedError(err)) {
                card.setError({
                  ...err.errors[0],
                  code: "form_password_compromised__sign_in"
                });
                onPasswordError("compromised");
                return;
              }
            }
            handleError(err, [passwordControl], card.setError);
            setTimeout(() => passwordInputRef.current?.focus(), 0);
          });
        };
        if (showHavingTrouble) return /* @__PURE__ */ jsx2(HavingTrouble, { onBackLinkClick: toggleHavingTrouble });
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "password",
          children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
            /* @__PURE__ */ jsxs2(Header.Root, {
              showLogo: true,
              children: [
                /* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("signIn.password.title") }),
                /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("signIn.password.subtitle") }),
                /* @__PURE__ */ jsx2(IdentityPreview, {
                  identifier: signIn.identifier,
                  avatarUrl: signIn.userData.imageUrl,
                  onClick: goBack
                })
              ]
            }),
            /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
            /* @__PURE__ */ jsxs2(Flex2, {
              direction: "col",
              elementDescriptor: descriptors.main,
              gap: 4,
              children: [/* @__PURE__ */ jsxs2(Form$1.Root, {
                onSubmit: handlePasswordSubmit,
                gap: 8,
                children: [
                  /* @__PURE__ */ jsx2("input", {
                    readOnly: true,
                    id: "identifier-field",
                    name: "identifier",
                    value: signIn.identifier || "",
                    style: { display: "none" }
                  }),
                  /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                    elementId: passwordControl.id,
                    children: /* @__PURE__ */ jsx2(Form$1.PasswordInput, {
                      ...passwordControl.props,
                      ref: passwordInputRef,
                      autoFocus: true
                    })
                  }),
                  /* @__PURE__ */ jsx2(Form$1.SubmitButton, { hasArrow: true })
                ]
              }), /* @__PURE__ */ jsx2(Card.Action, {
                elementId: onShowAlternativeMethodsClick ? "alternativeMethods" : "havingTrouble",
                children: /* @__PURE__ */ jsx2(Card.ActionLink, {
                  localizationKey: localizationKeys(onShowAlternativeMethodsClick ? "signIn.password.actionLink" : "signIn.alternativeMethods.actionLink"),
                  onClick: onShowAlternativeMethodsClick || toggleHavingTrouble
                })
              })]
            })
          ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOnePhoneCodeCard.js
  var SignInFactorOnePhoneCodeCard;
  var init_SignInFactorOnePhoneCodeCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOnePhoneCodeCard.js"() {
      init_localizationKeys();
      init_Flow();
      init_SignInFactorOneCodeForm();
      init_emotion_react_jsx_runtime_browser_esm();
      SignInFactorOnePhoneCodeCard = (props) => {
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "phoneCode",
          children: /* @__PURE__ */ jsx2(SignInFactorOneCodeForm, {
            ...props,
            cardTitle: localizationKeys("signIn.phoneCode.title"),
            cardSubtitle: localizationKeys("signIn.phoneCode.subtitle"),
            inputLabel: localizationKeys("signIn.phoneCode.formTitle"),
            resendButton: localizationKeys("signIn.phoneCode.resendButton")
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOne.js
  function determineAlternativeMethodsMode(showForgotPasswordStrategies, passwordErrorCode) {
    if (!showForgotPasswordStrategies) return "default";
    if (passwordErrorCode === "pwned") return "pwned";
    if (passwordErrorCode === "compromised") return "passwordCompromised";
    return "forgot";
  }
  function SignInFactorOneInternal() {
    const { __internal_setActiveInProgress } = useClerk();
    const signIn = useCoreSignIn();
    const { preferredSignInStrategy } = useEnvironment().displayConfig;
    const availableFactors = signIn.supportedFirstFactors;
    const router = useRouter();
    const card = useCardState();
    const { supportedFirstFactors, firstFactorVerification } = useCoreSignIn();
    const lastPreparedFactorKeyRef = import_react234.default.useRef("");
    const [{ currentFactor }, setFactor] = import_react234.default.useState(() => {
      const factor = determineStartingSignInFactor(availableFactors, signIn.identifier, preferredSignInStrategy);
      if (factor?.strategy === "phone_code" && !!firstFactorVerification.channel && firstFactorVerification.channel !== "sms") factor.channel = firstFactorVerification.channel;
      return {
        currentFactor: factor,
        prevCurrentFactor: void 0
      };
    });
    const { hasAnyStrategy } = useAlternativeStrategies({
      filterOutFactor: currentFactor,
      supportedFirstFactors
    });
    const [showAllStrategies, setShowAllStrategies] = import_react234.default.useState(() => !currentFactor || !factorHasLocalStrategy(currentFactor));
    const resetPasswordFactor = useResetPasswordFactor();
    const [showForgotPasswordStrategies, setShowForgotPasswordStrategies] = import_react234.default.useState(false);
    const [passwordErrorCode, setPasswordErrorCode] = import_react234.default.useState(null);
    import_react234.default.useEffect(() => {
      if (__internal_setActiveInProgress) return;
      if (signIn.status === "needs_identifier" || signIn.status === null) router.navigate("../");
    }, [__internal_setActiveInProgress]);
    if (!currentFactor) return signIn.status ? /* @__PURE__ */ jsx2(ErrorCard, {
      cardTitle: localizationKeys("signIn.noAvailableMethods.title"),
      cardSubtitle: localizationKeys("signIn.noAvailableMethods.subtitle"),
      message: localizationKeys("signIn.noAvailableMethods.message")
    }) : /* @__PURE__ */ jsx2(LoadingCard, {});
    const toggleAllStrategies = hasAnyStrategy ? () => setShowAllStrategies((s2) => !s2) : void 0;
    const toggleForgotPasswordStrategies = () => setShowForgotPasswordStrategies((s2) => !s2);
    const handleFactorPrepare = () => {
      lastPreparedFactorKeyRef.current = factorKey(currentFactor);
    };
    const selectFactor = (factor) => {
      setFactor((prev3) => ({
        currentFactor: factor,
        prevCurrentFactor: prev3.currentFactor
      }));
    };
    if (hasMultipleEnterpriseConnections(signIn.supportedFirstFactors)) return /* @__PURE__ */ jsx2(SignInFactorOneEnterpriseConnections, {});
    if (showAllStrategies || showForgotPasswordStrategies) {
      const canGoBack = factorHasLocalStrategy(currentFactor);
      const toggle = showAllStrategies ? toggleAllStrategies : toggleForgotPasswordStrategies;
      const backHandler = () => {
        card.setError(void 0);
        setPasswordErrorCode(null);
        toggle?.();
      };
      return /* @__PURE__ */ jsx2(AlternativeMethods, {
        mode: determineAlternativeMethodsMode(showForgotPasswordStrategies, passwordErrorCode),
        onBackLinkClick: canGoBack ? backHandler : void 0,
        onFactorSelected: (f3) => {
          selectFactor(f3);
          toggle?.();
        },
        currentFactor
      });
    }
    if (!currentFactor) return /* @__PURE__ */ jsx2(LoadingCard, {});
    switch (currentFactor?.strategy) {
      case "passkey":
        return /* @__PURE__ */ jsx2(SignInFactorOnePasskey, {
          onFactorPrepare: handleFactorPrepare,
          onShowAlternativeMethodsClick: toggleAllStrategies
        });
      case "password":
        return /* @__PURE__ */ jsx2(SignInFactorOnePasswordCard, {
          onForgotPasswordMethodClick: resetPasswordFactor ? toggleForgotPasswordStrategies : toggleAllStrategies,
          onShowAlternativeMethodsClick: toggleAllStrategies,
          onPasswordError: (errorCode) => {
            setPasswordErrorCode(errorCode);
            toggleForgotPasswordStrategies();
          }
        });
      case "email_code":
        return /* @__PURE__ */ jsx2(SignInFactorOneEmailCodeCard, {
          factorAlreadyPrepared: lastPreparedFactorKeyRef.current === factorKey(currentFactor),
          onFactorPrepare: handleFactorPrepare,
          factor: currentFactor,
          onShowAlternativeMethodsClicked: toggleAllStrategies
        });
      case "phone_code":
        if (currentFactor.channel && currentFactor.channel !== "sms") return /* @__PURE__ */ jsx2(SignInFactorOneAlternativePhoneCodeCard, {
          factorAlreadyPrepared: lastPreparedFactorKeyRef.current === factorKey(currentFactor),
          onFactorPrepare: handleFactorPrepare,
          factor: currentFactor,
          onChangePhoneCodeChannel: selectFactor
        });
        else return /* @__PURE__ */ jsx2(SignInFactorOnePhoneCodeCard, {
          factorAlreadyPrepared: lastPreparedFactorKeyRef.current === factorKey(currentFactor),
          onFactorPrepare: handleFactorPrepare,
          factor: currentFactor,
          onShowAlternativeMethodsClicked: toggleAllStrategies
        });
      case "email_link":
        return /* @__PURE__ */ jsx2(SignInFactorOneEmailLinkCard, {
          factorAlreadyPrepared: lastPreparedFactorKeyRef.current === factorKey(currentFactor),
          onFactorPrepare: handleFactorPrepare,
          factor: currentFactor,
          onShowAlternativeMethodsClicked: toggleAllStrategies
        });
      case "reset_password_phone_code":
        return /* @__PURE__ */ jsx2(SignInFactorOneForgotPasswordCard, {
          factorAlreadyPrepared: lastPreparedFactorKeyRef.current === factorKey(currentFactor),
          onFactorPrepare: handleFactorPrepare,
          factor: currentFactor,
          onShowAlternativeMethodsClicked: toggleAllStrategies,
          onBackLinkClicked: () => {
            setFactor((prev3) => ({
              currentFactor: prev3.prevCurrentFactor,
              prevCurrentFactor: prev3.currentFactor
            }));
            toggleForgotPasswordStrategies();
          },
          cardSubtitle: localizationKeys("signIn.forgotPassword.subtitle_phone")
        });
      case "reset_password_email_code":
        return /* @__PURE__ */ jsx2(SignInFactorOneForgotPasswordCard, {
          factorAlreadyPrepared: lastPreparedFactorKeyRef.current === factorKey(currentFactor),
          onFactorPrepare: handleFactorPrepare,
          factor: currentFactor,
          onShowAlternativeMethodsClicked: toggleAllStrategies,
          onBackLinkClicked: () => {
            setFactor((prev3) => ({
              currentFactor: prev3.prevCurrentFactor,
              prevCurrentFactor: prev3.currentFactor
            }));
            toggleForgotPasswordStrategies();
          },
          cardSubtitle: localizationKeys("signIn.forgotPassword.subtitle_email")
        });
      default:
        return /* @__PURE__ */ jsx2(LoadingCard, {});
    }
  }
  var import_react234, factorKey, SignInFactorOne;
  var init_SignInFactorOne = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorOne.js"() {
      init_RouteContext();
      init_EnvironmentContext();
      init_localizationKeys();
      init_CoreClientContext();
      init_contexts();
      init_LoadingCard();
      init_withRedirect();
      init_ErrorCard();
      init_utils10();
      init_useAlternativeStrategies();
      init_useResetPasswordFactor();
      init_AlternativeMethods();
      init_shared2();
      init_SignInFactorOneAlternativePhoneCodeCard();
      init_SignInFactorOneEmailCodeCard();
      init_SignInFactorOneEmailLinkCard();
      init_SignInFactorOneEnterpriseConnections();
      init_SignInFactorOneForgotPasswordCard();
      init_SignInFactorOnePasskey();
      init_SignInFactorOnePasswordCard();
      init_SignInFactorOnePhoneCodeCard();
      import_react234 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      factorKey = (factor) => {
        if (!factor) return "";
        let key = factor.strategy;
        if ("emailAddressId" in factor) key += factor.emailAddressId;
        if ("phoneNumberId" in factor) key += factor.phoneNumberId;
        if ("channel" in factor) key += factor.channel;
        return key;
      };
      SignInFactorOne = withRedirectToSignInTask(withRedirectToAfterSignIn(withCardStateProvider(SignInFactorOneInternal)));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorTwoBackupCodeCard.js
  var import_react236, SignInFactorTwoBackupCodeCard;
  var init_SignInFactorTwoBackupCodeCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorTwoBackupCodeCard.js"() {
      init_RouteContext();
      init_localizationKeys();
      init_SignIn();
      init_CoreClientContext();
      init_useFormControl();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_errorHandler();
      init_Form2();
      init_useSupportEmail();
      init_utils10();
      init_error();
      init_errors();
      import_react236 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      SignInFactorTwoBackupCodeCard = (props) => {
        const { onShowAlternativeMethodsClicked } = props;
        const signIn = useCoreSignIn();
        const { afterSignInUrl, navigateOnSetActive } = useSignInContext();
        const { setActive } = useClerk();
        const { navigate } = useRouter();
        const supportEmail = useSupportEmail();
        const card = useCardState();
        const codeControl = useFormControl("code", "", {
          type: "text",
          label: localizationKeys("formFieldLabel__backupCode"),
          isRequired: true
        });
        const clerk2 = useClerk();
        const isResettingPassword2 = (resource) => isResetPasswordStrategy(resource.firstFactorVerification?.strategy) && resource.firstFactorVerification?.status === "verified";
        const handleBackupCodeSubmit = (e3) => {
          e3.preventDefault();
          return signIn.attemptSecondFactor({
            strategy: "backup_code",
            code: codeControl.value
          }).then((res) => {
            switch (res.status) {
              case "complete":
                if (isResettingPassword2(res) && res.createdSessionId) {
                  const queryParams = new URLSearchParams();
                  queryParams.set("createdSessionId", res.createdSessionId);
                  return navigate(`../reset-password-success?${queryParams.toString()}`);
                }
                return setActive({
                  session: res.createdSessionId,
                  navigate: async ({ session, decorateUrl }) => {
                    await navigateOnSetActive({
                      session,
                      redirectUrl: afterSignInUrl,
                      decorateUrl
                    });
                  }
                });
              default:
                return console.error(clerkInvalidFAPIResponse(res.status, supportEmail));
            }
          }).catch((err) => {
            if (isUserLockedError(err)) return clerk2.__internal_navigateWithError("..", err.errors[0]);
            handleError(err, [codeControl], card.setError);
          });
        };
        return /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
          /* @__PURE__ */ jsxs2(Header.Root, {
            showLogo: true,
            children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("signIn.backupCodeMfa.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: isResettingPassword2(signIn) ? localizationKeys("signIn.forgotPassword.subtitle") : localizationKeys("signIn.backupCodeMfa.subtitle") })]
          }),
          /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
          /* @__PURE__ */ jsx2(Col2, {
            elementDescriptor: descriptors.main,
            gap: 8,
            children: /* @__PURE__ */ jsxs2(Form$1.Root, {
              onSubmit: handleBackupCodeSubmit,
              children: [/* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: codeControl.id,
                children: /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                  ...codeControl.props,
                  autoFocus: true,
                  onActionClicked: onShowAlternativeMethodsClicked
                })
              }), /* @__PURE__ */ jsxs2(Col2, {
                gap: 3,
                children: [/* @__PURE__ */ jsx2(Form$1.SubmitButton, { hasArrow: true }), /* @__PURE__ */ jsx2(Card.Action, {
                  elementId: "alternativeMethods",
                  children: onShowAlternativeMethodsClicked && /* @__PURE__ */ jsx2(Card.ActionLink, {
                    localizationKey: localizationKeys("footerActionLink__useAnotherMethod"),
                    onClick: onShowAlternativeMethodsClicked
                  })
                })]
              })]
            })
          })
        ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorTwoTOTPCard.js
  var SignInFactorTwoTOTPCard;
  var init_SignInFactorTwoTOTPCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorTwoTOTPCard.js"() {
      init_localizationKeys();
      init_Flow();
      init_SignInFactorTwoCodeForm();
      init_emotion_react_jsx_runtime_browser_esm();
      SignInFactorTwoTOTPCard = (props) => {
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "totp2Fa",
          children: /* @__PURE__ */ jsx2(SignInFactorTwoCodeForm, {
            ...props,
            cardTitle: localizationKeys("signIn.totpMfa.title"),
            cardSubtitle: localizationKeys("signIn.totpMfa.subtitle"),
            inputLabel: localizationKeys("signIn.totpMfa.formTitle")
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorTwo.js
  function SignInFactorTwoInternal() {
    const clerk2 = useClerk();
    const signIn = useCoreSignIn();
    const router = useRouter();
    const { afterSignInUrl } = useSignInContext();
    const { currentFactor, factorAlreadyPrepared, handleFactorPrepare, selectFactor, showAllStrategies, toggleAllStrategies } = useSecondFactorSelection(signIn.supportedSecondFactors);
    import_react238.default.useEffect(() => {
      if (clerk2.__internal_setActiveInProgress) return;
      if (signIn.status === null || signIn.status === "needs_identifier" || signIn.status === "needs_first_factor") if (clerk2.isSignedIn) router.navigate(afterSignInUrl);
      else router.navigate("../");
    }, [clerk2.__internal_setActiveInProgress]);
    if (!currentFactor) return /* @__PURE__ */ jsx2(LoadingCard, {});
    if (showAllStrategies) return /* @__PURE__ */ jsx2(SignInFactorTwoAlternativeMethods, {
      onBackLinkClick: toggleAllStrategies,
      onFactorSelected: selectFactor
    });
    switch (currentFactor?.strategy) {
      case "phone_code":
        return /* @__PURE__ */ jsx2(SignInFactorTwoPhoneCodeCard, {
          factorAlreadyPrepared,
          onFactorPrepare: handleFactorPrepare,
          factor: currentFactor,
          onShowAlternativeMethodsClicked: toggleAllStrategies
        });
      case "totp":
        return /* @__PURE__ */ jsx2(SignInFactorTwoTOTPCard, {
          factorAlreadyPrepared,
          onFactorPrepare: handleFactorPrepare,
          factor: currentFactor,
          onShowAlternativeMethodsClicked: toggleAllStrategies
        });
      case "backup_code":
        return /* @__PURE__ */ jsx2(SignInFactorTwoBackupCodeCard, { onShowAlternativeMethodsClicked: toggleAllStrategies });
      case "email_code":
        return /* @__PURE__ */ jsx2(SignInFactorTwoEmailCodeCard, {
          factorAlreadyPrepared,
          onFactorPrepare: handleFactorPrepare,
          factor: currentFactor,
          onShowAlternativeMethodsClicked: toggleAllStrategies
        });
      case "email_link":
        return /* @__PURE__ */ jsx2(SignInFactorTwoEmailLinkCard, {
          factorAlreadyPrepared,
          onFactorPrepare: handleFactorPrepare,
          factor: currentFactor,
          onShowAlternativeMethodsClicked: toggleAllStrategies
        });
      default:
        return /* @__PURE__ */ jsx2(LoadingCard, {});
    }
  }
  var import_react238, SignInFactorTwo;
  var init_SignInFactorTwo = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInFactorTwo.js"() {
      init_RouteContext();
      init_SignIn();
      init_CoreClientContext();
      init_contexts();
      init_LoadingCard();
      init_withRedirect();
      init_SignInFactorTwoAlternativeMethods();
      init_SignInFactorTwoEmailCodeCard();
      init_SignInFactorTwoEmailLinkCard();
      init_SignInFactorTwoPhoneCodeCard();
      init_useSecondFactorSelection();
      init_SignInFactorTwoBackupCodeCard();
      init_SignInFactorTwoTOTPCard();
      import_react238 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      SignInFactorTwo = withRedirectToSignInTask(withRedirectToAfterSignIn(withCardStateProvider(SignInFactorTwoInternal)));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInSSOCallback.js
  var SignInSSOCallback;
  var init_SignInSSOCallback = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInSSOCallback.js"() {
      init_SSOCallback();
      init_withRedirect();
      SignInSSOCallback = withRedirectToSignInTask(withRedirectToAfterSignIn(SSOCallback));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/isMobileDevice.js
  var mobileNavigatorsRegex, isMobileDevice;
  var init_isMobileDevice = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/isMobileDevice.js"() {
      mobileNavigatorsRegex = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i;
      isMobileDevice = () => {
        if (typeof window === "undefined" || typeof window.document === "undefined") return false;
        return !!(window.matchMedia("only screen and (max-width: 760px)").matches || mobileNavigatorsRegex.test(navigator.userAgent) || "ontouchstart" in document.documentElement && navigator.userAgent.match(/Mobi/));
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/handleCombinedFlowTransfer.js
  function handleCombinedFlowTransfer({ identifierAttribute, identifierValue, signUpMode, navigate, organizationTicket, afterSignUpUrl, clerk: clerk2, handleError: handleError2, redirectUrl, redirectUrlComplete, passwordEnabled, navigateOnSetActive, alternativePhoneCodeChannel, unsafeMetadata }) {
    if (signUpMode === SIGN_UP_MODES.WAITLIST) return navigate(clerk2.buildWaitlistUrl(identifierAttribute === "emailAddress" ? { initialValues: { [identifierAttribute]: identifierValue } } : {}));
    clerk2.client.signUp[identifierAttribute] = identifierValue;
    const paramsToForward = new URLSearchParams();
    if (organizationTicket) paramsToForward.set("__clerk_ticket", organizationTicket);
    const alternativePhoneCodeChannelParams = alternativePhoneCodeChannel ? {
      strategy: "phone_code",
      channel: alternativePhoneCodeChannel
    } : {};
    if (!passwordEnabled && !hasOptionalFields(clerk2.client.signUp, identifierAttribute) && (identifierAttribute === "emailAddress" || identifierAttribute === "phoneNumber")) return clerk2.client.signUp.create({
      [identifierAttribute]: identifierValue,
      ...alternativePhoneCodeChannelParams,
      unsafeMetadata
    }).then(async (res) => {
      return (await lazyCompleteSignUpFlow())({
        signUp: res,
        verifyEmailPath: "create/verify-email-address",
        verifyPhonePath: "create/verify-phone-number",
        handleComplete: () => clerk2.setActive({
          session: res.createdSessionId,
          navigate: async ({ session, decorateUrl }) => {
            await navigateOnSetActive({
              session,
              redirectUrl: afterSignUpUrl,
              decorateUrl
            });
          }
        }),
        navigate,
        redirectUrl,
        redirectUrlComplete
      });
    }).catch((err) => handleError2(err));
    return navigate(`create`, { searchParams: paramsToForward });
  }
  function hasOptionalFields(signUp, identifierAttribute) {
    return signUp.optionalFields.filter((field) => {
      if (field.startsWith("oauth_") || field.startsWith("web3_") || field === "enterprise_sso") return false;
      if (field === "password") return false;
      if (identifierAttribute === "phoneNumber" && field === "phone_number") return false;
      return true;
    }).length > 0;
  }
  var init_handleCombinedFlowTransfer = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/handleCombinedFlowTransfer.js"() {
      init_lazy_sign_up();
      init_constants();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInAlternativePhoneCodePhoneNumberCard.js
  var SignInAlternativePhoneCodePhoneNumberCard;
  var init_SignInAlternativePhoneCodePhoneNumberCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInAlternativePhoneCodePhoneNumberCard.js"() {
      init_useEnabledThirdPartyProviders();
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_ProviderIcon();
      init_Form2();
      init_CaptchaElement();
      init_emotion_react_jsx_runtime_browser_esm();
      SignInAlternativePhoneCodePhoneNumberCard = (props) => {
        const { handleSubmit, phoneNumberFormState, onUseAnotherMethod, phoneCodeProvider } = props;
        const { providerToDisplayData: providerToDisplayData2, strategyToDisplayData: strategyToDisplayData2 } = useEnabledThirdPartyProviders();
        const provider = phoneCodeProvider.name;
        const channel = phoneCodeProvider.channel;
        const card = useCardState();
        const strategyData = strategyToDisplayData2[channel];
        return /* @__PURE__ */ jsx2(Card.Root, { children: /* @__PURE__ */ jsxs2(Card.Content, { children: [
          /* @__PURE__ */ jsxs2(Header.Root, {
            showLogo: true,
            showDivider: true,
            children: [
              /* @__PURE__ */ jsx2(Col2, {
                center: true,
                children: providerToDisplayData2[channel] && /* @__PURE__ */ jsx2(ProviderIcon, {
                  id: channel,
                  iconUrl: providerToDisplayData2[channel].iconUrl,
                  name: strategyData?.name || channel || provider,
                  alt: `${strategyData?.name || channel || provider} logo`,
                  size: "$7",
                  sx: (theme) => ({ marginBottom: theme.sizes.$6 })
                })
              }),
              /* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("signIn.start.alternativePhoneCodeProvider.title", { provider }) }),
              /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("signIn.start.alternativePhoneCodeProvider.subtitle", { provider }) })
            ]
          }),
          /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
          /* @__PURE__ */ jsx2(Flex2, {
            direction: "col",
            elementDescriptor: descriptors.main,
            gap: 6,
            children: /* @__PURE__ */ jsxs2(Form$1.Root, {
              onSubmit: handleSubmit,
              gap: 8,
              children: [
                /* @__PURE__ */ jsx2(Col2, {
                  gap: 6,
                  children: /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                    elementId: "phoneNumber",
                    children: /* @__PURE__ */ jsx2(Form$1.PhoneInput, {
                      ...phoneNumberFormState.props,
                      label: localizationKeys("signIn.start.alternativePhoneCodeProvider.label", { provider }),
                      isRequired: true,
                      isOptional: false,
                      actionLabel: void 0,
                      onActionClicked: void 0
                    })
                  })
                }),
                /* @__PURE__ */ jsxs2(Col2, {
                  center: true,
                  children: [/* @__PURE__ */ jsx2(CaptchaElement, {}), /* @__PURE__ */ jsx2(Col2, {
                    gap: 6,
                    sx: { width: "100%" },
                    children: /* @__PURE__ */ jsx2(Form$1.SubmitButton, {
                      hasArrow: true,
                      localizationKey: localizationKeys("formButtonPrimary")
                    })
                  })]
                }),
                /* @__PURE__ */ jsx2(Col2, {
                  center: true,
                  children: /* @__PURE__ */ jsx2(Button2, {
                    variant: "link",
                    colorScheme: "neutral",
                    onClick: onUseAnotherMethod,
                    localizationKey: localizationKeys("signIn.start.alternativePhoneCodeProvider.actionLink")
                  })
                })
              ]
            })
          })
        ] }) });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInStart.js
  function SignInStartInternal() {
    const card = useCardState();
    const clerk2 = useClerk();
    const status = useLoadingStatus();
    const { userSettings, authConfig } = useEnvironment();
    const signIn = useCoreSignIn();
    const { navigate } = useRouter();
    const ctx = useSignInContext();
    const { afterSignInUrl, signUpUrl, waitlistUrl, isCombinedFlow, navigateOnSetActive } = ctx;
    const supportEmail = useSupportEmail();
    const totalEnabledAuthMethods = useTotalEnabledAuthMethods();
    const identifierAttributes = (0, import_react240.useMemo)(() => groupIdentifiers(userSettings.enabledFirstFactorIdentifiers), [userSettings.enabledFirstFactorIdentifiers]);
    const alternativePhoneCodeChannels = userSettings.alternativePhoneCodeChannels;
    const { isWebAuthnAutofillSupported: isWebAuthnAutofillSupported$1 } = useAutoFillPasskey();
    const onSecondFactor = () => navigate("factor-two");
    const authenticateWithPasskey = useHandleAuthenticateWithPasskey(onSecondFactor);
    const isWebSupported = isWebAuthnSupported();
    const [identifierAttribute, setIdentifierAttribute] = (0, import_react240.useState)(!!ctx.initialValues?.phoneNumber && !(ctx.initialValues.emailAddress || ctx.initialValues.username) && identifierAttributes.includes("phone_number") ? "phone_number" : identifierAttributes[0] || "");
    const [hasSwitchedByAutofill, setHasSwitchedByAutofill] = (0, import_react240.useState)(false);
    const organizationTicket = getClerkQueryParam("__clerk_ticket") || "";
    const clerkStatus = getClerkQueryParam("__clerk_status") || "";
    const standardFormAttributes = userSettings.enabledFirstFactorIdentifiers;
    const web3FirstFactors = userSettings.web3FirstFactors;
    const authenticatableSocialStrategies = userSettings.authenticatableSocialStrategies;
    const passwordBasedInstance = userSettings.instanceIsPasswordBased;
    const { currentIdentifier, nextIdentifier } = getIdentifierControlDisplayValues(identifierAttributes, identifierAttribute);
    const instantPasswordField = useFormControl("password", "", {
      type: "password",
      label: localizationKeys("formFieldLabel__password"),
      placeholder: localizationKeys("formFieldInputPlaceholder__password")
    });
    const [alternativePhoneCodeProvider, setAlternativePhoneCodeProvider] = (0, import_react240.useState)(null);
    const showAlternativePhoneCodeProviders = userSettings.alternativePhoneCodeChannels.length > 0;
    const onAlternativePhoneCodeUseAnotherMethod = () => {
      setAlternativePhoneCodeProvider(null);
    };
    const onAlternativePhoneCodeProviderClick = (phoneCodeChannel) => {
      setAlternativePhoneCodeProvider(getAlternativePhoneCodeProviderData(phoneCodeChannel) || null);
    };
    const ctxInitialValues = ctx.initialValues || {};
    const initialValues = (0, import_react240.useMemo)(() => ({
      email_address: ctxInitialValues.emailAddress,
      email_address_username: ctxInitialValues.emailAddress || ctxInitialValues.username,
      username: ctxInitialValues.username,
      phone_number: ctxInitialValues.phoneNumber
    }), [ctx.initialValues]);
    const hasSocialOrWeb3Buttons = !!authenticatableSocialStrategies.length || !!web3FirstFactors.length || !!alternativePhoneCodeChannels.length;
    const [shouldAutofocus, setShouldAutofocus] = (0, import_react240.useState)(!isMobileDevice() && !hasSocialOrWeb3Buttons);
    const textIdentifierField = useFormControl("identifier", initialValues[identifierAttribute] || "", {
      ...currentIdentifier,
      isRequired: true,
      transformer: (value) => value.trim()
    });
    const phoneIdentifierField = useFormControl("identifier", initialValues["phone_number"] || "", {
      ...currentIdentifier,
      isRequired: true
    });
    const identifierField = identifierAttribute === "phone_number" ? phoneIdentifierField : textIdentifierField;
    const switchToNextIdentifier = () => {
      setIdentifierAttribute((i2) => identifierAttributes[(identifierAttributes.indexOf(i2) + 1) % identifierAttributes.length]);
      setShouldAutofocus(true);
      setHasSwitchedByAutofill(false);
    };
    const handlePhoneNumberPaste = (value) => {
      textIdentifierField.setValue(initialValues[identifierAttribute] || "");
      phoneIdentifierField.setValue(value);
      setIdentifierAttribute("phone_number");
      setShouldAutofocus(true);
    };
    (0, import_react240.useLayoutEffect)(() => {
      if (identifierField.value.startsWith("+") && identifierAttributes.includes("phone_number") && identifierAttribute !== "phone_number" && !hasSwitchedByAutofill) {
        handlePhoneNumberPaste(identifierField.value);
        setHasSwitchedByAutofill(true);
      }
    }, [identifierField.value, identifierAttributes]);
    (0, import_react240.useEffect)(() => {
      if (!organizationTicket) return;
      if (clerkStatus === "sign_up") {
        const paramsToForward = new URLSearchParams();
        if (organizationTicket) paramsToForward.set("__clerk_ticket", organizationTicket);
        navigate(isCombinedFlow ? `create` : signUpUrl, { searchParams: paramsToForward });
        return;
      }
      status.setLoading();
      card.setLoading();
      signIn.create({
        strategy: "ticket",
        ticket: organizationTicket
      }).then((res) => {
        switch (res.status) {
          case "needs_first_factor":
            if (!hasOnlyEnterpriseSSOFirstFactors(res) || hasMultipleEnterpriseConnections(res.supportedFirstFactors)) return navigate("factor-one");
            return authenticateWithEnterpriseSSO();
          case "needs_second_factor":
            return navigate("factor-two");
          case "needs_client_trust":
            return navigate("client-trust");
          case "complete":
            removeClerkQueryParam("__clerk_ticket");
            return clerk2.setActive({
              session: res.createdSessionId,
              navigate: async ({ session, decorateUrl }) => {
                await navigateOnSetActive({
                  session,
                  redirectUrl: afterSignInUrl,
                  decorateUrl
                });
              }
            });
          default:
            console.error(clerkInvalidFAPIResponse(res.status, supportEmail));
            return;
        }
      }).catch((err) => {
        return attemptToRecoverFromSignInError(err);
      }).finally(() => {
        if (!!hasOnlyEnterpriseSSOFirstFactors(signIn)) return;
        status.setIdle();
        card.setIdle();
      });
    }, []);
    (0, import_react240.useEffect)(() => {
      async function handleOauthError() {
        const defaultErrorHandler = () => {
          card.setError("Unable to complete action at this time. If the problem persists please contact support.");
        };
        const error2 = signIn?.firstFactorVerification?.error;
        if (error2) {
          switch (error2.code) {
            case ERROR_CODES.NOT_ALLOWED_TO_SIGN_UP:
            case ERROR_CODES.OAUTH_ACCESS_DENIED:
            case ERROR_CODES.NOT_ALLOWED_ACCESS:
            case ERROR_CODES.SAML_USER_ATTRIBUTE_MISSING:
            case ERROR_CODES.OAUTH_EMAIL_DOMAIN_RESERVED_BY_SAML:
            case ERROR_CODES.USER_LOCKED:
            case ERROR_CODES.EXTERNAL_ACCOUNT_NOT_FOUND:
            case ERROR_CODES.SIGN_UP_MODE_RESTRICTED:
            case ERROR_CODES.SIGN_UP_MODE_RESTRICTED_WAITLIST:
            case ERROR_CODES.ENTERPRISE_SSO_USER_ATTRIBUTE_MISSING:
            case ERROR_CODES.ENTERPRISE_SSO_EMAIL_ADDRESS_DOMAIN_MISMATCH:
            case ERROR_CODES.ENTERPRISE_SSO_HOSTED_DOMAIN_MISMATCH:
            case ERROR_CODES.SAML_EMAIL_ADDRESS_DOMAIN_MISMATCH:
            case ERROR_CODES.ORGANIZATION_MEMBERSHIP_QUOTA_EXCEEDED_FOR_SSO:
            case ERROR_CODES.CAPTCHA_INVALID:
            case ERROR_CODES.FRAUD_DEVICE_BLOCKED:
            case ERROR_CODES.FRAUD_ACTION_BLOCKED:
            case ERROR_CODES.SIGNUP_RATE_LIMIT_EXCEEDED:
            case ERROR_CODES.USER_BANNED:
            case ERROR_CODES.USER_DEACTIVATED:
              card.setError(error2);
              break;
            default:
              defaultErrorHandler();
          }
          await signIn.create({});
        }
      }
      handleOauthError();
    }, []);
    const buildSignInParams = (fields) => {
      const hasPassword = fields.some((f3) => f3.name === "password" && !!f3.value);
      if (!hasPassword || userSettings.enterpriseSSO.enabled) fields = fields.filter((f3) => f3.name !== "password");
      return {
        ...buildRequest(fields),
        ...hasPassword && !userSettings.enterpriseSSO.enabled && { strategy: "password" }
      };
    };
    const safePasswordSignInForEnterpriseSSOInstance = (signInCreatePromise, fields) => {
      return signInCreatePromise.then((signInResource) => {
        if (!userSettings.enterpriseSSO.enabled) return signInResource;
        const passwordField = fields.find((f3) => f3.name === "password")?.value;
        if (!passwordField || signInResource.supportedFirstFactors?.some((ff) => ff.strategy === "enterprise_sso")) return signInResource;
        return signInResource.attemptFirstFactor({
          strategy: "password",
          password: passwordField
        });
      });
    };
    const signInWithFields = async (...fields) => {
      const preferredAlternativePhoneChannel = alternativePhoneCodeProvider?.channel || getPreferredAlternativePhoneChannel(fields, authConfig.preferredChannels, "identifier");
      if (preferredAlternativePhoneChannel) {
        const noop7 = () => {
        };
        fields.push({
          id: "strategy",
          value: "phone_code",
          clearFeedback: noop7,
          setValue: noop7,
          onChange: noop7,
          setError: noop7
        });
        fields.push({
          id: "channel",
          value: preferredAlternativePhoneChannel,
          clearFeedback: noop7,
          setValue: noop7,
          onChange: noop7,
          setError: noop7
        });
      }
      try {
        const res = await safePasswordSignInForEnterpriseSSOInstance(signIn.create(buildSignInParams(fields)), fields);
        switch (res.status) {
          case "needs_identifier":
            if (res.supportedFirstFactors?.some((ff) => ff.strategy === "enterprise_sso")) await authenticateWithEnterpriseSSO();
            break;
          case "needs_first_factor":
            if (!hasOnlyEnterpriseSSOFirstFactors(res) || hasMultipleEnterpriseConnections(res.supportedFirstFactors)) return navigate("factor-one");
            return authenticateWithEnterpriseSSO();
          case "needs_second_factor":
            return navigate("factor-two");
          case "needs_client_trust":
            return navigate("client-trust");
          case "complete":
            return clerk2.setActive({
              session: res.createdSessionId,
              navigate: async ({ session, decorateUrl }) => {
                await navigateOnSetActive({
                  session,
                  redirectUrl: afterSignInUrl,
                  decorateUrl
                });
              }
            });
          default:
            console.error(clerkInvalidFAPIResponse(res.status, supportEmail));
            return;
        }
      } catch (e3) {
        return attemptToRecoverFromSignInError(e3);
      }
    };
    const authenticateWithEnterpriseSSO = async () => {
      const redirectUrl = ctx.ssoCallbackUrl;
      const redirectUrlComplete = ctx.afterSignInUrl || "/";
      return signIn.authenticateWithRedirect({
        strategy: "enterprise_sso",
        redirectUrl,
        redirectUrlComplete,
        oidcPrompt: ctx.oidcPrompt,
        continueSignIn: true
      });
    };
    const attemptToRecoverFromSignInError = async (e3) => {
      if (!e3.errors) return;
      const instantPasswordError = e3.errors.find((e$1) => e$1.code === ERROR_CODES.INVALID_STRATEGY_FOR_USER || e$1.code === ERROR_CODES.FORM_PASSWORD_INCORRECT || e$1.code === ERROR_CODES.FORM_PASSWORD_PWNED);
      const sessionAlreadyExistsError = e3.errors.find((e$1) => e$1.code === ERROR_CODES.SESSION_EXISTS);
      const alreadySignedInError = e3.errors.find((e$1) => e$1.code === "identifier_already_signed_in");
      const accountDoesNotExistError = e3.errors.find((e$1) => e$1.code === ERROR_CODES.INVITATION_ACCOUNT_NOT_EXISTS || e$1.code === ERROR_CODES.FORM_IDENTIFIER_NOT_FOUND);
      if (instantPasswordError) await signInWithFields(identifierField);
      else if (sessionAlreadyExistsError) await clerk2.setActive({
        session: clerk2.client.lastActiveSessionId,
        navigate: async ({ session, decorateUrl }) => {
          await navigateOnSetActive({
            session,
            redirectUrl: afterSignInUrl,
            decorateUrl
          });
        }
      });
      else if (alreadySignedInError) {
        const sid = alreadySignedInError.meta.sessionId;
        await clerk2.setActive({
          session: sid,
          navigate: async ({ session, decorateUrl }) => {
            await navigateOnSetActive({
              session,
              redirectUrl: afterSignInUrl,
              decorateUrl
            });
          }
        });
      } else if (isCombinedFlow && accountDoesNotExistError) {
        const attribute = getSignUpAttributeFromIdentifier(identifierField);
        if (userSettings.signUp.mode === SIGN_UP_MODES.WAITLIST) return navigate(clerk2.buildWaitlistUrl(attribute === "emailAddress" ? { initialValues: { [attribute]: identifierField.value } } : {}));
        clerk2.client.signUp[attribute] = identifierField.value;
        const redirectUrl = ctx.ssoCallbackUrl;
        const redirectUrlComplete = ctx.afterSignUpUrl || "/";
        return handleCombinedFlowTransfer({
          afterSignUpUrl: ctx.afterSignUpUrl || "/",
          clerk: clerk2,
          handleError: (e$1) => handleError(e$1, [identifierField, instantPasswordField], card.setError),
          identifierAttribute: attribute,
          identifierValue: identifierField.value,
          navigate,
          organizationTicket,
          signUpMode: userSettings.signUp.mode,
          redirectUrl,
          redirectUrlComplete,
          navigateOnSetActive,
          passwordEnabled: userSettings.attributes.password?.required ?? false,
          alternativePhoneCodeChannel: alternativePhoneCodeProvider?.channel || getPreferredAlternativePhoneChannelForCombinedFlow(authConfig.preferredChannels, attribute, identifierField.value),
          unsafeMetadata: ctx.unsafeMetadata
        });
      } else handleError(e3, [identifierField, instantPasswordField], card.setError);
    };
    const handleFirstPartySubmit = async (e3) => {
      e3.preventDefault();
      return signInWithFields(identifierField, instantPasswordField);
    };
    const DynamicField = (0, import_react240.useMemo)(() => {
      return {
        tel: Form$1.PhoneInput,
        password: Form$1.PasswordInput,
        text: Form$1.PlainInput,
        email: Form$1.PlainInput
      }[identifierField.type];
    }, [identifierField.type]);
    if (status.isLoading || clerkStatus === "sign_up") return /* @__PURE__ */ jsx2(LoadingCard, {});
    const { action, validLastAuthenticationStrategies, ...identifierFieldProps } = identifierField.props;
    const lastAuthenticationStrategy = clerk2.client?.lastAuthenticationStrategy;
    const isIdentifierLastAuthenticationStrategy = lastAuthenticationStrategy && totalEnabledAuthMethods > 1 ? validLastAuthenticationStrategies?.has(lastAuthenticationStrategy) : false;
    return /* @__PURE__ */ jsx2(Flow.Part, {
      part: "start",
      children: !alternativePhoneCodeProvider ? /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
        /* @__PURE__ */ jsxs2(Header.Root, {
          showLogo: true,
          children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: isCombinedFlow ? localizationKeys("signIn.start.titleCombined") : localizationKeys("signIn.start.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, {
            localizationKey: isCombinedFlow ? localizationKeys("signIn.start.subtitleCombined") : localizationKeys("signIn.start.subtitle"),
            sx: { "&:empty": { display: "none" } }
          })]
        }),
        /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
        /* @__PURE__ */ jsxs2(Col2, {
          elementDescriptor: descriptors.main,
          gap: 6,
          children: [
            /* @__PURE__ */ jsxs2(SocialButtonsReversibleContainerWithDivider, { children: [hasSocialOrWeb3Buttons && /* @__PURE__ */ jsx2(SignInSocialButtons, {
              enableWeb3Providers: true,
              enableOAuthProviders: true,
              enableAlternativePhoneCodeProviders: showAlternativePhoneCodeProviders,
              onAlternativePhoneCodeProviderClick
            }), standardFormAttributes.length ? /* @__PURE__ */ jsxs2(Form$1.Root, {
              onSubmit: handleFirstPartySubmit,
              gap: 8,
              children: [/* @__PURE__ */ jsxs2(Col2, {
                gap: 6,
                children: [/* @__PURE__ */ jsx2(Form$1.ControlRow, {
                  elementId: identifierField.id,
                  children: /* @__PURE__ */ jsx2(DynamicField, {
                    actionLabel: nextIdentifier?.action,
                    onActionClicked: switchToNextIdentifier,
                    ...identifierFieldProps,
                    autoFocus: shouldAutofocus,
                    autoComplete: isWebAuthnAutofillSupported$1 ? "webauthn" : void 0,
                    isLastAuthenticationStrategy: isIdentifierLastAuthenticationStrategy
                  })
                }), /* @__PURE__ */ jsx2(InstantPasswordRow, { field: passwordBasedInstance ? instantPasswordField : void 0 })]
              }), /* @__PURE__ */ jsxs2(Col2, {
                center: true,
                children: [/* @__PURE__ */ jsx2(CaptchaElement, {}), /* @__PURE__ */ jsx2(Form$1.SubmitButton, { hasArrow: true })]
              })]
            }) : null] }),
            !standardFormAttributes.length && /* @__PURE__ */ jsx2(CaptchaElement, {}),
            userSettings.attributes.passkey?.enabled && userSettings.passkeySettings.show_sign_in_button && isWebSupported && /* @__PURE__ */ jsx2(Card.Action, {
              elementId: "usePasskey",
              children: /* @__PURE__ */ jsx2(Card.ActionLink, {
                localizationKey: localizationKeys("signIn.start.actionLink__use_passkey"),
                onClick: () => authenticateWithPasskey({ flow: "discoverable" })
              })
            })
          ]
        })
      ] }), /* @__PURE__ */ jsxs2(Card.Footer, { children: [userSettings.signUp.mode === SIGN_UP_MODES.PUBLIC && !isCombinedFlow && /* @__PURE__ */ jsxs2(Card.Action, {
        elementId: "signIn",
        children: [/* @__PURE__ */ jsx2(Card.ActionText, { localizationKey: localizationKeys("signIn.start.actionText") }), /* @__PURE__ */ jsx2(Card.ActionLink, {
          localizationKey: localizationKeys("signIn.start.actionLink"),
          to: clerk2.buildUrlWithAuth(signUpUrl)
        })]
      }), userSettings.signUp.mode === SIGN_UP_MODES.WAITLIST && /* @__PURE__ */ jsxs2(Card.Action, {
        elementId: "signIn",
        children: [/* @__PURE__ */ jsx2(Card.ActionText, { localizationKey: localizationKeys("signIn.start.actionText__join_waitlist") }), /* @__PURE__ */ jsx2(Card.ActionLink, {
          localizationKey: localizationKeys("signIn.start.actionLink__join_waitlist"),
          to: clerk2.buildUrlWithAuth(waitlistUrl)
        })]
      })] })] }) : /* @__PURE__ */ jsx2(SignInAlternativePhoneCodePhoneNumberCard, {
        handleSubmit: handleFirstPartySubmit,
        phoneNumberFormState: phoneIdentifierField,
        onUseAnotherMethod: onAlternativePhoneCodeUseAnotherMethod,
        phoneCodeProvider: alternativePhoneCodeProvider
      })
    });
  }
  var import_react240, useAutoFillPasskey, hasOnlyEnterpriseSSOFirstFactors, InstantPasswordRow, SignInStart;
  var init_SignInStart = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/SignInStart.js"() {
      init_RouteContext();
      init_EnvironmentContext();
      init_useLoadingStatus();
      init_localizationKeys();
      init_useTotalEnabledAuthMethods();
      init_SignIn();
      init_CoreClientContext();
      init_useFormControl();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_constants5();
      init_Card();
      init_Header();
      init_errorHandler();
      init_Form2();
      init_CaptchaElement();
      init_LoadingCard();
      init_withRedirect();
      init_useSupportEmail();
      init_utils10();
      init_SignInSocialButtons();
      init_shared2();
      init_ReversibleContainer();
      init_isMobileDevice();
      init_handleCombinedFlowTransfer();
      init_SignInAlternativePhoneCodePhoneNumberCard();
      init_errors();
      import_react240 = __toESM(require_react(), 1);
      init_constants();
      init_queryParams();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_alternativePhoneCode();
      init_webauthn();
      useAutoFillPasskey = () => {
        const [isSupported, setIsSupported] = (0, import_react240.useState)(false);
        const { navigate } = useRouter();
        const onSecondFactor = () => navigate("factor-two");
        const authenticateWithPasskey = useHandleAuthenticateWithPasskey(onSecondFactor);
        const { userSettings } = useEnvironment();
        const { passkeySettings, attributes } = userSettings;
        (0, import_react240.useEffect)(() => {
          async function runAutofillPasskey() {
            const _isSupported = await isWebAuthnAutofillSupported();
            setIsSupported(_isSupported);
            if (!_isSupported) return;
            await authenticateWithPasskey({ flow: "autofill" });
          }
          if (passkeySettings.allow_autofill && attributes.passkey?.enabled) runAutofillPasskey();
        }, []);
        return { isWebAuthnAutofillSupported: isSupported };
      };
      hasOnlyEnterpriseSSOFirstFactors = (signIn) => {
        if (!signIn.supportedFirstFactors?.length) return false;
        return signIn.supportedFirstFactors.every((ff) => ff.strategy === "enterprise_sso");
      };
      InstantPasswordRow = ({ field }) => {
        const [autofilled, setAutofilled] = (0, import_react240.useState)(false);
        const ref = (0, import_react240.useRef)(null);
        const show = !!(autofilled || field?.value);
        (0, import_react240.useLayoutEffect)(() => {
          const intervalId = setInterval(() => {
            if (ref?.current) {
              const autofilled$1 = window.getComputedStyle(ref.current, ":autofill").animationName === "onAutoFillStart" || !!ref.current?.matches("*:-webkit-autofill");
              if (autofilled$1) {
                setAutofilled(autofilled$1);
                clearInterval(intervalId);
              }
            }
          }, 500);
          return () => {
            clearInterval(intervalId);
          };
        }, []);
        (0, import_react240.useEffect)(() => {
          if (field?.value && field.value !== "") setAutofilled(false);
        }, [field?.value]);
        if (!field) return null;
        return /* @__PURE__ */ jsx2(Form$1.ControlRow, {
          elementId: field.id,
          sx: show ? void 0 : {
            position: "absolute",
            opacity: 0,
            height: 0,
            pointerEvents: "none",
            marginTop: "-1rem"
          },
          children: /* @__PURE__ */ jsx2(Form$1.PasswordInput, {
            ...field.props,
            ref,
            tabIndex: show ? void 0 : -1
          })
        });
      };
      SignInStart = withRedirectToSignInTask(withRedirectToAfterSignIn(withCardStateProvider(SignInStartInternal)));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SignIn/index.js
  var SignIn_exports = {};
  __export(SignIn_exports, {
    SignIn: () => SignIn,
    SignInModal: () => SignInModal
  });
  function RedirectToSignIn() {
    const clerk2 = useClerk();
    import_react242.default.useEffect(() => {
      clerk2.redirectToSignIn();
    }, [clerk2]);
    return null;
  }
  function SignInRoutes() {
    const signInContext = useSignInContext();
    const signUpContext = useSignUpContext();
    return /* @__PURE__ */ jsx2(Flow.Root, {
      flow: "signIn",
      children: /* @__PURE__ */ jsxs2(Switch, { children: [
        /* @__PURE__ */ jsx2(Route, {
          path: "factor-one",
          children: /* @__PURE__ */ jsx2(SignInFactorOne, {})
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: "factor-two",
          children: /* @__PURE__ */ jsx2(SignInFactorTwo, {})
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: "client-trust",
          children: /* @__PURE__ */ jsx2(SignInClientTrust, {})
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: "reset-password",
          children: /* @__PURE__ */ jsx2(ResetPassword, {})
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: "reset-password-success",
          children: /* @__PURE__ */ jsx2(ResetPasswordSuccess, {})
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: "sso-callback",
          children: /* @__PURE__ */ jsx2(SignInSSOCallback, {
            signUpUrl: signInContext.signUpUrl,
            signInUrl: signInContext.signInUrl,
            signInForceRedirectUrl: signInContext.afterSignInUrl,
            signUpForceRedirectUrl: signInContext.afterSignUpUrl,
            continueSignUpUrl: signInContext.signUpContinueUrl,
            transferable: signInContext.transferable,
            firstFactorUrl: "../factor-one",
            secondFactorUrl: "../factor-two",
            resetPasswordUrl: "../reset-password",
            unsafeMetadata: signInContext.unsafeMetadata
          })
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: "choose",
          children: /* @__PURE__ */ jsx2(SignInAccountSwitcher, {})
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: "choose-wallet",
          children: /* @__PURE__ */ jsx2(SignInFactorOneSolanaWalletsCard, {})
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: "verify",
          children: /* @__PURE__ */ jsx2(SignInEmailLinkFlowComplete, {
            redirectUrlComplete: signInContext.afterSignInUrl,
            redirectUrl: "../factor-two"
          })
        }),
        signInContext.isCombinedFlow && /* @__PURE__ */ jsxs2(Route, {
          path: "create",
          children: [
            /* @__PURE__ */ jsx2(Route, {
              path: "verify-email-address",
              canActivate: (clerk2) => !!clerk2.client.signUp.emailAddress,
              children: /* @__PURE__ */ jsx2(LazySignUpVerifyEmail, {})
            }),
            /* @__PURE__ */ jsx2(Route, {
              path: "verify-phone-number",
              canActivate: (clerk2) => !!clerk2.client.signUp.phoneNumber,
              children: /* @__PURE__ */ jsx2(LazySignUpVerifyPhone, {})
            }),
            /* @__PURE__ */ jsx2(Route, {
              path: "sso-callback",
              children: /* @__PURE__ */ jsx2(LazySignUpSSOCallback, {
                signUpUrl: signUpContext.signUpUrl,
                signInUrl: signUpContext.signInUrl,
                signUpForceRedirectUrl: signUpContext.afterSignUpUrl,
                signInForceRedirectUrl: signUpContext.afterSignInUrl,
                secondFactorUrl: signUpContext.secondFactorUrl,
                continueSignUpUrl: "../continue",
                verifyEmailAddressUrl: "../verify-email-address",
                verifyPhoneNumberUrl: "../verify-phone-number",
                unsafeMetadata: signUpContext.unsafeMetadata
              })
            }),
            /* @__PURE__ */ jsx2(Route, {
              path: "verify",
              children: /* @__PURE__ */ jsx2(SignUpEmailLinkFlowComplete, {
                redirectUrlComplete: signUpContext.afterSignUpUrl,
                verifyEmailPath: "../verify-email-address",
                verifyPhonePath: "../verify-phone-number",
                continuePath: "../continue"
              })
            }),
            /* @__PURE__ */ jsxs2(Route, {
              path: "continue",
              children: [
                /* @__PURE__ */ jsx2(Route, {
                  path: "verify-email-address",
                  canActivate: (clerk2) => !!clerk2.client.signUp.emailAddress,
                  children: /* @__PURE__ */ jsx2(LazySignUpVerifyEmail, {})
                }),
                /* @__PURE__ */ jsx2(Route, {
                  path: "verify-phone-number",
                  canActivate: (clerk2) => !!clerk2.client.signUp.phoneNumber,
                  children: /* @__PURE__ */ jsx2(LazySignUpVerifyPhone, {})
                }),
                /* @__PURE__ */ jsx2(Route, {
                  index: true,
                  children: /* @__PURE__ */ jsx2(LazySignUpContinue, {})
                })
              ]
            }),
            /* @__PURE__ */ jsx2(Route, {
              path: "tasks",
              children: /* @__PURE__ */ jsx2(SessionTasks2, { redirectUrlComplete: signInContext.afterSignUpUrl })
            }),
            /* @__PURE__ */ jsx2(Route, {
              index: true,
              children: /* @__PURE__ */ jsx2(LazySignUpStart, {})
            })
          ]
        }),
        /* @__PURE__ */ jsx2(Route, {
          path: "tasks",
          children: /* @__PURE__ */ jsx2(SessionTasks2, { redirectUrlComplete: signInContext.afterSignInUrl })
        }),
        /* @__PURE__ */ jsx2(Route, {
          index: true,
          children: /* @__PURE__ */ jsx2(SignInStart, {})
        }),
        /* @__PURE__ */ jsx2(Route, { children: /* @__PURE__ */ jsx2(RedirectToSignIn, {}) })
      ] })
    });
  }
  function SignInRoot() {
    const signInContext = useSignInContext();
    const normalizedSignUpContext = {
      componentName: "SignUp",
      emailLinkRedirectUrl: signInContext.emailLinkRedirectUrl,
      ssoCallbackUrl: signInContext.ssoCallbackUrl,
      forceRedirectUrl: signInContext.signUpForceRedirectUrl,
      fallbackRedirectUrl: signInContext.signUpFallbackRedirectUrl,
      signInUrl: signInContext.signInUrl,
      unsafeMetadata: signInContext.unsafeMetadata,
      ...normalizeRoutingOptions({
        routing: signInContext?.routing,
        path: signInContext?.path
      })
    };
    usePreloadSignUp(signInContext.isCombinedFlow);
    usePreloadTasks();
    return /* @__PURE__ */ jsx2(SignUpContext.Provider, {
      value: normalizedSignUpContext,
      children: /* @__PURE__ */ jsx2(SignInRoutes, {})
    });
  }
  var import_react242, usePreloadSignUp, SignIn, InternalSignIn, SignInModal;
  var init_SignIn2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SignIn/index.js"() {
      init_components();
      init_useFetch();
      init_Route();
      init_VirtualRouter();
      init_Switch();
      init_SignIn();
      init_SignUp();
      init_CoreSessionContext();
      init_Flow();
      init_EmailLinkCompleteFlowCard();
      init_usePreloadTasks();
      init_SignInFactorOneSolanaWalletsCard();
      init_normalizeRoutingOptions();
      init_lazy_sign_up();
      init_ResetPassword();
      init_ResetPasswordSuccess();
      init_SignInAccountSwitcher();
      init_SignInClientTrust();
      init_SignInFactorOne();
      init_SignInFactorTwo();
      init_SignInSSOCallback();
      init_SignInStart();
      import_react242 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      usePreloadSignUp = (enabled2 = false) => useFetch(enabled2 ? preloadSignUp : void 0, "preloadComponent", { staleTime: Infinity });
      SignInRoutes.displayName = "SignIn";
      SignIn = withCoreSessionSwitchGuard(SignInRoot);
      InternalSignIn = withCoreSessionSwitchGuard(SignInRoot);
      SignInModal = (props) => {
        const signInProps = {
          signUpUrl: `/${VIRTUAL_ROUTER_BASE_PATH}/sign-up`,
          waitlistUrl: `/${VIRTUAL_ROUTER_BASE_PATH}/waitlist`,
          ...props
        };
        return /* @__PURE__ */ jsx2(Route, {
          path: "sign-in",
          children: /* @__PURE__ */ jsx2(SignInContext.Provider, {
            value: {
              componentName: "SignIn",
              ...signInProps,
              routing: "virtual",
              mode: "modal"
            },
            children: /* @__PURE__ */ jsx2("div", { children: /* @__PURE__ */ jsx2(InternalSignIn, {
              ...signInProps,
              routing: "virtual"
            }) })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/CoreUserContext.js
  function withCoreUserGuard(Component) {
    const Hoc = (props) => {
      if (!useUserBase()) return null;
      return /* @__PURE__ */ jsx2(Component, { ...props });
    };
    const displayName = Component.displayName || Component.name || "Component";
    Component.displayName = displayName;
    Hoc.displayName = displayName;
    return Hoc;
  }
  var import_react244;
  var init_CoreUserContext = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/CoreUserContext.js"() {
      import_react244 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/UserAvatar.js
  var import_react246, UserAvatarContext, useUserAvatarContext;
  var init_UserAvatar2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/UserAvatar.js"() {
      import_react246 = __toESM(require_react(), 1);
      UserAvatarContext = (0, import_react246.createContext)(null);
      useUserAvatarContext = () => {
        const context = (0, import_react246.useContext)(UserAvatarContext);
        if (!context || context.componentName !== "UserAvatar") throw new Error("Clerk: useUserAvatarContext called outside UserAvatar.");
        const { componentName, ...ctx } = context;
        return {
          ...ctx,
          componentName
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserAvatar/index.js
  var UserAvatar_exports = {};
  __export(UserAvatar_exports, {
    UserAvatar: () => UserAvatar2,
    _UserAvatar: () => _UserAvatar
  });
  var _UserAvatar, UserAvatar2;
  var init_UserAvatar3 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserAvatar/index.js"() {
      init_CoreUserContext();
      init_UserAvatar2();
      init_InternalThemeProvider();
      init_elementDescriptors();
      init_UserAvatar();
      init_emotion_react_jsx_runtime_browser_esm();
      init_react();
      _UserAvatar = (props) => {
        const ctx = useUserAvatarContext();
        const { user } = useUser();
        return /* @__PURE__ */ jsx2(InternalThemeProvider, { children: /* @__PURE__ */ jsx2(UserAvatar, {
          boxElementDescriptor: descriptors.userAvatarBox,
          imageElementDescriptor: descriptors.userAvatarImage,
          ...user,
          rounded: props.rounded ?? ctx.rounded ?? true,
          size: (theme) => theme.sizes.$7
        }) });
      };
      UserAvatar2 = withCoreUserGuard(_UserAvatar);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/PopoverCard.js
  var import_react248, PopoverCardRoot, PopoverCardContent, PopoverCardFooter, PopoverCard;
  var init_PopoverCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/PopoverCard.js"() {
      init_EnvironmentContext();
      init_colors();
      init_common();
      init_animations();
      init_elementDescriptors();
      init_AppearanceContext();
      init_Flow();
      init_customizables();
      init_Card();
      import_react248 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      PopoverCardRoot = import_react248.default.forwardRef((props, ref) => {
        const { elementDescriptor, shouldEntryAnimate = true, ...rest } = props;
        const withAnimation = (t2) => ({ animation: shouldEntryAnimate ? `${animations.dropdownSlideInScaleAndFade} ${t2.transitionDuration.$fast}` : void 0 });
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "popover",
          children: /* @__PURE__ */ jsx2(Card.Root, {
            elementDescriptor: [descriptors.popoverBox, elementDescriptor],
            ...rest,
            ref,
            sx: [(t2) => ({
              width: t2.sizes.$94,
              maxWidth: `calc(100vw - ${t2.sizes.$8})`,
              zIndex: t2.zIndices.$modal,
              borderRadius: t2.radii.$xl,
              outline: "none"
            }), withAnimation],
            children: props.children
          })
        });
      });
      PopoverCardContent = (props) => {
        const { sx, ...rest } = props;
        return /* @__PURE__ */ jsx2(Flex2, {
          direction: "col",
          sx: [(t2) => ({
            backgroundColor: t2.colors.$colorBackground,
            overflow: "hidden",
            borderRadius: t2.radii.$lg,
            zIndex: t2.zIndices.$card,
            borderWidth: t2.borderWidths.$normal,
            borderStyle: t2.borderStyles.$solid,
            borderColor: t2.colors.$borderAlpha150,
            marginInline: "-1px",
            marginBlockStart: "-1px"
          }), sx],
          ...rest,
          children: props.children
        });
      };
      PopoverCardFooter = (props) => {
        const { sx, children, ...rest } = props;
        const { branded } = useEnvironment().displayConfig;
        const { privacyPageUrl, termsPageUrl, helpPageUrl } = useAppearance().parsedOptions;
        const shouldShowTagOrLinks = branded || privacyPageUrl || termsPageUrl || helpPageUrl;
        return /* @__PURE__ */ jsxs2(Col2, {
          justify: "between",
          sx: [(t2) => ({
            background: common.mergedColorsBackground(colors$2.setAlpha(t2.colors.$colorBackground, 1), t2.colors.$neutralAlpha50),
            marginTop: `calc(${t2.space.$2} * -1)`,
            paddingTop: t2.space.$2,
            "&:empty": {
              padding: 0,
              marginTop: 0
            },
            ">:not(:first-of-type)": {
              padding: `${t2.space.$4} ${t2.space.$8}`,
              borderTopWidth: t2.borderWidths.$normal,
              borderTopStyle: t2.borderStyles.$solid,
              borderTopColor: t2.colors.$borderAlpha100
            }
          }), sx],
          ...rest,
          children: [children, /* @__PURE__ */ jsx2(Card.ClerkAndPagesTag, {
            outerSx: (t2) => ({ padding: `${t2.space.$4} ${t2.space.$8}` }),
            withFooterPages: !!shouldShowTagOrLinks,
            devModeNoticeSx: (t2) => ({ padding: t2.space.$none }),
            withDevOverlay: true
          })]
        });
      };
      PopoverCard = {
        Root: PopoverCardRoot,
        Content: PopoverCardContent,
        Footer: PopoverCardFooter
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/RootBox.js
  var RootBox;
  var init_RootBox = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/RootBox.js"() {
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      RootBox = (props) => {
        return /* @__PURE__ */ jsx2(Col2, {
          ...props,
          sx: (t2) => ({
            boxSizing: "border-box",
            width: "fit-content",
            color: t2.colors.$colorForeground,
            fontFamily: t2.fonts.$main,
            fontStyle: t2.fontStyles.$normal
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserButton/UserButtonPopover.js
  var import_react249, UserButtonPopover;
  var init_UserButtonPopover = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserButton/UserButtonPopover.js"() {
      init_EnvironmentContext();
      init_UserButton();
      init_elementDescriptors();
      init_UserPreview();
      init_PopoverCard();
      init_RootBox();
      init_SessionActions();
      init_useMultisessionActions();
      import_react249 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      UserButtonPopover = import_react249.default.forwardRef((props, ref) => {
        const { close: unsafeClose, ...rest } = props;
        const close = () => unsafeClose?.(false);
        const { session } = useSession();
        const userButtonContext = useUserButtonContext();
        const { __experimental_asStandalone } = userButtonContext;
        const { authConfig } = useEnvironment();
        const { user } = useUser();
        const { handleAddAccountClicked, handleManageAccountClicked, handleSessionClicked, handleSignOutAllClicked, handleSignOutSessionClicked, handleUserProfileActionClicked, otherSessions } = useMultisessionActions({
          ...userButtonContext,
          actionCompleteCallback: close,
          user
        });
        return /* @__PURE__ */ jsx2(RootBox, {
          elementDescriptor: descriptors.userButtonPopoverRootBox,
          children: /* @__PURE__ */ jsxs2(PopoverCard.Root, {
            elementDescriptor: descriptors.userButtonPopoverCard,
            ref,
            role: "dialog",
            "aria-label": "User button popover",
            shouldEntryAnimate: !__experimental_asStandalone,
            ...rest,
            children: [/* @__PURE__ */ jsxs2(PopoverCard.Content, {
              elementDescriptor: descriptors.userButtonPopoverMain,
              children: [/* @__PURE__ */ jsx2(UserPreview, {
                elementId: "userButton",
                user,
                sx: (t2) => ({
                  width: "100%",
                  padding: `${t2.space.$4} ${t2.space.$5}`
                })
              }), authConfig.singleSessionMode ? /* @__PURE__ */ jsx2(SingleSessionActions, {
                handleManageAccountClicked,
                handleSignOutSessionClicked,
                handleUserProfileActionClicked,
                session,
                completedCallback: close
              }) : /* @__PURE__ */ jsx2(MultiSessionActions, {
                session,
                otherSessions,
                handleManageAccountClicked,
                handleSignOutSessionClicked,
                handleSessionClicked,
                handleAddAccountClicked,
                handleUserProfileActionClicked,
                completedCallback: close
              })]
            }), /* @__PURE__ */ jsx2(PopoverCard.Footer, {
              elementDescriptor: descriptors.userButtonPopoverFooter,
              children: !authConfig.singleSessionMode && otherSessions.length > 0 && /* @__PURE__ */ jsx2(SignOutAllActions, { handleSignOutAllClicked })
            })]
          })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/withAvatarShimmer.js
  var import_react251, withAvatarShimmer;
  var init_withAvatarShimmer = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/withAvatarShimmer.js"() {
      init_AppearanceContext();
      import_react251 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      withAvatarShimmer = (Component) => {
        return (0, import_react251.forwardRef)((props, ref) => {
          const { parsedOptions } = useAppearance();
          return /* @__PURE__ */ jsx2(Component, {
            ...props,
            ref,
            sx: [parsedOptions.shimmer ? { ":hover": {
              "--cl-shimmer-hover-transform": "skew(-45deg) translateX(600%)",
              "--cl-shimmer-hover-after-transform": "skewX(45deg) translateX(-150%)"
            } } : {}, props.sx]
          });
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserButton/UserButtonTopLevelIdentifier.js
  var UserButtonTopLevelIdentifier;
  var init_UserButtonTopLevelIdentifier = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserButton/UserButtonTopLevelIdentifier.js"() {
      init_elementDescriptors();
      init_customizables();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_user();
      UserButtonTopLevelIdentifier = ({ showName }) => {
        const { user } = useUser();
        if (!user || !showName) return null;
        return /* @__PURE__ */ jsx2(Text2, {
          variant: "subtitle",
          as: "span",
          elementDescriptor: descriptors.userButtonOuterIdentifier,
          sx: [(t2) => ({ paddingInlineStart: t2.space.$2 })],
          children: getFullName(user) || getIdentifier(user)
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserButton/UserButtonTrigger.js
  var import_react253, UserButtonTrigger;
  var init_UserButtonTrigger = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserButton/UserButtonTrigger.js"() {
      init_localizationKeys();
      init_UserButton();
      init_makeLocalizable();
      init_elementDescriptors();
      init_customizables();
      init_UserAvatar();
      init_withAvatarShimmer();
      init_UserButtonTopLevelIdentifier();
      import_react253 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      UserButtonTrigger = withAvatarShimmer((0, import_react253.forwardRef)((props, ref) => {
        const { sx, ...rest } = props;
        const { user } = useUser();
        const { showName } = useUserButtonContext();
        const { t: t2 } = useLocalizations();
        return /* @__PURE__ */ jsx2(Button2, {
          elementDescriptor: descriptors.userButtonTrigger,
          variant: "roundWrapper",
          sx: [(t$1) => ({
            borderRadius: showName ? t$1.radii.$md : t$1.radii.$circle,
            color: t$1.colors.$colorForeground
          }), sx],
          ref,
          "aria-label": `${props.isOpen ? t2(localizationKeys("userButton.action__closeUserMenu")) : t2(localizationKeys("userButton.action__openUserMenu"))}`,
          "aria-expanded": props.isOpen,
          "aria-haspopup": "dialog",
          ...rest,
          children: /* @__PURE__ */ jsxs2(Flex2, {
            elementDescriptor: descriptors.userButtonBox,
            isOpen: props.isOpen,
            align: "center",
            as: "span",
            gap: 2,
            children: [/* @__PURE__ */ jsx2(UserButtonTopLevelIdentifier, { showName }), /* @__PURE__ */ jsx2(UserAvatar, {
              boxElementDescriptor: descriptors.userButtonAvatarBox,
              imageElementDescriptor: descriptors.userButtonAvatarImage,
              ...user,
              size: (theme) => theme.sizes.$7
            })]
          })
        });
      }));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserButton/index.js
  var UserButton_exports = {};
  __export(UserButton_exports, {
    UserButton: () => UserButton
  });
  var import_react255, UserButtonWithFloatingTree, _UserButton, UserButton;
  var init_UserButton2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserButton/index.js"() {
      init_CoreUserContext();
      init_usePopover();
      init_UserButton();
      init_contexts();
      init_Flow();
      init_Popover();
      init_UserButtonPopover();
      init_UserButtonTrigger();
      import_react255 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      UserButtonWithFloatingTree = withFloatingTree(({ children }) => {
        const { defaultOpen } = useUserButtonContext();
        const { floating, reference, styles: styles2, toggle, isOpen, nodeId, context } = usePopover({
          defaultOpen,
          placement: "bottom-end",
          offset: 8
        });
        const userButtonMenuId = (0, import_react255.useId)();
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(UserButtonTrigger, {
          ref: reference,
          onClick: toggle,
          isOpen,
          "aria-controls": isOpen ? userButtonMenuId : void 0,
          "aria-expanded": isOpen
        }), /* @__PURE__ */ jsx2(Popover, {
          nodeId,
          context,
          isOpen,
          children: (0, import_react255.cloneElement)(children, {
            id: userButtonMenuId,
            close: toggle,
            ref: floating,
            style: styles2
          })
        })] });
      });
      _UserButton = () => {
        const { __experimental_asStandalone } = useUserButtonContext();
        return /* @__PURE__ */ jsx2(Flow.Root, {
          flow: "userButton",
          sx: { display: "inline-flex" },
          children: __experimental_asStandalone ? /* @__PURE__ */ jsx2(UserButtonPopover, { close: typeof __experimental_asStandalone === "function" ? __experimental_asStandalone : void 0 }) : /* @__PURE__ */ jsx2(UserButtonWithFloatingTree, { children: /* @__PURE__ */ jsx2(UserButtonPopover, {}) })
        });
      };
      UserButton = withCoreUserGuard(withCardStateProvider(_UserButton));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/code.js
  function _extends37() {
    return _extends37 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends37.apply(null, arguments);
  }
  var React$139, _path42, SvgCode, code_default;
  var init_code = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/code.js"() {
      React$139 = __toESM(require_react(), 1);
      SvgCode = function SvgCode$1(props) {
        return /* @__PURE__ */ React$139.createElement("svg", _extends37({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 12 8"
        }, props), _path42 || (_path42 = /* @__PURE__ */ React$139.createElement("path", {
          fill: "currentColor",
          d: "M7.22 6.47a.75.75 0 0 0 1.06 1.06l3-3a.75.75 0 0 0 0-1.06l-3-3a.75.75 0 0 0-1.06 1.06L9.69 4zM4.78 6.47a.75.75 0 0 1-1.06 1.06l-3-3a.75.75 0 0 1 0-1.06l3-3a.75.75 0 0 1 1.06 1.06L2.31 4z"
        })));
      };
      code_default = SvgCode;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/credit-card.js
  function _extends38() {
    return _extends38 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends38.apply(null, arguments);
  }
  var React$140, _path43, _path214, SvgCreditCard, credit_card_default;
  var init_credit_card = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/credit-card.js"() {
      React$140 = __toESM(require_react(), 1);
      SvgCreditCard = function SvgCreditCard$1(props) {
        return /* @__PURE__ */ React$140.createElement("svg", _extends38({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path43 || (_path43 = /* @__PURE__ */ React$140.createElement("path", { d: "M1.5 5a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2z" })), _path214 || (_path214 = /* @__PURE__ */ React$140.createElement("path", {
          fillRule: "evenodd",
          d: "M1.5 6.5h13V11a2 2 0 0 1-2 2h-9a2 2 0 0 1-2-2zM3.7 9a.2.2 0 0 0-.2.2v1.6c0 .11.09.2.2.2h2.6a.2.2 0 0 0 .2-.2V9.2a.2.2 0 0 0-.2-.2z",
          clipRule: "evenodd"
        })));
      };
      credit_card_default = SvgCreditCard;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/organization.js
  function _extends39() {
    return _extends39 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends39.apply(null, arguments);
  }
  var React$141, _path44, SvgOrganization, organization_default;
  var init_organization = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/organization.js"() {
      React$141 = __toESM(require_react(), 1);
      SvgOrganization = function SvgOrganization$1(props) {
        return /* @__PURE__ */ React$141.createElement("svg", _extends39({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path44 || (_path44 = /* @__PURE__ */ React$141.createElement("path", {
          fillRule: "evenodd",
          d: "M2.875 13.688V2.313h-.219a.656.656 0 1 1 0-1.313h10.688a.656.656 0 0 1 0 1.313h-.219v11.375h.219a.656.656 0 1 1 0 1.312h-2.942a.656.656 0 0 1-.656-.656v-2.188a.656.656 0 0 0-.656-.656H6.902a.656.656 0 0 0-.656.656v2.188A.656.656 0 0 1 5.59 15H2.656a.656.656 0 1 1 0-1.312zm2.496-9.625a.44.44 0 0 1 .438-.438h.875a.437.437 0 0 1 .437.438v.875a.437.437 0 0 1-.437.437h-.875a.437.437 0 0 1-.438-.437zm.438 3.062a.437.437 0 0 0-.438.438v.875a.44.44 0 0 0 .438.437h.875a.437.437 0 0 0 .437-.437v-.876a.437.437 0 0 0-.437-.437zM8.87 4.063a.44.44 0 0 1 .438-.438h.875a.44.44 0 0 1 .437.438v.875a.44.44 0 0 1-.437.437h-.875a.437.437 0 0 1-.438-.437zm.438 3.062a.437.437 0 0 0-.438.438v.875a.44.44 0 0 0 .438.437h.875a.44.44 0 0 0 .437-.437v-.876a.44.44 0 0 0-.437-.437z",
          clipRule: "evenodd"
        })));
      };
      organization_default = SvgOrganization;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/user.js
  function _extends40() {
    return _extends40 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends40.apply(null, arguments);
  }
  var React$142, _path45, SvgUser, user_default;
  var init_user2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/user.js"() {
      React$142 = __toESM(require_react(), 1);
      SvgUser = function SvgUser$1(props) {
        return /* @__PURE__ */ React$142.createElement("svg", _extends40({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path45 || (_path45 = /* @__PURE__ */ React$142.createElement("path", {
          fillRule: "evenodd",
          d: "M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0m-2.585 2.894c.154.25.107.568-.083.792A5.68 5.68 0 0 1 8 13.688a5.68 5.68 0 0 1-4.332-2.002c-.19-.224-.237-.543-.083-.792q.13-.21.306-.392c.46-.469 1.087-.986 1.703-1.102.514-.097.899.056 1.298.214.331.132.673.267 1.108.267s.777-.135 1.108-.267c.4-.158.784-.31 1.298-.214.616.116 1.243.633 1.703 1.102q.176.181.306.392M8 8.919c1.329 0 2.406-1.559 2.406-2.888a2.406 2.406 0 1 0-4.812 0C5.594 7.361 6.67 8.92 8 8.92",
          clipRule: "evenodd"
        })));
      };
      user_default = SvgUser;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/users.js
  function _extends41() {
    return _extends41 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends41.apply(null, arguments);
  }
  var React$143, _path46, _path215, SvgUsers, users_default;
  var init_users = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/users.js"() {
      React$143 = __toESM(require_react(), 1);
      SvgUsers = function SvgUsers$1(props) {
        return /* @__PURE__ */ React$143.createElement("svg", _extends41({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path46 || (_path46 = /* @__PURE__ */ React$143.createElement("path", { d: "M9.167 5.035c0 1.503-1.22 3.266-2.723 3.266S3.722 6.538 3.722 5.035a2.722 2.722 0 0 1 5.445 0M1 12.736c0-.797.12-1.804.796-2.643.562-.698 1.23-1.116 1.926-1.247 1.066-.2 1.638.544 2.722.544s1.657-.745 2.723-.544c.697.13 1.364.55 1.926 1.247.676.84.796 1.846.796 2.643a.95.95 0 0 1-.95.951H1.95A.95.95 0 0 1 1 12.737" })), _path215 || (_path215 = /* @__PURE__ */ React$143.createElement("path", { d: "M8.982 7.712q-.132.167-.282.324a2.7 2.7 0 0 1 1.21.232c1.336-.247 2.368-1.85 2.368-3.233a2.722 2.722 0 0 0-3.5-2.61 3.5 3.5 0 0 1 1.166 2.61c0 .945-.375 1.927-.962 2.677M12.382 13.688c.18-.274.285-.6.285-.952 0-.942-.152-2.21-1.019-3.187-.21-.239-.377-.371-.598-.555.37-.138.75-.238 1.228-.148.697.13 1.364.55 1.926 1.247.676.84.796 1.846.796 2.643a.95.95 0 0 1-.95.951z" })));
      };
      users_default = SvgUsers;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/createCustomPages.js
  var createUserProfileCustomPages, createOrganizationProfileCustomPages, createCustomPages, getRoutesAndContents, setFirstPathToUserProfileRoot, setFirstPathToOrganizationProfileRoot, checkForDuplicateUsageOfReorderingItems2, warnForDuplicatePaths, isValidPageItem, isCustomPage, isCustomLink, isReorderItem2, sanitizeCustomPageURL, assertExternalLinkAsRoot, getUserProfileDefaultRoutes, getOrganizationProfileDefaultRoutes;
  var init_createCustomPages = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/createCustomPages.js"() {
      init_constants6();
      init_localizationKeys();
      init_code();
      init_credit_card();
      init_organization();
      init_tick_shield();
      init_user2();
      init_users();
      init_ExternalElementMounter();
      init_runtimeEnvironment();
      init_sanitizeCustomLinkURL();
      init_emotion_react_jsx_runtime_browser_esm();
      init_url();
      init_componentGuards();
      createUserProfileCustomPages = (customPages, clerk2, shouldShowBilling, environment) => {
        return createCustomPages({
          customPages,
          getDefaultRoutes: getUserProfileDefaultRoutes,
          setFirstPathToRoot: setFirstPathToUserProfileRoot,
          excludedPathsFromDuplicateWarning: []
        }, clerk2, shouldShowBilling, environment);
      };
      createOrganizationProfileCustomPages = (customPages, clerk2, shouldShowBilling, environment) => {
        return createCustomPages({
          customPages,
          getDefaultRoutes: getOrganizationProfileDefaultRoutes,
          setFirstPathToRoot: setFirstPathToOrganizationProfileRoot,
          excludedPathsFromDuplicateWarning: []
        }, clerk2, shouldShowBilling, environment, true);
      };
      createCustomPages = ({ customPages, getDefaultRoutes, setFirstPathToRoot, excludedPathsFromDuplicateWarning }, clerk2, shouldShowBilling, environment, organization) => {
        const { INITIAL_ROUTES, pageToRootNavbarRouteMap, validReorderItemLabels } = getDefaultRoutes({
          commerce: organization ? !disabledOrganizationBillingFeature(clerk2, environment) && shouldShowBilling : !disabledUserBillingFeature(clerk2, environment) && shouldShowBilling,
          apiKeys: organization ? !disabledOrganizationAPIKeysFeature(clerk2, environment) : !disabledUserAPIKeysFeature(clerk2, environment)
        });
        if (isDevelopmentSDK(clerk2)) checkForDuplicateUsageOfReorderingItems2(customPages, validReorderItemLabels);
        const { allRoutes, contents } = getRoutesAndContents({
          customPages: customPages.filter((cp) => {
            if (!isValidPageItem(cp, validReorderItemLabels)) {
              if (isDevelopmentSDK(clerk2)) console.error("Clerk: Invalid custom page data: ", cp);
              return false;
            }
            return true;
          }),
          defaultRoutes: INITIAL_ROUTES
        });
        assertExternalLinkAsRoot(allRoutes);
        const routes = setFirstPathToRoot(allRoutes);
        if (isDevelopmentSDK(clerk2)) warnForDuplicatePaths(routes, excludedPathsFromDuplicateWarning);
        return {
          routes,
          contents,
          pageToRootNavbarRouteMap
        };
      };
      getRoutesAndContents = ({ customPages, defaultRoutes }) => {
        let remainingDefaultRoutes = defaultRoutes.map((r2) => r2);
        const contents = [];
        const routesWithoutDefaults = customPages.map((cp, index3) => {
          if (isCustomLink(cp)) return {
            name: cp.label,
            id: `custom-page-${index3}`,
            icon: (props) => /* @__PURE__ */ jsx2(ExternalElementMounter, {
              mount: cp.mountIcon,
              unmount: cp.unmountIcon,
              ...props
            }),
            path: sanitizeCustomLinkURL(cp.url),
            external: true
          };
          if (isCustomPage(cp)) {
            const pageURL = sanitizeCustomPageURL(cp.url);
            contents.push({
              url: pageURL,
              mount: cp.mount,
              unmount: cp.unmount
            });
            return {
              name: cp.label,
              id: `custom-page-${index3}`,
              icon: (props) => /* @__PURE__ */ jsx2(ExternalElementMounter, {
                mount: cp.mountIcon,
                unmount: cp.unmountIcon,
                ...props
              }),
              path: pageURL
            };
          }
          const reorderItem = defaultRoutes.find((r2) => r2.id === cp.label);
          remainingDefaultRoutes = remainingDefaultRoutes.filter(({ id }) => id !== cp.label);
          return { ...reorderItem };
        });
        return {
          allRoutes: [...remainingDefaultRoutes, ...routesWithoutDefaults],
          contents
        };
      };
      setFirstPathToUserProfileRoot = (routes) => {
        return routes.map((r2, index3) => index3 === 0 ? {
          ...r2,
          path: "/"
        } : r2);
      };
      setFirstPathToOrganizationProfileRoot = (routes) => {
        return routes.map((r2, index3) => index3 === 0 ? {
          ...r2,
          path: "/"
        } : r2);
      };
      checkForDuplicateUsageOfReorderingItems2 = (customPages, validReorderItems) => {
        customPages.filter((cp) => isReorderItem2(cp, validReorderItems)).reduce((acc, cp) => {
          if (acc.includes(cp.label)) console.error(`Clerk: The "${cp.label}" item is used more than once when reordering pages. This may cause unexpected behavior.`);
          return [...acc, cp.label];
        }, []);
      };
      warnForDuplicatePaths = (routes, pathsToFilter) => {
        const paths = routes.filter(({ external, path }) => !external && pathsToFilter.every((p2) => p2 !== path)).map(({ path }) => path);
        paths.filter((p2, index3) => paths.indexOf(p2) !== index3).forEach((p2) => {
          console.error(`Clerk: Duplicate path "${p2}" found in custom pages. This may cause unexpected behavior.`);
        });
      };
      isValidPageItem = (cp, validReorderItems) => {
        return isCustomPage(cp) || isCustomLink(cp) || isReorderItem2(cp, validReorderItems);
      };
      isCustomPage = (cp) => {
        return !!cp.url && !!cp.label && !!cp.mount && !!cp.unmount && !!cp.mountIcon && !!cp.unmountIcon;
      };
      isCustomLink = (cp) => {
        return !!cp.url && !!cp.label && !cp.mount && !cp.unmount && !!cp.mountIcon && !!cp.unmountIcon;
      };
      isReorderItem2 = (cp, validItems) => {
        return !cp.url && !cp.mount && !cp.unmount && !cp.mountIcon && !cp.unmountIcon && validItems.some((v) => v === cp.label);
      };
      sanitizeCustomPageURL = (url) => {
        if (!url) throw new Error("Clerk: URL is required for custom pages");
        if (isValidUrl(url)) throw new Error("Clerk: Absolute URLs are not supported for custom pages");
        return url.charAt(0) === "/" && url.length > 1 ? url.substring(1) : url;
      };
      assertExternalLinkAsRoot = (routes) => {
        if (routes[0].external) throw new Error("Clerk: The first route cannot be a custom external link component");
      };
      getUserProfileDefaultRoutes = ({ commerce, apiKeys }) => {
        const INITIAL_ROUTES = [{
          name: localizationKeys("userProfile.navbar.account"),
          id: USER_PROFILE_NAVBAR_ROUTE_ID.ACCOUNT,
          icon: user_default,
          path: "account"
        }, {
          name: localizationKeys("userProfile.navbar.security"),
          id: USER_PROFILE_NAVBAR_ROUTE_ID.SECURITY,
          icon: tick_shield_default,
          path: "security"
        }];
        if (commerce) INITIAL_ROUTES.push({
          name: localizationKeys("userProfile.navbar.billing"),
          id: USER_PROFILE_NAVBAR_ROUTE_ID.BILLING,
          icon: credit_card_default,
          path: "billing"
        });
        if (apiKeys) INITIAL_ROUTES.push({
          name: localizationKeys("userProfile.navbar.apiKeys"),
          id: USER_PROFILE_NAVBAR_ROUTE_ID.API_KEYS,
          icon: code_default,
          path: "api-keys"
        });
        return {
          INITIAL_ROUTES,
          pageToRootNavbarRouteMap: {
            profile: INITIAL_ROUTES.find((r2) => r2.id === USER_PROFILE_NAVBAR_ROUTE_ID.ACCOUNT),
            "email-address": INITIAL_ROUTES.find((r2) => r2.id === USER_PROFILE_NAVBAR_ROUTE_ID.ACCOUNT),
            "phone-number": INITIAL_ROUTES.find((r2) => r2.id === USER_PROFILE_NAVBAR_ROUTE_ID.ACCOUNT),
            "connected-account": INITIAL_ROUTES.find((r2) => r2.id === USER_PROFILE_NAVBAR_ROUTE_ID.ACCOUNT),
            "web3-wallet": INITIAL_ROUTES.find((r2) => r2.id === USER_PROFILE_NAVBAR_ROUTE_ID.ACCOUNT),
            username: INITIAL_ROUTES.find((r2) => r2.id === USER_PROFILE_NAVBAR_ROUTE_ID.ACCOUNT),
            "multi-factor": INITIAL_ROUTES.find((r2) => r2.id === USER_PROFILE_NAVBAR_ROUTE_ID.SECURITY),
            password: INITIAL_ROUTES.find((r2) => r2.id === USER_PROFILE_NAVBAR_ROUTE_ID.SECURITY)
          },
          validReorderItemLabels: INITIAL_ROUTES.map((r2) => r2.id)
        };
      };
      getOrganizationProfileDefaultRoutes = ({ commerce, apiKeys }) => {
        const INITIAL_ROUTES = [{
          name: localizationKeys("organizationProfile.navbar.general"),
          id: ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.GENERAL,
          icon: organization_default,
          path: "organization-general"
        }, {
          name: localizationKeys("organizationProfile.navbar.members"),
          id: ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.MEMBERS,
          icon: users_default,
          path: "organization-members"
        }];
        if (commerce) INITIAL_ROUTES.push({
          name: localizationKeys("organizationProfile.navbar.billing"),
          id: USER_PROFILE_NAVBAR_ROUTE_ID.BILLING,
          icon: credit_card_default,
          path: "organization-billing"
        });
        if (apiKeys) INITIAL_ROUTES.push({
          name: localizationKeys("organizationProfile.navbar.apiKeys"),
          id: ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.API_KEYS,
          icon: code_default,
          path: "organization-api-keys"
        });
        return {
          INITIAL_ROUTES,
          pageToRootNavbarRouteMap: {
            "invite-members": INITIAL_ROUTES.find((r2) => r2.id === ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.MEMBERS),
            domain: INITIAL_ROUTES.find((r2) => r2.id === ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.GENERAL),
            profile: INITIAL_ROUTES.find((r2) => r2.id === ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.GENERAL),
            leave: INITIAL_ROUTES.find((r2) => r2.id === ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.GENERAL),
            delete: INITIAL_ROUTES.find((r2) => r2.id === ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.GENERAL)
          },
          validReorderItemLabels: INITIAL_ROUTES.map((r2) => r2.id)
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/billingPlanSeats.js
  var getSeatUnitPrice, getPlanSeatLimit, organizationExceedsPlanSeatLimit;
  var init_billingPlanSeats = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/billingPlanSeats.js"() {
      getSeatUnitPrice = (plan) => {
        if (!plan.unitPrices?.length) return null;
        const seatUnitPrice = plan.unitPrices.find((unitPrice) => unitPrice.name === "seats");
        if (seatUnitPrice) return seatUnitPrice;
        return null;
      };
      getPlanSeatLimit = (plan) => {
        const seatUnitPrice = getSeatUnitPrice(plan);
        if (!seatUnitPrice?.tiers.length) return;
        return seatUnitPrice.tiers[seatUnitPrice.tiers.length - 1]?.endsAfterBlock;
      };
      organizationExceedsPlanSeatLimit = (plan, organization) => {
        const seatLimit = getPlanSeatLimit(plan);
        if (seatLimit === void 0 || seatLimit === null) return false;
        return organization.membersCount + organization.pendingInvitationsCount > seatLimit;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/getClosestProfileScrollBox.js
  function getClosestProfileScrollBox(mode, event) {
    if (!event || mode === "mounted") return;
    return event?.target?.closest(`[data-clerk-profile-scroll-box-root]`);
  }
  var init_getClosestProfileScrollBox = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/getClosestProfileScrollBox.js"() {
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/SubscriberType.js
  var import_react256, DEFAUlT, SubscriberTypeContext, useSubscriberTypeContext, useSubscriberTypeLocalizationRoot;
  var init_SubscriberType = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/SubscriberType.js"() {
      import_react256 = __toESM(require_react(), 1);
      DEFAUlT = "user";
      SubscriberTypeContext = (0, import_react256.createContext)(DEFAUlT);
      useSubscriberTypeContext = () => (0, import_react256.useContext)(SubscriberTypeContext) || DEFAUlT;
      useSubscriberTypeLocalizationRoot = () => {
        return useSubscriberTypeContext() === "user" ? "userProfile" : "organizationProfile";
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/Plans.js
  function normalizeFormatted(formatted) {
    return formatted.endsWith(".00") ? formatted.slice(0, -3) : formatted;
  }
  function determinePlanPeriod(plan, period) {
    if (period === "month" && plan.fee || period === "annual" && plan.annualMonthlyFee) return period;
    if (period === "month" && !plan.fee) return "annual";
    if (period === "annual" && !plan.annualMonthlyFee) return "month";
    return period;
  }
  var import_react257, useBillingHookParams, usePaymentMethods2, usePaymentAttempts2, useStatements2, useSubscription2, usePlans2, usePlansContext;
  var init_Plans = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/Plans.js"() {
      init_localizationKeys();
      init_Gate();
      init_billingPlanSeats();
      init_getClosestProfileScrollBox();
      init_SubscriberType();
      import_react257 = __toESM(require_react(), 1);
      init_react();
      useBillingHookParams = () => {
        const subscriberType = useSubscriberTypeContext();
        const allowBillingRoutes = useProtect((has2) => has2({ permission: "org:sys_billing:read" }) || has2({ permission: "org:sys_billing:manage" }));
        const organization = useOrganizationBase();
        return {
          for: subscriberType,
          keepPreviousData: true,
          enabled: subscriberType === "organization" ? Boolean(organization) && allowBillingRoutes : true
        };
      };
      usePaymentMethods2 = () => {
        return usePaymentMethods(useBillingHookParams());
      };
      usePaymentAttempts2 = () => {
        return usePaymentAttempts(useBillingHookParams());
      };
      useStatements2 = (externalParams) => {
        return useStatements({
          ...useBillingHookParams(),
          __experimental_mode: externalParams?.mode
        });
      };
      useSubscription2 = () => {
        const subscription = useSubscription(useBillingHookParams());
        const subscriptionItems = (0, import_react257.useMemo)(() => subscription.data?.subscriptionItems || [], [subscription.data?.subscriptionItems]);
        return {
          ...subscription,
          subscriptionItems
        };
      };
      usePlans2 = (params) => {
        return usePlans({
          for: useSubscriberTypeContext(),
          initialPage: 1,
          pageSize: 50,
          keepPreviousData: true,
          enabled: true,
          __experimental_mode: params?.mode
        });
      };
      usePlansContext = () => {
        const clerk2 = useClerk();
        const { session } = useSession();
        const subscriberType = useSubscriberTypeContext();
        const canManageBilling = (0, import_react257.useMemo)(() => {
          if (!clerk2.session) return true;
          if (clerk2?.session?.checkAuthorization({ permission: "org:sys_billing:manage" }) || subscriberType === "user") return true;
          return false;
        }, [clerk2, subscriberType]);
        const { subscriptionItems, revalidate: revalidateSubscriptions, data: topLevelSubscription } = useSubscription2();
        const { data: plans, revalidate: revalidatePlans } = usePlans2({ mode: "cache" });
        const { revalidate: revalidateStatements } = useStatements2({ mode: "cache" });
        const { revalidate: revalidatePaymentMethods } = usePaymentMethods2();
        const revalidateAll = (0, import_react257.useCallback)(() => {
          revalidateSubscriptions();
          revalidatePlans();
          revalidateStatements();
          revalidatePaymentMethods();
        }, [
          revalidateSubscriptions,
          revalidatePlans,
          revalidateStatements,
          revalidatePaymentMethods
        ]);
        const isDefaultPlanImplicitlyActiveOrUpcoming = (0, import_react257.useMemo)(() => {
          return subscriptionItems.length === 0 || !subscriptionItems.some((subscription) => !subscription.canceledAt);
        }, [subscriptionItems]);
        const activeOrUpcomingSubscription = (0, import_react257.useCallback)((plan) => {
          return subscriptionItems.find((subscription) => subscription.plan.id === plan.id);
        }, [subscriptionItems]);
        const activeAndUpcomingSubscriptions = (0, import_react257.useCallback)((plan) => {
          return subscriptionItems.filter((subscription) => subscription.plan.id === plan.id);
        }, [subscriptionItems]);
        const activeOrUpcomingSubscriptionWithPlanPeriod = (0, import_react257.useCallback)((plan, planPeriod = "month") => {
          const plansSubscriptions = activeAndUpcomingSubscriptions(plan);
          if (plansSubscriptions.length > 1) {
            const subscriptionBaseOnPanPeriod = plansSubscriptions.find((subscription) => {
              return subscription.planPeriod === planPeriod;
            });
            if (subscriptionBaseOnPanPeriod) return subscriptionBaseOnPanPeriod;
            return plansSubscriptions[0];
          }
          if (plansSubscriptions.length === 1) return plansSubscriptions[0];
        }, [activeAndUpcomingSubscriptions]);
        const canManageSubscription = (0, import_react257.useCallback)(({ plan, subscription: sub }) => {
          const subscription = sub ?? (plan ? activeOrUpcomingSubscription(plan) : void 0);
          return !subscription || !subscription.canceledAt;
        }, [activeOrUpcomingSubscription]);
        const buttonPropsForPlan = (0, import_react257.useCallback)(({ plan, organization, subscription: sub, isCompact = false, selectedPlanPeriod = "annual" }) => {
          const subscription = sub ?? (plan ? activeOrUpcomingSubscriptionWithPlanPeriod(plan, selectedPlanPeriod) : void 0);
          const exceedsPlanSeatLimit = subscriberType === "organization" && !!organization && organizationExceedsPlanSeatLimit(plan, organization);
          let _selectedPlanPeriod = selectedPlanPeriod;
          const isEligibleForSwitchToAnnual = Boolean(plan?.annualMonthlyFee);
          if (_selectedPlanPeriod === "annual" && !isEligibleForSwitchToAnnual) _selectedPlanPeriod = "month";
          const freeTrialOr = (localizationKey) => {
            if (plan?.freeTrialEnabled) {
              const isSignedOut = !session;
              const isEligibleForTrial = topLevelSubscription?.eligibleForFreeTrial;
              if (isSignedOut || isEligibleForTrial) return localizationKeys("billing.startFreeTrial__days", { days: plan.freeTrialDays ?? 0 });
            }
            return localizationKey;
          };
          const getLocalizationKey = () => {
            if (subscription) {
              if (_selectedPlanPeriod !== subscription.planPeriod && subscription.canceledAt) {
                if (_selectedPlanPeriod === "month") return localizationKeys("billing.switchToMonthly");
                if (isEligibleForSwitchToAnnual) return localizationKeys("billing.switchToAnnual");
              }
              if (subscription.canceledAt) return localizationKeys("billing.reSubscribe");
              if (_selectedPlanPeriod !== subscription.planPeriod) {
                if (_selectedPlanPeriod === "month") return localizationKeys("billing.switchToMonthly");
                if (isEligibleForSwitchToAnnual) return localizationKeys("billing.switchToAnnual");
                return localizationKeys("billing.manageSubscription");
              }
              return localizationKeys("billing.manageSubscription");
            }
            return subscriptionItems.filter((subscription$1) => !subscription$1.plan.isDefault).length > 0 ? localizationKeys("billing.switchPlan") : freeTrialOr(localizationKeys("billing.subscribe"));
          };
          return {
            localizationKey: freeTrialOr(getLocalizationKey()),
            variant: isCompact ? "bordered" : "solid",
            colorScheme: isCompact ? "secondary" : "primary",
            isDisabled: !canManageBilling || exceedsPlanSeatLimit,
            disabled: !canManageBilling || exceedsPlanSeatLimit
          };
        }, [
          activeOrUpcomingSubscriptionWithPlanPeriod,
          canManageBilling,
          subscriberType,
          subscriptionItems,
          topLevelSubscription
        ]);
        const captionForSubscription = (0, import_react257.useCallback)((subscription) => {
          if (subscription.pastDueAt) return localizationKeys("badge__pastDueAt", { date: subscription.pastDueAt });
          if (subscription.status === "upcoming") return localizationKeys("badge__startsAt", { date: subscription.periodStart });
          if (subscription.canceledAt) return localizationKeys("badge__canceledEndsAt", { date: subscription.periodEnd });
          if (subscription.periodEnd) return localizationKeys(subscription.isFreeTrial ? "badge__trialEndsAt" : "badge__renewsAt", { date: subscription.periodEnd });
        }, []);
        const openSubscriptionDetails = (0, import_react257.useCallback)((event) => {
          const portalRoot = getClosestProfileScrollBox("modal", event);
          clerk2.__internal_openSubscriptionDetails({
            for: subscriberType,
            onSubscriptionCancel: () => {
              revalidateAll();
            },
            portalRoot
          });
        }, [
          clerk2,
          subscriberType,
          revalidateAll
        ]);
        return {
          activeOrUpcomingSubscription,
          activeAndUpcomingSubscriptions,
          activeOrUpcomingSubscriptionBasedOnPlanPeriod: activeOrUpcomingSubscriptionWithPlanPeriod,
          isDefaultPlanImplicitlyActiveOrUpcoming,
          handleSelectPlan: (0, import_react257.useCallback)(({ plan, planPeriod, mode = "mounted", event, appearance, newSubscriptionRedirectUrl }) => {
            const portalRoot = getClosestProfileScrollBox(mode, event);
            clerk2.__internal_openCheckout({
              planId: plan.id,
              planPeriod: determinePlanPeriod(plan, planPeriod),
              for: subscriberType,
              onSubscriptionComplete: () => {
                revalidateAll();
              },
              onClose: () => {
                if (session?.id) clerk2.setActive({ session: session.id });
              },
              appearance,
              portalRoot,
              newSubscriptionRedirectUrl
            });
          }, [
            clerk2,
            revalidateAll,
            subscriberType,
            session?.id
          ]),
          openSubscriptionDetails,
          buttonPropsForPlan,
          canManageSubscription,
          captionForSubscription,
          defaultFreePlan: (0, import_react257.useMemo)(() => {
            return plans?.find((plan) => plan.isDefault);
          }, [plans]),
          revalidateAll
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/UserProfile.js
  var import_react259, UserProfileContext, useUserProfileContext;
  var init_UserProfile = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/UserProfile.js"() {
      init_RouteContext();
      init_EnvironmentContext();
      init_createCustomPages();
      init_Plans();
      import_react259 = __toESM(require_react(), 1);
      init_react();
      UserProfileContext = (0, import_react259.createContext)(null);
      useUserProfileContext = () => {
        const context = (0, import_react259.useContext)(UserProfileContext);
        const { queryParams } = useRouter();
        const clerk2 = useClerk();
        const environment = useEnvironment();
        const { user } = useUser();
        const subscription = useSubscription2();
        const statements = useStatements2();
        const hasNonFreeSubscription = subscription.data?.subscriptionItems.some((item) => item.plan.hasBaseFee);
        const shouldShowBilling = environment.commerceSettings.billing.user.hasPaidPlans || hasNonFreeSubscription || Boolean(statements.data.length > 0);
        if (!context || context.componentName !== "UserProfile") throw new Error("Clerk: useUserProfileContext called outside of the mounted UserProfile component.");
        const { componentName, customPages, ...ctx } = context;
        const pages = (0, import_react259.useMemo)(() => {
          return createUserProfileCustomPages(customPages || [], clerk2, shouldShowBilling, environment);
        }, [customPages, shouldShowBilling]);
        const shouldAllowIdentificationCreation = (0, import_react259.useMemo)(() => {
          const { enterpriseSSO } = environment.userSettings;
          return !(user && enterpriseSSO.enabled) || !user?.enterpriseAccounts.some((enterpriseAccount) => enterpriseAccount.active && enterpriseAccount.enterpriseConnection?.disableAdditionalIdentifications);
        }, [user, environment.userSettings.enterpriseSSO]);
        const immutableAttributes = (0, import_react259.useMemo)(() => {
          const result = /* @__PURE__ */ new Set();
          for (const [name, data2] of Object.entries(environment.userSettings.attributes)) if (data2.immutable) result.add(name);
          return result;
        }, [environment.userSettings.attributes]);
        return {
          ...ctx,
          pages,
          componentName,
          queryParams,
          authQueryString: "",
          shouldAllowIdentificationCreation,
          shouldShowBilling,
          immutableAttributes
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/VerifyWithLink.js
  var import_react261, VerifyWithLink, VerificationSuccessPage;
  var init_VerifyWithLink = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/VerifyWithLink.js"() {
      init_useEmailLink();
      init_EnvironmentContext();
      init_localizationKeys();
      init_redirects();
      init_UserProfile();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_EmailLinkStatusCard();
      init_errorHandler();
      init_FormButtons();
      init_VerificationLinkCard();
      import_react261 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      VerifyWithLink = (props) => {
        const { email, nextStep, onReset } = props;
        const card = useCardState();
        const profileContext = useUserProfileContext();
        const { startEmailLinkFlow } = useEmailLink(email);
        const { displayConfig } = useEnvironment();
        import_react261.default.useEffect(() => {
          startVerification();
        }, []);
        function startVerification() {
          const { routing } = profileContext;
          startEmailLinkFlow({ redirectUrl: buildVerificationRedirectUrl({
            ctx: profileContext,
            baseUrl: routing === "virtual" ? displayConfig.userProfileUrl : "",
            intent: "profile"
          }) }).then(() => nextStep()).catch((err) => handleError(err, [], card.setError));
        }
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(VerificationLink, {
          resendButton: localizationKeys("userProfile.emailAddressPage.emailLink.resendButton"),
          onResendCodeClicked: startVerification
        }), /* @__PURE__ */ jsx2(FormButtonContainer, { children: /* @__PURE__ */ jsx2(Button2, {
          variant: "ghost",
          localizationKey: localizationKeys("userProfile.formButtonReset"),
          elementDescriptor: descriptors.formButtonReset,
          onClick: onReset
        }) })] });
      };
      VerificationSuccessPage = () => {
        return /* @__PURE__ */ jsx2(EmailLinkStatusCard, {
          title: localizationKeys("signUp.emailLink.verifiedSwitchTab.title"),
          subtitle: localizationKeys("signUp.emailLink.verifiedSwitchTab.subtitle"),
          status: "verified"
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/menu.js
  function _extends42() {
    return _extends42 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends42.apply(null, arguments);
  }
  var React$144, _path47, SvgMenu, menu_default;
  var init_menu = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/menu.js"() {
      React$144 = __toESM(require_react(), 1);
      SvgMenu = function SvgMenu$1(props) {
        return /* @__PURE__ */ React$144.createElement("svg", _extends42({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path47 || (_path47 = /* @__PURE__ */ React$144.createElement("path", {
          fillRule: "evenodd",
          d: "M2 3.75A.75.75 0 0 1 2.75 3h10.5a.75.75 0 1 1 0 1.5H2.75A.75.75 0 0 1 2 3.75M2 8a.75.75 0 0 1 .75-.75h10.5a.75.75 0 1 1 0 1.5H2.75A.75.75 0 0 1 2 8m0 4.25a.75.75 0 0 1 .75-.75h10.5a.75.75 0 1 1 0 1.5H2.75a.75.75 0 0 1-.75-.75",
          clipRule: "evenodd"
        })));
      };
      menu_default = SvgMenu;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Navbar.js
  var import_react262, NavbarContext, useNavbarContext, useUnsafeNavbarContext, NavbarContextProvider, NavBar, NavbarContainer, MobileNavbarContainer, NavButton, NavbarMenuButtonRow;
  var init_Navbar = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Navbar.js"() {
      init_RouteContext();
      init_useNavigateToFlowStart();
      init_usePopover();
      init_menu();
      init_makeLocalizable();
      init_colors();
      init_common();
      init_animations();
      init_breakpoints();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_DevModeNotice();
      init_Popover();
      init_Card();
      import_react262 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      [NavbarContext, useNavbarContext, useUnsafeNavbarContext] = createContextAndHook("NavbarContext");
      NavbarContextProvider = ({ children, contentRef }) => {
        const [isOpen, setIsOpen] = import_react262.default.useState(false);
        const open = import_react262.default.useCallback(() => setIsOpen(true), []);
        const close = import_react262.default.useCallback(() => setIsOpen(false), []);
        const value = import_react262.default.useMemo(() => ({ value: {
          isOpen,
          open,
          close,
          contentRef
        } }), [isOpen]);
        return /* @__PURE__ */ jsx2(NavbarContext.Provider, {
          value,
          children
        });
      };
      NavBar = (props) => {
        const { contentRef, title, description, routes, header } = props;
        const { close } = useNavbarContext();
        const { navigate } = useRouter();
        const { navigateToFlowStart } = useNavigateToFlowStart();
        const router = useRouter();
        const handleNavigate = (route) => {
          if (route?.external) return () => navigate(route.path);
          else return () => navigateToInternalRoute(route);
        };
        const navigateToInternalRoute = async (route) => {
          if (contentRef.current) {
            close();
            if (route.path === "/") await navigateToFlowStart();
            else await navigate(route.path);
          }
        };
        const checkIfActive = (0, import_react262.useCallback)((a2) => {
          if (a2.external) return false;
          const isRoot = router.currentPath === router.fullPath && a2.path === "/";
          const matchesPath = router.matches(a2.path);
          return isRoot || matchesPath;
        }, [router.currentPath]);
        const items = /* @__PURE__ */ jsx2(Col2, {
          elementDescriptor: descriptors.navbarButtons,
          sx: (t2) => ({ gap: t2.space.$0x5 }),
          children: routes.map((r2) => /* @__PURE__ */ jsx2(NavButton, {
            elementDescriptor: descriptors.navbarButton,
            elementId: descriptors.navbarButton.setId(r2.id),
            iconElementDescriptor: descriptors.navbarButtonIcon,
            iconElementId: descriptors.navbarButtonIcon.setId(r2.id),
            onClick: handleNavigate(r2),
            icon: r2.icon,
            isActive: checkIfActive(r2),
            sx: (t2) => ({
              padding: `${t2.space.$1x5} ${t2.space.$3}`,
              minHeight: t2.space.$8
            }),
            children: /* @__PURE__ */ jsx2(Span2, {
              elementDescriptor: descriptors.navbarButtonText,
              elementId: descriptors.navbarButtonText.setId(r2.id),
              localizationKey: r2.name
            })
          }, r2.id))
        });
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsxs2(NavbarContainer, {
          title,
          description,
          children: [header, items]
        }), /* @__PURE__ */ jsxs2(MobileNavbarContainer, { children: [header, items] })] });
      };
      NavbarContainer = (props) => {
        const { title, description } = props;
        return /* @__PURE__ */ jsxs2(Col2, {
          elementDescriptor: descriptors.navbar,
          sx: (t2) => ({
            [mqu.md]: { display: "none" },
            flex: `0 0 ${t2.space.$57}`,
            width: t2.sizes.$57,
            position: "relative",
            maxWidth: t2.space.$57,
            background: common.mutedBackground(t2),
            padding: `${t2.space.$6} ${t2.space.$5} ${t2.space.$4} ${t2.space.$3}`,
            marginInlineEnd: `calc(${t2.space.$2} * -1)`,
            color: t2.colors.$colorForeground,
            justifyContent: "space-between"
          }),
          children: [
            /* @__PURE__ */ jsx2(DevModeOverlay, {}),
            /* @__PURE__ */ jsxs2(Col2, {
              sx: (t2) => ({
                gap: t2.space.$6,
                flex: `0 0 ${t2.space.$60}`
              }),
              children: [/* @__PURE__ */ jsxs2(Col2, {
                sx: (t2) => ({
                  gap: t2.space.$0x5,
                  padding: `${t2.space.$none} ${t2.space.$3}`
                }),
                children: [/* @__PURE__ */ jsx2(Heading2, {
                  as: "h1",
                  localizationKey: title
                }), /* @__PURE__ */ jsx2(Text2, {
                  colorScheme: "secondary",
                  localizationKey: description
                })]
              }), props.children]
            }),
            /* @__PURE__ */ jsx2(Card.ClerkAndPagesTag, { sx: { width: "fit-content" } })
          ]
        });
      };
      MobileNavbarContainer = withFloatingTree((props) => {
        const navbarContext = useNavbarContext();
        const { floating, isOpen, open, close, nodeId, context } = usePopover({
          defaultOpen: false,
          autoUpdate: false
        });
        import_react262.default.useEffect(() => {
          if (navbarContext.isOpen) open();
          else close();
        }, [navbarContext.isOpen]);
        import_react262.default.useEffect(() => {
          if (!isOpen) navbarContext.close();
        }, [isOpen]);
        return /* @__PURE__ */ jsx2(Popover, {
          nodeId,
          context,
          isOpen,
          portal: false,
          children: /* @__PURE__ */ jsx2(Col2, {
            sx: (t2) => ({
              position: "absolute",
              top: 0,
              bottom: 0,
              width: "100%",
              zIndex: t2.zIndices.$navbar,
              overflow: "hidden",
              color: t2.colors.$colorForeground
            }),
            children: /* @__PURE__ */ jsx2(Col2, {
              ref: floating,
              elementDescriptor: descriptors.navbar,
              tabIndex: 0,
              sx: (t2) => ({
                outline: 0,
                position: "absolute",
                top: 0,
                bottom: 0,
                width: t2.space.$60,
                backgroundColor: colors$2.makeSolid(t2.colors.$colorBackground),
                borderStartEndRadius: t2.radii.$lg,
                borderEndEndRadius: t2.radii.$lg,
                padding: `${t2.space.$10} ${t2.space.$6}`,
                animation: `${animations.navbarSlideIn} ${t2.transitionDuration.$slower} ${t2.transitionTiming.$slowBezier}`,
                borderInlineEndWidth: t2.borderWidths.$normal,
                borderInlineEndStyle: t2.borderStyles.$solid,
                borderInlineEndColor: t2.colors.$borderAlpha150,
                boxShadow: t2.shadows.$cardContentShadow
              }),
              children: props.children
            })
          })
        });
      });
      NavButton = (props) => {
        const { icon: icon2, children, isActive, iconElementDescriptor, iconElementId, sx, ...rest } = props;
        return /* @__PURE__ */ jsxs2(Button2, {
          variant: "unstyled",
          colorScheme: isActive ? "primary" : "neutral",
          textVariant: "buttonLarge",
          size: "md",
          isActive,
          focusRing: false,
          ...rest,
          sx: [(t2) => ({
            gap: t2.space.$3,
            justifyContent: "flex-start",
            backgroundColor: isActive ? t2.colors.$neutralAlpha100 : void 0,
            color: isActive ? t2.colors.$primary500 : t2.colors.$colorMutedForeground,
            "&:hover": { backgroundColor: isActive ? void 0 : t2.colors.$neutralAlpha25 },
            "&:focus": { backgroundColor: isActive ? void 0 : t2.colors.$neutralAlpha50 }
          }), sx],
          children: [/* @__PURE__ */ jsx2(Icon, {
            elementDescriptor: iconElementDescriptor,
            elementId: iconElementId,
            icon: icon2,
            sx: {
              opacity: isActive ? 1 : 0.7,
              transform: "translateZ(0)"
            }
          }), children]
        });
      };
      NavbarMenuButtonRow = ({ navbarTitleLocalizationKey, ...props }) => {
        const { open } = useUnsafeNavbarContext();
        const { t: t2 } = useLocalizations();
        if (!!!open) return null;
        return /* @__PURE__ */ jsx2(Flex2, {
          elementDescriptor: descriptors.navbarMobileMenuRow,
          sx: (t$1) => ({
            display: "none",
            background: common.mutedBackground(t$1),
            padding: `${t$1.space.$2} ${t$1.space.$3} ${t$1.space.$4} ${t$1.space.$3}`,
            marginBottom: `calc(${t$1.space.$2} * -1)`,
            [mqu.md]: { display: "flex" }
          }),
          children: /* @__PURE__ */ jsxs2(Button2, {
            elementDescriptor: descriptors.navbarMobileMenuButton,
            ...props,
            onClick: open,
            size: "xs",
            textVariant: "h2",
            variant: "ghost",
            sx: (t$1) => ({
              color: t$1.colors.$colorForeground,
              gap: t$1.space.$2x5,
              width: "fit-content",
              alignItems: "center",
              justifyContent: "center"
            }),
            children: [/* @__PURE__ */ jsx2(Icon, {
              elementDescriptor: descriptors.navbarMobileMenuButtonIcon,
              icon: menu_default,
              size: "md"
            }), t2(navbarTitleLocalizationKey)]
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/ProfileCard/ProfileCardContent.js
  var import_react264, ProfileCardContent;
  var init_ProfileCardContent = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/ProfileCard/ProfileCardContent.js"() {
      init_RouteContext();
      init_common();
      init_breakpoints();
      init_elementDescriptors();
      init_customizables();
      import_react264 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ProfileCardContent = (props) => {
        const { contentRef, children, scrollBoxId } = props;
        const router = useRouter();
        const scrollPosRef = import_react264.default.useRef(0);
        import_react264.default.useEffect(() => {
          const handleScroll = (e3) => {
            const target2 = e3.target;
            if (target2.scrollTop) scrollPosRef.current = target2.scrollTop;
          };
          contentRef?.current?.addEventListener("scroll", handleScroll);
          return () => contentRef?.current?.removeEventListener("scroll", handleScroll);
        }, []);
        import_react264.default.useLayoutEffect(() => {
          if (scrollPosRef.current && contentRef?.current) contentRef.current.scrollTop = scrollPosRef.current;
        }, [router.currentPath]);
        return /* @__PURE__ */ jsx2(Col2, {
          elementDescriptor: descriptors.scrollBox,
          sx: (t2) => ({
            backgroundColor: t2.colors.$colorBackground,
            position: "relative",
            borderRadius: t2.radii.$lg,
            width: "100%",
            overflow: "hidden",
            borderWidth: t2.borderWidths.$normal,
            borderStyle: t2.borderStyles.$solid,
            borderColor: t2.colors.$borderAlpha150,
            marginBlock: "-1px",
            marginInlineEnd: "-1px",
            flex: 1
          }),
          "data-clerk-profile-scroll-box-root": scrollBoxId,
          children: /* @__PURE__ */ jsx2(Col2, {
            elementDescriptor: descriptors.pageScrollBox,
            sx: (theme) => ({
              flex: `1`,
              scrollbarGutter: "stable",
              paddingTop: theme.space.$7,
              paddingBottom: theme.space.$7,
              paddingInlineStart: theme.space.$8,
              paddingInlineEnd: theme.space.$6,
              [mqu.sm]: { padding: `${theme.space.$8} ${theme.space.$5}` },
              ...common.maxHeightScroller(theme)
            }),
            ref: contentRef,
            children
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/ProfileCard/ProfileCardRoot.js
  var import_react265, ProfileCardRoot;
  var init_ProfileCardRoot = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/ProfileCard/ProfileCardRoot.js"() {
      init_close();
      init_breakpoints();
      init_elementDescriptors();
      init_customizables();
      init_IconButton();
      init_Modal();
      init_Card();
      import_react265 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ProfileCardRoot = import_react265.default.forwardRef((props, ref) => {
        const { sx, children, ...rest } = props;
        const { toggle } = useUnsafeModalContext();
        return /* @__PURE__ */ jsxs2(Card.Root, {
          ref,
          sx: [(t2) => ({
            width: t2.sizes.$220,
            maxWidth: `calc(100vw - ${t2.sizes.$8})`,
            display: "flex",
            flexDirection: "row",
            [mqu.md]: {
              display: "flex",
              flexDirection: "column"
            },
            overflow: "hidden",
            height: t2.sizes.$176,
            position: "relative"
          }), sx],
          ...rest,
          children: [
            toggle && /* @__PURE__ */ jsx2(Box2, {
              sx: (t2) => ({
                [mqu.md]: {
                  padding: `${t2.space.$1x5} ${t2.space.$2}`,
                  top: t2.space.$none,
                  insetInlineEnd: t2.space.$none
                },
                zIndex: t2.zIndices.$modal,
                position: "absolute",
                top: t2.space.$2,
                insetInlineEnd: t2.space.$2
              }),
              children: /* @__PURE__ */ jsx2(IconButton, {
                elementDescriptor: descriptors.modalCloseButton,
                variant: "ghost",
                "aria-label": "Close modal",
                onClick: toggle,
                icon: /* @__PURE__ */ jsx2(Icon, {
                  icon: close_default,
                  size: "sm"
                }),
                sx: (t2) => ({
                  color: t2.colors.$colorMutedForeground,
                  padding: t2.space.$3
                })
              })
            }),
            children,
            /* @__PURE__ */ jsx2(Card.Footer, {
              isProfileFooter: true,
              sx: {
                display: "none",
                [mqu.md]: { display: "flex" }
              }
            })
          ]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/ProfileCard/index.js
  var ProfileCard;
  var init_ProfileCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/ProfileCard/index.js"() {
      init_ProfileCardContent();
      init_ProfileCardRoot();
      ProfileCard = {
        Root: ProfileCardRoot,
        Content: ProfileCardContent
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/UserProfileNavbar.js
  var import_react266, UserProfileNavbar;
  var init_UserProfileNavbar = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/UserProfileNavbar.js"() {
      init_constants6();
      init_localizationKeys();
      init_UserProfile();
      init_Navbar();
      import_react266 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      UserProfileNavbar = (props) => {
        const { pages, apiKeysProps } = useUserProfileContext();
        const routes = pages.routes.filter((r2) => r2.id !== USER_PROFILE_NAVBAR_ROUTE_ID.API_KEYS || !apiKeysProps?.hide);
        return /* @__PURE__ */ jsxs2(NavbarContextProvider, {
          contentRef: props.contentRef,
          children: [/* @__PURE__ */ jsx2(NavBar, {
            title: localizationKeys("userProfile.navbar.title"),
            description: localizationKeys("userProfile.navbar.description"),
            routes,
            contentRef: props.contentRef
          }), props.children]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/CustomPageContentContainer.js
  var CustomPageContentContainer;
  var init_CustomPageContentContainer = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/CustomPageContentContainer.js"() {
      init_ExternalElementMounter();
      init_elementDescriptors();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      CustomPageContentContainer = ({ mount, unmount }) => {
        return /* @__PURE__ */ jsx2(Col2, {
          elementDescriptor: descriptors.page,
          gap: 8,
          children: /* @__PURE__ */ jsx2(Col2, {
            elementDescriptor: descriptors.profilePage,
            gap: 8,
            children: /* @__PURE__ */ jsx2(ExternalElementMounter, {
              mount,
              unmount
            })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Action/ActionRoot.js
  var import_react267, ActionContext, useActionContext, _2, ActionRoot;
  var init_ActionRoot = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Action/ActionRoot.js"() {
      init_Animated();
      import_react267 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      [ActionContext, useActionContext, _2] = createContextAndHook("ActionContext");
      ActionRoot = (props) => {
        const { animate: animate2 = true, children, value: controlledValue, onChange } = props;
        const [internalValue, setInternalValue] = (0, import_react267.useState)(null);
        const active = controlledValue !== void 0 ? controlledValue : internalValue;
        const close = (0, import_react267.useCallback)(() => {
          if (onChange) onChange(null);
          else setInternalValue(null);
        }, [onChange]);
        const open = (0, import_react267.useCallback)((newValue) => {
          if (onChange) onChange(newValue);
          else setInternalValue(newValue);
        }, [onChange]);
        const body = /* @__PURE__ */ jsx2(ActionContext.Provider, {
          value: { value: {
            active,
            open,
            close
          } },
          children
        });
        if (animate2) return /* @__PURE__ */ jsx2(Animated, { children: body });
        return body;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Action/ActionCard.js
  var styles, ActionCard;
  var init_ActionCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Action/ActionCard.js"() {
      init_elementDescriptors();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      styles = (t2) => ({
        neutral: { backgroundColor: t2.colors.$colorBackground },
        destructive: { backgroundColor: t2.colors.$neutralAlpha50 }
      });
      ActionCard = (props) => {
        const { children, sx, variant = "neutral", ...rest } = props;
        return /* @__PURE__ */ jsx2(Col2, {
          elementDescriptor: descriptors.actionCard,
          sx: [(t2) => ({
            gap: t2.space.$4,
            borderRadius: t2.radii.$lg,
            padding: `${t2.space.$4} ${t2.space.$5}`,
            borderWidth: t2.borderWidths.$normal,
            borderStyle: t2.borderStyles.$solid,
            borderColor: t2.colors.$borderAlpha150,
            ...styles(t2)[variant]
          }), sx],
          ...rest,
          children
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Action/ActionClosed.js
  var import_react269, ActionClosed;
  var init_ActionClosed = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Action/ActionClosed.js"() {
      init_ActionRoot();
      import_react269 = __toESM(require_react(), 1);
      ActionClosed = (props) => {
        const { children, value } = props;
        const values = Array.isArray(value) ? value : [value];
        const { active } = useActionContext();
        if (active && values.includes(active)) return null;
        return children;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Action/ActionOpen.js
  var import_react270, ScrollWrapper, ActionOpen;
  var init_ActionOpen = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Action/ActionOpen.js"() {
      init_ActionRoot();
      import_react270 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ScrollWrapper = import_react270.default.forwardRef((props, ref) => /* @__PURE__ */ jsx2("div", {
        ref,
        ...props
      }));
      ActionOpen = ({ children, value }) => {
        const { active } = useActionContext();
        const ref = (0, import_react270.useRef)(null);
        (0, import_react270.useEffect)(() => {
          const element = ref.current;
          const observer = new MutationObserver(() => {
            observer.disconnect();
            if (!element) return;
            setTimeout(() => {
              element.scrollIntoView({
                behavior: "smooth",
                block: "center"
              });
            }, 300);
          });
          if (active === value && element) observer.observe(element, {
            childList: true,
            subtree: true,
            attributes: true
          });
          return () => observer.disconnect();
        }, [active, value]);
        if (active !== value) return null;
        return /* @__PURE__ */ jsx2(ScrollWrapper, {
          ref,
          children
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Action/ActionTrigger.js
  var import_react271, ActionTrigger;
  var init_ActionTrigger = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Action/ActionTrigger.js"() {
      init_ActionRoot();
      import_react271 = __toESM(require_react(), 1);
      ActionTrigger = (props) => {
        const { children, value, hideOnActive = true } = props;
        const { active, open } = useActionContext();
        const validChildren = import_react271.Children.only(children);
        if (!(0, import_react271.isValidElement)(validChildren)) throw new Error("Children of ActionTrigger must be a valid element");
        if (hideOnActive && active === value) return null;
        return (0, import_react271.cloneElement)(validChildren, { onClick: async () => {
          await validChildren.props.onClick?.();
          open(value);
        } });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Action/index.js
  var Action2;
  var init_Action = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Action/index.js"() {
      init_ActionCard();
      init_ActionRoot();
      init_ActionClosed();
      init_ActionOpen();
      init_ActionTrigger();
      Action2 = {
        Root: ActionRoot,
        Card: ActionCard,
        Trigger: ActionTrigger,
        Open: ActionOpen,
        Closed: ActionClosed
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/threeDots.js
  function _extends43() {
    return _extends43 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends43.apply(null, arguments);
  }
  var React$145, _g, SvgThreeDots, threeDots_default;
  var init_threeDots = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/threeDots.js"() {
      React$145 = __toESM(require_react(), 1);
      SvgThreeDots = function SvgThreeDots$1(props) {
        return /* @__PURE__ */ React$145.createElement("svg", _extends43({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 20 20"
        }, props), _g || (_g = /* @__PURE__ */ React$145.createElement("g", {
          stroke: "currentColor",
          strokeLinecap: "round",
          strokeWidth: 2
        }, /* @__PURE__ */ React$145.createElement("path", { d: "M10.01 10H10M4.01 10H4M16.01 10H16" }))));
      };
      threeDots_default = SvgThreeDots;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Menu.js
  var import_react272, MenuStateCtx, useMenuState, Menu, MenuTrigger, findMenuItem, MenuList, MenuItem;
  var init_Menu = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Menu.js"() {
      init_usePopover();
      init_colors();
      init_animations();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Popover();
      import_react272 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      [MenuStateCtx, useMenuState] = createContextAndHook("MenuState");
      Menu = withFloatingTree((props) => {
        const { popoverPlacement = "bottom-end", elementId, ...rest } = props;
        const popoverCtx = usePopover({
          placement: popoverPlacement,
          offset: 8,
          shoudFlip: true
        });
        const value = import_react272.default.useMemo(() => ({ value: {
          popoverCtx,
          elementId
        } }), [{ ...popoverCtx }, elementId]);
        return /* @__PURE__ */ jsx2(MenuStateCtx.Provider, {
          value,
          ...rest
        });
      });
      MenuTrigger = (props) => {
        const { children, arialLabel } = props;
        const { popoverCtx, elementId } = useMenuState();
        const { reference, toggle, isOpen } = popoverCtx;
        const normalizedAriaLabel = typeof arialLabel === "function" ? arialLabel(isOpen) : arialLabel;
        if (!(0, import_react272.isValidElement)(children)) return null;
        return (0, import_react272.cloneElement)(children, {
          ref: reference,
          elementDescriptor: children.props.elementDescriptor || descriptors.menuButton,
          elementId: children.props.elementId || descriptors.menuButton.setId(elementId),
          "aria-label": normalizedAriaLabel,
          "aria-expanded": isOpen,
          onClick: (e3) => {
            children.props?.onClick?.(e3);
            toggle();
          }
        });
      };
      findMenuItem = (el2, siblingType, options2) => {
        let tagName = options2?.countSelf ? el2.tagName : "";
        let sibling = el2;
        while (sibling && tagName.toUpperCase() !== "BUTTON") {
          sibling = sibling[siblingType === "prev" ? "previousElementSibling" : "nextElementSibling"];
          tagName = sibling?.tagName ?? "";
        }
        return sibling;
      };
      MenuList = (props) => {
        const { sx, asPortal, ...rest } = props;
        const { popoverCtx, elementId } = useMenuState();
        const { floating, styles: styles2, isOpen, context, nodeId } = popoverCtx;
        const containerRef = (0, import_react272.useRef)(null);
        (0, import_react272.useLayoutEffect)(() => {
          const current = containerRef.current;
          floating(current);
        }, [isOpen]);
        const onKeyDown = (e3) => {
          const current = containerRef.current;
          if (!current) return;
          if (current !== document.activeElement) return;
          if (e3.key === "ArrowDown") {
            e3.preventDefault();
            return findMenuItem(current.children[0], "next", { countSelf: true })?.focus();
          }
        };
        return /* @__PURE__ */ jsx2(Popover, {
          context,
          nodeId,
          isOpen,
          portal: asPortal,
          children: /* @__PURE__ */ jsx2(Col2, {
            elementDescriptor: descriptors.menuList,
            elementId: descriptors.menuList.setId(elementId),
            ref: containerRef,
            role: "menu",
            onKeyDown,
            sx: [(t2) => ({
              backgroundColor: colors$2.makeSolid(t2.colors.$colorBackground),
              borderWidth: t2.borderWidths.$normal,
              borderStyle: t2.borderStyles.$solid,
              borderColor: t2.colors.$borderAlpha150,
              outline: "none",
              borderRadius: t2.radii.$md,
              padding: t2.space.$0x5,
              overflow: "hidden",
              top: `calc(100% + ${t2.space.$2})`,
              animation: `${animations.dropdownSlideInScaleAndFade} ${t2.transitionDuration.$slower} ${t2.transitionTiming.$slowBezier}`,
              transformOrigin: "top center",
              zIndex: t2.zIndices.$dropdown,
              gap: t2.space.$0x5
            }), sx],
            style: styles2,
            ...rest
          })
        });
      };
      MenuItem = (props) => {
        const { sx, onClick, destructive, closeAfterClick = true, ...rest } = props;
        const { popoverCtx, elementId } = useMenuState();
        const { toggle } = popoverCtx;
        const buttonRef = (0, import_react272.useRef)(null);
        const onKeyDown = (e3) => {
          const current = buttonRef.current;
          if (!current) return;
          const key = e3.key;
          if (key !== "ArrowUp" && key !== "ArrowDown") return;
          e3.preventDefault();
          findMenuItem(current, key === "ArrowUp" ? "prev" : "next")?.focus();
        };
        return /* @__PURE__ */ jsx2(SimpleButton2, {
          ref: buttonRef,
          elementDescriptor: descriptors.menuItem,
          elementId: descriptors.menuItem.setId(elementId),
          hoverAsFocus: true,
          variant: "ghost",
          colorScheme: destructive ? "danger" : "neutral",
          role: "menuitem",
          onKeyDown,
          focusRing: false,
          onClick: (e3) => {
            onClick?.(e3);
            if (closeAfterClick) toggle();
          },
          sx: [(theme) => ({
            justifyContent: "start",
            borderRadius: theme.radii.$sm,
            padding: `${theme.space.$1} ${theme.space.$3}`,
            whiteSpace: "nowrap"
          }), sx],
          ...rest
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/ThreeDotsMenu.js
  var ThreeDotsMenu;
  var init_ThreeDotsMenu = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/ThreeDotsMenu.js"() {
      init_threeDots();
      init_elementDescriptors();
      init_customizables();
      init_Menu();
      init_emotion_react_jsx_runtime_browser_esm();
      ThreeDotsMenu = (props) => {
        const { actions, elementId, variant } = props;
        const isBordered = variant === "bordered";
        const iconSx = (t2) => !isBordered ? {
          width: "auto",
          height: t2.sizes.$5
        } : {
          width: t2.sizes.$4,
          height: t2.sizes.$4,
          opacity: t2.opacity.$inactive
        };
        return /* @__PURE__ */ jsxs2(Menu, {
          elementId,
          children: [/* @__PURE__ */ jsx2(MenuTrigger, {
            arialLabel: (isOpen) => `${isOpen ? "Close" : "Open"} menu`,
            children: /* @__PURE__ */ jsx2(Button2, {
              sx: (t2) => !isBordered ? {
                padding: t2.space.$0x5,
                boxSizing: "content-box",
                opacity: t2.opacity.$inactive,
                ":hover,:focus-visible": { opacity: 1 }
              } : {
                width: t2.sizes.$6,
                height: t2.sizes.$6
              },
              variant: isBordered ? "bordered" : "ghost",
              colorScheme: isBordered ? "secondary" : "neutral",
              elementDescriptor: [descriptors.menuButton, isBordered ? descriptors.menuButtonEllipsisBordered : descriptors.menuButtonEllipsis],
              children: /* @__PURE__ */ jsx2(Icon, {
                icon: threeDots_default,
                sx: iconSx
              })
            })
          }), /* @__PURE__ */ jsx2(MenuList, { children: actions.map((a2, index3) => /* @__PURE__ */ jsx2(MenuItem, {
            destructive: a2.isDestructive,
            onClick: a2.onClick,
            isDisabled: a2.isDisabled,
            localizationKey: a2.label
          }, index3)) })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/plus.js
  function _extends44() {
    return _extends44 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends44.apply(null, arguments);
  }
  var React$146, _path48, SvgPlus, plus_default;
  var init_plus = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/plus.js"() {
      React$146 = __toESM(require_react(), 1);
      SvgPlus = function SvgPlus$1(props) {
        return /* @__PURE__ */ React$146.createElement("svg", _extends44({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path48 || (_path48 = /* @__PURE__ */ React$146.createElement("path", { d: "M8.75 3.75a.75.75 0 0 0-1.5 0v3.5h-3.5a.75.75 0 1 0 0 1.5h3.5v3.5a.75.75 0 0 0 1.5 0v-3.5h3.5a.75.75 0 0 0 0-1.5h-3.5z" })));
      };
      plus_default = SvgPlus;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Section.js
  var import_react274, ProfileSectionRoot, ProfileSectionItemList, ProfileSectionItem, ProfileSectionButton, ProfileSectionArrowButton, ProfileSectionButtonGroup, ProfileSectionActionMenuItem, ProfileSectionActionMenu, ProfileSection, SectionHeader;
  var init_Section = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Section.js"() {
      init_plus();
      init_breakpoints();
      init_elementDescriptors();
      init_customizables();
      init_Animated();
      init_Menu();
      init_ArrowBlockButton();
      import_react274 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      ProfileSectionRoot = (props) => {
        const { title, centered = true, children, id, sx, ...rest } = props;
        const ref = (0, import_react274.useRef)(null);
        const [height, setHeight] = (0, import_react274.useState)(0);
        (0, import_react274.useLayoutEffect)(() => {
          const element = ref.current;
          if (element) setHeight(element.clientHeight + element.clientTop || 0);
        }, []);
        return /* @__PURE__ */ jsxs2(Flex2, {
          elementDescriptor: descriptors.profileSection,
          elementId: descriptors.profileSection.setId(id),
          sx: [(t2) => ({
            flexDirection: "row-reverse",
            borderTopWidth: t2.borderWidths.$normal,
            borderTopStyle: t2.borderStyles.$solid,
            borderTopColor: t2.colors.$borderAlpha100,
            paddingTop: t2.space.$4,
            paddingBottom: t2.space.$4,
            gap: t2.space.$6,
            [mqu.lg]: {
              flexDirection: "column-reverse",
              gap: t2.space.$2
            }
          }), sx],
          ...rest,
          children: [/* @__PURE__ */ jsx2(Col2, {
            elementDescriptor: descriptors.profileSectionContent,
            elementId: descriptors.profileSectionContent.setId(id),
            gap: 2,
            ref,
            sx: {
              minWidth: 0,
              width: "100%",
              "+ *": { "--clerk-height": `${height}px` }
            },
            children
          }), /* @__PURE__ */ jsx2(Col2, {
            elementDescriptor: descriptors.profileSectionHeader,
            elementId: descriptors.profileSectionHeader.setId(id),
            sx: (t2) => ({
              padding: centered ? void 0 : `${t2.space.$1x5} 0`,
              gap: t2.space.$1,
              width: t2.space.$66,
              alignSelf: height ? "self-start" : centered ? "center" : void 0,
              marginTop: centered ? "calc(var(--clerk-height)/2)" : void 0,
              transform: height && centered ? "translateY(-50%)" : void 0,
              [mqu.lg]: {
                alignSelf: "self-start",
                marginTop: "unset",
                transform: "none",
                padding: 0
              }
            }),
            children: /* @__PURE__ */ jsx2(SectionHeader, {
              localizationKey: title,
              elementDescriptor: descriptors.profileSectionTitle,
              elementId: descriptors.profileSectionTitle.setId(id),
              textElementDescriptor: descriptors.profileSectionTitleText,
              textElementId: descriptors.profileSectionTitleText.setId(id)
            })
          })]
        });
      };
      ProfileSectionItemList = (props) => {
        const { children, id, disableAnimation = false, ...rest } = props;
        const componentBody = /* @__PURE__ */ jsx2(Col2, {
          elementDescriptor: descriptors.profileSectionItemList,
          elementId: descriptors.profileSectionItemList.setId(id),
          sx: (t2) => ({ gap: t2.space.$0x5 }),
          ...rest,
          children
        });
        if (disableAnimation) return componentBody;
        return /* @__PURE__ */ jsx2(Animated, {
          asChild: true,
          children: componentBody
        });
      };
      ProfileSectionItem = (props) => {
        const { children, id, sx, hoverable, ...rest } = props;
        return /* @__PURE__ */ jsx2(Flex2, {
          elementDescriptor: descriptors.profileSectionItem,
          elementId: descriptors.profileSectionItem.setId(id),
          sx: [(t2) => ({
            justifyContent: "space-between",
            width: "100%",
            alignItems: "center",
            padding: `${t2.space.$1} ${t2.space.$1} ${t2.space.$1} ${t2.space.$2x5}`,
            gap: t2.space.$2,
            ...hoverable && {
              borderRadius: t2.radii.$lg,
              ":hover": { backgroundColor: t2.colors.$neutralAlpha50 }
            }
          }), sx],
          ...rest,
          children
        });
      };
      ProfileSectionButton = (props) => {
        const { children, id, sx, ...rest } = props;
        return /* @__PURE__ */ jsx2(Button2, {
          elementDescriptor: descriptors.profileSectionPrimaryButton,
          elementId: descriptors.profileSectionPrimaryButton.setId(id),
          variant: "ghost",
          sx: [(t2) => ({
            whiteSpace: "nowrap",
            justifyContent: "start",
            gap: t2.space.$2,
            padding: `${t2.space.$1x5} ${t2.space.$3} ${t2.space.$1x5} ${t2.space.$2x5}`
          }), sx],
          ...rest,
          children
        });
      };
      ProfileSectionArrowButton = (0, import_react274.forwardRef)((props, ref) => {
        const { children, leftIcon = plus_default, id, sx, localizationKey, ...rest } = props;
        return /* @__PURE__ */ jsx2(ArrowBlockButton, {
          elementDescriptor: descriptors.profileSectionPrimaryButton,
          elementId: descriptors.profileSectionPrimaryButton.setId(id),
          variant: "ghost",
          sx: [(t2) => ({
            textWrap: "nowrap",
            justifyContent: "start",
            height: t2.sizes.$8
          }), sx],
          textLocalizationKey: localizationKey,
          leftIcon,
          leftIconSx: (t2) => ({
            width: t2.sizes.$4,
            height: t2.sizes.$4
          }),
          ref,
          ...rest,
          children
        });
      });
      ProfileSectionButtonGroup = (props) => {
        const { children, id, ...rest } = props;
        return /* @__PURE__ */ jsx2(Flex2, {
          elementDescriptor: descriptors.profileSectionButtonGroup,
          elementId: descriptors.profileSectionButtonGroup.setId(id),
          justify: "between",
          gap: 2,
          ...rest,
          children
        });
      };
      ProfileSectionActionMenuItem = (props) => {
        const { children, isLoading, localizationKey, sx, leftIcon, leftIconSx, ...rest } = props;
        const isIconElement = (0, import_react274.isValidElement)(leftIcon);
        return /* @__PURE__ */ jsxs2(MenuItem, {
          sx: [(theme) => ({ padding: `${theme.space.$1x5} ${theme.space.$2}` }), sx],
          isLoading,
          ...rest,
          children: [(isLoading || leftIcon) && /* @__PURE__ */ jsx2(Flex2, {
            as: "span",
            sx: (theme) => ({ flex: `0 0 ${theme.space.$4}` }),
            children: isLoading ? /* @__PURE__ */ jsx2(Spinner, {
              elementDescriptor: descriptors.spinner,
              size: "sm"
            }) : !isIconElement && leftIcon ? /* @__PURE__ */ jsx2(Icon, {
              icon: leftIcon,
              sx: [(theme) => ({
                color: theme.colors.$neutralAlpha600,
                width: theme.sizes.$5
              }), leftIconSx]
            }) : leftIcon
          }), /* @__PURE__ */ jsx2(Text2, { localizationKey })]
        });
      };
      ProfileSectionActionMenu = (props) => {
        const { children, triggerLocalizationKey, id, triggerSx, onClick } = props;
        return /* @__PURE__ */ jsx2(Flex2, {
          sx: { position: "relative" },
          children: /* @__PURE__ */ jsxs2(Menu, {
            elementId: id,
            children: [/* @__PURE__ */ jsx2(MenuTrigger, { children: /* @__PURE__ */ jsx2(ProfileSectionArrowButton, {
              id,
              textLocalizationKey: triggerLocalizationKey,
              sx: [(t2) => ({
                justifyContent: "start",
                height: t2.sizes.$8
              }), triggerSx],
              leftIcon: plus_default,
              leftIconSx: (t2) => ({
                width: t2.sizes.$4,
                height: t2.sizes.$4
              }),
              onClick
            }) }), /* @__PURE__ */ jsx2(MenuList, {
              asPortal: false,
              sx: (t2) => ({
                width: "100%",
                padding: t2.space.$1
              }),
              children
            })]
          })
        });
      };
      ProfileSection = {
        Root: ProfileSectionRoot,
        ItemList: ProfileSectionItemList,
        Item: ProfileSectionItem,
        Button: ProfileSectionButton,
        ArrowButton: ProfileSectionArrowButton,
        ButtonGroup: ProfileSectionButtonGroup,
        ActionMenu: ProfileSectionActionMenu,
        ActionMenuItem: ProfileSectionActionMenuItem
      };
      SectionHeader = (props) => {
        const { textElementDescriptor, textElementId, localizationKey, ...rest } = props;
        return /* @__PURE__ */ jsx2(Flex2, {
          ...rest,
          children: /* @__PURE__ */ jsx2(Text2, {
            localizationKey,
            variant: "subtitle",
            elementDescriptor: textElementDescriptor,
            elementId: textElementId
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/ConnectedAccountsMenu.js
  var ConnectMenuButton, AddConnectedAccount;
  var init_ConnectedAccountsMenu = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/ConnectedAccountsMenu.js"() {
      init_RouteContext();
      init_useEnabledThirdPartyProviders();
      init_localizationKeys();
      init_UserProfile();
      init_elementDescriptors();
      init_contexts();
      init_sleep();
      init_ProviderIcon();
      init_errorHandler();
      init_Section();
      init_queryStateParams();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      ConnectMenuButton = (props) => {
        const { strategy } = props;
        const card = useCardState();
        const { user } = useUser();
        const { navigate } = useRouter();
        const { strategyToDisplayData: strategyToDisplayData2 } = useEnabledThirdPartyProviders();
        const { additionalOAuthScopes, componentName, mode } = useUserProfileContext();
        const isModal = mode === "modal";
        const createExternalAccount = useReverification(() => {
          const socialProvider = strategy.replace("oauth_", "");
          const redirectUrl = isModal ? appendModalState({
            url: window.location.href,
            componentName,
            socialProvider
          }) : window.location.href;
          const additionalScopes = additionalOAuthScopes ? additionalOAuthScopes[socialProvider] : [];
          return user?.createExternalAccount({
            strategy,
            redirectUrl,
            additionalScopes
          });
        });
        const connect = () => {
          if (!user) return;
          card.setLoading(strategy);
          return createExternalAccount().then((res) => {
            if (res && res.verification?.externalVerificationRedirectURL) {
              sleep(2e3).then(() => card.setIdle(strategy));
              navigate(res.verification.externalVerificationRedirectURL.href);
            }
          }).catch((err) => {
            handleError(err, [], card.setError);
            card.setIdle(strategy);
          });
        };
        return /* @__PURE__ */ jsx2(ProfileSection.ActionMenuItem, {
          id: strategyToDisplayData2[strategy].id,
          onClick: connect,
          isDisabled: card.isLoading,
          variant: "ghost",
          isLoading: card.loadingMetadata === strategy,
          focusRing: false,
          closeAfterClick: false,
          localizationKey: localizationKeys("userProfile.connectedAccountPage.socialButtonsBlockButton", { provider: strategyToDisplayData2[strategy].name }),
          sx: (t2) => ({
            justifyContent: "start",
            gap: t2.space.$2
          }),
          leftIcon: /* @__PURE__ */ jsx2(ProviderIcon, {
            id: strategyToDisplayData2[strategy].id,
            iconUrl: strategyToDisplayData2[strategy].iconUrl,
            name: strategyToDisplayData2[strategy].name,
            isLoading: card.loadingMetadata === strategy,
            isDisabled: card.isLoading,
            alt: `Connect ${strategyToDisplayData2[strategy].name} account`,
            elementDescriptor: descriptors.providerIcon,
            elementId: descriptors.providerIcon.setId(strategyToDisplayData2[strategy].id)
          })
        }, strategy);
      };
      AddConnectedAccount = ({ onClick }) => {
        const { user } = useUser();
        const { strategies } = useEnabledThirdPartyProviders();
        const enabledStrategies = strategies.filter((s2) => s2.startsWith("oauth"));
        const connectedStrategies = user?.verifiedExternalAccounts.map((a2) => `oauth_${a2.provider}`);
        const unconnectedStrategies = enabledStrategies.filter((provider) => {
          return !connectedStrategies.includes(provider);
        });
        if (unconnectedStrategies.length === 0) return null;
        return /* @__PURE__ */ jsx2(ProfileSection.ActionMenu, {
          triggerLocalizationKey: localizationKeys("userProfile.start.connectedAccountsSection.primaryButton"),
          id: "connectedAccounts",
          onClick,
          children: unconnectedStrategies.map((strategy) => /* @__PURE__ */ jsx2(ConnectMenuButton, { strategy }, strategy))
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/RemoveResourceForm.js
  var RemoveResourceForm;
  var init_RemoveResourceForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/RemoveResourceForm.js"() {
      init_localizationKeys();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      RemoveResourceForm = withCardStateProvider((props) => {
        const { title, messageLine1, messageLine2, deleteResource, onSuccess, onReset } = props;
        const card = useCardState();
        const deleteWithReverification = useReverification(deleteResource);
        const handleSubmit = async () => {
          try {
            await deleteWithReverification().then(onSuccess);
          } catch (e3) {
            handleError(e3, [], card.setError);
          }
        };
        return /* @__PURE__ */ jsx2(FormContainer, {
          headerTitle: title,
          headerSubtitle: messageLine1,
          children: /* @__PURE__ */ jsxs2(Form$1.Root, {
            onSubmit: handleSubmit,
            children: [messageLine2 ? /* @__PURE__ */ jsx2(Text2, {
              colorScheme: "secondary",
              localizationKey: messageLine2
            }) : null, /* @__PURE__ */ jsx2(FormButtons, {
              submitLabel: localizationKeys("userProfile.formButtonPrimary__remove"),
              colorScheme: "danger",
              onReset
            })]
          })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/RemoveResourceForm.js
  var import_react277, RemoveEmailForm, RemovePhoneForm, RemoveConnectedAccountForm, RemoveWeb3WalletForm, RemoveMfaPhoneCodeForm, RemoveMfaTOTPForm, RemovePasskeyForm;
  var init_RemoveResourceForm2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/RemoveResourceForm.js"() {
      init_useEnabledThirdPartyProviders();
      init_localizationKeys();
      init_RemoveResourceForm();
      import_react277 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      RemoveEmailForm = (props) => {
        const { onSuccess, onReset } = props;
        const { user } = useUser();
        const { emailId: id } = props;
        const resource = user?.emailAddresses.find((e3) => e3.id === id);
        const ref = import_react277.default.useRef(resource?.emailAddress);
        const unableToSignInText = resource?.verification?.status === "verified" ? localizationKeys("userProfile.emailAddressPage.removeResource.messageLine2") : void 0;
        if (!ref.current) return null;
        return /* @__PURE__ */ jsx2(RemoveResourceForm, {
          title: localizationKeys("userProfile.emailAddressPage.removeResource.title"),
          messageLine1: localizationKeys("userProfile.emailAddressPage.removeResource.messageLine1", { identifier: ref.current }),
          messageLine2: unableToSignInText,
          successMessage: localizationKeys("userProfile.emailAddressPage.removeResource.successMessage", { emailAddress: ref.current }),
          deleteResource: () => Promise.resolve(resource?.destroy()),
          onSuccess,
          onReset
        });
      };
      RemovePhoneForm = (props) => {
        const { phoneId: id, onSuccess, onReset } = props;
        const { user } = useUser();
        const resource = user?.phoneNumbers.find((e3) => e3.id === id);
        const ref = import_react277.default.useRef(resource?.phoneNumber);
        const unableToSignInText = resource?.verification?.status === "verified" ? localizationKeys("userProfile.phoneNumberPage.removeResource.messageLine2") : void 0;
        if (!ref.current) return null;
        return /* @__PURE__ */ jsx2(RemoveResourceForm, {
          title: localizationKeys("userProfile.phoneNumberPage.removeResource.title"),
          messageLine1: localizationKeys("userProfile.phoneNumberPage.removeResource.messageLine1", { identifier: ref.current }),
          messageLine2: unableToSignInText,
          successMessage: localizationKeys("userProfile.phoneNumberPage.removeResource.successMessage", { phoneNumber: ref.current }),
          deleteResource: () => Promise.resolve(resource?.destroy()),
          onSuccess,
          onReset
        });
      };
      RemoveConnectedAccountForm = (props) => {
        const { accountId: id, onSuccess, onReset } = props;
        const { user } = useUser();
        const resource = user?.externalAccounts.find((e3) => e3.id === id);
        const ref = import_react277.default.useRef(resource?.provider);
        const { providerToDisplayData: providerToDisplayData2 } = useEnabledThirdPartyProviders();
        if (!ref.current) return null;
        return /* @__PURE__ */ jsx2(RemoveResourceForm, {
          title: localizationKeys("userProfile.connectedAccountPage.removeResource.title"),
          messageLine1: localizationKeys("userProfile.connectedAccountPage.removeResource.messageLine1", { identifier: providerToDisplayData2[ref.current]?.name || "" }),
          messageLine2: localizationKeys("userProfile.connectedAccountPage.removeResource.messageLine2"),
          successMessage: localizationKeys("userProfile.connectedAccountPage.removeResource.successMessage", { connectedAccount: providerToDisplayData2[ref.current]?.name || "" }),
          deleteResource: () => Promise.resolve(resource?.destroy()),
          onSuccess,
          onReset
        });
      };
      RemoveWeb3WalletForm = (props) => {
        const { user } = useUser();
        const { walletId: id, onSuccess, onReset } = props;
        const resource = user?.web3Wallets.find((e3) => e3.id === id);
        const ref = import_react277.default.useRef(resource?.web3Wallet);
        const unableToSignInText = resource?.verification?.status === "verified" ? localizationKeys("userProfile.web3WalletPage.removeResource.messageLine2") : void 0;
        if (!ref.current) return null;
        return /* @__PURE__ */ jsx2(RemoveResourceForm, {
          title: localizationKeys("userProfile.web3WalletPage.removeResource.title"),
          messageLine1: localizationKeys("userProfile.web3WalletPage.removeResource.messageLine1", { identifier: ref.current }),
          messageLine2: unableToSignInText,
          successMessage: localizationKeys("userProfile.web3WalletPage.removeResource.successMessage", { web3Wallet: ref.current }),
          deleteResource: () => Promise.resolve(resource?.destroy()),
          onSuccess,
          onReset
        });
      };
      RemoveMfaPhoneCodeForm = (props) => {
        const { user } = useUser();
        const { phoneId: id, onSuccess, onReset } = props;
        const resource = user?.phoneNumbers.find((e3) => e3.id === id);
        const ref = import_react277.default.useRef(resource?.phoneNumber);
        if (!ref.current) return null;
        return /* @__PURE__ */ jsx2(RemoveResourceForm, {
          title: localizationKeys("userProfile.mfaPhoneCodePage.removeResource.title"),
          messageLine1: localizationKeys("userProfile.mfaPhoneCodePage.removeResource.messageLine1", { identifier: ref.current }),
          messageLine2: localizationKeys("userProfile.mfaPhoneCodePage.removeResource.messageLine2"),
          successMessage: localizationKeys("userProfile.mfaPhoneCodePage.removeResource.successMessage", { mfaPhoneCode: ref.current }),
          deleteResource: () => Promise.resolve(resource?.setReservedForSecondFactor({ reserved: false })),
          onSuccess,
          onReset
        });
      };
      RemoveMfaTOTPForm = (props) => {
        const { onSuccess, onReset } = props;
        const { user } = useUser();
        if (!user) return null;
        return /* @__PURE__ */ jsx2(RemoveResourceForm, {
          title: localizationKeys("userProfile.mfaTOTPPage.removeResource.title"),
          messageLine1: localizationKeys("userProfile.mfaTOTPPage.removeResource.messageLine1"),
          messageLine2: localizationKeys("userProfile.mfaTOTPPage.removeResource.messageLine2"),
          successMessage: localizationKeys("userProfile.mfaTOTPPage.removeResource.successMessage"),
          deleteResource: user.disableTOTP,
          onSuccess,
          onReset
        });
      };
      RemovePasskeyForm = (props) => {
        const { onSuccess, onReset, passkey } = props;
        return /* @__PURE__ */ jsx2(RemoveResourceForm, {
          title: localizationKeys("userProfile.passkeyScreen.removeResource.title"),
          messageLine1: localizationKeys("userProfile.passkeyScreen.removeResource.messageLine1", { name: passkey.name || "" }),
          deleteResource: passkey.delete,
          onSuccess,
          onReset
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/ConnectedAccountsSection.js
  function findAdditionalScopes(account, scopes) {
    if (!scopes) return [];
    const additionalScopes = scopes[account.provider] || [];
    const currentScopes = account.approvedScopes.split(" ");
    if (additionalScopes.filter((scope) => !currentScopes.includes(scope)).length === 0) return [];
    return additionalScopes;
  }
  var import_react279, RemoveConnectedAccountScreen, errorCodesForReconnect, ConnectedAccountsSection, ConnectedAccount, ConnectedAccountMenu;
  var init_ConnectedAccountsSection = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/ConnectedAccountsSection.js"() {
      init_RouteContext();
      init_useEnabledThirdPartyProviders();
      init_localizationKeys();
      init_UserProfile();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_ProviderIcon();
      init_errorHandler();
      init_ActionRoot();
      init_Action();
      init_ThreeDotsMenu();
      init_Section();
      init_ConnectedAccountsMenu();
      init_RemoveResourceForm2();
      import_react279 = __toESM(require_react(), 1);
      init_queryStateParams();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      RemoveConnectedAccountScreen = (props) => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(RemoveConnectedAccountForm, {
          onSuccess: close,
          onReset: close,
          ...props
        });
      };
      errorCodesForReconnect = [
        "external_account_missing_refresh_token",
        "oauth_fetch_user_error",
        "oauth_token_exchange_error",
        "external_account_email_address_verification_required"
      ];
      ConnectedAccountsSection = withCardStateProvider(({ shouldAllowCreation = true }) => {
        const { user } = useUser();
        const card = useCardState();
        const hasExternalAccounts = Boolean(user?.externalAccounts?.length);
        const [actionValue, setActionValue] = (0, import_react279.useState)(null);
        if (!user || !shouldAllowCreation && !hasExternalAccounts) return null;
        const accounts = [...user.verifiedExternalAccounts, ...user.unverifiedExternalAccounts.filter((a2) => a2.verification?.error)];
        return /* @__PURE__ */ jsxs2(ProfileSection.Root, {
          title: localizationKeys("userProfile.start.connectedAccountsSection.title"),
          centered: false,
          id: "connectedAccounts",
          children: [/* @__PURE__ */ jsx2(Card.Alert, { children: card.error }), /* @__PURE__ */ jsxs2(Action2.Root, {
            value: actionValue,
            onChange: setActionValue,
            children: [/* @__PURE__ */ jsx2(ProfileSection.ItemList, {
              id: "connectedAccounts",
              children: accounts.map((account) => /* @__PURE__ */ jsx2(ConnectedAccount, { account }, account.id))
            }), shouldAllowCreation && /* @__PURE__ */ jsx2(AddConnectedAccount, { onClick: () => setActionValue(null) })]
          })]
        });
      });
      ConnectedAccount = ({ account }) => {
        const { additionalOAuthScopes, componentName, mode } = useUserProfileContext();
        const { navigate } = useRouter();
        const { user } = useUser();
        const card = useCardState();
        const accountId = account.id;
        const isModal = mode === "modal";
        const redirectUrl = isModal ? appendModalState({
          url: window.location.href,
          componentName
        }) : window.location.href;
        const createExternalAccount = useReverification(() => user?.createExternalAccount({
          strategy: account.verification.strategy,
          redirectUrl,
          additionalScopes
        }));
        const { providerToDisplayData: providerToDisplayData2 } = useEnabledThirdPartyProviders();
        if (!user) return null;
        const label = account.username || account.emailAddress;
        const fallbackErrorMessage = account.verification?.error?.longMessage;
        const additionalScopes = findAdditionalScopes(account, additionalOAuthScopes);
        const reauthorizationRequired = additionalScopes.length > 0 && account.approvedScopes != "";
        const shouldDisplayReconnect = errorCodesForReconnect.includes(account.verification?.error?.code || "") || reauthorizationRequired;
        const connectedAccountErrorMessage = shouldDisplayReconnect ? localizationKeys(`userProfile.start.connectedAccountsSection.subtitle__disconnected`) : fallbackErrorMessage;
        const reconnect = async () => {
          const redirectUrl$1 = isModal ? appendModalState({
            url: window.location.href,
            componentName
          }) : window.location.href;
          try {
            let response;
            if (reauthorizationRequired) response = await account.reauthorize({
              additionalScopes,
              redirectUrl: redirectUrl$1
            });
            else response = await createExternalAccount();
            if (response) await navigate(response.verification.externalVerificationRedirectURL?.href || "");
          } catch (err) {
            handleError(err, [], card.setError);
          }
        };
        const providerData = providerToDisplayData2[account.provider];
        return /* @__PURE__ */ jsxs2(import_react279.Fragment, { children: [
          /* @__PURE__ */ jsxs2(ProfileSection.Item, {
            id: "connectedAccounts",
            children: [/* @__PURE__ */ jsxs2(Flex2, {
              sx: (t2) => ({
                overflow: "hidden",
                gap: t2.space.$2
              }),
              children: [/* @__PURE__ */ jsx2(ProviderIcon, {
                id: account.provider,
                iconUrl: providerData?.iconUrl,
                name: providerData?.name || account.provider,
                alt: providerData?.name || account.provider,
                elementDescriptor: descriptors.providerIcon,
                elementId: descriptors.socialButtonsProviderIcon.setId(account.provider),
                sx: { flexShrink: 0 }
              }), /* @__PURE__ */ jsx2(Box2, {
                sx: {
                  whiteSpace: "nowrap",
                  overflow: "hidden"
                },
                children: /* @__PURE__ */ jsxs2(Flex2, {
                  gap: 1,
                  center: true,
                  children: [/* @__PURE__ */ jsx2(Text2, {
                    sx: (t2) => ({ color: t2.colors.$colorForeground }),
                    children: `${providerData?.name || account.provider}`
                  }), /* @__PURE__ */ jsx2(Text2, {
                    truncate: true,
                    as: "span",
                    colorScheme: "secondary",
                    children: label ? `\u2022 ${label}` : ""
                  })]
                })
              })]
            }), /* @__PURE__ */ jsx2(ConnectedAccountMenu, { account })]
          }),
          shouldDisplayReconnect && /* @__PURE__ */ jsxs2(Box2, {
            sx: (t2) => ({ padding: `${t2.sizes.$none} ${t2.sizes.$none} ${t2.sizes.$1x5} ${t2.sizes.$8x5}` }),
            children: [/* @__PURE__ */ jsx2(Text2, {
              colorScheme: "secondary",
              sx: (t2) => ({
                paddingInlineEnd: t2.sizes.$1x5,
                display: "inline-block"
              }),
              localizationKey: connectedAccountErrorMessage
            }), /* @__PURE__ */ jsx2(Button2, {
              sx: { display: "inline-block" },
              onClick: reconnect,
              variant: "link",
              localizationKey: localizationKeys("userProfile.start.connectedAccountsSection.actionLabel__connectionFailed")
            })]
          }),
          account.verification?.error?.code && !shouldDisplayReconnect && /* @__PURE__ */ jsx2(Text2, {
            colorScheme: "danger",
            sx: (t2) => ({ padding: `${t2.sizes.$none} ${t2.sizes.$1x5} ${t2.sizes.$1x5} ${t2.sizes.$8x5}` }),
            children: fallbackErrorMessage
          }),
          /* @__PURE__ */ jsx2(Action2.Open, {
            value: `remove-${accountId}`,
            children: /* @__PURE__ */ jsx2(Action2.Card, {
              variant: "destructive",
              children: /* @__PURE__ */ jsx2(RemoveConnectedAccountScreen, { accountId: account.id })
            })
          })
        ] }, account.id);
      };
      ConnectedAccountMenu = ({ account }) => {
        const { open } = useActionContext();
        const accountId = account.id;
        return /* @__PURE__ */ jsx2(ThreeDotsMenu, { actions: [{
          label: localizationKeys("userProfile.start.connectedAccountsSection.destructiveActionTitle"),
          isDestructive: true,
          onClick: () => open(`remove-${accountId}`)
        }].filter((a2) => a2 !== null) });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/VerifyWithCode.js
  var import_react281, VerifyWithCode;
  var init_VerifyWithCode = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/VerifyWithCode.js"() {
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_CodeControl();
      init_Form2();
      init_FormButtons();
      import_react281 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      VerifyWithCode = (props) => {
        const card = useCardState();
        const { nextStep, identification, identifier: identifier2, onReset, prepareVerification } = props;
        const prepare = () => {
          return prepareVerification?.()?.catch((err) => handleError(err, [], card.setError));
        };
        const otp = useFieldOTP({
          onCodeEntryFinished: (code, resolve, reject) => {
            identification?.attemptVerification({ code }).then(() => resolve()).catch(reject);
          },
          onResendCodeClicked: prepare,
          onResolve: nextStep
        });
        import_react281.default.useEffect(() => {
          prepare();
        }, []);
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Form$1.OTPInput, {
          ...otp,
          label: localizationKeys("userProfile.emailAddressPage.emailCode.formTitle"),
          description: localizationKeys("userProfile.emailAddressPage.emailCode.formSubtitle", { identifier: identifier2 || "" }),
          resendButton: localizationKeys("userProfile.emailAddressPage.emailCode.resendButton"),
          centerAlign: false
        }), /* @__PURE__ */ jsxs2(FormButtonContainer, { children: [/* @__PURE__ */ jsx2(Button2, {
          isLoading: otp.isLoading,
          localizationKey: localizationKeys("formButtonPrimary__verify"),
          elementDescriptor: descriptors.formButtonPrimary,
          onClick: otp.onFakeContinue
        }), /* @__PURE__ */ jsx2(Button2, {
          variant: "ghost",
          isDisabled: otp.isLoading,
          localizationKey: localizationKeys("userProfile.formButtonReset"),
          elementDescriptor: descriptors.formButtonReset,
          onClick: onReset
        })] })] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useEnterpriseSSOLink.js
  function useEnterpriseSSOLink(resource) {
    const { startEnterpriseSSOLinkFlow, cancelEnterpriseSSOLinkFlow } = import_react282.default.useMemo(() => resource.createEnterpriseSSOLinkFlow(), [resource]);
    import_react282.default.useEffect(() => {
      return cancelEnterpriseSSOLinkFlow;
    }, []);
    return {
      startEnterpriseSSOLinkFlow,
      cancelEnterpriseSSOLinkFlow
    };
  }
  var import_react282;
  var init_useEnterpriseSSOLink = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useEnterpriseSSOLink.js"() {
      import_react282 = __toESM(require_react(), 1);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/VerifyWithEnterpriseConnection.js
  var import_react283, VerifyWithEnterpriseConnection;
  var init_VerifyWithEnterpriseConnection = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/VerifyWithEnterpriseConnection.js"() {
      init_RouteContext();
      init_useEnterpriseSSOLink();
      init_localizationKeys();
      init_UserProfile();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_FormButtons();
      import_react283 = __toESM(require_react(), 1);
      init_queryStateParams();
      init_emotion_react_jsx_runtime_browser_esm();
      VerifyWithEnterpriseConnection = (props) => {
        const { navigate } = useRouter();
        const { email, nextStep, onReset } = props;
        const card = useCardState();
        const profileContext = useUserProfileContext();
        const { startEnterpriseSSOLinkFlow } = useEnterpriseSSOLink(email);
        import_react283.default.useEffect(() => {
          startVerification();
        }, []);
        function startVerification() {
          const { mode, componentName } = profileContext;
          startEnterpriseSSOLinkFlow({ redirectUrl: mode === "modal" ? appendModalState({
            url: window.location.href,
            componentName
          }) : window.location.href }).then(() => nextStep()).catch((err) => handleError(err, [], card.setError));
        }
        async function handleClick() {
          await navigate(email.verification.externalVerificationRedirectURL?.href || "");
        }
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Flex2, {
          justify: "center",
          children: /* @__PURE__ */ jsx2(Button2, {
            variant: "link",
            onClick: handleClick,
            localizationKey: localizationKeys("userProfile.emailAddressPage.enterpriseSSOLink.formButton")
          })
        }), /* @__PURE__ */ jsx2(FormButtonContainer, { children: /* @__PURE__ */ jsx2(Button2, {
          variant: "ghost",
          localizationKey: localizationKeys("userProfile.formButtonReset"),
          elementDescriptor: descriptors.formButtonReset,
          onClick: onReset
        }) })] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/EmailForm.js
  function isEmailLinksEnabledForInstance(env) {
    const { userSettings } = env;
    const { email_address } = userSettings.attributes;
    return Boolean(email_address?.enabled && email_address?.verifications.includes("email_link"));
  }
  var import_react284, EmailForm, getTranslationKeyByStrategy, getEmailAddressVerificationStrategy;
  var init_EmailForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/EmailForm.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_useFormControl();
      init_contexts();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_Wizard();
      init_VerifyWithCode();
      init_VerifyWithEnterpriseConnection();
      init_VerifyWithLink();
      import_react284 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      EmailForm = withCardStateProvider((props) => {
        const { emailId: id, onSuccess, onReset, disableAutoFocus = false } = props;
        const card = useCardState();
        const { user } = useUser();
        const environment = useEnvironment();
        const createEmailAddress = useReverification((email) => user?.createEmailAddress({ email }));
        const emailAddressRef = import_react284.default.useRef(user?.emailAddresses.find((a2) => a2.id === id));
        const strategy = getEmailAddressVerificationStrategy(emailAddressRef.current, environment);
        const wizard = useWizard({
          defaultStep: emailAddressRef.current ? 1 : 0,
          onNextStep: () => card.setError(void 0)
        });
        const emailField = useFormControl("emailAddress", "", {
          type: "email",
          label: localizationKeys("formFieldLabel__emailAddress"),
          placeholder: localizationKeys("formFieldInputPlaceholder__emailAddress"),
          isRequired: true
        });
        const canSubmit = emailField.value.length > 1 && user?.username !== emailField.value;
        const addEmail = async (e3) => {
          e3.preventDefault();
          if (!user) return;
          return createEmailAddress(emailField.value).then((res) => {
            emailAddressRef.current = res;
            wizard.nextStep();
          }).catch((e$1) => handleError(e$1, [emailField], card.setError));
        };
        const translationKey = getTranslationKeyByStrategy(strategy);
        return /* @__PURE__ */ jsxs2(Wizard, {
          ...wizard.props,
          children: [/* @__PURE__ */ jsx2(FormContainer, {
            headerTitle: props.title || localizationKeys("userProfile.emailAddressPage.title"),
            headerSubtitle: props.subtitle || localizationKeys("userProfile.emailAddressPage.formHint"),
            children: /* @__PURE__ */ jsxs2(Form$1.Root, {
              onSubmit: addEmail,
              children: [/* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: emailField.id,
                children: /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                  ...emailField.props,
                  autoFocus: !disableAutoFocus
                })
              }), /* @__PURE__ */ jsx2(FormButtons, {
                submitLabel: localizationKeys("userProfile.formButtonPrimary__add"),
                isDisabled: !canSubmit,
                onReset
              })]
            })
          }), /* @__PURE__ */ jsxs2(FormContainer, {
            headerTitle: localizationKeys("userProfile.emailAddressPage.verifyTitle"),
            headerSubtitle: localizationKeys(`${translationKey}.formSubtitle`, { identifier: emailAddressRef.current?.emailAddress || "" }),
            children: [
              strategy === "email_link" && /* @__PURE__ */ jsx2(VerifyWithLink, {
                nextStep: onSuccess,
                email: emailAddressRef.current,
                onReset
              }),
              strategy === "email_code" && /* @__PURE__ */ jsx2(VerifyWithCode, {
                nextStep: onSuccess,
                identification: emailAddressRef.current,
                identifier: emailAddressRef.current?.emailAddress,
                prepareVerification: () => emailAddressRef.current?.prepareVerification({ strategy: "email_code" }),
                onReset
              }),
              strategy === "enterprise_sso" && /* @__PURE__ */ jsx2(VerifyWithEnterpriseConnection, {
                nextStep: onSuccess,
                email: emailAddressRef.current,
                onReset
              })
            ]
          })]
        });
      });
      getTranslationKeyByStrategy = (strategy) => {
        switch (strategy) {
          case "email_code":
            return "userProfile.emailAddressPage.emailCode";
          case "enterprise_sso":
            return "userProfile.emailAddressPage.enterpriseSSOLink";
          case "email_link":
            return "userProfile.emailAddressPage.emailLink";
          default:
            throw new Error(`Unsupported strategy for email verification: ${strategy}`);
        }
      };
      getEmailAddressVerificationStrategy = (emailAddress, env) => {
        if (emailAddress?.matchesSsoConnection) return "enterprise_sso";
        return isEmailLinksEnabledForInstance(env) ? "email_link" : "email_code";
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/utils.js
  function sortIdentificationBasedOnVerification(array2, primaryId) {
    if (!array2) return [];
    const primaryItem = array2.filter((item) => item.id === primaryId);
    const itemsWithoutPrimary = array2.filter((item) => item.id !== primaryId);
    const verifiedItems = itemsWithoutPrimary.filter((item) => item.verification?.status === "verified");
    const unverifiedItems = itemsWithoutPrimary.filter((item) => !!item.verification?.status && item.verification?.status !== "verified");
    const unverifiedItemsWithoutVerification = itemsWithoutPrimary.filter((item) => !item.verification.status);
    verifiedItems.sort((a2, b2) => a2.id.localeCompare(b2.id));
    unverifiedItems.sort((a2, b2) => {
      if (!a2.verification?.expireAt || !b2.verification?.expireAt) return 0;
      return a2.verification.expireAt.getTime() - b2.verification.expireAt.getTime();
    });
    return [
      ...primaryItem,
      ...verifiedItems,
      ...unverifiedItems,
      ...unverifiedItemsWithoutVerification
    ];
  }
  var currentSessionFirst;
  var init_utils11 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/utils.js"() {
      currentSessionFirst = (id) => (a2) => a2.id === id ? -1 : 1;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/EmailsSection.js
  var import_react286, RemoveEmailScreen, EmailScreen, EmailsSection, EmailMenu;
  var init_EmailsSection = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/EmailsSection.js"() {
      init_localizationKeys();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_ActionRoot();
      init_Action();
      init_ThreeDotsMenu();
      init_EmailForm();
      init_Section();
      init_RemoveResourceForm2();
      init_utils11();
      import_react286 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      RemoveEmailScreen = (props) => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(RemoveEmailForm, {
          onSuccess: close,
          onReset: close,
          ...props
        });
      };
      EmailScreen = (props) => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(EmailForm, {
          onSuccess: close,
          onReset: close,
          ...props
        });
      };
      EmailsSection = ({ shouldAllowCreation = true, shouldAllowDeletion = true }) => {
        const { user } = useUser();
        return /* @__PURE__ */ jsx2(ProfileSection.Root, {
          title: localizationKeys("userProfile.start.emailAddressesSection.title"),
          centered: false,
          id: "emailAddresses",
          children: /* @__PURE__ */ jsx2(Action2.Root, { children: /* @__PURE__ */ jsxs2(ProfileSection.ItemList, {
            id: "emailAddresses",
            children: [sortIdentificationBasedOnVerification(user?.emailAddresses, user?.primaryEmailAddressId).map((email) => {
              const emailId = email.id;
              return /* @__PURE__ */ jsxs2(import_react286.Fragment, { children: [
                /* @__PURE__ */ jsxs2(ProfileSection.Item, {
                  id: "emailAddresses",
                  children: [/* @__PURE__ */ jsxs2(Flex2, {
                    sx: (t2) => ({
                      overflow: "hidden",
                      gap: t2.space.$1
                    }),
                    children: [
                      /* @__PURE__ */ jsx2(Text2, {
                        sx: (t2) => ({ color: t2.colors.$colorForeground }),
                        truncate: true,
                        children: email.emailAddress
                      }),
                      user?.primaryEmailAddressId === emailId && /* @__PURE__ */ jsx2(Badge2, { localizationKey: localizationKeys("badge__primary") }),
                      email.verification.status !== "verified" && /* @__PURE__ */ jsx2(Badge2, { localizationKey: localizationKeys("badge__unverified") })
                    ]
                  }), /* @__PURE__ */ jsx2(EmailMenu, {
                    email,
                    shouldAllowDeletion
                  })]
                }),
                /* @__PURE__ */ jsx2(Action2.Open, {
                  value: `remove-${emailId}`,
                  children: /* @__PURE__ */ jsx2(Action2.Card, {
                    variant: "destructive",
                    children: /* @__PURE__ */ jsx2(RemoveEmailScreen, { emailId })
                  })
                }),
                /* @__PURE__ */ jsx2(Action2.Open, {
                  value: `verify-${emailId}`,
                  children: /* @__PURE__ */ jsx2(Action2.Card, { children: /* @__PURE__ */ jsx2(EmailScreen, { emailId }) })
                })
              ] }, email.emailAddress);
            }), shouldAllowCreation && /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Action2.Trigger, {
              value: "add",
              children: /* @__PURE__ */ jsx2(ProfileSection.ArrowButton, {
                id: "emailAddresses",
                localizationKey: localizationKeys("userProfile.start.emailAddressesSection.primaryButton")
              })
            }), /* @__PURE__ */ jsx2(Action2.Open, {
              value: "add",
              children: /* @__PURE__ */ jsx2(Action2.Card, { children: /* @__PURE__ */ jsx2(EmailScreen, {}) })
            })] })]
          }) })
        });
      };
      EmailMenu = ({ email, shouldAllowDeletion = true }) => {
        const card = useCardState();
        const { user } = useUser();
        const { open } = useActionContext();
        const emailId = email.id;
        const isPrimary = user?.primaryEmailAddressId === emailId;
        const isVerified = email.verification.status === "verified";
        const setPrimary = useReverification(() => {
          return user?.update({ primaryEmailAddressId: emailId });
        });
        const actions = [
          isPrimary && !isVerified ? {
            label: localizationKeys("userProfile.start.emailAddressesSection.detailsAction__primary"),
            onClick: () => open(`verify-${emailId}`)
          } : null,
          !isPrimary && isVerified ? {
            label: localizationKeys("userProfile.start.emailAddressesSection.detailsAction__nonPrimary"),
            onClick: () => {
              setPrimary().catch((e3) => handleError(e3, [], card.setError));
            }
          } : null,
          !isPrimary && !isVerified ? {
            label: localizationKeys("userProfile.start.emailAddressesSection.detailsAction__unverified"),
            onClick: () => open(`verify-${emailId}`)
          } : null,
          shouldAllowDeletion ? {
            label: localizationKeys("userProfile.start.emailAddressesSection.destructiveAction"),
            isDestructive: true,
            onClick: () => open(`remove-${emailId}`)
          } : null
        ].filter((a2) => a2 !== null);
        if (actions.length === 0) return null;
        return /* @__PURE__ */ jsx2(ThreeDotsMenu, { actions });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/EnterpriseAccountsSection.js
  var import_react288, EnterpriseConnectMenuButton, AddEnterpriseAccount, EnterpriseAccountsSection, EnterpriseAccount, EnterpriseAccountProviderIcon;
  var init_EnterpriseAccountsSection = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/EnterpriseAccountsSection.js"() {
      init_localizationKeys();
      init_UserProfile();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_sleep();
      init_ProviderIcon();
      init_errorHandler();
      init_Action();
      init_Section();
      import_react288 = __toESM(require_react(), 1);
      init_queryStateParams();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_windowNavigate();
      EnterpriseConnectMenuButton = (props) => {
        const { connection } = props;
        const card = useCardState();
        const { user } = useUser();
        const { componentName, mode } = useUserProfileContext();
        const isModal = mode === "modal";
        const loadingKey = `enterprise_${connection.id}`;
        const createExternalAccount = useReverification(() => {
          const redirectUrl = isModal ? appendModalState({
            url: window.location.href,
            componentName
          }) : window.location.href;
          return user?.createExternalAccount({
            enterpriseConnectionId: connection.id,
            redirectUrl
          });
        });
        const connect = () => {
          if (!user) return;
          card.setLoading(loadingKey);
          return createExternalAccount().then((res) => {
            if (res?.verification?.externalVerificationRedirectURL) {
              sleep(2e3).then(() => card.setIdle(loadingKey));
              windowNavigate(res.verification.externalVerificationRedirectURL);
            }
          }).catch((err) => {
            handleError(err, [], card.setError);
            card.setIdle(loadingKey);
          });
        };
        const providerIconId = connection.provider.replace(/(oauth_|saml_)/, "").trim();
        const providerIconUrl = connection.logoPublicUrl?.trim() || "";
        return /* @__PURE__ */ jsx2(ProfileSection.ActionMenuItem, {
          id: connection.id,
          onClick: connect,
          isDisabled: card.isLoading,
          variant: "ghost",
          isLoading: card.loadingMetadata === loadingKey,
          focusRing: false,
          closeAfterClick: false,
          localizationKey: localizationKeys("userProfile.connectedAccountPage.socialButtonsBlockButton", { provider: connection.name }),
          sx: (t2) => ({
            justifyContent: "start",
            gap: t2.space.$2
          }),
          leftIcon: /* @__PURE__ */ jsx2(ProviderIcon, {
            id: providerIconId,
            iconUrl: providerIconUrl || void 0,
            name: connection.name,
            isLoading: card.loadingMetadata === loadingKey,
            isDisabled: card.isLoading,
            alt: `Connect ${connection.name} account`,
            elementDescriptor: descriptors.providerIcon,
            elementId: descriptors.providerIcon.setId(providerIconId)
          })
        }, connection.id);
      };
      AddEnterpriseAccount = ({ onClick, enterpriseConnections }) => {
        if (enterpriseConnections.length === 0) return null;
        return /* @__PURE__ */ jsx2(ProfileSection.ActionMenu, {
          triggerLocalizationKey: localizationKeys("userProfile.start.enterpriseAccountsSection.primaryButton"),
          id: "enterpriseAccounts",
          onClick,
          children: enterpriseConnections.map((connection) => /* @__PURE__ */ jsx2(EnterpriseConnectMenuButton, { connection }, connection.id))
        });
      };
      EnterpriseAccountsSection = withCardStateProvider(() => {
        const { user } = useUser();
        const card = useCardState();
        const [actionValue, setActionValue] = (0, import_react288.useState)(null);
        const activeEnterpriseAccounts = user?.enterpriseAccounts.filter(({ enterpriseConnection }) => enterpriseConnection?.active);
        const { data: userEnterpriseConnections = [] } = useUserEnterpriseConnections({ withOrganizationAccountLinking: true });
        const linkableEnterpriseConnections = userEnterpriseConnections.filter((c2) => c2.allowOrganizationAccountLinking && !user?.enterpriseAccounts?.some((a2) => a2.enterpriseConnectionId === c2.id));
        if (!activeEnterpriseAccounts?.length && !linkableEnterpriseConnections.length) return null;
        return /* @__PURE__ */ jsxs2(ProfileSection.Root, {
          title: localizationKeys("userProfile.start.enterpriseAccountsSection.title"),
          id: "enterpriseAccounts",
          centered: false,
          children: [/* @__PURE__ */ jsx2(Card.Alert, { children: card.error }), /* @__PURE__ */ jsxs2(Action2.Root, {
            value: actionValue,
            onChange: setActionValue,
            children: [/* @__PURE__ */ jsx2(ProfileSection.ItemList, {
              id: "enterpriseAccounts",
              children: activeEnterpriseAccounts?.map((account) => /* @__PURE__ */ jsx2(EnterpriseAccount, { account }, account.id))
            }), linkableEnterpriseConnections.length > 0 && /* @__PURE__ */ jsx2(AddEnterpriseAccount, {
              enterpriseConnections: linkableEnterpriseConnections,
              onClick: () => setActionValue(null)
            })]
          })]
        });
      });
      EnterpriseAccount = ({ account }) => {
        const label = account.emailAddress;
        const connectionName = account?.enterpriseConnection?.name;
        const error2 = account.verification?.error?.longMessage;
        const accountId = account.id ?? "";
        return /* @__PURE__ */ jsx2(import_react288.Fragment, { children: /* @__PURE__ */ jsx2(ProfileSection.Item, {
          id: "enterpriseAccounts",
          children: /* @__PURE__ */ jsxs2(Flex2, {
            sx: (t2) => ({
              overflow: "hidden",
              gap: t2.space.$2
            }),
            children: [/* @__PURE__ */ jsx2(EnterpriseAccountProviderIcon, { account }), /* @__PURE__ */ jsx2(Box2, {
              sx: {
                whiteSpace: "nowrap",
                overflow: "hidden"
              },
              children: /* @__PURE__ */ jsxs2(Flex2, {
                gap: 1,
                center: true,
                children: [
                  /* @__PURE__ */ jsx2(Text2, {
                    truncate: true,
                    colorScheme: "body",
                    children: connectionName
                  }),
                  /* @__PURE__ */ jsx2(Text2, {
                    truncate: true,
                    as: "span",
                    colorScheme: "secondary",
                    children: label ? `\u2022 ${label}` : ""
                  }),
                  error2 && /* @__PURE__ */ jsx2(Badge2, {
                    colorScheme: "danger",
                    localizationKey: localizationKeys("badge__requiresAction")
                  })
                ]
              })
            })]
          })
        }) }, accountId);
      };
      EnterpriseAccountProviderIcon = ({ account }) => {
        const { provider, enterpriseConnection } = account;
        const providerWithoutPrefix = provider.replace(/(oauth_|saml_)/, "").trim();
        const connectionName = enterpriseConnection?.name ?? providerWithoutPrefix;
        return /* @__PURE__ */ jsx2(ProviderIcon, {
          id: providerWithoutPrefix,
          iconUrl: enterpriseConnection?.logoPublicUrl,
          name: connectionName,
          alt: `${connectionName}'s icon`,
          elementDescriptor: [descriptors.providerIcon],
          elementId: descriptors.enterpriseButtonsProviderIcon.setId(account.provider)
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/PhoneForm.js
  var import_react290, PhoneForm, AddPhone, VerifyPhone;
  var init_PhoneForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/PhoneForm.js"() {
      init_localizationKeys();
      init_useFormControl();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_Wizard();
      init_VerifyWithCode();
      import_react290 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      PhoneForm = withCardStateProvider((props) => {
        const { phoneId: id, onSuccess, onReset } = props;
        const { user } = useUser();
        const phoneNumberRef = import_react290.default.useRef(user?.phoneNumbers.find((a2) => a2.id === id));
        const wizard = useWizard({ defaultStep: phoneNumberRef.current ? 1 : 0 });
        return /* @__PURE__ */ jsxs2(Wizard, {
          ...wizard.props,
          children: [/* @__PURE__ */ jsx2(AddPhone, {
            resourceRef: phoneNumberRef,
            title: localizationKeys("userProfile.phoneNumberPage.title"),
            onSuccess: wizard.nextStep,
            onReset
          }), /* @__PURE__ */ jsx2(VerifyPhone, {
            resourceRef: phoneNumberRef,
            title: localizationKeys("userProfile.phoneNumberPage.verifyTitle"),
            onSuccess,
            onReset
          })]
        });
      });
      AddPhone = (props) => {
        const { title, onSuccess, onReset, onUseExistingNumberClick, resourceRef } = props;
        const card = useCardState();
        const { user } = useUser();
        const createPhoneNumber = useReverification((user$1, opt) => user$1.createPhoneNumber(opt));
        const phoneField = useFormControl("phoneNumber", "", {
          type: "tel",
          label: localizationKeys("formFieldLabel__phoneNumber"),
          isRequired: true
        });
        const canSubmit = phoneField.value.length > 1 && user?.username !== phoneField.value;
        const hasExistingNumber = !!user?.phoneNumbers?.length && onUseExistingNumberClick;
        const addPhone = async (e3) => {
          e3.preventDefault();
          if (!user) return;
          return createPhoneNumber(user, { phoneNumber: phoneField.value }).then((res) => {
            resourceRef.current = res;
            onSuccess();
          }).catch((e$1) => handleError(e$1, [phoneField], card.setError));
        };
        return /* @__PURE__ */ jsx2(FormContainer, {
          headerTitle: title,
          gap: 1,
          children: /* @__PURE__ */ jsxs2(Form$1.Root, {
            gap: 4,
            onSubmit: addPhone,
            children: [
              /* @__PURE__ */ jsx2(Text2, {
                localizationKey: localizationKeys("userProfile.phoneNumberPage.infoText"),
                colorScheme: "secondary"
              }),
              /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: phoneField.id,
                children: /* @__PURE__ */ jsx2(Form$1.PhoneInput, {
                  ...phoneField.props,
                  autoFocus: true
                })
              }),
              /* @__PURE__ */ jsxs2(Flex2, {
                justify: hasExistingNumber ? "between" : "end",
                children: [hasExistingNumber && /* @__PURE__ */ jsx2(Button2, {
                  variant: "ghost",
                  localizationKey: localizationKeys("userProfile.mfaPhoneCodePage.backButton"),
                  onClick: onUseExistingNumberClick
                }), /* @__PURE__ */ jsx2(FormButtons, {
                  submitLabel: localizationKeys("userProfile.formButtonPrimary__add"),
                  isDisabled: !canSubmit,
                  onReset
                })]
              })
            ]
          })
        });
      };
      VerifyPhone = (props) => {
        const { title, onSuccess, resourceRef, onReset } = props;
        return /* @__PURE__ */ jsx2(FormContainer, {
          headerTitle: title,
          headerSubtitle: localizationKeys("userProfile.phoneNumberPage.verifySubtitle", { identifier: resourceRef.current?.phoneNumber || "" }),
          children: /* @__PURE__ */ jsx2(VerifyWithCode, {
            nextStep: onSuccess,
            identification: resourceRef.current,
            identifier: resourceRef.current?.phoneNumber,
            prepareVerification: resourceRef.current?.prepareVerification,
            onReset
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/PhoneSection.js
  var import_react292, RemovePhoneScreen, PhoneScreen, PhoneSection, PhoneMenu;
  var init_PhoneSection = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/PhoneSection.js"() {
      init_localizationKeys();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_phoneUtils();
      init_ActionRoot();
      init_Action();
      init_ThreeDotsMenu();
      init_Section();
      init_RemoveResourceForm2();
      init_utils11();
      init_PhoneForm();
      import_react292 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      RemovePhoneScreen = (props) => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(RemovePhoneForm, {
          onSuccess: close,
          onReset: close,
          ...props
        });
      };
      PhoneScreen = (props) => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(PhoneForm, {
          onSuccess: close,
          onReset: close,
          ...props
        });
      };
      PhoneSection = ({ shouldAllowCreation = true, shouldAllowDeletion = true }) => {
        const { user } = useUser();
        const hasPhoneNumbers = Boolean(user?.phoneNumbers?.length);
        if (!shouldAllowCreation && !hasPhoneNumbers) return null;
        return /* @__PURE__ */ jsx2(ProfileSection.Root, {
          centered: false,
          title: localizationKeys("userProfile.start.phoneNumbersSection.title"),
          id: "phoneNumbers",
          children: /* @__PURE__ */ jsx2(Action2.Root, { children: /* @__PURE__ */ jsxs2(ProfileSection.ItemList, {
            id: "phoneNumbers",
            children: [sortIdentificationBasedOnVerification(user?.phoneNumbers, user?.primaryPhoneNumberId).map((phone) => {
              const phoneId = phone.id;
              return /* @__PURE__ */ jsxs2(import_react292.Fragment, { children: [
                /* @__PURE__ */ jsxs2(ProfileSection.Item, {
                  id: "phoneNumbers",
                  children: [/* @__PURE__ */ jsx2(Box2, {
                    sx: {
                      whiteSpace: "nowrap",
                      overflow: "hidden"
                    },
                    children: /* @__PURE__ */ jsxs2(Flex2, {
                      gap: 2,
                      center: true,
                      children: [
                        /* @__PURE__ */ jsx2(Text2, {
                          sx: (t2) => ({ color: t2.colors.$colorForeground }),
                          children: stringToFormattedPhoneString(phone.phoneNumber)
                        }),
                        user?.primaryPhoneNumberId === phoneId && /* @__PURE__ */ jsx2(Badge2, { localizationKey: localizationKeys("badge__primary") }),
                        phone.verification.status !== "verified" && /* @__PURE__ */ jsx2(Badge2, { localizationKey: localizationKeys("badge__unverified") })
                      ]
                    })
                  }), /* @__PURE__ */ jsx2(PhoneMenu, {
                    phone,
                    shouldAllowDeletion
                  })]
                }),
                /* @__PURE__ */ jsx2(Action2.Open, {
                  value: `remove-${phoneId}`,
                  children: /* @__PURE__ */ jsx2(Action2.Card, {
                    variant: "destructive",
                    children: /* @__PURE__ */ jsx2(RemovePhoneScreen, { phoneId })
                  })
                }),
                /* @__PURE__ */ jsx2(Action2.Open, {
                  value: `verify-${phoneId}`,
                  children: /* @__PURE__ */ jsx2(Action2.Card, { children: /* @__PURE__ */ jsx2(PhoneScreen, { phoneId }) })
                })
              ] }, phoneId);
            }), shouldAllowCreation && /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Action2.Trigger, {
              value: "add",
              children: /* @__PURE__ */ jsx2(ProfileSection.ArrowButton, {
                id: "phoneNumbers",
                localizationKey: localizationKeys("userProfile.start.phoneNumbersSection.primaryButton")
              })
            }), /* @__PURE__ */ jsx2(Action2.Open, {
              value: "add",
              children: /* @__PURE__ */ jsx2(Action2.Card, { children: /* @__PURE__ */ jsx2(PhoneScreen, {}) })
            })] })]
          }) })
        });
      };
      PhoneMenu = ({ phone, shouldAllowDeletion = true }) => {
        const card = useCardState();
        const { open } = useActionContext();
        const { user } = useUser();
        const phoneId = phone.id;
        const setPrimary = useReverification((user$1) => {
          return user$1.update({ primaryPhoneNumberId: phone.id });
        });
        if (!user) return null;
        const isPrimary = user.primaryPhoneNumberId === phone.id;
        const isVerified = phone.verification.status === "verified";
        const actions = [
          isPrimary && !isVerified ? {
            label: localizationKeys("userProfile.start.phoneNumbersSection.detailsAction__primary"),
            onClick: () => open(`verify-${phoneId}`)
          } : null,
          !isPrimary && isVerified ? {
            label: localizationKeys("userProfile.start.phoneNumbersSection.detailsAction__nonPrimary"),
            onClick: () => setPrimary(user).catch((e3) => handleError(e3, [], card.setError))
          } : null,
          !isPrimary && !isVerified ? {
            label: localizationKeys("userProfile.start.phoneNumbersSection.detailsAction__unverified"),
            onClick: () => open(`verify-${phoneId}`)
          } : null,
          shouldAllowDeletion ? {
            label: localizationKeys("userProfile.start.phoneNumbersSection.destructiveAction"),
            isDestructive: true,
            onClick: () => open(`remove-${phoneId}`)
          } : null
        ].filter((a2) => a2 !== null);
        if (actions.length === 0) return null;
        return /* @__PURE__ */ jsx2(ThreeDotsMenu, { actions });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/UsernameForm.js
  var UsernameForm;
  var init_UsernameForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/UsernameForm.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_makeLocalizable();
      init_useFormControl();
      init_contexts();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_usernameUtils();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      UsernameForm = withCardStateProvider((props) => {
        const { onSuccess, onReset } = props;
        const { user } = useUser();
        const updateUsername = useReverification((username) => user?.update({ username }));
        const { userSettings } = useEnvironment();
        const card = useCardState();
        const { t: t2, locale } = useLocalizations();
        const { usernameSettings } = userSettings;
        const usernameField = useFormControl("username", user?.username || "", {
          type: "text",
          label: localizationKeys("formFieldLabel__username"),
          placeholder: localizationKeys("formFieldInputPlaceholder__username"),
          buildErrorMessage: (errors) => createUsernameError(errors, {
            t: t2,
            locale,
            usernameSettings
          })
        });
        if (!user) return null;
        const isUsernameRequired = userSettings.attributes.username?.required;
        const canSubmit = (isUsernameRequired ? usernameField.value.length > 0 : true) && user.username !== usernameField.value;
        const submitUpdate = async () => {
          try {
            await updateUsername(usernameField.value);
            onSuccess();
          } catch (e3) {
            handleError(e3, [usernameField], card.setError);
          }
        };
        return /* @__PURE__ */ jsx2(FormContainer, {
          headerTitle: user.username ? localizationKeys("userProfile.usernamePage.title__update") : localizationKeys("userProfile.usernamePage.title__set"),
          children: /* @__PURE__ */ jsxs2(Form$1.Root, {
            onSubmit: submitUpdate,
            children: [/* @__PURE__ */ jsx2(Form$1.ControlRow, {
              elementId: usernameField.id,
              children: /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                ...usernameField.props,
                autoFocus: true,
                isRequired: isUsernameRequired
              })
            }), /* @__PURE__ */ jsx2(FormButtons, {
              isDisabled: !canSubmit,
              onReset
            })]
          })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/UsernameSection.js
  var UsernameScreen, UsernameSection;
  var init_UsernameSection = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/UsernameSection.js"() {
      init_localizationKeys();
      init_breakpoints();
      init_customizables();
      init_ActionRoot();
      init_Action();
      init_Section();
      init_UsernameForm();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      UsernameScreen = () => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(UsernameForm, {
          onSuccess: close,
          onReset: close
        });
      };
      UsernameSection = ({ isImmutable }) => {
        const { user } = useUser();
        if (!user) return null;
        if (isImmutable && !user.username) return null;
        return /* @__PURE__ */ jsx2(ProfileSection.Root, {
          title: localizationKeys("userProfile.start.usernameSection.title"),
          id: "username",
          sx: {
            alignItems: "center",
            [mqu.md]: { alignItems: "flex-start" }
          },
          children: /* @__PURE__ */ jsxs2(Action2.Root, { children: [/* @__PURE__ */ jsx2(Action2.Closed, {
            value: "edit",
            children: /* @__PURE__ */ jsxs2(ProfileSection.Item, {
              id: "username",
              sx: { paddingInlineStart: !user.username ? "0" : void 0 },
              children: [user.username && /* @__PURE__ */ jsx2(Text2, {
                truncate: true,
                sx: (t2) => ({ color: t2.colors.$colorForeground }),
                children: user.username
              }), !isImmutable && /* @__PURE__ */ jsx2(Action2.Trigger, {
                value: "edit",
                children: /* @__PURE__ */ jsx2(ProfileSection.Button, {
                  id: "username",
                  localizationKey: user.username ? localizationKeys("userProfile.start.usernameSection.primaryButton__updateUsername") : localizationKeys("userProfile.start.usernameSection.primaryButton__setUsername")
                })
              })]
            })
          }), /* @__PURE__ */ jsx2(Action2.Open, {
            value: "edit",
            children: /* @__PURE__ */ jsx2(Action2.Card, { children: /* @__PURE__ */ jsx2(UsernameScreen, {}) })
          })] })
        });
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/isomorphicAtob.mjs
  var init_isomorphicAtob = __esm({
    "node_modules/@clerk/shared/dist/runtime/isomorphicAtob.mjs"() {
      init_isomorphicAtob_CoF80qYz();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/image.js
  var isDefaultImage;
  var init_image = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/image.js"() {
      init_isomorphicAtob();
      isDefaultImage = (url) => {
        if ((url || "").includes("gravatar") || (url || "").includes("avatar_placeholder")) return true;
        try {
          const decoded = isomorphicAtob2(new URL(url).pathname.replace("/", ""));
          return JSON.parse(decoded).type === "default";
        } catch {
          return false;
        }
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/InformationBox.js
  function InformationBox(props) {
    return /* @__PURE__ */ jsxs2(Flex2, {
      sx: (t2) => ({
        gap: t2.space.$2,
        padding: `${t2.space.$3} ${t2.space.$4}`,
        backgroundColor: t2.colors.$neutralAlpha50,
        borderRadius: t2.radii.$md
      }),
      children: [/* @__PURE__ */ jsx2(Icon, {
        icon: information_circle_default,
        sx: (t2) => ({ opacity: t2.opacity.$disabled })
      }), /* @__PURE__ */ jsx2(Text2, {
        localizationKey: props.message,
        sx: (t2) => ({ color: t2.colors.$colorMutedForeground })
      })]
    });
  }
  var init_InformationBox = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/InformationBox.js"() {
      init_information_circle();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/UserProfileAvatarUploader.js
  var UserProfileAvatarUploader;
  var init_UserProfileAvatarUploader = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/UserProfileAvatarUploader.js"() {
      init_localizationKeys();
      init_AvatarUploader();
      init_UserAvatar();
      init_emotion_react_jsx_runtime_browser_esm();
      UserProfileAvatarUploader = (props) => {
        const { user, ...rest } = props;
        return /* @__PURE__ */ jsx2(AvatarUploader, {
          ...rest,
          title: localizationKeys("userProfile.profilePage.imageFormTitle"),
          avatarPreview: /* @__PURE__ */ jsx2(UserAvatar, {
            size: (theme) => theme.sizes.$12,
            ...user
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/ProfileForm.js
  var import_react296, ProfileForm;
  var init_ProfileForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/ProfileForm.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_useFormControl();
      init_contexts();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_image();
      init_InformationBox();
      init_UserProfileAvatarUploader();
      import_react296 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      ProfileForm = withCardStateProvider((props) => {
        const { onSuccess, onReset } = props;
        const card = useCardState();
        const { user } = useUser();
        if (!user) return null;
        const { first_name, last_name } = useEnvironment().userSettings.attributes;
        const showFirstName = first_name?.enabled;
        const showLastName = last_name?.enabled;
        const userFirstName = user.firstName || "";
        const userLastName = user.lastName || "";
        const firstNameField = useFormControl("firstName", user.firstName || "", {
          type: "text",
          label: localizationKeys("formFieldLabel__firstName"),
          placeholder: localizationKeys("formFieldInputPlaceholder__firstName"),
          isRequired: last_name?.required
        });
        const lastNameField = useFormControl("lastName", user.lastName || "", {
          type: "text",
          label: localizationKeys("formFieldLabel__lastName"),
          placeholder: localizationKeys("formFieldInputPlaceholder__lastName"),
          isRequired: last_name?.required
        });
        const userInfoChanged = showFirstName && firstNameField.value !== userFirstName || showLastName && lastNameField.value !== userLastName;
        const optionalFieldsChanged = userInfoChanged;
        const hasRequiredFields = showFirstName && first_name.required || showLastName && last_name.required;
        const requiredFieldsFilled = hasRequiredFields && !!lastNameField.value && !!firstNameField.value && optionalFieldsChanged;
        const nameEditDisabled = user.enterpriseAccounts.some((ea) => ea.active);
        const onSubmit = async (e3) => {
          e3.preventDefault();
          return (userInfoChanged ? user.update({
            firstName: firstNameField.value,
            lastName: lastNameField.value
          }) : Promise.resolve()).then(onSuccess).catch((err) => {
            handleError(err, [firstNameField, lastNameField], card.setError);
          });
        };
        const uploadAvatar = (file) => {
          return user.setProfileImage({ file }).then(() => {
            card.setIdle();
            onSuccess?.();
          }).catch((err) => handleError(err, [], card.setError));
        };
        const onAvatarRemove = () => {
          user.setProfileImage({ file: null }).then(() => {
            card.setIdle();
            onSuccess?.();
          }).catch((err) => handleError(err, [], card.setError));
        };
        return /* @__PURE__ */ jsxs2(FormContainer, {
          headerTitle: localizationKeys("userProfile.profilePage.title"),
          children: [nameEditDisabled && /* @__PURE__ */ jsx2(InformationBox, { message: localizationKeys("userProfile.profilePage.readonly") }), /* @__PURE__ */ jsxs2(Form$1.Root, {
            onSubmit,
            sx: (t2) => ({ gap: t2.space.$6 }),
            children: [
              /* @__PURE__ */ jsx2(UserProfileAvatarUploader, {
                user,
                onAvatarChange: uploadAvatar,
                onAvatarRemove: isDefaultImage(user.imageUrl) ? null : onAvatarRemove
              }),
              (showFirstName || showLastName) && /* @__PURE__ */ jsxs2(Form$1.ControlRow, {
                elementId: "name",
                children: [showFirstName && /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                  ...firstNameField.props,
                  isDisabled: nameEditDisabled,
                  autoFocus: true
                }), showLastName && /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                  ...lastNameField.props,
                  isDisabled: nameEditDisabled,
                  autoFocus: !showFirstName
                })]
              }),
              /* @__PURE__ */ jsx2(FormButtons, {
                isDisabled: hasRequiredFields ? !requiredFieldsFilled : !optionalFieldsChanged,
                onReset
              })
            ]
          })]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/UserProfileSection.js
  var ProfileScreen, UserProfileSection;
  var init_UserProfileSection = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/UserProfileSection.js"() {
      init_localizationKeys();
      init_breakpoints();
      init_ActionRoot();
      init_Action();
      init_UserPreview();
      init_Section();
      init_ProfileForm();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      ProfileScreen = () => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(ProfileForm, {
          onSuccess: close,
          onReset: close
        });
      };
      UserProfileSection = () => {
        const { user } = useUser();
        if (!user) return null;
        const { username, primaryEmailAddress, primaryPhoneNumber, primaryWeb3Wallet, ...userWithoutIdentifiers } = user;
        return /* @__PURE__ */ jsx2(ProfileSection.Root, {
          title: localizationKeys("userProfile.start.profileSection.title"),
          id: "profile",
          sx: { [mqu.md]: { alignItems: "flex-start" } },
          children: /* @__PURE__ */ jsxs2(Action2.Root, { children: [/* @__PURE__ */ jsx2(Action2.Closed, {
            value: "edit",
            children: /* @__PURE__ */ jsxs2(ProfileSection.Item, {
              id: "profile",
              children: [/* @__PURE__ */ jsx2(UserPreview, {
                user: userWithoutIdentifiers,
                size: "lg",
                mainIdentifierVariant: "subtitle",
                sx: (t2) => ({ color: t2.colors.$colorForeground })
              }), /* @__PURE__ */ jsx2(Action2.Trigger, {
                value: "edit",
                children: /* @__PURE__ */ jsx2(ProfileSection.Button, {
                  id: "profile",
                  localizationKey: localizationKeys("userProfile.start.profileSection.primaryButton")
                })
              })]
            })
          }), /* @__PURE__ */ jsx2(Action2.Open, {
            value: "edit",
            children: /* @__PURE__ */ jsx2(Action2.Card, { children: /* @__PURE__ */ jsx2(ProfileScreen, {}) })
          })] })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/Web3SelectSolanaWalletScreen.js
  var import_react299, Web3SolanaWalletButtons4, Web3SelectSolanaWalletScreen;
  var init_Web3SelectSolanaWalletScreen = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/Web3SelectSolanaWalletScreen.js"() {
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_ActionRoot();
      init_error();
      import_react299 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      Web3SolanaWalletButtons4 = (0, import_react299.lazy)(() => Promise.resolve().then(() => (init_Web3SolanaWalletButtons(), Web3SolanaWalletButtons_exports)).then((m2) => ({ default: m2.Web3SolanaWalletButtons })));
      Web3SelectSolanaWalletScreen = ({ onConnect }) => {
        const card = useCardState();
        const { close } = useActionContext();
        const onClick = async ({ walletName }) => {
          card.setLoading(walletName);
          try {
            await onConnect({
              strategy: "web3_solana_signature",
              walletName
            });
            card.setIdle();
            close();
          } catch (err) {
            card.setIdle();
            if (err instanceof Error) handleError(err, [], card.setError);
            else handleError(new ClerkRuntimeError2("An error occurred while generating the Solana signature.", {
              code: "web3_solana_signature_generation_failed",
              cause: err instanceof Error ? err : void 0
            }), [], card.setError);
          }
        };
        return /* @__PURE__ */ jsx2(FormContainer, {
          headerTitle: localizationKeys("userProfile.start.web3WalletsSection.web3SelectSolanaWalletScreen.title"),
          headerSubtitle: localizationKeys("userProfile.start.web3WalletsSection.web3SelectSolanaWalletScreen.subtitle"),
          children: /* @__PURE__ */ jsxs2(Form$1.Root, { children: [/* @__PURE__ */ jsx2(import_react299.Suspense, {
            fallback: /* @__PURE__ */ jsx2(Flex2, {
              direction: "row",
              align: "center",
              justify: "center",
              sx: (t2) => ({
                height: "100%",
                minHeight: t2.sizes.$32
              }),
              children: /* @__PURE__ */ jsx2(Spinner, {
                size: "lg",
                colorScheme: "primary",
                elementDescriptor: descriptors.spinner
              })
            }),
            children: /* @__PURE__ */ jsx2(Web3SolanaWalletButtons4, { web3AuthCallback: onClick })
          }), /* @__PURE__ */ jsx2(FormButtonContainer, { children: /* @__PURE__ */ jsx2(Button2, {
            type: "button",
            variant: "ghost",
            onClick: () => {
              close();
            },
            localizationKey: localizationKeys("userProfile.formButtonReset"),
            elementDescriptor: descriptors.formButtonReset
          }) })] })
        });
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/hex-txii11Pj.mjs
  function toHex(stringToConvert) {
    return stringToConvert.split("").map((c2) => c2.charCodeAt(0).toString(16).padStart(2, "0")).join("");
  }
  var init_hex_txii11Pj = __esm({
    "node_modules/@clerk/shared/dist/runtime/hex-txii11Pj.mjs"() {
    }
  });

  // node_modules/@clerk/shared/dist/runtime/injectedWeb3EthProviders-Cp_aXKsI.mjs
  var InjectedWeb3EthProviders, getInjectedWeb3EthProviders;
  var init_injectedWeb3EthProviders_Cp_aXKsI = __esm({
    "node_modules/@clerk/shared/dist/runtime/injectedWeb3EthProviders-Cp_aXKsI.mjs"() {
      InjectedWeb3EthProviders = class InjectedWeb3EthProviders2 {
        #providers = [];
        #providerIdMap = {
          metamask: "MetaMask",
          okx_wallet: "OKX Wallet"
        };
        static #instance = null;
        constructor() {
          if (typeof window === "undefined") return;
          window.addEventListener("eip6963:announceProvider", this.#onAnnouncement);
          window.dispatchEvent(new Event("eip6963:requestProvider"));
        }
        static getInstance() {
          if (!InjectedWeb3EthProviders2.#instance) InjectedWeb3EthProviders2.#instance = new InjectedWeb3EthProviders2();
          return InjectedWeb3EthProviders2.#instance;
        }
        get = (provider) => {
          const ethProvider = this.#providers.find((p2) => p2.info.name === this.#providerIdMap[provider])?.provider;
          if (ethProvider !== void 0) return ethProvider;
          return window.ethereum;
        };
        #onAnnouncement = (event) => {
          if (this.#providers.some((p2) => p2.info.uuid === event.detail.info.uuid)) return;
          this.#providers.push(event.detail);
        };
      };
      getInjectedWeb3EthProviders = () => InjectedWeb3EthProviders.getInstance();
    }
  });

  // node_modules/@clerk/shared/dist/runtime/esm-DGPYZuZb.mjs
  var esm_DGPYZuZb_exports = {};
  __export(esm_DGPYZuZb_exports, {
    getWallets: () => getWallets2
  });
  function addRegisteredWallet2(wallet) {
    cachedWalletsArray2 = void 0;
    registeredWalletsSet2.add(wallet);
  }
  function removeRegisteredWallet2(wallet) {
    cachedWalletsArray2 = void 0;
    registeredWalletsSet2.delete(wallet);
  }
  function getWallets2() {
    if (wallets2) return wallets2;
    wallets2 = Object.freeze({
      register: register2,
      get: get2,
      on: on2
    });
    if (typeof window === "undefined") return wallets2;
    const api = Object.freeze({ register: register2 });
    try {
      window.addEventListener("wallet-standard:register-wallet", ({ detail: callback }) => callback(api));
    } catch (error2) {
      console.error("wallet-standard:register-wallet event listener could not be added\n", error2);
    }
    try {
      window.dispatchEvent(new AppReadyEvent2(api));
    } catch (error2) {
      console.error("wallet-standard:app-ready event could not be dispatched\n", error2);
    }
    return wallets2;
  }
  function register2(...wallets$1) {
    wallets$1 = wallets$1.filter((wallet) => !registeredWalletsSet2.has(wallet));
    if (!wallets$1.length) return () => {
    };
    wallets$1.forEach((wallet) => addRegisteredWallet2(wallet));
    listeners2["register"]?.forEach((listener) => guard2(() => listener(...wallets$1)));
    return function unregister() {
      wallets$1.forEach((wallet) => removeRegisteredWallet2(wallet));
      listeners2["unregister"]?.forEach((listener) => guard2(() => listener(...wallets$1)));
    };
  }
  function get2() {
    if (!cachedWalletsArray2) cachedWalletsArray2 = [...registeredWalletsSet2];
    return cachedWalletsArray2;
  }
  function on2(event, listener) {
    listeners2[event]?.push(listener) || (listeners2[event] = [listener]);
    return function off() {
      listeners2[event] = listeners2[event]?.filter((existingListener) => listener !== existingListener);
    };
  }
  function guard2(callback) {
    try {
      callback();
    } catch (error2) {
      console.error(error2);
    }
  }
  var __classPrivateFieldGet5, __classPrivateFieldSet5, _AppReadyEvent_detail2, wallets2, registeredWalletsSet2, listeners2, cachedWalletsArray2, AppReadyEvent2;
  var init_esm_DGPYZuZb = __esm({
    "node_modules/@clerk/shared/dist/runtime/esm-DGPYZuZb.mjs"() {
      __classPrivateFieldGet5 = function(receiver, state, kind, f3) {
        if (kind === "a" && !f3) throw new TypeError("Private accessor was defined without a getter");
        if (typeof state === "function" ? receiver !== state || !f3 : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
        return kind === "m" ? f3 : kind === "a" ? f3.call(receiver) : f3 ? f3.value : state.get(receiver);
      };
      __classPrivateFieldSet5 = function(receiver, state, value, kind, f3) {
        if (kind === "m") throw new TypeError("Private method is not writable");
        if (kind === "a" && !f3) throw new TypeError("Private accessor was defined without a setter");
        if (typeof state === "function" ? receiver !== state || !f3 : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
        return kind === "a" ? f3.call(receiver, value) : f3 ? f3.value = value : state.set(receiver, value), value;
      };
      wallets2 = void 0;
      registeredWalletsSet2 = /* @__PURE__ */ new Set();
      listeners2 = {};
      AppReadyEvent2 = class extends Event {
        get detail() {
          return __classPrivateFieldGet5(this, _AppReadyEvent_detail2, "f");
        }
        get type() {
          return "wallet-standard:app-ready";
        }
        constructor(api) {
          super("wallet-standard:app-ready", {
            bubbles: false,
            cancelable: false,
            composed: false
          });
          _AppReadyEvent_detail2.set(this, void 0);
          __classPrivateFieldSet5(this, _AppReadyEvent_detail2, api, "f");
        }
        /** @deprecated */
        preventDefault() {
          throw new Error("preventDefault cannot be called");
        }
        /** @deprecated */
        stopImmediatePropagation() {
          throw new Error("stopImmediatePropagation cannot be called");
        }
        /** @deprecated */
        stopPropagation() {
          throw new Error("stopPropagation cannot be called");
        }
      };
      _AppReadyEvent_detail2 = /* @__PURE__ */ new WeakMap();
    }
  });

  // node_modules/@clerk/shared/dist/runtime/injectedWeb3SolanaProviders-DRQuwtHF.mjs
  var InjectedWeb3SolanaProviders, getInjectedWeb3SolanaProviders;
  var init_injectedWeb3SolanaProviders_DRQuwtHF = __esm({
    "node_modules/@clerk/shared/dist/runtime/injectedWeb3SolanaProviders-DRQuwtHF.mjs"() {
      InjectedWeb3SolanaProviders = class InjectedWeb3SolanaProviders2 {
        #wallets = void 0;
        #initialized = false;
        static #instance = null;
        constructor() {
        }
        async #initialize() {
          if (this.#initialized) return;
          this.#initialized = true;
          const wallets3 = await Promise.resolve().then(() => (init_esm_DGPYZuZb(), esm_DGPYZuZb_exports)).then((mod2) => mod2.getWallets());
          this.#wallets = wallets3.get();
          wallets3.on("register", () => {
            this.#wallets = wallets3.get();
          });
          wallets3.on("unregister", () => {
            this.#wallets = wallets3.get();
          });
        }
        #isSolanaWallet(wallet) {
          return wallet.chains?.some((chain) => chain.startsWith("solana:")) ?? false;
        }
        #hasSignMessage(wallet) {
          return "solana:signMessage" in wallet.features;
        }
        static getInstance() {
          if (!InjectedWeb3SolanaProviders2.#instance) InjectedWeb3SolanaProviders2.#instance = new InjectedWeb3SolanaProviders2();
          return InjectedWeb3SolanaProviders2.#instance;
        }
        get = async (walletName) => {
          await this.#initialize();
          const wallet = (this.#wallets || []).find((w) => w.name === walletName && this.#isSolanaWallet(w) && this.#hasSignMessage(w));
          if (wallet && this.#isSolanaWallet(wallet)) return wallet;
          if (typeof window === "undefined") return;
          const fallbackProvider = window.solana;
          if (fallbackProvider && typeof fallbackProvider.connect === "function" && typeof fallbackProvider.signMessage === "function") return fallbackProvider;
        };
      };
      getInjectedWeb3SolanaProviders = () => InjectedWeb3SolanaProviders.getInstance();
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/web3.mjs
  function createWeb3(moduleManager) {
    const errorThrower2 = buildErrorThrower2({ packageName: "@clerk/shared" });
    async function getWeb3Identifier(params) {
      const { provider, walletName } = params;
      const walletProvider = await getWeb3Wallet(provider, walletName);
      if (!walletProvider) return "";
      if (provider === "solana") {
        const identifiers$1 = await walletProvider.features[StandardConnect2].connect();
        return identifiers$1 && identifiers$1.accounts[0].address || "";
      }
      const identifiers = await walletProvider.request({ method: "eth_requestAccounts" });
      return identifiers && identifiers[0] || "";
    }
    const generateWeb3Signature = async (params) => {
      const { identifier: identifier2, nonce, provider, walletName = "" } = params;
      const wallet = await getWeb3Wallet(provider, walletName);
      if (!wallet) return "";
      if (provider === "solana") try {
        const solanaWallet = wallet;
        const walletAccount = solanaWallet.accounts.find((a2) => a2.address === identifier2);
        if (!walletAccount) {
          console.warn(`Wallet account with address ${identifier2} not found`);
          return "";
        }
        const signedMessages = await solanaWallet.features[SolanaSignMessage2]?.signMessage({
          account: walletAccount,
          message: new TextEncoder().encode(nonce)
        });
        return signedMessages?.[0]?.signature ? btoa(String.fromCharCode(...signedMessages[0].signature)) : "";
      } catch (err) {
        if (err instanceof Error && err.message.includes("User rejected the request.")) throw new ClerkRuntimeError2("Web3 signature request was rejected by the user.", { code: "web3_signature_request_rejected" });
        throw new ClerkRuntimeError2("An error occurred while generating the Solana signature.", {
          code: "web3_solana_signature_generation_failed",
          cause: err instanceof Error ? err : void 0
        });
      }
      return await wallet.request({
        method: "personal_sign",
        params: [`0x${toHex(nonce)}`, identifier2]
      });
    };
    async function getMetamaskIdentifier() {
      return await getWeb3Identifier({ provider: "metamask" });
    }
    async function getCoinbaseWalletIdentifier() {
      return await getWeb3Identifier({ provider: "coinbase_wallet" });
    }
    async function getOKXWalletIdentifier() {
      return await getWeb3Identifier({ provider: "okx_wallet" });
    }
    async function getBaseIdentifier() {
      return await getWeb3Identifier({ provider: "base" });
    }
    async function getSolanaIdentifier(walletName) {
      return await getWeb3Identifier({
        provider: "solana",
        walletName
      });
    }
    async function generateSignatureWithMetamask(params) {
      return await generateWeb3Signature({
        ...params,
        provider: "metamask"
      });
    }
    async function generateSignatureWithCoinbaseWallet(params) {
      return await generateWeb3Signature({
        ...params,
        provider: "coinbase_wallet"
      });
    }
    async function generateSignatureWithOKXWallet(params) {
      return await generateWeb3Signature({
        ...params,
        provider: "okx_wallet"
      });
    }
    async function generateSignatureWithBase(params) {
      return await generateWeb3Signature({
        ...params,
        provider: "base"
      });
    }
    async function generateSignatureWithSolana(params) {
      return await generateWeb3Signature({
        ...params,
        provider: "solana"
      });
    }
    async function getWeb3Wallet(provider, walletName) {
      if (provider === "coinbase_wallet") {
        const coinbaseModule = await moduleManager.import("@coinbase/wallet-sdk");
        if (!coinbaseModule) return null;
        return coinbaseModule.createCoinbaseWalletSDK({
          appName: typeof window !== "undefined" && window.Clerk?.__internal_environment?.displayConfig?.applicationName || typeof document !== "undefined" && document.title || "Web3 Application",
          preference: { options: "all" }
        }).getProvider();
      }
      if (provider === "base") try {
        const baseModule = await moduleManager.import("@base-org/account");
        if (!baseModule) return null;
        return baseModule.createBaseAccountSDK({ appName: typeof window !== "undefined" && window.Clerk?.__internal_environment?.displayConfig?.applicationName || typeof document !== "undefined" && document.title || "Web3 Application" }).getProvider();
      } catch {
        return null;
      }
      if (provider === "solana") {
        if (!walletName || walletName.length === 0) {
          errorThrower2.throw("Wallet name must be provided to get Solana wallet provider");
          return;
        }
        return await getInjectedWeb3SolanaProviders().get(walletName);
      }
      return getInjectedWeb3EthProviders().get(provider);
    }
    return {
      getWeb3Identifier,
      generateWeb3Signature,
      getMetamaskIdentifier,
      getCoinbaseWalletIdentifier,
      getOKXWalletIdentifier,
      getBaseIdentifier,
      getSolanaIdentifier,
      generateSignatureWithMetamask,
      generateSignatureWithCoinbaseWallet,
      generateSignatureWithOKXWallet,
      generateSignatureWithBase,
      generateSignatureWithSolana
    };
  }
  var StandardConnect2, SolanaSignMessage2;
  var init_web32 = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/web3.mjs"() {
      init_clerkRuntimeError_DqAmLuLY();
      init_error_NXMTfCAv();
      init_errors_oOcNTWU9();
      init_hex_txii11Pj();
      init_injectedWeb3EthProviders_Cp_aXKsI();
      init_injectedWeb3SolanaProviders_DRQuwtHF();
      StandardConnect2 = `standard:connect`;
      SolanaSignMessage2 = `solana:signMessage`;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/Web3Form.js
  var AddWeb3WalletActionMenu;
  var init_Web3Form = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/Web3Form.js"() {
      init_useEnabledThirdPartyProviders();
      init_ModuleManagerContext();
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_ProviderIcon();
      init_ActionRoot();
      init_Action();
      init_Section();
      init_web3CallbackErrorHandler();
      init_Web3SelectSolanaWalletScreen();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_web32();
      AddWeb3WalletActionMenu = () => {
        const card = useCardState();
        const { open } = useActionContext();
        const { user } = useUser();
        const { strategies, strategyToDisplayData: strategyToDisplayData2 } = useEnabledThirdPartyProviders();
        const moduleManager = useModuleManager();
        const enabledStrategies = strategies.filter((s2) => s2.startsWith("web3"));
        const connectedStrategies = user?.verifiedWeb3Wallets?.map((w) => w.verification.strategy) ?? [];
        const unconnectedStrategies = enabledStrategies.filter((strategy) => {
          return !connectedStrategies.includes(strategy) && strategyToDisplayData2[strategy];
        });
        if (unconnectedStrategies.length === 0) return null;
        const createWeb3Wallet = useReverification((identifier2) => user?.createWeb3Wallet({ web3Wallet: identifier2 }));
        const connect = async ({ strategy, walletName }) => {
          const web3 = createWeb3(moduleManager);
          if (strategy === "web3_solana_signature" && !walletName) {
            open("web3Wallets");
            return;
          }
          const provider = strategy.replace("web3_", "").replace("_signature", "");
          card.setError(void 0);
          try {
            card.setLoading(strategy);
            const identifier2 = await web3.getWeb3Identifier({
              provider,
              walletName
            });
            if (!user) throw new Error("user is not defined");
            let web3Wallet = await createWeb3Wallet(identifier2);
            web3Wallet = await web3Wallet?.prepareVerification({ strategy });
            const message = web3Wallet?.verification.message;
            const signature2 = await web3.generateWeb3Signature({
              identifier: identifier2,
              nonce: message,
              provider,
              walletName
            });
            await web3Wallet?.attemptVerification({ signature: signature2 });
            card.setIdle();
          } catch (err) {
            card.setIdle();
            web3CallbackErrorHandler(err, card.setError);
          }
        };
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Action2.Closed, {
          value: "web3Wallets",
          children: /* @__PURE__ */ jsx2(ProfileSection.ActionMenu, {
            id: "web3Wallets",
            triggerLocalizationKey: localizationKeys("userProfile.start.web3WalletsSection.primaryButton"),
            children: unconnectedStrategies.map((strategy) => /* @__PURE__ */ jsx2(ProfileSection.ActionMenuItem, {
              id: strategyToDisplayData2[strategy].id,
              onClick: () => {
                connect({ strategy });
              },
              isLoading: card.loadingMetadata === strategy,
              isDisabled: card.isLoading,
              localizationKey: localizationKeys("userProfile.web3WalletPage.web3WalletButtonsBlockButton", { provider: strategyToDisplayData2[strategy].name }),
              sx: (t2) => ({
                justifyContent: "start",
                gap: t2.space.$2
              }),
              leftIcon: /* @__PURE__ */ jsx2(ProviderIcon, {
                id: strategyToDisplayData2[strategy].id,
                iconUrl: strategyToDisplayData2[strategy].iconUrl,
                name: strategyToDisplayData2[strategy].name,
                isLoading: card.loadingMetadata === strategy,
                isDisabled: card.isLoading,
                alt: `Connect ${strategyToDisplayData2[strategy].name}`,
                elementDescriptor: descriptors.providerIcon,
                elementId: descriptors.providerIcon.setId(strategyToDisplayData2[strategy].id)
              })
            }, strategy))
          })
        }), /* @__PURE__ */ jsx2(Action2.Open, {
          value: "web3Wallets",
          children: /* @__PURE__ */ jsx2(Action2.Card, { children: /* @__PURE__ */ jsx2(Web3SelectSolanaWalletScreen, { onConnect: connect }) })
        })] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/Web3Section.js
  var import_react301, RemoveWeb3WalletScreen, shortenWeb3Address, Web3Section, Web3WalletMenu;
  var init_Web3Section = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/Web3Section.js"() {
      init_useEnabledThirdPartyProviders();
      init_localizationKeys();
      init_contexts();
      init_customizables();
      init_Card();
      init_ProviderIcon();
      init_errorHandler();
      init_ActionRoot();
      init_Action();
      init_ThreeDotsMenu();
      init_Section();
      init_RemoveResourceForm2();
      init_utils11();
      init_Web3Form();
      import_react301 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      RemoveWeb3WalletScreen = (props) => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(RemoveWeb3WalletForm, {
          onSuccess: close,
          onReset: close,
          ...props
        });
      };
      shortenWeb3Address = (address) => {
        if (address.length <= 10) return address;
        return address.slice(0, 6) + "..." + address.slice(-4);
      };
      Web3Section = withCardStateProvider(({ shouldAllowCreation = true }) => {
        const { user } = useUser();
        const card = useCardState();
        const { strategyToDisplayData: strategyToDisplayData2 } = useEnabledThirdPartyProviders();
        const hasWeb3Wallets = Boolean(user?.web3Wallets?.length);
        const [actionValue, setActionValue] = (0, import_react301.useState)(null);
        if (!shouldAllowCreation && !hasWeb3Wallets) return null;
        return /* @__PURE__ */ jsxs2(ProfileSection.Root, {
          title: localizationKeys("userProfile.start.web3WalletsSection.title"),
          centered: false,
          id: "web3Wallets",
          children: [/* @__PURE__ */ jsx2(Card.Alert, { children: card.error }), /* @__PURE__ */ jsxs2(Action2.Root, {
            value: actionValue,
            onChange: setActionValue,
            children: [/* @__PURE__ */ jsx2(ProfileSection.ItemList, {
              id: "web3Wallets",
              children: sortIdentificationBasedOnVerification(user?.web3Wallets, user?.primaryWeb3WalletId).map((wallet) => {
                const strategy = wallet.verification.strategy;
                const walletId = wallet.id;
                const displayData = strategyToDisplayData2[strategy] ?? null;
                if (!displayData && strategy !== "admin") return null;
                return /* @__PURE__ */ jsxs2(import_react301.Fragment, { children: [/* @__PURE__ */ jsxs2(ProfileSection.Item, {
                  id: "web3Wallets",
                  align: "start",
                  children: [/* @__PURE__ */ jsxs2(Flex2, {
                    sx: (t2) => ({
                      alignItems: "center",
                      gap: t2.space.$2,
                      width: "100%"
                    }),
                    children: [displayData?.iconUrl && /* @__PURE__ */ jsx2(ProviderIcon, {
                      id: displayData.id,
                      iconUrl: displayData.iconUrl,
                      name: displayData.name,
                      alt: displayData.name
                    }), /* @__PURE__ */ jsx2(Box2, {
                      sx: {
                        whiteSpace: "nowrap",
                        overflow: "hidden"
                      },
                      children: /* @__PURE__ */ jsxs2(Flex2, {
                        gap: 2,
                        justify: "start",
                        children: [
                          /* @__PURE__ */ jsx2(Text2, { children: displayData ? `${displayData.name} (${shortenWeb3Address(wallet.web3Wallet)})` : shortenWeb3Address(wallet.web3Wallet) }),
                          user?.primaryWeb3WalletId === walletId && /* @__PURE__ */ jsx2(Badge2, { localizationKey: localizationKeys("badge__primary") }),
                          wallet.verification.status !== "verified" && /* @__PURE__ */ jsx2(Badge2, { localizationKey: localizationKeys("badge__unverified") })
                        ]
                      })
                    })]
                  }), /* @__PURE__ */ jsx2(Web3WalletMenu, {
                    walletId,
                    isVerified: wallet.verification.status === "verified"
                  })]
                }, walletId), /* @__PURE__ */ jsx2(Action2.Open, {
                  value: `remove-${walletId}`,
                  children: /* @__PURE__ */ jsx2(Action2.Card, {
                    variant: "destructive",
                    children: /* @__PURE__ */ jsx2(RemoveWeb3WalletScreen, { walletId: wallet.id })
                  })
                })] }, wallet.id);
              })
            }), shouldAllowCreation && /* @__PURE__ */ jsx2(AddWeb3WalletActionMenu, {})]
          })]
        });
      });
      Web3WalletMenu = ({ walletId, isVerified }) => {
        const card = useCardState();
        const { open } = useActionContext();
        const { user } = useUser();
        const isPrimary = user?.primaryWeb3WalletId === walletId;
        const setPrimary = useReverification(() => {
          return user?.update({ primaryWeb3WalletId: walletId });
        });
        return /* @__PURE__ */ jsx2(ThreeDotsMenu, { actions: [!isPrimary && isVerified ? {
          label: localizationKeys("userProfile.start.web3WalletsSection.detailsAction__nonPrimary"),
          onClick: () => {
            setPrimary().catch((e3) => handleError(e3, [], card.setError));
          }
        } : null, {
          label: localizationKeys("userProfile.start.web3WalletsSection.destructiveAction"),
          isDestructive: true,
          onClick: () => open(`remove-${walletId}`)
        }].filter((a2) => a2 !== null) });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/AccountPage.js
  var AccountPage;
  var init_AccountPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/AccountPage.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_UserProfile();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_ConnectedAccountsSection();
      init_EmailsSection();
      init_EnterpriseAccountsSection();
      init_PhoneSection();
      init_UsernameSection();
      init_UserProfileSection();
      init_Web3Section();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      AccountPage = withCardStateProvider(() => {
        const { attributes, social, enterpriseSSO } = useEnvironment().userSettings;
        const card = useCardState();
        const { user } = useUser();
        const { shouldAllowIdentificationCreation, immutableAttributes } = useUserProfileContext();
        const showUsername = attributes.username?.enabled;
        const showEmail = attributes.email_address?.enabled;
        const showPhone = attributes.phone_number?.enabled;
        const showConnectedAccounts = social && Object.values(social).filter((p2) => p2.enabled).length > 0;
        const showEnterpriseAccounts = user && enterpriseSSO.enabled;
        const showWeb3 = attributes.web3_wallet?.enabled;
        const isEmailImmutable = immutableAttributes.has("email_address");
        const isPhoneImmutable = immutableAttributes.has("phone_number");
        const isUsernameImmutable = immutableAttributes.has("username");
        return /* @__PURE__ */ jsx2(Col2, {
          elementDescriptor: descriptors.page,
          sx: (t2) => ({
            gap: t2.space.$8,
            color: t2.colors.$colorForeground
          }),
          children: /* @__PURE__ */ jsxs2(Col2, {
            elementDescriptor: descriptors.profilePage,
            elementId: descriptors.profilePage.setId("account"),
            children: [
              /* @__PURE__ */ jsx2(Header.Root, { children: /* @__PURE__ */ jsx2(Header.Title, {
                localizationKey: localizationKeys("userProfile.start.headerTitle__account"),
                sx: (t2) => ({ marginBottom: t2.space.$4 }),
                textVariant: "h2"
              }) }),
              /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
              /* @__PURE__ */ jsx2(UserProfileSection, {}),
              showUsername && /* @__PURE__ */ jsx2(UsernameSection, { isImmutable: isUsernameImmutable }),
              showEmail && /* @__PURE__ */ jsx2(EmailsSection, {
                shouldAllowCreation: shouldAllowIdentificationCreation && !isEmailImmutable,
                shouldAllowDeletion: !isEmailImmutable
              }),
              showPhone && /* @__PURE__ */ jsx2(PhoneSection, {
                shouldAllowCreation: shouldAllowIdentificationCreation && !isPhoneImmutable,
                shouldAllowDeletion: !isPhoneImmutable
              }),
              showConnectedAccounts && /* @__PURE__ */ jsx2(ConnectedAccountsSection, { shouldAllowCreation: shouldAllowIdentificationCreation }),
              showEnterpriseAccounts && /* @__PURE__ */ jsx2(EnterpriseAccountsSection, {}),
              showWeb3 && /* @__PURE__ */ jsx2(Web3Section, { shouldAllowCreation: shouldAllowIdentificationCreation })
            ]
          })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/device-laptop.js
  function _extends45() {
    return _extends45 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends45.apply(null, arguments);
  }
  var React$147, _path49, _path216, _path310, _path410, _path52, SvgDeviceLaptop, device_laptop_default;
  var init_device_laptop = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/device-laptop.js"() {
      React$147 = __toESM(require_react(), 1);
      SvgDeviceLaptop = function SvgDeviceLaptop$1(props) {
        return /* @__PURE__ */ React$147.createElement("svg", _extends45({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 32 32"
        }, props), _path49 || (_path49 = /* @__PURE__ */ React$147.createElement("path", {
          fill: "#000",
          d: "M2.91 1.452c0-.58.077-.83.23-1.079C3.33.166 3.6 0 4.212 0h23.617c.536 0 .765.124.957.332.191.207.268.498.268 1.12v17.013c0 .58-.077.83-.192.996a1.06 1.06 0 0 1-.37.338.97.97 0 0 1-.472.118H3.905c-.306 0-.612-.125-.765-.415-.153-.166-.23-.415-.23-1.037z"
        })), _path216 || (_path216 = /* @__PURE__ */ React$147.createElement("path", {
          fill: "#575757",
          d: "M3.445 19.334h25.072c.115 0 .23-.083.306-.166.077-.083.077-.207.077-.58V1.45c0-.498-.038-.83-.23-.995-.191-.208-.383-.29-.842-.29H4.211c-.498 0-.766.124-.957.331-.153.166-.191.415-.191.954v17.137c0 .374 0 .498.076.581.077.083.191.166.306.166"
        })), _path310 || (_path310 = /* @__PURE__ */ React$147.createElement("path", {
          fill: "#000",
          fillRule: "evenodd",
          stroke: "#000",
          strokeWidth: 0.3,
          d: "M15.999.912a.11.11 0 0 0 .117.006.1.1 0 0 0 .045-.046.13.13 0 0 0 0-.128.1.1 0 0 0-.045-.046.11.11 0 0 0-.117.006.11.11 0 0 0-.118-.006.1.1 0 0 0-.044.046.13.13 0 0 0 0 .128.1.1 0 0 0 .044.046.11.11 0 0 0 .118-.006Z",
          clipRule: "evenodd"
        })), _path410 || (_path410 = /* @__PURE__ */ React$147.createElement("path", {
          fill: "#444",
          fillRule: "evenodd",
          d: "M0 19.5v-.207h32v.207s-.727.25-1.531.332c-.536.042-1.416.166-3.407.166H5.091c-1.723 0-3.177-.124-3.828-.207S0 19.5 0 19.5",
          clipRule: "evenodd"
        })), _path52 || (_path52 = /* @__PURE__ */ React$147.createElement("path", {
          fill: "#000",
          fillRule: "evenodd",
          d: "M3.941 1.328h24.115v16.349H3.941z",
          clipRule: "evenodd"
        })));
      };
      device_laptop_default = SvgDeviceLaptop;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/device-mobile.js
  function _extends46() {
    return _extends46 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends46.apply(null, arguments);
  }
  var React$148, _path50, _path217, _path311, _path411, _path53, _path62, _path72, SvgDeviceMobile, device_mobile_default;
  var init_device_mobile = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/device-mobile.js"() {
      React$148 = __toESM(require_react(), 1);
      SvgDeviceMobile = function SvgDeviceMobile$1(props) {
        return /* @__PURE__ */ React$148.createElement("svg", _extends46({
          xmlns: "http://www.w3.org/2000/svg",
          viewBox: "670.6 72.3 84 76"
        }, props), _path50 || (_path50 = /* @__PURE__ */ React$148.createElement("path", {
          fill: "var(--cl-chassis-screen, #6D6D6D)",
          fillRule: "evenodd",
          d: "M712.5 107.2v-.6h.1l.2.1v7.2a.1.1 0 0 1-.2.2l-.1-.3z",
          clipRule: "evenodd"
        })), _path217 || (_path217 = /* @__PURE__ */ React$148.createElement("path", {
          fill: "var(--cl-chassis-back, #6D6D6D)",
          fillRule: "evenodd",
          d: "M697.4 100v-.7h-.2a.1.1 0 0 0-.1.2v4.4s0 .2.2.2V100Z",
          clipRule: "evenodd"
        })), _path311 || (_path311 = /* @__PURE__ */ React$148.createElement("path", {
          fill: "var(--cl-chassis-screen, #6D6D6D)",
          fillRule: "evenodd",
          d: "M697.4 94v-.7h-.2a.1.1 0 0 0-.1.2v4.4s0 .2.2.2V94Z",
          clipRule: "evenodd"
        })), _path411 || (_path411 = /* @__PURE__ */ React$148.createElement("path", {
          fill: "var(--cl-chassis-back, #363636)",
          d: "M722.7 78.6c3.6 0 5.5 2.1 5.5 5.7v52.4c0 3.4-2.3 5.3-5.8 5.3H703c-3.8 0-5.8-2.4-5.7-5.4V84.3c0-3.6 2-5.7 5.6-5.7z"
        })), _path53 || (_path53 = /* @__PURE__ */ React$148.createElement("path", {
          fill: "var(--cl-chassis-screen, #363636)",
          stroke: "var(--cl-chassis-bottom, black)",
          strokeWidth: 0.5,
          d: "M722.3 79.2c3.7 0 5.4 1.8 5.4 5.4v52c0 3.2-2.2 5-5.5 5h-19c-3.2 0-5.4-2-5.4-5v-52c0-3.6 1.8-5.4 5.5-5.4z"
        })), _path62 || (_path62 = /* @__PURE__ */ React$148.createElement("path", {
          fill: "var(--cl-screen, black)",
          fillRule: "evenodd",
          d: "M704.9 80.3c.2 0 .3.1.3.4v.2c0 .9.8 1.7 1.6 1.7h11.8c1 0 1.7-.8 1.7-1.7v-.2c0-.3.1-.4.3-.4h3c1.6 0 3 1.7 3 3.3V137c0 1.7-1.5 3.3-3.4 3.3h-21c-2.1 0-3.3-1.3-3.3-3.2V83.6c0-1.6 1.3-3.3 2.9-3.3h3Z",
          clipRule: "evenodd"
        })), _path72 || (_path72 = /* @__PURE__ */ React$148.createElement("path", {
          fillRule: "evenodd",
          d: "M715.3 81.2a.3.3 0 0 0-.2-.4.3.3 0 1 0-.2.6.3.3 0 0 0 .4-.2m-5.1-.2c0 .2 0 .3.2.3h2.9a.3.3 0 0 0 .2-.3.3.3 0 0 0-.2-.2h-2.9a.3.3 0 0 0-.2.2",
          clipRule: "evenodd"
        })));
      };
      device_mobile_default = SvgDeviceMobile;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/getRelativeToNowDateKey.js
  var getRelativeToNowDateKey;
  var init_getRelativeToNowDateKey = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/getRelativeToNowDateKey.js"() {
      init_localizationKeys();
      init_date();
      getRelativeToNowDateKey = (date) => {
        const relativeDate = formatRelative({
          date: date || /* @__PURE__ */ new Date(),
          relativeTo: /* @__PURE__ */ new Date()
        });
        if (!relativeDate) return "";
        switch (relativeDate.relativeDateCase) {
          case "previous6Days":
            return localizationKeys("dates.previous6Days", { date: relativeDate.date });
          case "lastDay":
            return localizationKeys("dates.lastDay", { date: relativeDate.date });
          case "sameDay":
            return localizationKeys("dates.sameDay", { date: relativeDate.date });
          case "nextDay":
            return localizationKeys("dates.nextDay", { date: relativeDate.date });
          case "next6Days":
            return localizationKeys("dates.next6Days", { date: relativeDate.date });
          case "other":
          default:
            return localizationKeys("dates.numeric", { date: relativeDate.date });
        }
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/ActiveDevicesSection.js
  var ActiveDevicesSection, isSignedInStatus, DeviceItem, DeviceInfo, ActiveDeviceMenu;
  var init_ActiveDevicesSection = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/ActiveDevicesSection.js"() {
      init_useFetch();
      init_useLoadingStatus();
      init_localizationKeys();
      init_device_laptop();
      init_device_mobile();
      init_makeLocalizable();
      init_breakpoints();
      init_elementDescriptors();
      init_customizables();
      init_errorHandler();
      init_ThreeDotsMenu();
      init_FullHeightLoader();
      init_Section();
      init_utils11();
      init_getRelativeToNowDateKey();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      ActiveDevicesSection = () => {
        const { user } = useUser();
        const { session } = useSession();
        const { data: sessions, isLoading } = useFetch(user?.getSessions, "user-sessions");
        return /* @__PURE__ */ jsx2(ProfileSection.Root, {
          title: localizationKeys("userProfile.start.activeDevicesSection.title"),
          centered: false,
          id: "activeDevices",
          children: /* @__PURE__ */ jsx2(ProfileSection.ItemList, {
            id: "activeDevices",
            disableAnimation: true,
            children: isLoading ? /* @__PURE__ */ jsx2(FullHeightLoader, {}) : sessions?.sort(currentSessionFirst(session.id)).map((sa) => {
              if (!isSignedInStatus(sa.status)) return null;
              return /* @__PURE__ */ jsx2(DeviceItem, { session: sa }, sa.id);
            })
          })
        });
      };
      isSignedInStatus = (status) => {
        return ["active", "pending"].includes(status);
      };
      DeviceItem = ({ session }) => {
        const isCurrent = useSession().session?.id === session.id;
        const status = useLoadingStatus();
        const revokeSession = useReverification(session.revoke.bind(session));
        const revoke = async () => {
          if (isCurrent || !session) return;
          status.setLoading();
          return revokeSession().catch((err) => handleError(err, [], status.setError)).finally(() => status.setIdle());
        };
        return /* @__PURE__ */ jsx2(ProfileSection.Item, {
          id: "activeDevices",
          elementDescriptor: descriptors.activeDeviceListItem,
          elementId: isCurrent ? descriptors.activeDeviceListItem.setId("current") : void 0,
          sx: {
            alignItems: "flex-start",
            opacity: status.isLoading ? 0.5 : 1
          },
          isDisabled: status.isLoading,
          children: /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(DeviceInfo, { session }), !isCurrent && /* @__PURE__ */ jsx2(ActiveDeviceMenu, { revoke })] })
        });
      };
      DeviceInfo = (props) => {
        const { session } = useSession();
        const isCurrent = session?.id === props.session.id;
        const isCurrentlyImpersonating = !!session?.actor;
        const isImpersonationSession = !!props.session.actor;
        const { city, country, browserName, browserVersion, deviceType, ipAddress, isMobile } = props.session.latestActivity;
        const title = deviceType ? deviceType : isMobile ? "Mobile device" : "Desktop device";
        const browser2 = `${browserName || ""} ${browserVersion || ""}`.trim() || "Web browser";
        const location = [city || "", country || ""].filter(Boolean).join(", ").trim() || null;
        const { t: t2 } = useLocalizations();
        return /* @__PURE__ */ jsxs2(Flex2, {
          elementDescriptor: descriptors.activeDevice,
          elementId: isCurrent ? descriptors.activeDevice.setId("current") : void 0,
          sx: (t$1) => ({
            width: "100%",
            overflow: "hidden",
            gap: t$1.space.$4,
            [mqu.sm]: { gap: t$1.space.$2 }
          }),
          children: [/* @__PURE__ */ jsx2(Flex2, {
            sx: (theme) => ({
              [mqu.sm]: { padding: `0` },
              borderRadius: theme.radii.$md
            }),
            children: /* @__PURE__ */ jsx2(Icon, {
              elementDescriptor: descriptors.activeDeviceIcon,
              elementId: descriptors.activeDeviceIcon.setId(isMobile ? "mobile" : "desktop"),
              icon: isMobile ? device_mobile_default : device_laptop_default,
              sx: (theme) => ({
                "--cl-chassis-bottom": "#444444",
                "--cl-chassis-back": "#343434",
                "--cl-chassis-screen": "#575757",
                "--cl-screen": "#000000",
                width: theme.space.$8,
                height: theme.space.$8
              })
            })
          }), /* @__PURE__ */ jsxs2(Col2, {
            align: "start",
            gap: 1,
            children: [
              /* @__PURE__ */ jsxs2(Flex2, {
                center: true,
                gap: 2,
                children: [
                  /* @__PURE__ */ jsx2(Text2, { children: title }),
                  isCurrent && /* @__PURE__ */ jsx2(Badge2, {
                    localizationKey: localizationKeys("badge__thisDevice"),
                    colorScheme: isCurrentlyImpersonating ? "danger" : "primary"
                  }),
                  isCurrentlyImpersonating && !isImpersonationSession && /* @__PURE__ */ jsx2(Badge2, { localizationKey: localizationKeys("badge__userDevice") }),
                  !isCurrent && isImpersonationSession && /* @__PURE__ */ jsx2(Badge2, {
                    localizationKey: localizationKeys("badge__otherImpersonatorDevice"),
                    colorScheme: "danger"
                  })
                ]
              }),
              /* @__PURE__ */ jsx2(Text2, {
                colorScheme: "secondary",
                children: browser2
              }),
              /* @__PURE__ */ jsxs2(Text2, {
                colorScheme: "secondary",
                children: [
                  ipAddress,
                  " (",
                  location,
                  ")"
                ]
              }),
              /* @__PURE__ */ jsx2(Text2, {
                colorScheme: "secondary",
                children: t2(getRelativeToNowDateKey(props.session.lastActiveAt))
              })
            ]
          })]
        });
      };
      ActiveDeviceMenu = ({ revoke }) => {
        return /* @__PURE__ */ jsx2(ThreeDotsMenu, { actions: [{
          label: localizationKeys("userProfile.start.activeDevicesSection.destructiveAction"),
          isDestructive: true,
          onClick: revoke
        }].filter((a2) => a2 !== null) });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/DeleteUserForm.js
  var DeleteUserForm;
  var init_DeleteUserForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/DeleteUserForm.js"() {
      init_localizationKeys();
      init_SignOut();
      init_makeLocalizable();
      init_useFormControl();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_useMultipleSessions();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      DeleteUserForm = withCardStateProvider((props) => {
        const { onReset } = props;
        const card = useCardState();
        const { afterSignOutUrl, afterMultiSessionSingleSignOutUrl } = useSignOutContext();
        const { user } = useUser();
        const { t: t2 } = useLocalizations();
        const { otherSessions } = useMultipleSessions({ user });
        const { setActive } = useClerk();
        const deleteUserWithReverification = useReverification(() => user?.delete());
        const confirmationField = useFormControl("deleteConfirmation", "", {
          type: "text",
          label: localizationKeys("userProfile.deletePage.actionDescription"),
          isRequired: true,
          placeholder: localizationKeys("formFieldInputPlaceholder__confirmDeletionUserAccount")
        });
        const canSubmit = confirmationField.value === (t2(localizationKeys("formFieldInputPlaceholder__confirmDeletionUserAccount")) || "Delete account");
        const deleteUser = async () => {
          if (!canSubmit) return;
          try {
            await deleteUserWithReverification();
            return await setActive({
              session: null,
              redirectUrl: otherSessions.length === 0 ? afterSignOutUrl : afterMultiSessionSingleSignOutUrl
            });
          } catch (e3) {
            handleError(e3, [], card.setError);
          }
        };
        return /* @__PURE__ */ jsx2(FormContainer, {
          headerTitle: localizationKeys("userProfile.deletePage.title"),
          sx: (t$1) => ({ gap: t$1.space.$0x5 }),
          children: /* @__PURE__ */ jsxs2(Form$1.Root, {
            onSubmit: deleteUser,
            children: [
              /* @__PURE__ */ jsxs2(Col2, {
                gap: 1,
                children: [/* @__PURE__ */ jsx2(Text2, {
                  colorScheme: "secondary",
                  localizationKey: localizationKeys("userProfile.deletePage.messageLine1")
                }), /* @__PURE__ */ jsx2(Text2, {
                  colorScheme: "danger",
                  localizationKey: localizationKeys("userProfile.deletePage.messageLine2")
                })]
              }),
              /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: confirmationField.id,
                children: /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                  ...confirmationField.props,
                  ignorePasswordManager: true
                })
              }),
              /* @__PURE__ */ jsx2(FormButtons, {
                submitLabel: localizationKeys("userProfile.deletePage.confirm"),
                colorScheme: "danger",
                isDisabled: !canSubmit,
                onReset
              })
            ]
          })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/DeleteSection.js
  var DeleteUserScreen, DeleteSection;
  var init_DeleteSection = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/DeleteSection.js"() {
      init_localizationKeys();
      init_breakpoints();
      init_ActionRoot();
      init_Action();
      init_Section();
      init_DeleteUserForm();
      init_emotion_react_jsx_runtime_browser_esm();
      DeleteUserScreen = () => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(DeleteUserForm, {
          onSuccess: close,
          onReset: close
        });
      };
      DeleteSection = () => {
        return /* @__PURE__ */ jsx2(ProfileSection.Root, {
          title: localizationKeys("userProfile.start.dangerSection.title"),
          id: "danger",
          sx: {
            alignItems: "center",
            [mqu.md]: { alignItems: "flex-start" }
          },
          children: /* @__PURE__ */ jsxs2(Action2.Root, { children: [/* @__PURE__ */ jsx2(Action2.Closed, {
            value: "delete",
            children: /* @__PURE__ */ jsx2(ProfileSection.Item, {
              id: "danger",
              sx: (t2) => ({ paddingInlineStart: t2.space.$1 }),
              children: /* @__PURE__ */ jsx2(Action2.Trigger, {
                value: "delete",
                children: /* @__PURE__ */ jsx2(ProfileSection.Button, {
                  id: "danger",
                  variant: "ghost",
                  colorScheme: "danger",
                  localizationKey: localizationKeys("userProfile.start.dangerSection.deleteAccountButton")
                })
              })
            })
          }), /* @__PURE__ */ jsx2(Action2.Open, {
            value: "delete",
            children: /* @__PURE__ */ jsx2(Action2.Card, {
              variant: "destructive",
              children: /* @__PURE__ */ jsx2(DeleteUserScreen, {})
            })
          })] })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/dot-circle-horizontal.js
  function _extends47() {
    return _extends47 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends47.apply(null, arguments);
  }
  var React$149, _path51, SvgDotCircleHorizontal, dot_circle_horizontal_default;
  var init_dot_circle_horizontal = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/dot-circle-horizontal.js"() {
      React$149 = __toESM(require_react(), 1);
      SvgDotCircleHorizontal = function SvgDotCircleHorizontal$1(props) {
        return /* @__PURE__ */ React$149.createElement("svg", _extends47({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 16 16"
        }, props), _path51 || (_path51 = /* @__PURE__ */ React$149.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16M5 7H3v2h2zm8 0h-2v2h2zM7 7h2v2H7z",
          clipRule: "evenodd"
        })));
      };
      dot_circle_horizontal_default = SvgDotCircleHorizontal;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/FormattedPhoneNumber.js
  var FormattedPhoneNumberText;
  var init_FormattedPhoneNumber = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/FormattedPhoneNumber.js"() {
      init_elementDescriptors();
      init_customizables();
      init_phoneUtils();
      init_emotion_react_jsx_runtime_browser_esm();
      FormattedPhoneNumberText = (props) => {
        const formattedPhone = stringToFormattedPhoneString(props.value);
        return /* @__PURE__ */ jsx2(Text2, {
          as: "span",
          elementDescriptor: descriptors.formattedPhoneNumberText,
          children: formattedPhone
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaBackupCodeCreateForm.js
  var import_react306, MfaBackupCodeCreateForm;
  var init_MfaBackupCodeCreateForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaBackupCodeCreateForm.js"() {
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_FormButtons();
      init_FormContainer();
      init_FullHeightLoader();
      init_MfaBackupCodeList();
      init_error();
      import_react306 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      MfaBackupCodeCreateForm = withCardStateProvider((props) => {
        const { onSuccess, onReset } = props;
        const { user } = useUser();
        const card = useCardState();
        const createBackupCode = useReverification(() => user?.createBackupCode());
        const [backupCode, setBackupCode] = import_react306.default.useState(void 0);
        import_react306.default.useEffect(() => {
          if (backupCode || !user) return;
          createBackupCode().then((backupCode$1) => setBackupCode(backupCode$1)).catch((err) => {
            if (isReverificationCancelledError(err)) return onReset();
            handleError(err, [], card.setError);
          });
        }, []);
        if (card.error) return /* @__PURE__ */ jsx2(FormContainer, { headerTitle: localizationKeys("userProfile.backupCodePage.title") });
        return /* @__PURE__ */ jsx2(FormContainer, {
          headerTitle: localizationKeys("userProfile.backupCodePage.title"),
          children: !backupCode ? /* @__PURE__ */ jsx2(FullHeightLoader, {}) : /* @__PURE__ */ jsxs2(Fragment3, { children: [
            /* @__PURE__ */ jsx2(Text2, { localizationKey: localizationKeys("userProfile.backupCodePage.successMessage") }),
            /* @__PURE__ */ jsx2(MfaBackupCodeList, {
              subtitle: localizationKeys("userProfile.backupCodePage.subtitle__codelist"),
              backupCodes: backupCode.codes
            }),
            /* @__PURE__ */ jsx2(FormButtonContainer, { children: /* @__PURE__ */ jsx2(Button2, {
              autoFocus: true,
              onClick: onSuccess,
              localizationKey: localizationKeys("userProfile.formButtonPrimary__finish"),
              elementDescriptor: descriptors.formButtonPrimary
            }) })
          ] })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaBackupCodeScreen.js
  var MfaBackupCodeScreen, AddBackupCode;
  var init_MfaBackupCodeScreen = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaBackupCodeScreen.js"() {
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_FormButtons();
      init_FormContainer();
      init_Wizard();
      init_ActionRoot();
      init_MfaBackupCodeCreateForm();
      init_emotion_react_jsx_runtime_browser_esm();
      MfaBackupCodeScreen = withCardStateProvider((props) => {
        const { onSuccess, onReset } = props;
        const wizard = useWizard();
        return /* @__PURE__ */ jsxs2(Wizard, {
          ...wizard.props,
          children: [/* @__PURE__ */ jsx2(AddBackupCode, { onContinue: wizard.nextStep }), /* @__PURE__ */ jsx2(MfaBackupCodeCreateForm, {
            onSuccess,
            onReset
          })]
        });
      });
      AddBackupCode = (props) => {
        const { onContinue } = props;
        const { close } = useActionContext();
        return /* @__PURE__ */ jsxs2(FormContainer, {
          headerTitle: localizationKeys("userProfile.backupCodePage.title"),
          children: [
            /* @__PURE__ */ jsx2(Text2, { localizationKey: localizationKeys("userProfile.backupCodePage.infoText1") }),
            /* @__PURE__ */ jsx2(Text2, { localizationKey: localizationKeys("userProfile.backupCodePage.infoText2") }),
            /* @__PURE__ */ jsxs2(FormButtonContainer, {
              sx: { marginTop: 0 },
              children: [/* @__PURE__ */ jsx2(Button2, {
                textVariant: "buttonSmall",
                onClick: onContinue,
                localizationKey: localizationKeys("userProfile.formButtonPrimary__finish"),
                elementDescriptor: descriptors.formButtonPrimary
              }), /* @__PURE__ */ jsx2(Button2, {
                variant: "ghost",
                onClick: close,
                localizationKey: localizationKeys("userProfile.formButtonReset"),
                elementDescriptor: descriptors.formButtonReset
              })]
            })
          ]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaPhoneCodeScreen.js
  var import_react308, MfaPhoneCodeScreen, EnableMFAButtonForPhone, MFAVerifyPhone, AddMfa;
  var init_MfaPhoneCodeScreen = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaPhoneCodeScreen.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_plus();
      init_contexts();
      init_customizables();
      init_IconButton();
      init_errorHandler();
      init_phoneUtils();
      init_FormButtons();
      init_FormContainer();
      init_Wizard();
      init_VerifyWithCode();
      init_SuccessPage();
      init_MfaBackupCodeList();
      init_PhoneForm();
      import_react308 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      MfaPhoneCodeScreen = withCardStateProvider((props) => {
        const { onReset, onSuccess } = props;
        const ref = import_react308.default.useRef();
        const wizard = useWizard({ defaultStep: 2 });
        const isInstanceWithBackupCodes = useEnvironment().userSettings.attributes.backup_code?.enabled;
        return /* @__PURE__ */ jsxs2(Wizard, {
          ...wizard.props,
          children: [
            /* @__PURE__ */ jsx2(AddPhone, {
              title: localizationKeys("userProfile.phoneNumberPage.title"),
              resourceRef: ref,
              onSuccess: wizard.nextStep,
              onUseExistingNumberClick: () => wizard.goToStep(2),
              onReset
            }),
            /* @__PURE__ */ jsx2(MFAVerifyPhone, {
              title: localizationKeys("userProfile.mfaPhoneCodePage.title"),
              resourceRef: ref,
              onSuccess: () => isInstanceWithBackupCodes ? wizard.goToStep(3) : onSuccess(),
              onReset: () => wizard.goToStep(2)
            }),
            /* @__PURE__ */ jsx2(AddMfa, {
              onSuccess: isInstanceWithBackupCodes ? wizard.nextStep : onSuccess,
              onReset,
              onAddPhoneClick: () => wizard.goToStep(0),
              onUnverifiedPhoneClick: (phone) => {
                ref.current = phone;
                wizard.goToStep(1);
              },
              title: localizationKeys("userProfile.mfaPhoneCodePage.title"),
              resourceRef: ref
            }),
            isInstanceWithBackupCodes && /* @__PURE__ */ jsx2(SuccessPage, {
              title: localizationKeys("userProfile.mfaPhoneCodePage.successTitle"),
              text: ref.current?.backupCodes && ref.current?.backupCodes.length > 0 ? [localizationKeys("userProfile.mfaPhoneCodePage.successMessage1"), localizationKeys("userProfile.mfaPhoneCodePage.successMessage2")] : [localizationKeys("userProfile.mfaPhoneCodePage.successMessage1")],
              onFinish: onReset,
              contents: /* @__PURE__ */ jsx2(MfaBackupCodeList, { backupCodes: ref.current?.backupCodes })
            })
          ]
        });
      });
      EnableMFAButtonForPhone = (props) => {
        const { phone, onSuccess, onUnverifiedPhoneClick, resourceRef } = props;
        const card = useCardState();
        const setReservedForSecondFactor = useReverification(() => phone.setReservedForSecondFactor({ reserved: true }));
        const { country } = getCountryFromPhoneString(phone.phoneNumber);
        const formattedPhone = stringToFormattedPhoneString(phone.phoneNumber);
        const enableMfa = async () => {
          if (phone.verification.status !== "verified") return onUnverifiedPhoneClick(phone);
          card.setLoading(phone.id);
          try {
            await setReservedForSecondFactor();
            resourceRef.current = phone;
            onSuccess();
          } catch (err) {
            handleError(err, [], card.setError);
          } finally {
            card.setIdle();
          }
        };
        return /* @__PURE__ */ jsxs2(Button2, {
          variant: "outline",
          colorScheme: "neutral",
          sx: { justifyContent: "start" },
          onClick: enableMfa,
          isLoading: card.loadingMetadata === phone.id,
          isDisabled: card.isLoading,
          children: [
            country.iso.toUpperCase(),
            " ",
            formattedPhone
          ]
        }, phone.id);
      };
      MFAVerifyPhone = (props) => {
        const { title, onSuccess, resourceRef, onReset } = props;
        const card = useCardState();
        const phone = resourceRef.current;
        const setReservedForSecondFactor = useReverification(() => phone?.setReservedForSecondFactor({ reserved: true }));
        const enableMfa = async () => {
          card.setLoading(phone?.id);
          try {
            await setReservedForSecondFactor();
            resourceRef.current = phone;
            onSuccess();
          } catch (err) {
            handleError(err, [], card.setError);
          } finally {
            card.setIdle();
          }
        };
        return /* @__PURE__ */ jsx2(FormContainer, {
          headerTitle: title,
          headerSubtitle: localizationKeys("userProfile.phoneNumberPage.verifySubtitle", { identifier: resourceRef.current?.phoneNumber || "" }),
          children: /* @__PURE__ */ jsx2(VerifyWithCode, {
            nextStep: () => {
              enableMfa();
            },
            identification: resourceRef.current,
            identifier: resourceRef.current?.phoneNumber,
            prepareVerification: resourceRef.current?.prepareVerification,
            onReset
          })
        });
      };
      AddMfa = (props) => {
        const { onSuccess, onReset, title, onAddPhoneClick, onUnverifiedPhoneClick, resourceRef } = props;
        const { user } = useUser();
        if (!user) return null;
        const availableMethods = user.phoneNumbers.filter((p2) => !p2.reservedForSecondFactor);
        return /* @__PURE__ */ jsxs2(FormContainer, {
          headerTitle: title,
          gap: 1,
          children: [
            /* @__PURE__ */ jsx2(Text2, {
              localizationKey: localizationKeys(availableMethods.length ? "userProfile.mfaPhoneCodePage.subtitle__availablePhoneNumbers" : "userProfile.mfaPhoneCodePage.subtitle__unavailablePhoneNumbers"),
              colorScheme: "secondary"
            }),
            availableMethods.length > 0 && /* @__PURE__ */ jsx2(Col2, {
              gap: 2,
              children: availableMethods.map((phone) => /* @__PURE__ */ jsx2(EnableMFAButtonForPhone, {
                onSuccess,
                phone,
                onUnverifiedPhoneClick,
                resourceRef
              }, phone.id))
            }),
            /* @__PURE__ */ jsxs2(FormButtonContainer, {
              sx: {
                flexDirection: "row",
                justifyContent: "space-between"
              },
              children: [/* @__PURE__ */ jsx2(IconButton, {
                variant: "ghost",
                "aria-label": "Add phone number",
                icon: /* @__PURE__ */ jsx2(Icon, {
                  icon: plus_default,
                  sx: (t2) => ({ marginInlineEnd: t2.space.$2 })
                }),
                localizationKey: localizationKeys("userProfile.mfaPhoneCodePage.primaryButton__addPhoneNumber"),
                onClick: onAddPhoneClick
              }), /* @__PURE__ */ jsx2(Button2, {
                variant: "ghost",
                localizationKey: localizationKeys("userProfile.formButtonReset"),
                onClick: onReset
              })]
            })
          ]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/AddAuthenticatorApp.js
  var import_react310, AddAuthenticatorApp2;
  var init_AddAuthenticatorApp = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/AddAuthenticatorApp.js"() {
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_QRCode();
      init_errorHandler();
      init_FormButtons();
      init_FormContainer();
      init_ActionRoot();
      init_ClipboardInput();
      init_FullHeightLoader();
      init_error();
      import_react310 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      AddAuthenticatorApp2 = withCardStateProvider((props) => {
        const { title, onSuccess, onReset } = props;
        const { user } = useUser();
        const card = useCardState();
        const createTOTP = useReverification(() => user?.createTOTP());
        const { close } = useActionContext();
        const [totp, setTOTP] = import_react310.default.useState(void 0);
        const [displayFormat, setDisplayFormat] = import_react310.default.useState("qr");
        import_react310.default.useEffect(() => {
          if (!user) return;
          createTOTP().then((totp$1) => setTOTP(totp$1)).catch((err) => {
            if (isClerkRuntimeError(err) && err.code === "reverification_cancelled") return close();
            return handleError(err, [], card.setError);
          });
        }, []);
        if (card.error) return /* @__PURE__ */ jsx2(FormContainer, { headerTitle: title });
        return /* @__PURE__ */ jsxs2(FormContainer, {
          headerTitle: title,
          headerSubtitle: displayFormat == "qr" ? localizationKeys("userProfile.mfaTOTPPage.authenticatorApp.infoText__ableToScan") : localizationKeys("userProfile.mfaTOTPPage.authenticatorApp.infoText__unableToScan"),
          children: [!totp && /* @__PURE__ */ jsx2(FullHeightLoader, {}), totp && /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsxs2(Col2, {
            gap: 4,
            children: [displayFormat == "qr" && /* @__PURE__ */ jsx2(QRCode, {
              justify: "center",
              url: totp.uri || ""
            }), displayFormat == "uri" && /* @__PURE__ */ jsxs2(Fragment3, { children: [
              /* @__PURE__ */ jsx2(Text2, {
                colorScheme: "secondary",
                localizationKey: localizationKeys("userProfile.mfaTOTPPage.authenticatorApp.inputLabel__unableToScan1")
              }),
              /* @__PURE__ */ jsx2(ClipboardInput, { value: totp.secret }),
              /* @__PURE__ */ jsx2(Text2, {
                colorScheme: "secondary",
                localizationKey: localizationKeys("userProfile.mfaTOTPPage.authenticatorApp.inputLabel__unableToScan2")
              }),
              /* @__PURE__ */ jsx2(ClipboardInput, { value: totp.uri })
            ] })]
          }), /* @__PURE__ */ jsxs2(Flex2, {
            justify: "between",
            align: "center",
            sx: { width: "100%" },
            children: [
              displayFormat == "qr" && /* @__PURE__ */ jsx2(Button2, {
                variant: "link",
                textVariant: "buttonLarge",
                onClick: () => setDisplayFormat("uri"),
                localizationKey: localizationKeys("userProfile.mfaTOTPPage.authenticatorApp.buttonUnableToScan__nonPrimary")
              }),
              displayFormat == "uri" && /* @__PURE__ */ jsx2(Button2, {
                variant: "link",
                textVariant: "buttonLarge",
                onClick: () => setDisplayFormat("qr"),
                localizationKey: localizationKeys("userProfile.mfaTOTPPage.authenticatorApp.buttonAbleToScan__nonPrimary")
              }),
              /* @__PURE__ */ jsxs2(FormButtonContainer, { children: [/* @__PURE__ */ jsx2(Button2, {
                onClick: onSuccess,
                localizationKey: localizationKeys("userProfile.formButtonPrimary__continue"),
                elementDescriptor: descriptors.formButtonPrimary
              }), /* @__PURE__ */ jsx2(Button2, {
                variant: "ghost",
                onClick: onReset,
                localizationKey: localizationKeys("userProfile.formButtonReset"),
                elementDescriptor: descriptors.formButtonReset
              })] })
            ]
          })] })]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/VerifyTOTP.js
  var import_react312, VerifyTOTP2;
  var init_VerifyTOTP = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/VerifyTOTP.js"() {
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_CodeControl();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      import_react312 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      VerifyTOTP2 = withCardStateProvider((props) => {
        const { onSuccess, onReset, resourceRef } = props;
        const { user } = useUser();
        const otp = useFieldOTP({
          onCodeEntryFinished: (code, resolve, reject) => {
            user?.verifyTOTP({ code }).then((totp) => resolve(totp)).catch(reject);
          },
          onResolve: (a2) => {
            resourceRef.current = a2;
            onSuccess();
          }
        });
        return /* @__PURE__ */ jsxs2(FormContainer, {
          headerTitle: localizationKeys("userProfile.mfaTOTPPage.title"),
          children: [/* @__PURE__ */ jsx2(Col2, { children: /* @__PURE__ */ jsx2(Form$1.OTPInput, {
            ...otp,
            label: localizationKeys("userProfile.mfaTOTPPage.verifyTitle"),
            description: localizationKeys("userProfile.mfaTOTPPage.verifySubtitle")
          }) }), /* @__PURE__ */ jsx2(FormButtonContainer, {
            sx: { marginTop: 0 },
            children: /* @__PURE__ */ jsx2(Button2, {
              onClick: onReset,
              variant: "ghost",
              isDisabled: otp.isLoading,
              localizationKey: localizationKeys("userProfile.formButtonReset"),
              elementDescriptor: descriptors.formButtonReset
            })
          })]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaTOTPScreen.js
  var import_react314, MfaTOTPScreen;
  var init_MfaTOTPScreen = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaTOTPScreen.js"() {
      init_localizationKeys();
      init_contexts();
      init_Wizard();
      init_SuccessPage();
      init_MfaBackupCodeList();
      init_AddAuthenticatorApp();
      init_VerifyTOTP();
      import_react314 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      MfaTOTPScreen = withCardStateProvider((props) => {
        const { onReset } = props;
        const wizard = useWizard();
        const ref = import_react314.default.useRef();
        return /* @__PURE__ */ jsxs2(Wizard, {
          ...wizard.props,
          children: [
            /* @__PURE__ */ jsx2(AddAuthenticatorApp2, {
              title: localizationKeys("userProfile.mfaTOTPPage.title"),
              onSuccess: wizard.nextStep,
              onReset
            }),
            /* @__PURE__ */ jsx2(VerifyTOTP2, {
              onSuccess: wizard.nextStep,
              onReset,
              resourceRef: ref
            }),
            /* @__PURE__ */ jsx2(SuccessPage, {
              title: localizationKeys("userProfile.mfaTOTPPage.title"),
              text: localizationKeys("userProfile.mfaTOTPPage.successMessage"),
              onFinish: onReset,
              contents: /* @__PURE__ */ jsx2(MfaBackupCodeList, {
                subtitle: localizationKeys("userProfile.backupCodePage.successSubtitle"),
                backupCodes: ref.current?.backupCodes
              })
            })
          ]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaForm.js
  var import_react315, MfaForm, MfaPageIfSingleOrCurrent;
  var init_MfaForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaForm.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_contexts();
      init_FormContainer();
      init_mfa();
      init_MfaBackupCodeScreen();
      init_MfaPhoneCodeScreen();
      init_MfaTOTPScreen();
      import_react315 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      MfaForm = withCardStateProvider((props) => {
        const { onSuccess, onReset, selectedStrategy = void 0 } = props;
        const card = useCardState();
        const { userSettings: { attributes } } = useEnvironment();
        const { user } = useUser();
        if (!user) return null;
        const title = localizationKeys("userProfile.mfaPage.title");
        const secondFactorsAvailableToAdd = import_react315.default.useMemo(() => getSecondFactorsAvailableToAdd(attributes, user), []);
        import_react315.default.useEffect(() => {
          if (secondFactorsAvailableToAdd.length === 0) card.setError("There are no second factors available to add");
        }, []);
        if (card.error) return /* @__PURE__ */ jsx2(FormContainer, { headerTitle: title });
        if (secondFactorsAvailableToAdd.length === 0 && !selectedStrategy) return null;
        return /* @__PURE__ */ jsx2(MfaPageIfSingleOrCurrent, {
          onSuccess,
          onReset,
          method: selectedStrategy || secondFactorsAvailableToAdd[0]
        });
      });
      MfaPageIfSingleOrCurrent = (props) => {
        const { method, onSuccess, onReset } = props;
        switch (method) {
          case "phone_code":
            return /* @__PURE__ */ jsx2(MfaPhoneCodeScreen, {
              onSuccess,
              onReset
            });
          case "totp":
            return /* @__PURE__ */ jsx2(MfaTOTPScreen, {
              onSuccess,
              onReset
            });
          case "backup_code":
            return /* @__PURE__ */ jsx2(MfaBackupCodeScreen, {
              onSuccess,
              onReset
            });
          default:
            return null;
        }
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaScreens.js
  var RemoveMfaTOTPScreen, RemoveMfaPhoneCodeScreen, MfaBackupCodeCreateScreen, MfaScreen;
  var init_MfaScreens = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaScreens.js"() {
      init_ActionRoot();
      init_RemoveResourceForm2();
      init_MfaBackupCodeCreateForm();
      init_MfaForm();
      init_emotion_react_jsx_runtime_browser_esm();
      RemoveMfaTOTPScreen = () => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(RemoveMfaTOTPForm, {
          onSuccess: close,
          onReset: close
        });
      };
      RemoveMfaPhoneCodeScreen = (props) => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(RemoveMfaPhoneCodeForm, {
          onSuccess: close,
          onReset: close,
          ...props
        });
      };
      MfaBackupCodeCreateScreen = () => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(MfaBackupCodeCreateForm, {
          onSuccess: close,
          onReset: close
        });
      };
      MfaScreen = (props) => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(MfaForm, {
          onSuccess: close,
          onReset: close,
          selectedStrategy: props.selectedStrategy
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaSection.js
  var import_react317, MfaSection, MfaPhoneCodeMenu, MfaBackupCodeMenu, MfaTOTPMenu, strategiesMap, MfaAddMenu;
  var init_MfaSection = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/MfaSection.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_auth_app();
      init_dot_circle_horizontal();
      init_mobile_small();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_ActionRoot();
      init_Action();
      init_ThreeDotsMenu();
      init_Section();
      init_mfa();
      init_FormattedPhoneNumber();
      init_MfaScreens();
      import_react317 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      MfaSection = () => {
        const { userSettings: { attributes, signUp } } = useEnvironment();
        const { user } = useUser();
        const [actionValue, setActionValue] = (0, import_react317.useState)(null);
        if (!user) return null;
        const secondFactors = getSecondFactors(attributes);
        const secondFactorsAvailableToAdd = getSecondFactorsAvailableToAdd(attributes, user);
        const showTOTP = secondFactors.includes("totp") && user.totpEnabled;
        const showBackupCode = secondFactors.includes("backup_code") && user.backupCodeEnabled;
        const showPhoneCode = secondFactors.includes("phone_code");
        const mfaPhones = user.phoneNumbers.filter((ph) => ph.verification.status === "verified").filter((ph) => ph.reservedForSecondFactor).sort(defaultFirst);
        const hideTOTPDeleteAction = Boolean(signUp.mfa?.required && mfaPhones.length === 0);
        const hidePhoneCodeDeleteAction = Boolean(signUp.mfa?.required && !showTOTP && mfaPhones.length === 1);
        return /* @__PURE__ */ jsx2(ProfileSection.Root, {
          title: localizationKeys("userProfile.start.mfaSection.title"),
          centered: false,
          id: "mfa",
          children: /* @__PURE__ */ jsx2(Action2.Root, {
            value: actionValue,
            onChange: setActionValue,
            children: /* @__PURE__ */ jsxs2(ProfileSection.ItemList, {
              id: "mfa",
              children: [
                showTOTP && /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsxs2(ProfileSection.Item, {
                  id: "mfa",
                  hoverable: true,
                  children: [/* @__PURE__ */ jsxs2(Flex2, {
                    sx: (t2) => ({
                      gap: t2.space.$2,
                      alignItems: "center"
                    }),
                    children: [
                      /* @__PURE__ */ jsx2(Icon, {
                        icon: auth_app_default,
                        sx: (theme) => ({ color: theme.colors.$neutralAlpha700 })
                      }),
                      /* @__PURE__ */ jsx2(Text2, { localizationKey: localizationKeys("userProfile.start.mfaSection.totp.headerTitle") }),
                      /* @__PURE__ */ jsx2(Badge2, { localizationKey: localizationKeys("badge__default") })
                    ]
                  }), !hideTOTPDeleteAction && /* @__PURE__ */ jsx2(MfaTOTPMenu, {})]
                }), /* @__PURE__ */ jsx2(Action2.Open, {
                  value: "remove-totp",
                  children: /* @__PURE__ */ jsx2(Action2.Card, {
                    variant: "destructive",
                    children: /* @__PURE__ */ jsx2(RemoveMfaTOTPScreen, {})
                  })
                })] }),
                showPhoneCode && mfaPhones.map((phone) => {
                  const isDefault = !showTOTP && phone.defaultSecondFactor;
                  const phoneId = phone.id;
                  return /* @__PURE__ */ jsxs2(import_react317.Fragment, { children: [/* @__PURE__ */ jsxs2(ProfileSection.Item, {
                    id: "mfa",
                    hoverable: true,
                    children: [/* @__PURE__ */ jsxs2(Flex2, {
                      sx: (t2) => ({
                        gap: t2.space.$2,
                        alignItems: "center"
                      }),
                      children: [
                        /* @__PURE__ */ jsx2(Icon, {
                          icon: mobile_small_default,
                          sx: (theme) => ({ color: theme.colors.$neutralAlpha700 })
                        }),
                        /* @__PURE__ */ jsxs2(Text2, { children: ["SMS Code ", /* @__PURE__ */ jsx2(FormattedPhoneNumberText, { value: phone.phoneNumber })] }),
                        isDefault && /* @__PURE__ */ jsx2(Badge2, { localizationKey: localizationKeys("badge__default") })
                      ]
                    }), /* @__PURE__ */ jsx2(MfaPhoneCodeMenu, {
                      phone,
                      isDefault,
                      hidePhoneCodeDeleteAction
                    })]
                  }), /* @__PURE__ */ jsx2(Action2.Open, {
                    value: `remove-${phoneId}`,
                    children: /* @__PURE__ */ jsx2(Action2.Card, {
                      variant: "destructive",
                      children: /* @__PURE__ */ jsx2(RemoveMfaPhoneCodeScreen, { phoneId })
                    })
                  })] }, phoneId);
                }),
                showBackupCode && /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsxs2(ProfileSection.Item, {
                  id: "mfa",
                  hoverable: true,
                  children: [/* @__PURE__ */ jsxs2(Flex2, {
                    sx: (t2) => ({
                      gap: t2.space.$2,
                      alignItems: "center"
                    }),
                    children: [/* @__PURE__ */ jsx2(Icon, {
                      icon: dot_circle_horizontal_default,
                      sx: (theme) => ({ color: theme.colors.$neutralAlpha700 })
                    }), /* @__PURE__ */ jsx2(Text2, { localizationKey: localizationKeys("userProfile.start.mfaSection.backupCodes.headerTitle") })]
                  }), /* @__PURE__ */ jsx2(MfaBackupCodeMenu, {})]
                }), /* @__PURE__ */ jsx2(Action2.Open, {
                  value: "regenerate",
                  children: /* @__PURE__ */ jsx2(Action2.Card, { children: /* @__PURE__ */ jsx2(MfaBackupCodeCreateScreen, {}) })
                })] }),
                /* @__PURE__ */ jsx2(MfaAddMenu, {
                  secondFactorsAvailableToAdd,
                  onClick: () => setActionValue(null)
                })
              ]
            })
          })
        });
      };
      MfaPhoneCodeMenu = ({ phone, isDefault, hidePhoneCodeDeleteAction }) => {
        const { open } = useActionContext();
        const card = useCardState();
        const phoneId = phone.id;
        const actions = [!isDefault ? {
          label: localizationKeys("userProfile.start.mfaSection.phoneCode.actionLabel__setDefault"),
          onClick: () => phone.makeDefaultSecondFactor().catch((err) => handleError(err, [], card.setError))
        } : null, !hidePhoneCodeDeleteAction ? {
          label: localizationKeys("userProfile.start.mfaSection.phoneCode.destructiveActionLabel"),
          isDestructive: true,
          onClick: () => open(`remove-${phoneId}`)
        } : null].filter((a2) => a2 !== null);
        if (actions.length === 0) return null;
        return /* @__PURE__ */ jsx2(ThreeDotsMenu, { actions });
      };
      MfaBackupCodeMenu = () => {
        const { open } = useActionContext();
        return /* @__PURE__ */ jsx2(ThreeDotsMenu, { actions: [{
          label: localizationKeys("userProfile.start.mfaSection.backupCodes.actionLabel__regenerate"),
          onClick: () => open("regenerate")
        }].filter((a2) => a2 !== null) });
      };
      MfaTOTPMenu = () => {
        const { open } = useActionContext();
        return /* @__PURE__ */ jsx2(ThreeDotsMenu, { actions: [{
          label: localizationKeys("userProfile.start.mfaSection.totp.destructiveActionTitle"),
          isDestructive: true,
          onClick: () => open("remove-totp")
        }].filter((a2) => a2 !== null) });
      };
      strategiesMap = {
        phone_code: {
          icon: mobile_small_default,
          text: "SMS code",
          key: "phone_code"
        },
        totp: {
          icon: auth_app_default,
          text: "Authenticator application",
          key: "totp"
        },
        backup_code: {
          icon: dot_circle_horizontal_default,
          text: "Backup code",
          key: "backup_code"
        }
      };
      MfaAddMenu = (props) => {
        const { open } = useActionContext();
        const { secondFactorsAvailableToAdd, onClick } = props;
        const [selectedStrategy, setSelectedStrategy] = (0, import_react317.useState)();
        const strategies = import_react317.default.useMemo(() => secondFactorsAvailableToAdd.map((key) => {
          return strategiesMap[key] || null;
        }).filter((element) => element !== null), [secondFactorsAvailableToAdd]);
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [secondFactorsAvailableToAdd.length > 0 && /* @__PURE__ */ jsx2(Action2.Closed, {
          value: "multi-factor",
          children: /* @__PURE__ */ jsx2(ProfileSection.ActionMenu, {
            id: "mfa",
            triggerLocalizationKey: localizationKeys("userProfile.start.mfaSection.primaryButton"),
            onClick,
            children: strategies.map((method) => /* @__PURE__ */ jsx2(ProfileSection.ActionMenuItem, {
              id: method.key,
              localizationKey: method.text,
              leftIcon: method.icon,
              onClick: () => {
                setSelectedStrategy(method.key);
                open("multi-factor");
              }
            }, method.key))
          })
        }), /* @__PURE__ */ jsx2(Action2.Open, {
          value: "multi-factor",
          children: /* @__PURE__ */ jsx2(Action2.Card, { children: selectedStrategy && /* @__PURE__ */ jsx2(MfaScreen, { selectedStrategy }) })
        })] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/PasskeySection.js
  var import_react319, RemovePasskeyScreen, PasskeyScreen, UpdatePasskeyForm, PasskeySection, PasskeyItem, PasskeyInfo, ActiveDeviceMenu2, AddPasskeyButton;
  var init_PasskeySection = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/PasskeySection.js"() {
      init_localizationKeys();
      init_makeLocalizable();
      init_breakpoints();
      init_useFormControl();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_ActionRoot();
      init_Action();
      init_ThreeDotsMenu();
      init_Section();
      init_RemoveResourceForm2();
      init_getRelativeToNowDateKey();
      import_react319 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      RemovePasskeyScreen = (props) => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(RemovePasskeyForm, {
          onSuccess: close,
          onReset: close,
          ...props
        });
      };
      PasskeyScreen = (props) => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(UpdatePasskeyForm, {
          onSuccess: close,
          onReset: close,
          passkey: props.passkey
        });
      };
      UpdatePasskeyForm = withCardStateProvider((props) => {
        const { onSuccess, onReset, passkey } = props;
        const card = useCardState();
        const passkeyNameField = useFormControl("passkeyName", passkey.name || "", {
          type: "text",
          label: localizationKeys("formFieldLabel__passkeyName"),
          isRequired: true
        });
        const canSubmit = passkeyNameField.value.length > 1 && passkey.name !== passkeyNameField.value;
        const addEmail = async (e3) => {
          e3.preventDefault();
          return passkey.update({ name: passkeyNameField.value }).then(onSuccess).catch((e$1) => handleError(e$1, [passkeyNameField], card.setError));
        };
        return /* @__PURE__ */ jsx2(FormContainer, {
          headerTitle: localizationKeys("userProfile.passkeyScreen.title__rename"),
          headerSubtitle: localizationKeys("userProfile.passkeyScreen.subtitle__rename"),
          children: /* @__PURE__ */ jsxs2(Form$1.Root, {
            onSubmit: addEmail,
            children: [/* @__PURE__ */ jsx2(Form$1.ControlRow, {
              elementId: passkeyNameField.id,
              children: /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                ...passkeyNameField.props,
                autoComplete: "off"
              })
            }), /* @__PURE__ */ jsx2(FormButtons, {
              submitLabel: localizationKeys("userProfile.formButtonPrimary__save"),
              isDisabled: !canSubmit,
              onReset
            })]
          })
        });
      });
      PasskeySection = () => {
        const { user } = useUser();
        const [actionValue, setActionValue] = (0, import_react319.useState)(null);
        if (!user) return null;
        return /* @__PURE__ */ jsx2(ProfileSection.Root, {
          title: localizationKeys("userProfile.start.passkeysSection.title"),
          centered: false,
          id: "passkeys",
          children: /* @__PURE__ */ jsx2(Action2.Root, {
            value: actionValue,
            onChange: setActionValue,
            children: /* @__PURE__ */ jsxs2(ProfileSection.ItemList, {
              id: "passkeys",
              children: [user.passkeys.map((passkey) => {
                const passkeyId = passkey.id;
                return /* @__PURE__ */ jsxs2(import_react319.Fragment, { children: [
                  /* @__PURE__ */ jsx2(PasskeyItem, { ...passkey }, passkeyId),
                  /* @__PURE__ */ jsx2(Action2.Open, {
                    value: `remove-${passkeyId}`,
                    children: /* @__PURE__ */ jsx2(Action2.Card, {
                      variant: "destructive",
                      children: /* @__PURE__ */ jsx2(RemovePasskeyScreen, { passkey })
                    })
                  }),
                  /* @__PURE__ */ jsx2(Action2.Open, {
                    value: `rename-${passkeyId}`,
                    children: /* @__PURE__ */ jsx2(Action2.Card, { children: /* @__PURE__ */ jsx2(PasskeyScreen, { passkey }) })
                  })
                ] }, passkeyId);
              }), /* @__PURE__ */ jsx2(AddPasskeyButton, { onClick: () => setActionValue(null) })]
            })
          })
        });
      };
      PasskeyItem = (props) => {
        return /* @__PURE__ */ jsxs2(ProfileSection.Item, {
          id: "passkeys",
          hoverable: true,
          sx: { alignItems: "flex-start" },
          children: [/* @__PURE__ */ jsx2(PasskeyInfo, { ...props }), /* @__PURE__ */ jsx2(ActiveDeviceMenu2, { passkey: props })]
        });
      };
      PasskeyInfo = (props) => {
        const { name, createdAt, lastUsedAt } = props;
        const { t: t2 } = useLocalizations();
        return /* @__PURE__ */ jsx2(Flex2, {
          sx: (t$1) => ({
            width: "100%",
            overflow: "hidden",
            gap: t$1.space.$4,
            [mqu.sm]: { gap: t$1.space.$2 }
          }),
          children: /* @__PURE__ */ jsxs2(Col2, {
            align: "start",
            gap: 1,
            children: [
              /* @__PURE__ */ jsx2(Text2, { children: name }),
              /* @__PURE__ */ jsxs2(Text2, {
                colorScheme: "secondary",
                children: ["Created: ", t2(getRelativeToNowDateKey(createdAt))]
              }),
              lastUsedAt && /* @__PURE__ */ jsxs2(Text2, {
                colorScheme: "secondary",
                children: ["Last used: ", t2(getRelativeToNowDateKey(lastUsedAt))]
              })
            ]
          })
        });
      };
      ActiveDeviceMenu2 = ({ passkey }) => {
        const { open } = useActionContext();
        const passkeyId = passkey.id;
        return /* @__PURE__ */ jsx2(ThreeDotsMenu, { actions: [{
          label: localizationKeys("userProfile.start.passkeysSection.menuAction__rename"),
          onClick: () => open(`rename-${passkeyId}`)
        }, {
          label: localizationKeys("userProfile.start.passkeysSection.menuAction__destructive"),
          isDestructive: true,
          onClick: () => open(`remove-${passkeyId}`)
        }] });
      };
      AddPasskeyButton = ({ onClick }) => {
        const card = useCardState();
        const { isSatellite } = useClerk();
        const { user } = useUser();
        const createPasskey = useReverification(() => user?.createPasskey());
        const handleCreatePasskey = async () => {
          onClick?.();
          if (!user) return;
          try {
            await createPasskey();
          } catch (e3) {
            handleError(e3, [], card.setError);
          }
        };
        if (isSatellite) return null;
        return /* @__PURE__ */ jsx2(ProfileSection.ArrowButton, {
          id: "passkeys",
          localizationKey: localizationKeys("userProfile.start.passkeysSection.primaryButton"),
          onClick: handleCreatePasskey
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/PasswordForm.js
  var import_react321, generateSuccessPageText, PasswordForm;
  var init_PasswordForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/PasswordForm.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_passwordUtils();
      init_usePassword();
      init_makeLocalizable();
      init_useFormControl();
      init_contexts();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_InformationBox();
      import_react321 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      generateSuccessPageText = (userHasPassword, sessionSignOut) => {
        const localizedTexts = [];
        if (userHasPassword) localizedTexts.push(localizationKeys("userProfile.passwordPage.successMessage__update"));
        else localizedTexts.push(localizationKeys("userProfile.passwordPage.successMessage__set"));
        if (sessionSignOut) localizedTexts.push(localizationKeys("userProfile.passwordPage.successMessage__signOutOfOtherSessions"));
        return localizedTexts;
      };
      PasswordForm = withCardStateProvider((props) => {
        const { t: t2, locale } = useLocalizations();
        const { onSuccess, onReset } = props;
        const { user } = useUser();
        const updatePasswordWithReverification = useReverification((user$1, opts) => user$1.updatePassword(...opts));
        if (!user) return null;
        const { userSettings: { passwordSettings }, authConfig: { reverification } } = useEnvironment();
        const { session } = useSession();
        const title = user.passwordEnabled ? localizationKeys("userProfile.passwordPage.title__update") : localizationKeys("userProfile.passwordPage.title__set");
        const card = useCardState();
        const passwordEditDisabled = user.enterpriseAccounts.some((ea) => ea.active);
        const currentPasswordRequired = user.passwordEnabled && !reverification;
        const successPagePropsRef = (0, import_react321.useRef)({ title: localizationKeys("userProfile.passwordPage.title__set") });
        const currentPasswordField = useFormControl("currentPassword", "", {
          type: "password",
          label: localizationKeys("formFieldLabel__currentPassword"),
          isRequired: true
        });
        const passwordField = useFormControl("newPassword", "", {
          type: "password",
          label: localizationKeys("formFieldLabel__newPassword"),
          isRequired: true,
          validatePassword: true,
          buildErrorMessage: (errors) => createPasswordError(errors, {
            t: t2,
            locale,
            passwordSettings
          })
        });
        const confirmField = useFormControl("confirmPassword", "", {
          type: "password",
          label: localizationKeys("formFieldLabel__confirmPassword"),
          isRequired: true
        });
        const sessionsField = useFormControl("signOutOfOtherSessions", "", {
          type: "checkbox",
          label: localizationKeys("formFieldLabel__signOutOfOtherSessions"),
          defaultChecked: true
        });
        const { setConfirmPasswordFeedback, isPasswordMatch } = useConfirmPassword({
          passwordField,
          confirmPasswordField: confirmField
        });
        const canSubmit = (currentPasswordRequired ? currentPasswordField.value && isPasswordMatch : isPasswordMatch) && passwordField.value && confirmField.value;
        const validateForm = () => {
          if (passwordField.value) setConfirmPasswordFeedback(confirmField.value);
        };
        const updatePassword = async () => {
          if (!canSubmit) return;
          try {
            successPagePropsRef.current = {
              title: user.passwordEnabled ? localizationKeys("userProfile.passwordPage.title__update") : localizationKeys("userProfile.passwordPage.title__set"),
              text: generateSuccessPageText(user.passwordEnabled, !!sessionsField.checked)
            };
            await updatePasswordWithReverification(user, [{
              newPassword: passwordField.value,
              signOutOfOtherSessions: sessionsField.checked,
              currentPassword: currentPasswordRequired ? currentPasswordField.value : void 0
            }]);
            onSuccess();
          } catch (e3) {
            handleError(e3, [
              currentPasswordField,
              passwordField,
              confirmField
            ], card.setError);
          }
        };
        return /* @__PURE__ */ jsxs2(FormContainer, {
          headerTitle: title,
          children: [passwordEditDisabled && /* @__PURE__ */ jsx2(InformationBox, { message: localizationKeys("userProfile.passwordPage.readonly") }), /* @__PURE__ */ jsxs2(Form$1.Root, {
            onSubmit: updatePassword,
            onBlur: validateForm,
            children: [
              /* @__PURE__ */ jsx2("input", {
                readOnly: true,
                "data-testid": "hidden-identifier",
                id: "identifier-field",
                name: "identifier",
                value: session?.publicUserData.identifier || "",
                style: { display: "none" }
              }),
              currentPasswordRequired && /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: currentPasswordField.id,
                children: /* @__PURE__ */ jsx2(Form$1.PasswordInput, {
                  ...currentPasswordField.props,
                  minLength: 6,
                  isRequired: true,
                  autoFocus: true,
                  isDisabled: passwordEditDisabled
                })
              }),
              /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: passwordField.id,
                children: /* @__PURE__ */ jsx2(Form$1.PasswordInput, {
                  ...passwordField.props,
                  minLength: 6,
                  isRequired: true,
                  autoFocus: !user.passwordEnabled,
                  isDisabled: passwordEditDisabled,
                  autoComplete: "new-password"
                })
              }),
              /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: confirmField.id,
                children: /* @__PURE__ */ jsx2(Form$1.PasswordInput, {
                  ...confirmField.props,
                  onChange: (e3) => {
                    if (e3.target.value) setConfirmPasswordFeedback(e3.target.value);
                    return confirmField.props.onChange(e3);
                  },
                  isRequired: true,
                  isDisabled: passwordEditDisabled,
                  autoComplete: "new-password"
                })
              }),
              /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: sessionsField.id,
                children: /* @__PURE__ */ jsx2(Form$1.Checkbox, {
                  ...sessionsField.props,
                  description: localizationKeys("userProfile.passwordPage.checkboxInfoText__signOutOfOtherSessions"),
                  isDisabled: passwordEditDisabled
                })
              }),
              passwordEditDisabled ? /* @__PURE__ */ jsx2(FormButtonContainer, { children: /* @__PURE__ */ jsx2(Form$1.ResetButton, {
                localizationKey: localizationKeys("userProfile.formButtonReset"),
                block: false,
                onClick: onReset
              }) }) : /* @__PURE__ */ jsx2(FormButtons, {
                isDisabled: !canSubmit,
                onReset
              })
            ]
          })]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/PasswordSection.js
  var PasswordScreen, PasswordSection;
  var init_PasswordSection = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/PasswordSection.js"() {
      init_localizationKeys();
      init_customizables();
      init_ActionRoot();
      init_Action();
      init_Section();
      init_PasswordForm();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      PasswordScreen = () => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(PasswordForm, {
          onSuccess: close,
          onReset: close
        });
      };
      PasswordSection = () => {
        const { user } = useUser();
        if (!user) return null;
        const { passwordEnabled } = user;
        return /* @__PURE__ */ jsx2(ProfileSection.Root, {
          centered: false,
          title: localizationKeys("userProfile.start.passwordSection.title"),
          id: "password",
          children: /* @__PURE__ */ jsxs2(Action2.Root, { children: [/* @__PURE__ */ jsx2(Action2.Closed, {
            value: "edit",
            children: /* @__PURE__ */ jsxs2(ProfileSection.Item, {
              id: "password",
              sx: (t2) => ({
                paddingInlineStart: !passwordEnabled ? "0" : void 0,
                paddingTop: t2.space.$0x25,
                paddingBottom: t2.space.$0x25
              }),
              children: [passwordEnabled && /* @__PURE__ */ jsx2(Text2, {
                variant: "h2",
                children: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"
              }), /* @__PURE__ */ jsx2(Action2.Trigger, {
                value: "edit",
                children: /* @__PURE__ */ jsx2(ProfileSection.Button, {
                  id: "password",
                  localizationKey: passwordEnabled ? localizationKeys("userProfile.start.passwordSection.primaryButton__updatePassword") : localizationKeys("userProfile.start.passwordSection.primaryButton__setPassword")
                })
              })]
            })
          }), /* @__PURE__ */ jsx2(Action2.Open, {
            value: "edit",
            children: /* @__PURE__ */ jsx2(Action2.Card, { children: /* @__PURE__ */ jsx2(PasswordScreen, {}) })
          })] })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/SecurityPage.js
  var SecurityPage;
  var init_SecurityPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/SecurityPage.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_UserProfile();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_mfa();
      init_ActiveDevicesSection();
      init_DeleteSection();
      init_MfaSection();
      init_PasskeySection();
      init_PasswordSection();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      SecurityPage = withCardStateProvider(() => {
        const { attributes, instanceIsPasswordBased } = useEnvironment().userSettings;
        const card = useCardState();
        const { user } = useUser();
        const { shouldAllowIdentificationCreation } = useUserProfileContext();
        const showPassword = instanceIsPasswordBased;
        const showPasskey = attributes.passkey?.enabled && shouldAllowIdentificationCreation;
        const showMfa = getSecondFactors(attributes).length > 0;
        const showDelete = user?.deleteSelfEnabled;
        return /* @__PURE__ */ jsx2(Col2, {
          elementDescriptor: descriptors.page,
          sx: (t2) => ({ gap: t2.space.$8 }),
          children: /* @__PURE__ */ jsxs2(Col2, {
            elementDescriptor: descriptors.profilePage,
            elementId: descriptors.profilePage.setId("security"),
            children: [
              /* @__PURE__ */ jsx2(Header.Root, { children: /* @__PURE__ */ jsx2(Header.Title, {
                localizationKey: localizationKeys("userProfile.start.headerTitle__security"),
                sx: (t2) => ({ marginBottom: t2.space.$4 }),
                textVariant: "h2"
              }) }),
              /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
              showPassword && /* @__PURE__ */ jsx2(PasswordSection, {}),
              showPasskey && /* @__PURE__ */ jsx2(PasskeySection, {}),
              showMfa && /* @__PURE__ */ jsx2(MfaSection, {}),
              /* @__PURE__ */ jsx2(ActiveDevicesSection, {}),
              showDelete && /* @__PURE__ */ jsx2(DeleteSection, {})
            ]
          })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/getValidReactChildren.js
  function getValidChildren(children) {
    return import_react325.default.Children.toArray(children).filter((child) => import_react325.default.isValidElement(child));
  }
  var import_react325;
  var init_getValidReactChildren = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/getValidReactChildren.js"() {
      import_react325 = __toESM(require_react(), 1);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Tabs.js
  var import_react326, TabsContext, useTabsContext, TabsContextProvider, Tabs, TabsList, Tab, TabPanels, TabPanel;
  var init_Tabs = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Tabs.js"() {
      init_makeLocalizable();
      init_elementDescriptors();
      init_customizables();
      init_getValidReactChildren();
      import_react326 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      [TabsContext, useTabsContext] = createContextAndHook("TabsContext");
      TabsContextProvider = (props) => {
        const ctxValue = import_react326.default.useMemo(() => ({ value: props.value }), [props.value.selectedIndex, props.value.setFocusedIndex]);
        return /* @__PURE__ */ jsx2(TabsContext.Provider, {
          value: ctxValue,
          children: props.children
        });
      };
      Tabs = (props) => {
        const { value, onChange, defaultIndex = 0, children } = props;
        const [selectedIndex, setSelectedIndex] = import_react326.default.useState(defaultIndex);
        const [focusedIndex, setFocusedIndex] = import_react326.default.useState(-1);
        const handleSelectedIndexChange = import_react326.default.useCallback((newIndex) => {
          if (onChange) onChange(newIndex);
          else setSelectedIndex(newIndex);
        }, [onChange]);
        return /* @__PURE__ */ jsx2(TabsContextProvider, {
          value: {
            selectedIndex: value !== void 0 ? value : selectedIndex,
            setSelectedIndex: handleSelectedIndexChange,
            focusedIndex,
            setFocusedIndex
          },
          children
        });
      };
      TabsList = (props) => {
        const { children, sx, ...rest } = props;
        const { setSelectedIndex, selectedIndex, setFocusedIndex } = useTabsContext();
        let index3 = 0;
        const childrenWithProps = getValidChildren(children).map((child) => {
          const el2 = import_react326.default.cloneElement(child, { tabIndex: child.type === Tab ? index3 : void 0 });
          index3++;
          return el2;
        });
        const onKeyDown = (e3) => {
          const tabs = childrenWithProps.filter((child) => !child.props?.isDisabled && child.type === Tab).map((child) => child.props.tabIndex);
          const tabsLenth = tabs.length;
          const current = tabs.indexOf(selectedIndex);
          if (e3.key === "ArrowLeft") {
            const prev3 = current === 0 ? tabs[tabsLenth - 1] : tabs[current - 1];
            setFocusedIndex(prev3);
            return setSelectedIndex(prev3);
          }
          if (e3.key === "ArrowRight") {
            const next2 = tabsLenth - 1 === current ? tabs[0] : tabs[current + 1];
            setFocusedIndex(next2);
            return setSelectedIndex(next2);
          }
        };
        return /* @__PURE__ */ jsx2(Flex2, {
          elementDescriptor: descriptors.tabListContainer,
          onKeyDown,
          role: "tablist",
          sx: [(t2) => ({
            borderBottomStyle: t2.borderStyles.$solid,
            borderBottomWidth: t2.borderWidths.$normal,
            borderColor: t2.colors.$borderAlpha100
          }), sx],
          ...rest,
          children: childrenWithProps
        });
      };
      Tab = (props) => {
        const { t: t2 } = useLocalizations();
        const { children, sx, tabIndex, isDisabled, localizationKey, ...rest } = props;
        if (tabIndex === void 0) throw new Error("Tab component must be a direct child of TabList.");
        const { setSelectedIndex, selectedIndex, focusedIndex, setFocusedIndex } = useTabsContext();
        const buttonRef = import_react326.default.useRef(null);
        const isActive = tabIndex === selectedIndex;
        const isFocused = tabIndex === focusedIndex;
        const onClick = () => {
          setSelectedIndex(tabIndex);
          setFocusedIndex(-1);
        };
        import_react326.default.useEffect(() => {
          if (isDisabled && tabIndex === 0) setSelectedIndex(tabIndex + 1);
        }, []);
        import_react326.default.useEffect(() => {
          if (buttonRef.current && isFocused) buttonRef.current.focus();
        }, [isFocused]);
        return /* @__PURE__ */ jsxs2(Button2, {
          elementDescriptor: descriptors.tabButton,
          onClick,
          isDisabled,
          tabIndex: isActive ? 0 : -1,
          variant: "ghost",
          "aria-selected": isActive,
          id: `cl-tab-${tabIndex}`,
          "aria-controls": `cl-tabpanel-${tabIndex}`,
          role: "tab",
          ref: buttonRef,
          sx: [(t$1) => ({
            background: t$1.colors.$transparent,
            color: isActive ? t$1.colors.$primary500 : t$1.colors.$neutralAlpha700,
            gap: t$1.space.$1x5,
            fontWeight: t$1.fontWeights.$medium,
            borderBottomWidth: isActive ? t$1.borderWidths.$normal : 0,
            borderBottomStyle: t$1.borderStyles.$solid,
            borderBottomColor: t$1.colors.$primary500,
            marginBottom: isActive ? "-1px" : 0,
            borderRadius: 0,
            padding: `${t$1.space.$2x5} ${t$1.space.$0x25}`,
            width: "fit-content",
            "&:hover, :focus": {
              backgroundColor: t$1.colors.$transparent,
              boxShadow: "none"
            }
          }), sx],
          ...rest,
          children: [t2(localizationKey), children]
        });
      };
      TabPanels = (props) => {
        const { children } = props;
        return /* @__PURE__ */ jsx2(Fragment3, { children: getValidChildren(children).map((child, index3) => import_react326.default.cloneElement(child, { tabIndex: index3 })) });
      };
      TabPanel = (props) => {
        const { tabIndex, sx, children, ...rest } = props;
        if (tabIndex === void 0) throw new Error("TabPanel component must be a direct child of TabPanels.");
        const { selectedIndex } = useTabsContext();
        if (!(tabIndex === selectedIndex)) return null;
        return /* @__PURE__ */ jsx2(Flex2, {
          elementDescriptor: descriptors.tabPanel,
          id: `cl-tabpanel-${tabIndex}`,
          role: "tabpanel",
          tabIndex: 0,
          "aria-labelledby": `cl-tab-${tabIndex}`,
          sx: [{ outline: 0 }, sx],
          ...rest,
          children
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useTabState.js
  var import_react328, useTabState;
  var init_useTabState = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useTabState.js"() {
      init_RouteContext();
      import_react328 = __toESM(require_react(), 1);
      useTabState = (tabMap2, defaultTab = 0) => {
        const router = useRouter();
        const getInitialTab = () => {
          const tab = router.queryParams.tab;
          const tabIndex = Object.entries(tabMap2).find(([_3, value]) => value === tab)?.[0];
          return tabIndex ? parseInt(tabIndex, 10) : defaultTab;
        };
        const [selectedTab, setSelectedTab] = (0, import_react328.useState)(getInitialTab());
        (0, import_react328.useEffect)(() => {
          const currentTab = getInitialTab();
          if (currentTab !== selectedTab) setSelectedTab(currentTab);
        }, [router.queryParams.tab]);
        const handleTabChange = (index3) => {
          setSelectedTab(index3);
          const currentPath = router.currentPath;
          router.navigate(currentPath, { searchParams: new URLSearchParams({ tab: tabMap2[index3] || "" }) });
        };
        return {
          selectedTab,
          handleTabChange
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/truncateTextWithEndVisible.js
  function truncateWithEndVisible(str, maxLength = 20, endChars = 5) {
    const ELLIPSIS = "...";
    const ELLIPSIS_LENGTH = 3;
    if (!str || str.length <= maxLength) return str;
    if (maxLength <= endChars + ELLIPSIS_LENGTH) return ELLIPSIS + str.slice(-endChars);
    const chars = Array.from(str);
    if (chars.length <= maxLength) return str;
    const beginLength = maxLength - endChars - ELLIPSIS_LENGTH;
    const beginPortion = chars.slice(0, beginLength).join("");
    const endPortion = chars.slice(-endChars).join("");
    return beginPortion + ELLIPSIS + endPortion;
  }
  var init_truncateTextWithEndVisible = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/truncateTextWithEndVisible.js"() {
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/formatDate.js
  function formatDate(date, format2 = "long", locale = "en-US") {
    const options2 = {
      month: format2 === "short" ? "short" : "long",
      ...format2 !== "monthyear" && { day: "numeric" },
      ...format2 !== "short" && { year: "numeric" }
    };
    return new Intl.DateTimeFormat(locale, options2).format(date);
  }
  var init_formatDate = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/formatDate.js"() {
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/caret-left.js
  function _extends48() {
    return _extends48 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends48.apply(null, arguments);
  }
  var React$150, _path54, SvgCaretLeft, caret_left_default;
  var init_caret_left = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/caret-left.js"() {
      React$150 = __toESM(require_react(), 1);
      SvgCaretLeft = function SvgCaretLeft$1(props) {
        return /* @__PURE__ */ React$150.createElement("svg", _extends48({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path54 || (_path54 = /* @__PURE__ */ React$150.createElement("path", {
          fillRule: "evenodd",
          d: "M9.55 4.24a.75.75 0 0 1-.04 1.06L6.604 7.998l2.655 2.45.021.022.25.25a.75.75 0 1 1-1.06 1.06l-.24-.24-3.239-2.989a.75.75 0 0 1-.001-1.1l3.5-3.25a.75.75 0 0 1 1.06.039",
          clipRule: "evenodd"
        })));
      };
      caret_left_default = SvgCaretLeft;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/caret-right.js
  function _extends49() {
    return _extends49 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends49.apply(null, arguments);
  }
  var React$151, _path55, SvgCaretRight, caret_right_default;
  var init_caret_right = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/caret-right.js"() {
      React$151 = __toESM(require_react(), 1);
      SvgCaretRight = function SvgCaretRight$1(props) {
        return /* @__PURE__ */ React$151.createElement("svg", _extends49({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "currentColor",
          viewBox: "0 0 16 16"
        }, props), _path55 || (_path55 = /* @__PURE__ */ React$151.createElement("path", {
          fillRule: "evenodd",
          d: "M6.45 11.76a.75.75 0 0 1 .04-1.06l2.906-2.698-2.655-2.45-.021-.022-.25-.25a.75.75 0 0 1 1.06-1.06l.24.24 3.239 2.989a.75.75 0 0 1 .001 1.1l-3.5 3.25a.75.75 0 0 1-1.06-.039",
          clipRule: "evenodd"
        })));
      };
      caret_right_default = SvgCaretRight;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/range.js
  var range;
  var init_range = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/range.js"() {
      range = (min2, max2) => Array.from({ length: max2 - min2 + 1 }, (_3, i2) => min2 + i2);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Pagination.js
  var PageButton, RowInformation, shouldShowPageButton, shouldShowDots, ThreeDots, Pagination;
  var init_Pagination = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Pagination.js"() {
      init_localizationKeys();
      init_caret_left();
      init_caret_right();
      init_makeLocalizable();
      init_breakpoints();
      init_elementDescriptors();
      init_customizables();
      init_range();
      init_emotion_react_jsx_runtime_browser_esm();
      PageButton = (props) => {
        const { sx, isActive, icon: icon2, children, ...rest } = props;
        return /* @__PURE__ */ jsxs2(Button2, {
          size: "xs",
          variant: "outline",
          sx: (t2) => [{
            color: t2.colors.$colorForeground,
            opacity: isActive ? 1 : t2.opacity.$inactive,
            padding: `${t2.space.$0x5} ${t2.space.$0x5}`
          }, sx],
          elementDescriptor: descriptors.paginationButton,
          ...rest,
          children: [icon2 && /* @__PURE__ */ jsx2(Icon, {
            size: "md",
            elementDescriptor: descriptors.paginationButtonIcon,
            icon: props.icon
          }), children]
        });
      };
      RowInformation = (props) => {
        const { rowInfo: { startingRow, endingRow, allRowsCount } } = props;
        return /* @__PURE__ */ jsxs2(Text2, { children: [
          /* @__PURE__ */ jsx2(Text2, {
            as: "span",
            elementDescriptor: descriptors.paginationRowText,
            elementId: descriptors.paginationRowText?.setId("displaying"),
            sx: (t2) => ({ opacity: t2.opacity.$inactive }),
            localizationKey: localizationKeys("paginationRowText__displaying"),
            colorScheme: "secondary"
          }),
          " ",
          /* @__PURE__ */ jsx2(Text2, {
            as: "span",
            elementDescriptor: descriptors.paginationRowText,
            elementId: descriptors.paginationRowText?.setId("rowsCount"),
            sx: (t2) => ({ fontWeight: t2.fontWeights.$medium }),
            children: startingRow === endingRow && [0, 1].includes(startingRow) ? startingRow : `${startingRow} \u2013 ${endingRow}`
          }),
          " ",
          /* @__PURE__ */ jsx2(Text2, {
            as: "span",
            elementDescriptor: descriptors.paginationRowText,
            elementId: descriptors.paginationRowText?.setId("displaying"),
            sx: (t2) => ({ opacity: t2.opacity.$inactive }),
            localizationKey: localizationKeys("paginationRowText__of")
          }),
          " ",
          /* @__PURE__ */ jsx2(Text2, {
            as: "span",
            elementDescriptor: descriptors.paginationRowText,
            elementId: descriptors.paginationRowText?.setId("allRowsCount"),
            children: allRowsCount
          })
        ] });
      };
      shouldShowPageButton = (currentPage, pageToShow, siblingCount, pageCount) => {
        return Math.abs(currentPage - pageToShow) <= siblingCount || pageToShow === pageCount || pageToShow === 1;
      };
      shouldShowDots = (currentPage, pageToShow, siblingCount) => {
        return Math.abs(currentPage - pageToShow) === siblingCount + 1;
      };
      ThreeDots = () => /* @__PURE__ */ jsx2(Flex2, {
        center: true,
        children: /* @__PURE__ */ jsx2(Text2, {
          colorScheme: "secondary",
          children: "..."
        })
      });
      Pagination = (props) => {
        const { page, count: count2, rowInfo, siblingCount = 1, onChange } = props;
        const { t: t2 } = useLocalizations();
        return /* @__PURE__ */ jsxs2(Flex2, {
          justify: rowInfo ? "between" : "center",
          align: "center",
          sx: (t$1) => ({
            fontSize: t$1.fontSizes.$sm,
            "*": { fontSize: "inherit" },
            [mqu.sm]: {
              flexDirection: "column",
              gap: t$1.space.$2
            }
          }),
          children: [rowInfo && /* @__PURE__ */ jsx2(RowInformation, { rowInfo }), /* @__PURE__ */ jsxs2(Flex2, {
            gap: 2,
            align: "center",
            sx: { display: "inline-flex" },
            children: [
              /* @__PURE__ */ jsx2(PageButton, {
                isDisabled: page <= 1,
                icon: caret_left_default,
                "aria-label": t2(localizationKeys("paginationButton__previous")),
                onClick: () => {
                  onChange?.(page - 1);
                }
              }),
              range(1, count2).map((p2) => {
                if (shouldShowPageButton(page, p2, siblingCount, count2)) return /* @__PURE__ */ jsx2(PageButton, {
                  isActive: p2 === page,
                  variant: "ghost",
                  onClick: () => {
                    onChange?.(p2);
                  },
                  children: p2
                }, p2);
                if (shouldShowDots(page, p2, siblingCount)) return /* @__PURE__ */ jsx2(ThreeDots, {}, p2);
                return null;
              }),
              /* @__PURE__ */ jsx2(PageButton, {
                isDisabled: page >= count2 || page < 1,
                icon: caret_right_default,
                "aria-label": t2(localizationKeys("paginationButton__next")),
                onClick: () => {
                  onChange?.(page + 1);
                }
              })
            ]
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/DataTable.js
  var import_react329, DataTable, DataTableEmptyRow, DataTableRow;
  var init_DataTable = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/DataTable.js"() {
      init_elementDescriptors();
      init_customizables();
      init_Pagination();
      import_react329 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      DataTable = (props) => {
        const { headers, page, onPageChange, rows, isLoading, itemCount, itemsPerPage, pageCount, emptyStateLocalizationKey } = props;
        const startingRow = itemCount > 0 ? Math.max(0, (page - 1) * itemsPerPage) + 1 : 0;
        const endingRow = Math.min(page * itemsPerPage, itemCount);
        return /* @__PURE__ */ jsxs2(Col2, {
          gap: 4,
          sx: { width: "100%" },
          children: [/* @__PURE__ */ jsx2(Flex2, {
            sx: (t2) => ({
              overflowX: "auto",
              padding: t2.space.$1
            }),
            children: /* @__PURE__ */ jsxs2(Table2, {
              sx: { tableLayout: "fixed" },
              children: [/* @__PURE__ */ jsx2(Thead2, { children: /* @__PURE__ */ jsx2(Tr2, { children: headers.map((h2, index3) => /* @__PURE__ */ jsx2(Th2, {
                elementDescriptor: descriptors.tableHead,
                localizationKey: h2.key,
                sx: [{ width: index3 === 0 ? "auto" : "25%" }, h2.align ? { textAlign: h2.align } : void 0]
              }, index3)) }) }), /* @__PURE__ */ jsx2(Tbody2, { children: isLoading ? /* @__PURE__ */ jsx2(Tr2, { children: /* @__PURE__ */ jsx2(Td2, {
                colSpan: 4,
                children: /* @__PURE__ */ jsx2(Spinner, {
                  colorScheme: "primary",
                  sx: {
                    margin: "auto",
                    display: "block"
                  },
                  elementDescriptor: descriptors.spinner
                })
              }) }) : !rows.length ? /* @__PURE__ */ jsx2(DataTableEmptyRow, { localizationKey: emptyStateLocalizationKey }, "empty") : rows })]
            })
          }), pageCount > 1 && /* @__PURE__ */ jsx2(Pagination, {
            count: pageCount,
            page,
            onChange: onPageChange,
            siblingCount: 1,
            rowInfo: {
              allRowsCount: itemCount,
              startingRow,
              endingRow
            }
          })]
        });
      };
      DataTableEmptyRow = (props) => {
        return /* @__PURE__ */ jsx2(Tr2, { children: /* @__PURE__ */ jsx2(Td2, {
          colSpan: 4,
          children: /* @__PURE__ */ jsx2(Text2, {
            localizationKey: props.localizationKey,
            sx: {
              margin: "auto",
              display: "block",
              width: "fit-content"
            }
          })
        }) });
      };
      DataTableRow = (props) => {
        return /* @__PURE__ */ jsx2(Tr2, {
          ...props,
          sx: (t2) => ({ ":hover": { backgroundColor: t2.colors.$neutralAlpha50 } })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/PaymentAttempts/PaymentAttemptsList.js
  var PaymentAttemptsList, PaymentAttemptsListRow;
  var init_PaymentAttemptsList = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/PaymentAttempts/PaymentAttemptsList.js"() {
      init_RouteContext();
      init_localizationKeys();
      init_SubscriberType();
      init_Plans();
      init_customizables();
      init_truncateTextWithEndVisible();
      init_formatDate();
      init_DataTable();
      init_emotion_react_jsx_runtime_browser_esm();
      PaymentAttemptsList = () => {
        const { data: paymentAttempts, isLoading, count: count2 } = usePaymentAttempts2();
        const localizationRoot = useSubscriberTypeLocalizationRoot();
        return /* @__PURE__ */ jsx2(DataTable, {
          page: 1,
          onPageChange: (_3) => {
          },
          itemCount: count2,
          pageCount: 1,
          itemsPerPage: 10,
          isLoading,
          emptyStateLocalizationKey: localizationKeys(`${localizationRoot}.billingPage.paymentHistorySection.empty`),
          headers: [
            { key: localizationKeys(`${localizationRoot}.billingPage.paymentHistorySection.tableHeader__date`) },
            { key: localizationKeys(`${localizationRoot}.billingPage.paymentHistorySection.tableHeader__amount`) },
            { key: localizationKeys(`${localizationRoot}.billingPage.paymentHistorySection.tableHeader__status`) }
          ],
          rows: paymentAttempts.map((i2) => /* @__PURE__ */ jsx2(PaymentAttemptsListRow, { paymentAttempt: i2 }, i2.id))
        });
      };
      PaymentAttemptsListRow = ({ paymentAttempt }) => {
        const { id, amount, failedAt, paidAt, updatedAt, status } = paymentAttempt;
        const { navigate } = useRouter();
        const handleClick = () => {
          navigate(`payment-attempt/${id}`);
        };
        return /* @__PURE__ */ jsxs2(DataTableRow, {
          onClick: handleClick,
          children: [
            /* @__PURE__ */ jsxs2(Td2, {
              sx: { cursor: "pointer" },
              children: [/* @__PURE__ */ jsx2(Text2, {
                variant: "subtitle",
                children: formatDate(paidAt || failedAt || updatedAt, "long")
              }), /* @__PURE__ */ jsx2(Text2, {
                colorScheme: "secondary",
                variant: "caption",
                truncate: true,
                sx: (t2) => ({ marginTop: t2.space.$0x5 }),
                children: truncateWithEndVisible(id)
              })]
            }),
            /* @__PURE__ */ jsx2(Td2, {
              sx: { cursor: "pointer" },
              children: /* @__PURE__ */ jsxs2(Text2, { children: [amount.currencySymbol, amount.amountFormatted] })
            }),
            /* @__PURE__ */ jsx2(Td2, { children: /* @__PURE__ */ jsx2(Badge2, {
              colorScheme: status === "paid" ? "success" : status === "failed" ? "danger" : "primary",
              sx: { textTransform: "capitalize" },
              children: status
            }) })
          ]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/DevOnly.js
  var DevOnly;
  var init_DevOnly = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/DevOnly.js"() {
      init_react();
      DevOnly = ({ children }) => {
        if (useClerk().instanceType !== "development") return null;
        return children;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/PaymentMethods/PaymentElementSkeleton.js
  var SkeletonLine, SkeletonInput, LineGroup, PaymentElementSkeleton;
  var init_PaymentElementSkeleton = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/PaymentMethods/PaymentElementSkeleton.js"() {
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      SkeletonLine = (props) => {
        return /* @__PURE__ */ jsx2(Box2, { sx: [(t2) => ({
          height: t2.space.$2,
          width: "100%",
          borderRadius: t2.radii.$md,
          background: t2.colors.$neutralAlpha100
        }), props.sx] });
      };
      SkeletonInput = () => {
        return /* @__PURE__ */ jsx2(SkeletonLine, { sx: (t2) => ({
          height: t2.space.$10,
          width: "100%"
        }) });
      };
      LineGroup = (props) => {
        return /* @__PURE__ */ jsx2(Flex2, {
          direction: "col",
          gap: 2,
          children: props.children
        });
      };
      PaymentElementSkeleton = () => {
        return /* @__PURE__ */ jsx2(Box2, {
          "aria-label": "Loading...",
          sx: {
            position: "relative",
            minHeight: 0,
            flex: 1,
            overflowY: "auto"
          },
          children: /* @__PURE__ */ jsxs2(Flex2, {
            direction: "col",
            gap: 5,
            children: [
              /* @__PURE__ */ jsxs2(LineGroup, { children: [/* @__PURE__ */ jsx2(SkeletonLine, { sx: (t2) => ({
                height: t2.space.$3,
                width: t2.sizes.$24
              }) }), /* @__PURE__ */ jsx2(SkeletonInput, {})] }),
              /* @__PURE__ */ jsxs2(Grid2, {
                columns: 2,
                gap: 4,
                children: [/* @__PURE__ */ jsxs2(LineGroup, { children: [/* @__PURE__ */ jsx2(SkeletonLine, { sx: (t2) => ({
                  height: t2.space.$3,
                  width: t2.sizes.$20
                }) }), /* @__PURE__ */ jsx2(SkeletonInput, {})] }), /* @__PURE__ */ jsxs2(LineGroup, { children: [/* @__PURE__ */ jsx2(SkeletonLine, { sx: (t2) => ({
                  height: t2.space.$3,
                  width: t2.sizes.$24
                }) }), /* @__PURE__ */ jsx2(SkeletonInput, {})] })]
              }),
              /* @__PURE__ */ jsxs2(LineGroup, { children: [/* @__PURE__ */ jsx2(SkeletonLine, { sx: (t2) => ({
                height: t2.space.$3,
                width: t2.sizes.$16
              }) }), /* @__PURE__ */ jsx2(SkeletonInput, {})] }),
              /* @__PURE__ */ jsxs2(LineGroup, { children: [
                /* @__PURE__ */ jsx2(SkeletonLine, {}),
                /* @__PURE__ */ jsx2(SkeletonLine, {}),
                /* @__PURE__ */ jsx2(SkeletonLine, { sx: { width: "66.666667%" } })
              ] })
            ]
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/PaymentMethods/AddPaymentMethod.js
  var import_react331, useStripeAppearance, AddPaymentMethodContext, useAddPaymentMethodContext, AddPaymentMethodRoot, AddPaymentMethodLoading, AddPaymentMethodReady, Root4, useSetAndSync, FormHeader, FormSubtitle, FormButton, AddPaymentMethodForm;
  var init_AddPaymentMethod = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/PaymentMethods/AddPaymentMethod.js"() {
      init_localizationKeys();
      init_SubscriberType();
      init_makeLocalizable();
      init_cssVariables();
      init_elementDescriptors();
      init_AppearanceContext();
      init_contexts();
      init_customizables();
      init_Card();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_PaymentElementSkeleton();
      import_react331 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      useStripeAppearance = (node2) => {
        const theme = useAppearance().parsedInternalTheme;
        return (0, import_react331.useMemo)(() => {
          if (!node2) return;
          const { colors: colors4, fontWeights: fontWeights2, fontSizes: fontSizes2, radii: radii2, space: space2 } = theme;
          return {
            colorPrimary: resolveComputedCSSColor(node2, colors4.$primary500, colors4.$colorBackground),
            colorBackground: resolveComputedCSSColor(node2, colors4.$colorInput, colors4.$colorBackground),
            colorText: resolveComputedCSSColor(node2, colors4.$colorForeground, colors4.$colorBackground),
            colorTextSecondary: resolveComputedCSSColor(node2, colors4.$colorMutedForeground, colors4.$colorBackground),
            colorSuccess: resolveComputedCSSColor(node2, colors4.$success500, colors4.$colorBackground),
            colorDanger: resolveComputedCSSColor(node2, colors4.$danger500, colors4.$colorBackground),
            colorWarning: resolveComputedCSSColor(node2, colors4.$warning500, colors4.$colorBackground),
            fontWeightNormal: resolveComputedCSSProperty(node2, "font-weight", fontWeights2.$normal.toString()),
            fontWeightMedium: resolveComputedCSSProperty(node2, "font-weight", fontWeights2.$medium.toString()),
            fontWeightBold: resolveComputedCSSProperty(node2, "font-weight", fontWeights2.$bold.toString()),
            fontSizeXl: resolveComputedCSSProperty(node2, "font-size", fontSizes2.$xl),
            fontSizeLg: resolveComputedCSSProperty(node2, "font-size", fontSizes2.$lg),
            fontSizeSm: resolveComputedCSSProperty(node2, "font-size", fontSizes2.$md),
            fontSizeXs: resolveComputedCSSProperty(node2, "font-size", fontSizes2.$sm),
            borderRadius: resolveComputedCSSProperty(node2, "border-radius", radii2.$lg),
            spacingUnit: resolveComputedCSSProperty(node2, "padding", space2.$1)
          };
        }, [theme, node2]);
      };
      [AddPaymentMethodContext, useAddPaymentMethodContext] = createContextAndHook("AddPaymentMethodRoot");
      AddPaymentMethodRoot = ({ children, checkout, ...rest }) => {
        const subscriberType = useSubscriberTypeContext();
        const stripeAppearanceNode = (0, import_react331.useRef)(null);
        const { t: t2 } = useLocalizations();
        const [headerTitle, setHeaderTitle] = (0, import_react331.useState)(void 0);
        const [headerSubtitle, setHeaderSubtitle] = (0, import_react331.useState)(void 0);
        const [submitLabel, setSubmitLabel] = (0, import_react331.useState)(void 0);
        const stripeAppearance = useStripeAppearance(stripeAppearanceNode.current);
        return /* @__PURE__ */ jsxs2(AddPaymentMethodContext.Provider, {
          value: { value: {
            headerTitle,
            headerSubtitle,
            submitLabel,
            setHeaderTitle,
            setHeaderSubtitle,
            setSubmitLabel,
            checkout,
            ...rest
          } },
          children: [/* @__PURE__ */ jsx2("div", {
            ref: stripeAppearanceNode,
            style: { display: "none" }
          }), /* @__PURE__ */ jsx2(PaymentElementProvider, {
            checkout,
            for: subscriberType,
            stripeAppearance,
            paymentDescription: t2(localizationKeys(checkout?.planPeriod === "month" ? "billing.paymentMethod.applePayDescription.monthly" : "billing.paymentMethod.applePayDescription.annual")),
            children
          })]
        });
      };
      AddPaymentMethodLoading = (props) => {
        const { isProviderReady } = usePaymentElement();
        if (!isProviderReady) return props.children;
        return null;
      };
      AddPaymentMethodReady = (props) => {
        const { isProviderReady } = usePaymentElement();
        if (!isProviderReady) return null;
        return /* @__PURE__ */ jsx2(Fragment3, { children: props.children });
      };
      Root4 = (props) => {
        const { children, ...rest } = props;
        return /* @__PURE__ */ jsxs2(AddPaymentMethodRoot, {
          ...rest,
          children: [/* @__PURE__ */ jsx2(AddPaymentMethodLoading, { children: /* @__PURE__ */ jsx2(Flex2, {
            direction: "row",
            align: "center",
            justify: "center",
            sx: (t2) => ({
              width: "100%",
              minHeight: t2.sizes.$60
            }),
            children: /* @__PURE__ */ jsx2(Spinner, {
              size: "lg",
              colorScheme: "primary",
              elementDescriptor: descriptors.spinner
            })
          }) }), /* @__PURE__ */ jsx2(AddPaymentMethodReady, { children: /* @__PURE__ */ jsx2(AddPaymentMethodForm, { children }) })]
        });
      };
      useSetAndSync = (text, setter) => {
        (0, import_react331.useRef)(() => {
          setter(text);
        });
        (0, import_react331.useEffect)(() => {
          setter(text);
        }, [text, setter]);
      };
      FormHeader = ({ text }) => {
        const { setHeaderTitle } = useAddPaymentMethodContext();
        useSetAndSync(text, setHeaderTitle);
        return null;
      };
      FormSubtitle = ({ text }) => {
        const { setHeaderSubtitle } = useAddPaymentMethodContext();
        useSetAndSync(text, setHeaderSubtitle);
        return null;
      };
      FormButton = ({ text }) => {
        const { setSubmitLabel } = useAddPaymentMethodContext();
        useSetAndSync(text, setSubmitLabel);
        return null;
      };
      AddPaymentMethodForm = ({ children }) => {
        const { headerTitle, headerSubtitle, submitLabel, checkout, onSuccess, cancelAction } = useAddPaymentMethodContext();
        const card = useCardState();
        const localizationRoot = useSubscriberTypeLocalizationRoot();
        const { isFormReady, submit: submitPaymentElement, reset } = usePaymentElement();
        const onSubmit = async (e3) => {
          e3.preventDefault();
          card.setLoading();
          card.setError(void 0);
          const { data: data2, error: error2 } = await submitPaymentElement();
          if (error2) return;
          try {
            await onSuccess(data2);
          } catch (error$1) {
            handleError(error$1, [], card.setError);
          } finally {
            card.setIdle();
            reset();
          }
        };
        return /* @__PURE__ */ jsx2(FormContainer, {
          headerTitle,
          headerSubtitle,
          children: /* @__PURE__ */ jsxs2(Form$1.Root, {
            onSubmit,
            sx: (t2) => ({
              display: "flex",
              flexDirection: "column",
              rowGap: t2.space.$3
            }),
            children: [
              children,
              /* @__PURE__ */ jsx2(PaymentElement, { fallback: /* @__PURE__ */ jsx2(PaymentElementSkeleton, {}) }),
              /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
              /* @__PURE__ */ jsx2(FormButtons, {
                isDisabled: !isFormReady,
                submitLabel: submitLabel ?? localizationKeys(`${localizationRoot}.billingPage.paymentMethodsSection.formButtonPrimary__add`),
                onReset: cancelAction,
                hideReset: !cancelAction,
                sx: { flex: checkout ? 1 : void 0 }
              })
            ]
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/generic-pay.js
  function _extends50() {
    return _extends50 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends50.apply(null, arguments);
  }
  var React$152, _path56, SvgGenericPay, generic_pay_default;
  var init_generic_pay = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/generic-pay.js"() {
      React$152 = __toESM(require_react(), 1);
      SvgGenericPay = function SvgGenericPay$1(props) {
        return /* @__PURE__ */ React$152.createElement("svg", _extends50({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 16 16"
        }, props), _path56 || (_path56 = /* @__PURE__ */ React$152.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M12.204 3.01A2 2 0 0 1 14 5v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 1.796-1.99L4 3h8zM4 7a.5.5 0 0 0-.5.5V8h1.396c.672 0 1.28.396 1.552 1.009.598 1.344 2.506 1.344 3.104 0A1.7 1.7 0 0 1 11.104 8H12.5v-.5A.5.5 0 0 0 12 7zm0-2.5a.5.5 0 0 0-.5.5v.564q.144-.037.296-.053L4 5.5h8l.204.01q.152.017.296.054V5a.5.5 0 0 0-.5-.5z",
          clipRule: "evenodd"
        })));
      };
      generic_pay_default = SvgGenericPay;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/PaymentMethods/PaymentMethodRow.js
  var PaymentMethodRow;
  var init_PaymentMethodRow = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/PaymentMethods/PaymentMethodRow.js"() {
      init_localizationKeys();
      init_credit_card();
      init_generic_pay();
      init_elementDescriptors();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      PaymentMethodRow = ({ paymentMethod }) => {
        return /* @__PURE__ */ jsxs2(Flex2, {
          sx: { overflow: "hidden" },
          gap: 2,
          align: "baseline",
          elementDescriptor: descriptors.paymentMethodRow,
          children: [
            /* @__PURE__ */ jsx2(Icon, {
              icon: paymentMethod.paymentType === "card" ? credit_card_default : generic_pay_default,
              sx: (t2) => ({
                alignSelf: "center",
                color: t2.colors.$colorMutedForeground
              }),
              elementDescriptor: descriptors.paymentMethodRowIcon
            }),
            /* @__PURE__ */ jsx2(Text2, {
              sx: (t2) => ({
                color: t2.colors.$colorForeground,
                textTransform: "capitalize"
              }),
              truncate: true,
              elementDescriptor: descriptors.paymentMethodRowType,
              children: paymentMethod.paymentType === "card" ? paymentMethod.cardType : paymentMethod.paymentType
            }),
            /* @__PURE__ */ jsx2(Text2, {
              sx: (t2) => ({ color: t2.colors.$colorMutedForeground }),
              variant: "caption",
              truncate: true,
              elementDescriptor: descriptors.paymentMethodRowValue,
              children: paymentMethod.paymentType === "card" ? `\u22EF ${paymentMethod.last4}` : null
            }),
            paymentMethod.isDefault && /* @__PURE__ */ jsx2(Badge2, {
              elementDescriptor: descriptors.paymentMethodRowBadge,
              elementId: descriptors.paymentMethodRowBadge.setId("default"),
              localizationKey: localizationKeys("badge__default")
            }),
            paymentMethod.status === "expired" && /* @__PURE__ */ jsx2(Badge2, {
              elementDescriptor: descriptors.paymentMethodRowBadge,
              elementId: descriptors.paymentMethodRowBadge.setId("expired"),
              colorScheme: "danger",
              localizationKey: localizationKeys("badge__expired")
            })
          ]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/LineItems.js
  function Root5({ children }) {
    return /* @__PURE__ */ jsx2(Dl2, {
      elementDescriptor: descriptors.lineItemsRoot,
      sx: (t2) => ({
        display: "grid",
        gridRowGap: t2.space.$2
      }),
      children
    });
  }
  function Group({ children, borderTop = false, variant = "primary" }) {
    return /* @__PURE__ */ jsx2(GroupContext.Provider, {
      value: { variant },
      children: /* @__PURE__ */ jsx2(Box2, {
        elementDescriptor: descriptors.lineItemsGroup,
        elementId: descriptors.lineItemsGroup.setId(variant),
        sx: (t2) => ({
          display: "grid",
          gridTemplateColumns: "repeat(2, minmax(0, 1fr))",
          ...borderTop ? {
            borderTopWidth: t2.borderWidths.$normal,
            borderTopStyle: t2.borderStyles.$solid,
            borderTopColor: t2.colors.$borderAlpha100,
            paddingTop: t2.space.$2
          } : {}
        }),
        children
      })
    });
  }
  function Description({ text, prefix: prefix2, suffix, truncateText = false, copyText = false, copyLabel }) {
    const context = React$153.useContext(GroupContext);
    if (!context) throw new Error("LineItems.Description must be used within LineItems.Group");
    const { variant } = context;
    return /* @__PURE__ */ jsxs2(Dd2, {
      elementDescriptor: descriptors.lineItemsDescription,
      elementId: descriptors.lineItemsDescription.setId(variant),
      sx: (t2) => ({
        display: "grid",
        justifyContent: "end",
        color: variant === "tertiary" ? t2.colors.$colorMutedForeground : t2.colors.$colorForeground
      }),
      children: [/* @__PURE__ */ jsxs2(Span2, {
        elementDescriptor: descriptors.lineItemsDescriptionInner,
        sx: (t2) => ({
          display: "inline-flex",
          justifyContent: "flex-end",
          alignItems: "end",
          gap: t2.space.$1,
          minWidth: "0"
        }),
        children: [
          prefix2 ? /* @__PURE__ */ jsx2(Span2, {
            localizationKey: prefix2,
            elementDescriptor: descriptors.lineItemsDescriptionPrefix,
            sx: (t2) => ({
              color: t2.colors.$colorMutedForeground,
              ...common.textVariants(t2).caption
            })
          }) : null,
          typeof text === "string" && truncateText ? /* @__PURE__ */ jsx2(TruncatedText, { text }) : /* @__PURE__ */ jsx2(Span2, {
            localizationKey: text,
            elementDescriptor: descriptors.lineItemsDescriptionText,
            sx: (t2) => ({
              ...common.textVariants(t2).body,
              minWidth: "0",
              overflow: "hidden",
              textOverflow: "ellipsis",
              whiteSpace: "nowrap"
            })
          }),
          typeof text === "string" && copyText ? /* @__PURE__ */ jsx2(CopyButton, {
            text,
            copyLabel
          }) : null
        ]
      }), suffix ? /* @__PURE__ */ jsx2(Span2, {
        localizationKey: suffix,
        elementDescriptor: descriptors.lineItemsDescriptionSuffix,
        sx: (t2) => ({
          color: t2.colors.$colorMutedForeground,
          ...common.textVariants(t2).caption,
          justifySelf: "flex-end"
        })
      }) : null]
    });
  }
  function TruncatedText({ text }) {
    const { onCopy } = useClipboard(text);
    return /* @__PURE__ */ jsx2(Span2, {
      elementDescriptor: descriptors.lineItemsDescriptionText,
      sx: (t2) => ({
        ...common.textVariants(t2).body,
        display: "flex",
        minWidth: "0"
      }),
      onCopy: async (e3) => {
        e3.preventDefault();
        await onCopy();
      },
      children: truncateWithEndVisible(text, 15)
    });
  }
  function CopyButton({ text, copyLabel = "Copy" }) {
    const { onCopy, hasCopied } = useClipboard(text);
    return /* @__PURE__ */ jsx2(Button2, {
      variant: "unstyled",
      onClick: onCopy,
      sx: (t2) => ({
        color: "inherit",
        width: t2.sizes.$4,
        height: t2.sizes.$4,
        padding: 0,
        borderRadius: t2.radii.$sm,
        "&:focus-visible": {
          outline: "2px solid",
          outlineColor: t2.colors.$colorRing
        }
      }),
      focusRing: false,
      "aria-label": hasCopied ? "Copied" : copyLabel,
      children: /* @__PURE__ */ jsx2(Icon, {
        size: "sm",
        icon: hasCopied ? check_default : copy_default,
        "aria-hidden": true
      })
    });
  }
  var React$153, GroupContext, Title2, LineItems;
  var init_LineItems = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/LineItems.js"() {
      init_useClipboard();
      init_check();
      init_copy();
      init_common();
      init_elementDescriptors();
      init_customizables();
      init_truncateTextWithEndVisible();
      React$153 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      GroupContext = React$153.createContext(void 0);
      Title2 = React$153.forwardRef(({ title, description, icon: icon2, badge = null }, ref) => {
        const context = React$153.useContext(GroupContext);
        if (!context) throw new Error("LineItems.Title must be used within LineItems.Group");
        const { variant } = context;
        const textVariant = variant === "primary" ? "subtitle" : "caption";
        const descriptionElements = description ? Array.isArray(description) ? description : [description] : [];
        return /* @__PURE__ */ jsxs2(Dt2, {
          ref,
          elementDescriptor: descriptors.lineItemsTitle,
          elementId: descriptors.lineItemsTitle.setId(variant),
          sx: (t2) => ({
            display: "grid",
            color: variant === "primary" ? t2.colors.$colorForeground : t2.colors.$colorMutedForeground,
            ...common.textVariants(t2)[textVariant]
          }),
          children: [title ? /* @__PURE__ */ jsxs2(Span2, {
            sx: (t2) => ({
              display: "inline-flex",
              alignItems: "center",
              gap: t2.space.$1
            }),
            children: [
              icon2 ? /* @__PURE__ */ jsx2(Icon, {
                size: "md",
                icon: icon2,
                "aria-hidden": true
              }) : null,
              /* @__PURE__ */ jsx2(Span2, { localizationKey: title }),
              badge
            ]
          }) : null, descriptionElements.length > 0 ? /* @__PURE__ */ jsx2(Fragment3, { children: descriptionElements.map((el2, i2) => /* @__PURE__ */ jsx2(Span2, {
            localizationKey: el2,
            elementDescriptor: descriptors.lineItemsTitleDescription,
            sx: (t2) => ({
              fontSize: t2.fontSizes.$sm,
              color: t2.colors.$colorMutedForeground
            })
          }, i2)) }) : null]
        });
      });
      LineItems = {
        Root: Root5,
        Group,
        Title: Title2,
        Description
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/PaymentMethods/TestPaymentMethod.js
  var TestPaymentMethod;
  var init_TestPaymentMethod = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/PaymentMethods/TestPaymentMethod.js"() {
      init_localizationKeys();
      init_makeLocalizable();
      init_customizables();
      init_LineItems();
      init_emotion_react_jsx_runtime_browser_esm();
      TestPaymentMethod = () => {
        const { t: t2 } = useLocalizations();
        return /* @__PURE__ */ jsxs2(Box2, {
          sx: (t$1) => ({
            background: t$1.colors.$neutralAlpha50,
            padding: t$1.space.$2x5,
            borderRadius: t$1.radii.$md,
            borderWidth: t$1.borderWidths.$normal,
            borderStyle: t$1.borderStyles.$solid,
            borderColor: t$1.colors.$borderAlpha100,
            display: "flex",
            flexDirection: "column",
            rowGap: t$1.space.$2,
            position: "relative"
          }),
          children: [
            /* @__PURE__ */ jsx2(Box2, { sx: (t$1) => ({
              position: "absolute",
              inset: 0,
              background: `repeating-linear-gradient(-45deg,${t$1.colors.$warningAlpha100},${t$1.colors.$warningAlpha100} 6px,${t$1.colors.$warningAlpha150} 6px,${t$1.colors.$warningAlpha150} 12px)`,
              maskImage: `linear-gradient(transparent 20%, black)`,
              pointerEvents: "none"
            }) }),
            /* @__PURE__ */ jsxs2(Box2, {
              sx: {
                display: "flex",
                alignItems: "baseline",
                justifyContent: "space-between"
              },
              children: [/* @__PURE__ */ jsx2(Text2, {
                variant: "caption",
                colorScheme: "body",
                localizationKey: localizationKeys("billing.paymentMethod.dev.testCardInfo")
              }), /* @__PURE__ */ jsx2(Text2, {
                variant: "caption",
                sx: (t$1) => ({
                  color: t$1.colors.$warning500,
                  fontWeight: t$1.fontWeights.$semibold
                }),
                localizationKey: localizationKeys("billing.paymentMethod.dev.developmentMode")
              })]
            }),
            /* @__PURE__ */ jsxs2(LineItems.Root, { children: [
              /* @__PURE__ */ jsxs2(LineItems.Group, {
                variant: "tertiary",
                children: [/* @__PURE__ */ jsx2(LineItems.Title, { title: localizationKeys("billing.paymentMethod.dev.cardNumber") }), /* @__PURE__ */ jsx2(LineItems.Description, { text: "4242 4242 4242 4242" })]
              }),
              /* @__PURE__ */ jsxs2(LineItems.Group, {
                variant: "tertiary",
                children: [/* @__PURE__ */ jsx2(LineItems.Title, { title: localizationKeys("billing.paymentMethod.dev.expirationDate") }), /* @__PURE__ */ jsx2(LineItems.Description, { text: "11/44" })]
              }),
              /* @__PURE__ */ jsxs2(LineItems.Group, {
                variant: "tertiary",
                children: [/* @__PURE__ */ jsx2(LineItems.Title, { title: localizationKeys("billing.paymentMethod.dev.cvcZip") }), /* @__PURE__ */ jsx2(LineItems.Description, { text: t2(localizationKeys("billing.paymentMethod.dev.anyNumbers")) })]
              })
            ] })
          ]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/PaymentMethods/PaymentMethods.js
  var import_react333, RemoveScreen, PaymentMethods, PaymentMethodMenu;
  var init_PaymentMethods = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/PaymentMethods/PaymentMethods.js"() {
      init_localizationKeys();
      init_SubscriberType();
      init_Plans();
      init_contexts();
      init_errorHandler();
      init_RemoveResourceForm();
      init_ActionRoot();
      init_Action();
      init_ThreeDotsMenu();
      init_DevOnly();
      init_AddPaymentMethod();
      init_PaymentMethodRow();
      init_FullHeightLoader();
      init_Section();
      init_TestPaymentMethod();
      import_react333 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      withCardStateProvider(({ onSuccess }) => {
        const { close } = useActionContext();
        const clerk2 = useClerk();
        const subscriberType = useSubscriberTypeContext();
        const localizationRoot = useSubscriberTypeLocalizationRoot();
        const onAddPaymentMethodSuccess = async (context) => {
          await (subscriberType === "organization" ? clerk2?.organization : clerk2.user)?.addPaymentMethod(context);
          onSuccess();
          close();
          return Promise.resolve();
        };
        return /* @__PURE__ */ jsxs2(Root4, {
          onSuccess: onAddPaymentMethodSuccess,
          cancelAction: close,
          children: [
            /* @__PURE__ */ jsx2(FormHeader, { text: localizationKeys(`${localizationRoot}.billingPage.paymentMethodsSection.add`) }),
            /* @__PURE__ */ jsx2(FormSubtitle, { text: localizationKeys(`${localizationRoot}.billingPage.paymentMethodsSection.addSubtitle`) }),
            /* @__PURE__ */ jsx2(DevOnly, { children: /* @__PURE__ */ jsx2(TestPaymentMethod, {}) })
          ]
        });
      });
      RemoveScreen = ({ paymentMethod, revalidate }) => {
        const { close } = useActionContext();
        const card = useCardState();
        const subscriberType = useSubscriberTypeContext();
        const localizationRoot = useSubscriberTypeLocalizationRoot();
        const ref = (0, import_react333.useRef)(`${paymentMethod.paymentType === "card" ? paymentMethod.cardType : paymentMethod.paymentType} ${paymentMethod.paymentType === "card" ? `\u22EF ${paymentMethod.last4}` : "-"}`);
        const organization = useOrganizationBase();
        if (!ref.current) return null;
        const removePaymentMethod = async () => {
          await paymentMethod.remove({ orgId: subscriberType === "organization" ? organization?.id : void 0 }).then(revalidate).catch((error2) => {
            handleError(error2, [], card.setError);
          });
        };
        return /* @__PURE__ */ jsx2(RemoveResourceForm, {
          title: localizationKeys(`${localizationRoot}.billingPage.paymentMethodsSection.removeMethod.title`),
          messageLine1: localizationKeys(`${localizationRoot}.billingPage.paymentMethodsSection.removeMethod.messageLine1`, { identifier: ref.current }),
          messageLine2: localizationKeys(`${localizationRoot}.billingPage.paymentMethodsSection.removeMethod.messageLine2`),
          successMessage: localizationKeys(`${localizationRoot}.billingPage.paymentMethodsSection.removeMethod.successMessage`, { paymentMethod: ref.current }),
          deleteResource: removePaymentMethod,
          onSuccess: close,
          onReset: close
        });
      };
      PaymentMethods = withCardStateProvider(() => {
        const clerk2 = useClerk();
        const subscriberType = useSubscriberTypeContext();
        const localizationRoot = useSubscriberTypeLocalizationRoot();
        const resource = subscriberType === "organization" ? clerk2?.organization : clerk2.user;
        const { data: paymentMethods, isLoading, revalidate: revalidatePaymentMethods } = usePaymentMethods2();
        const sortedPaymentMethods = (0, import_react333.useMemo)(() => paymentMethods.sort((a2, b2) => a2.isDefault && !b2.isDefault ? -1 : 1), [paymentMethods]);
        if (!resource) return null;
        if (sortedPaymentMethods.length === 0) return null;
        return /* @__PURE__ */ jsx2(ProfileSection.Root, {
          title: localizationKeys(`${localizationRoot}.billingPage.paymentMethodsSection.title`),
          centered: false,
          id: "paymentMethods",
          sx: (t2) => ({
            flex: 1,
            borderTopWidth: t2.borderWidths.$normal,
            borderTopStyle: t2.borderStyles.$solid,
            borderTopColor: t2.colors.$borderAlpha100
          }),
          children: /* @__PURE__ */ jsx2(Action2.Root, { children: /* @__PURE__ */ jsx2(ProfileSection.ItemList, {
            id: "paymentMethods",
            disableAnimation: true,
            children: isLoading ? /* @__PURE__ */ jsx2(FullHeightLoader, {}) : /* @__PURE__ */ jsxs2(Fragment3, { children: [sortedPaymentMethods.map((paymentMethod) => /* @__PURE__ */ jsxs2(import_react333.Fragment, { children: [/* @__PURE__ */ jsxs2(ProfileSection.Item, {
              id: "paymentMethods",
              children: [/* @__PURE__ */ jsx2(PaymentMethodRow, { paymentMethod }), /* @__PURE__ */ jsx2(PaymentMethodMenu, {
                paymentMethod,
                revalidate: revalidatePaymentMethods
              })]
            }), /* @__PURE__ */ jsx2(Action2.Open, {
              value: `remove-${paymentMethod.id}`,
              children: /* @__PURE__ */ jsx2(Action2.Card, {
                variant: "destructive",
                children: /* @__PURE__ */ jsx2(RemoveScreen, {
                  paymentMethod,
                  revalidate: revalidatePaymentMethods
                })
              })
            })] }, paymentMethod.id)), null] })
          }) })
        });
      });
      PaymentMethodMenu = ({ paymentMethod, revalidate }) => {
        const { open } = useActionContext();
        const card = useCardState();
        const subscriberType = useSubscriberTypeContext();
        const localizationRoot = useSubscriberTypeLocalizationRoot();
        const organization = useOrganizationBase();
        const actions = [{
          label: localizationKeys(`${localizationRoot}.billingPage.paymentMethodsSection.actionLabel__remove`),
          isDestructive: true,
          onClick: () => open(`remove-${paymentMethod.id}`),
          isDisabled: !paymentMethod.isRemovable
        }];
        if (!paymentMethod.isDefault) actions.unshift({
          label: localizationKeys(`${localizationRoot}.billingPage.paymentMethodsSection.actionLabel__default`),
          isDestructive: false,
          onClick: () => {
            paymentMethod.makeDefault({ orgId: subscriberType === "organization" ? organization?.id : void 0 }).then(revalidate).catch((error2) => {
              handleError(error2, [], card.setError);
            });
          },
          isDisabled: false
        });
        return /* @__PURE__ */ jsx2(ThreeDotsMenu, { actions });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/Statements/StatementsList.js
  var StatementsList, StatementsListRow;
  var init_StatementsList = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/Statements/StatementsList.js"() {
      init_RouteContext();
      init_localizationKeys();
      init_SubscriberType();
      init_Plans();
      init_customizables();
      init_truncateTextWithEndVisible();
      init_formatDate();
      init_DataTable();
      init_emotion_react_jsx_runtime_browser_esm();
      StatementsList = () => {
        const { data: statements, isLoading, count: count2 } = useStatements2();
        const localizationRoot = useSubscriberTypeLocalizationRoot();
        return /* @__PURE__ */ jsx2(DataTable, {
          page: 1,
          onPageChange: (_3) => {
          },
          itemCount: count2,
          pageCount: 1,
          itemsPerPage: 10,
          isLoading,
          emptyStateLocalizationKey: localizationKeys(`${localizationRoot}.billingPage.statementsSection.empty`),
          headers: [{ key: localizationKeys(`${localizationRoot}.billingPage.statementsSection.tableHeader__date`) }, { key: localizationKeys(`${localizationRoot}.billingPage.statementsSection.tableHeader__amount`) }],
          rows: statements.map((i2) => /* @__PURE__ */ jsx2(StatementsListRow, { statement: i2 }, i2.id))
        });
      };
      StatementsListRow = ({ statement }) => {
        const { timestamp, id, totals: { grandTotal } } = statement;
        const { navigate } = useRouter();
        const handleClick = () => {
          navigate(`statement/${id}`);
        };
        return /* @__PURE__ */ jsxs2(DataTableRow, {
          onClick: handleClick,
          children: [/* @__PURE__ */ jsxs2(Td2, {
            sx: { cursor: "pointer" },
            children: [/* @__PURE__ */ jsx2(Text2, {
              variant: "subtitle",
              children: formatDate(timestamp, "monthyear")
            }), /* @__PURE__ */ jsx2(Text2, {
              colorScheme: "secondary",
              variant: "caption",
              truncate: true,
              sx: (t2) => ({ marginTop: t2.space.$0x5 }),
              children: truncateWithEndVisible(id)
            })]
          }), /* @__PURE__ */ jsx2(Td2, {
            sx: { cursor: "pointer" },
            children: /* @__PURE__ */ jsxs2(Text2, {
              colorScheme: "secondary",
              children: [grandTotal.currencySymbol, grandTotal.amountFormatted]
            })
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/arrows-up-down.js
  function _extends51() {
    return _extends51 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends51.apply(null, arguments);
  }
  var React$154, _path57, SvgArrowsUpDown, arrows_up_down_default;
  var init_arrows_up_down = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/arrows-up-down.js"() {
      React$154 = __toESM(require_react(), 1);
      SvgArrowsUpDown = function SvgArrowsUpDown$1(props) {
        return /* @__PURE__ */ React$154.createElement("svg", _extends51({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 24 24"
        }, props), _path57 || (_path57 = /* @__PURE__ */ React$154.createElement("path", {
          stroke: "currentColor",
          strokeLinecap: "round",
          strokeLinejoin: "round",
          strokeWidth: 2,
          d: "M3 7.5 7.5 3m0 0L12 7.5M7.5 3v13.5m13.5 0L16.5 21m0 0L12 16.5m4.5 4.5V7.5"
        })));
      };
      arrows_up_down_default = SvgArrowsUpDown;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/plans.js
  function _extends52() {
    return _extends52 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends52.apply(null, arguments);
  }
  var React$155, _path58, SvgPlans, plans_default;
  var init_plans = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/plans.js"() {
      React$155 = __toESM(require_react(), 1);
      SvgPlans = function SvgPlans$1(props) {
        return /* @__PURE__ */ React$155.createElement("svg", _extends52({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 16 16"
        }, props), _path58 || (_path58 = /* @__PURE__ */ React$155.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M2 3.75C2 2.784 2.784 2 3.75 2h5.5c.698 0 1.3.409 1.582 1h1.418c.966 0 1.75.784 1.75 1.75v6.5A1.75 1.75 0 0 1 12.25 13h-1.418c-.281.591-.884 1-1.582 1h-5.5A1.75 1.75 0 0 1 2 12.25zm9 7.75h1.25a.25.25 0 0 0 .25-.25v-6.5a.25.25 0 0 0-.25-.25H11zm-7.25-8a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h5.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25zM5 7.25a.75.75 0 0 1 .75-.75h1.5a.75.75 0 0 1 0 1.5h-1.5A.75.75 0 0 1 5 7.25m0 3a.75.75 0 0 1 .75-.75h1.5a.75.75 0 0 1 0 1.5h-1.5a.75.75 0 0 1-.75-.75",
          clipRule: "evenodd"
        })));
      };
      plans_default = SvgPlans;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/Subscriptions/badge.js
  var keys, colors3, SubscriptionBadge;
  var init_badge = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/Subscriptions/badge.js"() {
      init_localizationKeys();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      keys = {
        active: "badge__activePlan",
        upcoming: "badge__upcomingPlan",
        past_due: "badge__pastDuePlan",
        free_trial: "badge__freeTrial"
      };
      colors3 = {
        active: "secondary",
        upcoming: "primary",
        past_due: "warning",
        free_trial: "secondary"
      };
      SubscriptionBadge = ({ subscription, elementDescriptor }) => {
        return /* @__PURE__ */ jsx2(Badge2, {
          elementDescriptor,
          colorScheme: colors3[subscription.status],
          localizationKey: localizationKeys(keys[subscription.status])
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/Subscriptions/SubscriptionsList.js
  function SubscriptionsList({ title, switchPlansLabel, newSubscriptionLabel, manageSubscriptionLabel }) {
    const localizationRoot = useSubscriberTypeLocalizationRoot();
    const subscriberType = useSubscriberTypeContext();
    const { subscriptionItems } = useSubscription2();
    const canManageBilling = useProtect((has2) => has2({ permission: "org:sys_billing:manage" })) || subscriberType === "user";
    const { navigate } = useRouter();
    const { commerceSettings } = useEnvironment();
    const { openSubscriptionDetails } = usePlansContext();
    const billingPlansExist = commerceSettings.billing.user.hasPaidPlans && subscriberType === "user" || commerceSettings.billing.organization.hasPaidPlans && subscriberType === "organization";
    const hasActiveFreePlan = (0, import_react335.useMemo)(() => {
      return subscriptionItems.some((sub) => isFreePlan(sub.plan) && sub.status === "active");
    }, [subscriptionItems]);
    const isManageButtonVisible = canManageBilling && !hasActiveFreePlan && subscriptionItems.length > 0;
    const sortedSubscriptionItems = (0, import_react335.useMemo)(() => subscriptionItems.sort((a2, b2) => {
      if (a2.status === "active" && b2.status !== "active") return -1;
      if (b2.status === "active" && a2.status !== "active") return 1;
      return 1;
    }), [subscriptionItems]);
    return /* @__PURE__ */ jsxs2(ProfileSection.Root, {
      id: "subscriptionsList",
      title,
      centered: false,
      sx: (t2) => ({
        borderTop: "none",
        paddingTop: t2.space.$1
      }),
      children: [subscriptionItems.length > 0 && /* @__PURE__ */ jsxs2(Table2, {
        sx: (t2) => ({
          overflow: "hidden",
          "tr > td": {
            paddingTop: t2.space.$3,
            paddingBottom: t2.space.$3,
            paddingInlineStart: t2.space.$3,
            paddingInlineEnd: t2.space.$3
          }
        }),
        tableHeadVisuallyHidden: true,
        children: [/* @__PURE__ */ jsx2(Thead2, { children: /* @__PURE__ */ jsxs2(Tr2, { children: [/* @__PURE__ */ jsx2(Th2, { localizationKey: localizationKeys(`${localizationRoot}.billingPage.subscriptionsListSection.tableHeader__plan`) }), /* @__PURE__ */ jsx2(Th2, { localizationKey: localizationKeys(`${localizationRoot}.billingPage.subscriptionsListSection.tableHeader__startDate`) })] }) }), /* @__PURE__ */ jsx2(Tbody2, { children: sortedSubscriptionItems.map((subscriptionItem) => /* @__PURE__ */ jsx2(SubscriptionItemRow, {
          subscriptionItem,
          length: sortedSubscriptionItems.length
        }, subscriptionItem.id)) })]
      }), /* @__PURE__ */ jsxs2(ProfileSection.ButtonGroup, {
        id: "subscriptionsList",
        children: [billingPlansExist ? /* @__PURE__ */ jsx2(ProfileSection.ArrowButton, {
          id: "subscriptionsList",
          textLocalizationKey: subscriptionItems.length > 0 ? switchPlansLabel : newSubscriptionLabel,
          sx: [(t2) => ({
            justifyContent: "start",
            height: t2.sizes.$8,
            width: isManageButtonVisible ? "unset" : void 0
          })],
          leftIcon: subscriptionItems.length > 0 ? arrows_up_down_default : plus_default,
          rightIcon: null,
          leftIconSx: (t2) => ({
            width: t2.sizes.$4,
            height: t2.sizes.$4
          }),
          onClick: () => void navigate("plans")
        }) : null, isManageButtonVisible ? /* @__PURE__ */ jsx2(ProfileSection.ArrowButton, {
          id: "subscriptionsList",
          textLocalizationKey: manageSubscriptionLabel,
          sx: [(t2) => ({
            justifyContent: "start",
            height: t2.sizes.$8,
            width: "unset"
          })],
          rightIcon: null,
          leftIcon: cog_filled_default,
          leftIconSx: (t2) => ({
            width: t2.sizes.$4,
            height: t2.sizes.$4
          }),
          onClick: (event) => openSubscriptionDetails(event)
        }) : null]
      })]
    });
  }
  function SubscriptionItemRow({ subscriptionItem, length: length2 }) {
    const fee = subscriptionItem.planPeriod === "annual" ? subscriptionItem.plan.annualFee : subscriptionItem.plan.fee;
    const { captionForSubscription } = usePlansContext();
    const feeFormatted = (0, import_react335.useMemo)(() => {
      return normalizeFormatted(fee.amountFormatted);
    }, [fee.amountFormatted]);
    const subItemSeatsQty = subscriptionItem.seats?.quantity;
    return /* @__PURE__ */ jsxs2(import_react335.Fragment, { children: [/* @__PURE__ */ jsxs2(Tr2, {
      sx: (t2) => {
        if (subscriptionItem.status === "upcoming") return { background: common.mutedBackground(t2) };
        return {};
      },
      children: [/* @__PURE__ */ jsx2(Td2, { children: /* @__PURE__ */ jsxs2(Col2, {
        gap: 1,
        children: [/* @__PURE__ */ jsxs2(Flex2, {
          align: "center",
          gap: 1,
          children: [
            /* @__PURE__ */ jsx2(Icon, {
              icon: plans_default,
              sx: (t2) => ({
                width: t2.sizes.$4,
                height: t2.sizes.$4,
                opacity: t2.opacity.$inactive,
                color: t2.colors.$colorMutedForeground
              })
            }),
            /* @__PURE__ */ jsx2(Text2, {
              variant: "subtitle",
              sx: (t2) => ({ marginInlineEnd: t2.sizes.$1 }),
              children: subscriptionItem.plan.name
            }),
            subscriptionItem.isFreeTrial || length2 > 1 || !!subscriptionItem.canceledAt ? /* @__PURE__ */ jsx2(SubscriptionBadge, { subscription: subscriptionItem.isFreeTrial ? { status: "free_trial" } : subscriptionItem }) : null
          ]
        }), (!subscriptionItem.plan.isDefault || subscriptionItem.status === "upcoming") && /* @__PURE__ */ jsx2(Text2, {
          variant: "caption",
          colorScheme: "secondary",
          localizationKey: captionForSubscription(subscriptionItem)
        })]
      }) }), /* @__PURE__ */ jsx2(Td2, {
        sx: (_3) => ({ textAlign: "end" }),
        children: /* @__PURE__ */ jsxs2(Text2, {
          variant: "subtitle",
          children: [
            fee.currencySymbol,
            feeFormatted,
            fee.amount > 0 && /* @__PURE__ */ jsx2(Span2, {
              sx: (t2) => ({
                color: t2.colors.$colorMutedForeground,
                textTransform: "lowercase",
                ":before": {
                  content: '"/"',
                  marginInline: t2.space.$1
                }
              }),
              localizationKey: subscriptionItem.planPeriod === "annual" ? localizationKeys("billing.year") : localizationKeys("billing.month")
            })
          ]
        })
      })]
    }), typeof subItemSeatsQty !== "undefined" ? /* @__PURE__ */ jsxs2(Tr2, {
      sx: (t2) => {
        if (subscriptionItem.status === "upcoming") return { background: common.mutedBackground(t2) };
        return {};
      },
      children: [/* @__PURE__ */ jsx2(Td2, { children: /* @__PURE__ */ jsx2(Col2, {
        gap: 1,
        children: /* @__PURE__ */ jsxs2(Flex2, {
          align: "center",
          gap: 1,
          children: [/* @__PURE__ */ jsx2(Icon, {
            icon: users_default,
            sx: (t2) => ({
              width: t2.sizes.$4,
              height: t2.sizes.$4,
              opacity: t2.opacity.$inactive,
              color: t2.colors.$colorMutedForeground
            })
          }), /* @__PURE__ */ jsx2(Text2, {
            variant: "subtitle",
            sx: (t2) => ({ marginInlineEnd: t2.sizes.$1 }),
            localizationKey: localizationKeys("billing.seats")
          })]
        })
      }) }), /* @__PURE__ */ jsx2(Td2, {
        sx: (_3) => ({ textAlign: "end" }),
        children: /* @__PURE__ */ jsx2(Text2, {
          variant: "subtitle",
          localizationKey: subItemSeatsQty === null ? localizationKeys("billing.pricingTable.seatCost.unlimitedSeats") : localizationKeys("billing.pricingTable.seatCost.upToSeats", { endsAfterBlock: subItemSeatsQty })
        })
      })]
    }) : null] }, subscriptionItem.id);
  }
  var import_react335, isFreePlan;
  var init_SubscriptionsList = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/Subscriptions/SubscriptionsList.js"() {
      init_RouteContext();
      init_EnvironmentContext();
      init_localizationKeys();
      init_arrows_up_down();
      init_cog_filled();
      init_plans();
      init_plus();
      init_users();
      init_Gate();
      init_SubscriberType();
      init_Plans();
      init_common();
      init_customizables();
      init_badge();
      init_Section();
      import_react335 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      isFreePlan = (plan) => !plan.hasBaseFee;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/BillingPage.js
  var BillingPage_exports = {};
  __export(BillingPage_exports, {
    BillingPage: () => BillingPage
  });
  var tabMap, BillingPageInternal, BillingPage;
  var init_BillingPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/BillingPage.js"() {
      init_localizationKeys();
      init_SubscriberType();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_Tabs();
      init_useTabState();
      init_PaymentAttemptsList();
      init_PaymentMethods();
      init_StatementsList();
      init_SubscriptionsList();
      init_emotion_react_jsx_runtime_browser_esm();
      tabMap = {
        0: "subscriptions",
        1: "statements",
        2: "payments"
      };
      BillingPageInternal = withCardStateProvider(() => {
        const card = useCardState();
        const { selectedTab, handleTabChange } = useTabState(tabMap);
        return /* @__PURE__ */ jsx2(Col2, {
          elementDescriptor: descriptors.page,
          sx: (t2) => ({
            gap: t2.space.$8,
            color: t2.colors.$colorForeground
          }),
          children: /* @__PURE__ */ jsxs2(Col2, {
            elementDescriptor: descriptors.profilePage,
            elementId: descriptors.profilePage.setId("billing"),
            gap: 4,
            children: [
              /* @__PURE__ */ jsx2(Header.Root, { children: /* @__PURE__ */ jsx2(Header.Title, {
                localizationKey: localizationKeys("userProfile.billingPage.title"),
                textVariant: "h2"
              }) }),
              /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
              /* @__PURE__ */ jsxs2(Tabs, {
                value: selectedTab,
                onChange: handleTabChange,
                children: [/* @__PURE__ */ jsxs2(TabsList, {
                  sx: (t2) => ({ gap: t2.space.$6 }),
                  children: [
                    /* @__PURE__ */ jsx2(Tab, { localizationKey: localizationKeys("userProfile.billingPage.start.headerTitle__subscriptions") }),
                    /* @__PURE__ */ jsx2(Tab, { localizationKey: localizationKeys("userProfile.billingPage.start.headerTitle__statements") }),
                    /* @__PURE__ */ jsx2(Tab, { localizationKey: localizationKeys("userProfile.billingPage.start.headerTitle__payments") })
                  ]
                }), /* @__PURE__ */ jsxs2(TabPanels, { children: [
                  /* @__PURE__ */ jsxs2(TabPanel, {
                    sx: (_3) => ({
                      width: "100%",
                      flexDirection: "column"
                    }),
                    children: [/* @__PURE__ */ jsx2(SubscriptionsList, {
                      title: localizationKeys("userProfile.billingPage.subscriptionsListSection.title"),
                      switchPlansLabel: localizationKeys("userProfile.billingPage.subscriptionsListSection.actionLabel__switchPlan"),
                      newSubscriptionLabel: localizationKeys("userProfile.billingPage.subscriptionsListSection.actionLabel__newSubscription"),
                      manageSubscriptionLabel: localizationKeys("userProfile.billingPage.subscriptionsListSection.actionLabel__manageSubscription")
                    }), /* @__PURE__ */ jsx2(PaymentMethods, {})]
                  }),
                  /* @__PURE__ */ jsx2(TabPanel, {
                    sx: { width: "100%" },
                    children: /* @__PURE__ */ jsx2(StatementsList, {})
                  }),
                  /* @__PURE__ */ jsx2(TabPanel, {
                    sx: { width: "100%" },
                    children: /* @__PURE__ */ jsx2(PaymentAttemptsList, {})
                  })
                ] })]
              })
            ]
          })
        });
      });
      BillingPage = () => {
        return /* @__PURE__ */ jsx2(SubscriberTypeContext.Provider, {
          value: "user",
          children: /* @__PURE__ */ jsx2(BillingPageInternal, {})
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/APIKeys.js
  var import_react336, APIKeysContext, useAPIKeysContext;
  var init_APIKeys = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/APIKeys.js"() {
      import_react336 = __toESM(require_react(), 1);
      APIKeysContext = (0, import_react336.createContext)(null);
      useAPIKeysContext = () => {
        const context = (0, import_react336.useContext)(APIKeysContext);
        if (!context || context.componentName !== "APIKeys") throw new Error("Clerk: useAPIKeysContext called outside APIKeys.");
        const { componentName, ...ctx } = context;
        return {
          ...ctx,
          componentName
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/magnifying-glass.js
  function _extends53() {
    return _extends53 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends53.apply(null, arguments);
  }
  var React$156, _path59, SvgMagnifyingGlass, magnifying_glass_default;
  var init_magnifying_glass = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/magnifying-glass.js"() {
      React$156 = __toESM(require_react(), 1);
      SvgMagnifyingGlass = function SvgMagnifyingGlass$1(props) {
        return /* @__PURE__ */ React$156.createElement("svg", _extends53({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 14 14"
        }, props), _path59 || (_path59 = /* @__PURE__ */ React$156.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M5.4 2.2a3.2 3.2 0 1 0 0 6.4 3.2 3.2 0 0 0 0-6.4M.6 5.4a4.8 4.8 0 1 1 8.7 2.8l3.9 3.8a.8.8 0 0 1-1.2 1.2L8.2 9.3A4.8 4.8 0 0 1 .6 5.4",
          clipRule: "evenodd"
        })));
      };
      magnifying_glass_default = SvgMagnifyingGlass;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/InputWithIcon.js
  var import_react337, InputWithIcon;
  var init_InputWithIcon = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/InputWithIcon.js"() {
      init_customizables();
      import_react337 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      InputWithIcon = import_react337.default.forwardRef((props, ref) => {
        const { leftIcon, sx, ...rest } = props;
        return /* @__PURE__ */ jsxs2(Flex2, {
          center: true,
          sx: {
            width: "100%",
            position: "relative"
          },
          children: [leftIcon ? /* @__PURE__ */ jsx2(Box2, {
            sx: (theme) => [{
              position: "absolute",
              insetInlineStart: theme.space.$3x5,
              width: theme.sizes.$3x5,
              height: theme.sizes.$3x5,
              pointerEvents: "none",
              display: "grid",
              placeContent: "center",
              "& svg": {
                position: "absolute",
                width: "100%",
                height: "100%"
              }
            }],
            children: leftIcon
          }) : null, /* @__PURE__ */ jsx2(Input2, {
            ...rest,
            sx: [(theme) => ({
              width: "100%",
              paddingInlineStart: theme.space.$10
            }), sx],
            ref
          })]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/timeAgo.js
  function timeAgo(date) {
    const now = /* @__PURE__ */ new Date();
    const then = new Date(date);
    if (isNaN(then.getTime())) return "";
    const seconds = Math.floor((now.getTime() - then.getTime()) / 1e3);
    if (seconds < 60) return localizationKeys("apiKeys.lastUsed__seconds", { seconds });
    const minutes = Math.floor(seconds / 60);
    if (minutes < 60) return localizationKeys("apiKeys.lastUsed__minutes", { minutes });
    const hours = Math.floor(minutes / 60);
    if (hours < 24) return localizationKeys("apiKeys.lastUsed__hours", { hours });
    const days = Math.floor(hours / 24);
    if (days < 30) return localizationKeys("apiKeys.lastUsed__days", { days });
    const months = Math.floor(days / 30);
    if (months < 12) return localizationKeys("apiKeys.lastUsed__months", { months });
    return localizationKeys("apiKeys.lastUsed__years", { years: Math.floor(months / 12) });
  }
  var init_timeAgo = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/timeAgo.js"() {
      init_localizationKeys();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/APIKeys/ApiKeysTable.js
  var APIKeysTable, EmptyRow;
  var init_ApiKeysTable = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/APIKeys/ApiKeysTable.js"() {
      init_localizationKeys();
      init_breakpoints();
      init_elementDescriptors();
      init_customizables();
      init_ThreeDotsMenu();
      init_timeAgo();
      init_emotion_react_jsx_runtime_browser_esm();
      APIKeysTable = ({ rows, isLoading, onRevoke, elementDescriptor, canManageAPIKeys }) => {
        return /* @__PURE__ */ jsx2(Flex2, {
          sx: (t2) => ({
            width: "100%",
            [mqu.sm]: {
              overflowX: "auto",
              padding: t2.space.$0x25
            }
          }),
          children: /* @__PURE__ */ jsxs2(Table2, {
            sx: (t2) => ({ background: t2.colors.$colorBackground }),
            elementDescriptor,
            children: [/* @__PURE__ */ jsx2(Thead2, { children: /* @__PURE__ */ jsxs2(Tr2, { children: [
              /* @__PURE__ */ jsx2(Th2, { children: "Name" }),
              /* @__PURE__ */ jsx2(Th2, { children: "Last used" }),
              canManageAPIKeys && /* @__PURE__ */ jsx2(Th2, {
                sx: { textAlign: "end" },
                children: "Actions"
              })
            ] }) }), /* @__PURE__ */ jsx2(Tbody2, { children: isLoading ? /* @__PURE__ */ jsx2(Tr2, { children: /* @__PURE__ */ jsx2(Td2, {
              colSpan: 3,
              children: /* @__PURE__ */ jsx2(Spinner, {
                colorScheme: "primary",
                sx: {
                  margin: "auto",
                  display: "block"
                },
                elementDescriptor: descriptors.spinner
              })
            }) }) : !rows.length ? /* @__PURE__ */ jsx2(EmptyRow, {}) : rows.map((apiKey) => /* @__PURE__ */ jsxs2(Tr2, { children: [
              /* @__PURE__ */ jsx2(Td2, { children: /* @__PURE__ */ jsxs2(Flex2, {
                direction: "col",
                sx: { minWidth: "25ch" },
                children: [/* @__PURE__ */ jsx2(Text2, {
                  variant: "subtitle",
                  truncate: true,
                  children: apiKey.name
                }), /* @__PURE__ */ jsx2(Text2, {
                  variant: "caption",
                  colorScheme: "secondary",
                  localizationKey: apiKey.expiration ? localizationKeys("apiKeys.createdAndExpirationStatus__expiresOn", {
                    createdDate: apiKey.createdAt,
                    expiresDate: apiKey.expiration
                  }) : localizationKeys("apiKeys.createdAndExpirationStatus__never", { createdDate: apiKey.createdAt })
                })]
              }) }),
              /* @__PURE__ */ jsx2(Td2, { children: /* @__PURE__ */ jsx2(Box2, {
                sx: { minWidth: "10ch" },
                children: /* @__PURE__ */ jsx2(Text2, { localizationKey: apiKey.lastUsedAt ? timeAgo(apiKey.lastUsedAt) : "-" })
              }) }),
              canManageAPIKeys && /* @__PURE__ */ jsx2(Td2, {
                sx: { textAlign: "end" },
                children: /* @__PURE__ */ jsx2(ThreeDotsMenu, { actions: [{
                  label: localizationKeys("apiKeys.menuAction__revoke"),
                  isDestructive: true,
                  onClick: () => onRevoke(apiKey.id, apiKey.name)
                }] })
              })
            ] }, apiKey.id)) })]
          })
        });
      };
      EmptyRow = () => {
        return /* @__PURE__ */ jsx2(Tr2, { children: /* @__PURE__ */ jsx2(Td2, {
          colSpan: 4,
          children: /* @__PURE__ */ jsx2(Text2, {
            localizationKey: localizationKeys("apiKeys.detailsTitle__emptyRow"),
            sx: {
              margin: "auto",
              display: "block",
              width: "fit-content"
            }
          })
        }) });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/APIKeys/CreateAPIKeyForm.js
  var import_react338, EXPIRATION_VALUES, EXPIRATION_DURATIONS, getExpirationLocalizationKey, getTimeLeftInSeconds, ExpirationSelector, CreateAPIKeyForm;
  var init_CreateAPIKeyForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/APIKeys/CreateAPIKeyForm.js"() {
      init_APIKeys();
      init_localizationKeys();
      init_chevron_up_down();
      init_makeLocalizable();
      init_breakpoints();
      init_useFormControl();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Select();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_ActionRoot();
      import_react338 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      EXPIRATION_VALUES = [
        "never",
        "1d",
        "7d",
        "30d",
        "60d",
        "90d",
        "180d",
        "1y"
      ];
      EXPIRATION_DURATIONS = {
        "1d": (date) => date.setDate(date.getDate() + 1),
        "7d": (date) => date.setDate(date.getDate() + 7),
        "30d": (date) => date.setDate(date.getDate() + 30),
        "60d": (date) => date.setDate(date.getDate() + 60),
        "90d": (date) => date.setDate(date.getDate() + 90),
        "180d": (date) => date.setDate(date.getDate() + 180),
        "1y": (date) => date.setFullYear(date.getFullYear() + 1)
      };
      getExpirationLocalizationKey = (expiration) => {
        switch (expiration) {
          case "never":
            return "apiKeys.formFieldOption__expiration__never";
          case "1d":
            return "apiKeys.formFieldOption__expiration__1d";
          case "7d":
            return "apiKeys.formFieldOption__expiration__7d";
          case "30d":
            return "apiKeys.formFieldOption__expiration__30d";
          case "60d":
            return "apiKeys.formFieldOption__expiration__60d";
          case "90d":
            return "apiKeys.formFieldOption__expiration__90d";
          case "180d":
            return "apiKeys.formFieldOption__expiration__180d";
          case "1y":
            return "apiKeys.formFieldOption__expiration__1y";
        }
      };
      getTimeLeftInSeconds = (expirationOption) => {
        if (expirationOption === "never" || !expirationOption) return;
        const now = /* @__PURE__ */ new Date();
        const future = new Date(now);
        EXPIRATION_DURATIONS[expirationOption](future);
        return Math.floor((future.getTime() - now.getTime()) / 1e3);
      };
      ExpirationSelector = ({ selectedExpiration, setSelectedExpiration }) => {
        const buttonRef = (0, import_react338.useRef)(null);
        const { t: t2 } = useLocalizations();
        return /* @__PURE__ */ jsxs2(Select, {
          elementId: "apiKeyExpiration",
          options: EXPIRATION_VALUES.map((value) => ({
            value,
            label: t2(localizationKeys(getExpirationLocalizationKey(value)))
          })),
          value: selectedExpiration?.value ?? "",
          onChange: setSelectedExpiration,
          placeholder: t2(localizationKeys("formFieldInputPlaceholder__apiKeyExpirationDate")),
          referenceElement: buttonRef,
          children: [/* @__PURE__ */ jsx2(SelectButton, {
            ref: buttonRef,
            icon: chevron_up_down_default,
            sx: (t$1) => ({
              justifyContent: "space-between",
              backgroundColor: t$1.colors.$colorBackground
            }),
            "aria-labelledby": "expiration-field",
            id: "expiration-field"
          }), /* @__PURE__ */ jsx2(SelectOptionList, { sx: (t$1) => ({
            paddingBlock: t$1.space.$1,
            color: t$1.colors.$colorForeground
          }) })]
        });
      };
      CreateAPIKeyForm = ({ onCreate }) => {
        const [selectedExpiration, setSelectedExpiration] = (0, import_react338.useState)(null);
        const { close: closeCardFn } = useActionContext();
        const { showDescription = false } = useAPIKeysContext();
        const card = useCardState();
        const { t: t2 } = useLocalizations();
        const nameField = useFormControl("name", "", {
          type: "text",
          label: localizationKeys("formFieldLabel__apiKeyName"),
          placeholder: localizationKeys("formFieldInputPlaceholder__apiKeyName"),
          isRequired: true
        });
        const descriptionField = useFormControl("apiKeyDescription", "", {
          type: "text",
          label: localizationKeys("formFieldLabel__apiKeyDescription"),
          placeholder: localizationKeys("formFieldInputPlaceholder__apiKeyDescription"),
          isRequired: false
        });
        const canSubmit = nameField.value.length > 2;
        const expirationCaption = (0, import_react338.useMemo)(() => {
          const timeLeftInSeconds = getTimeLeftInSeconds(selectedExpiration?.value);
          if (!selectedExpiration?.value || !timeLeftInSeconds) return t2(localizationKeys("apiKeys.formFieldCaption__expiration__never"));
          return t2(localizationKeys("apiKeys.formFieldCaption__expiration__expiresOn", { date: new Date(Date.now() + timeLeftInSeconds * 1e3).toLocaleString(void 0, {
            year: "numeric",
            month: "long",
            day: "2-digit",
            hour: "numeric",
            minute: "2-digit",
            second: "2-digit",
            hour12: true,
            timeZoneName: "short"
          }) }));
        }, [selectedExpiration?.value]);
        const handleSubmit = (e3) => {
          e3.preventDefault();
          onCreate({
            name: nameField.value,
            description: descriptionField.value || void 0,
            secondsUntilExpiration: getTimeLeftInSeconds(selectedExpiration?.value)
          });
        };
        return /* @__PURE__ */ jsx2(FormContainer, {
          headerTitle: localizationKeys("apiKeys.formTitle"),
          headerSubtitle: localizationKeys("apiKeys.formHint"),
          elementDescriptor: descriptors.apiKeysCreateForm,
          children: /* @__PURE__ */ jsxs2(Form$1.Root, {
            onSubmit: handleSubmit,
            children: [
              /* @__PURE__ */ jsxs2(Box2, {
                sx: (t$1) => ({
                  gap: t$1.space.$4,
                  display: "flex",
                  flexDirection: "row",
                  [mqu.sm]: { flexDirection: "column" }
                }),
                children: [/* @__PURE__ */ jsx2(Form$1.ControlRow, {
                  sx: { flex: 1 },
                  elementId: nameField.id,
                  elementDescriptor: descriptors.apiKeysCreateFormNameInput,
                  children: /* @__PURE__ */ jsx2(Form$1.PlainInput, { ...nameField.props })
                }), /* @__PURE__ */ jsxs2(Col2, {
                  sx: {
                    flex: 1,
                    width: "100%"
                  },
                  gap: 2,
                  elementDescriptor: descriptors.apiKeysCreateFormExpirationInput,
                  children: [
                    /* @__PURE__ */ jsxs2(FormLabel2, {
                      sx: {
                        display: "flex",
                        alignItems: "center",
                        justifyContent: "space-between",
                        flexDirection: "row"
                      },
                      htmlFor: "expiration-field",
                      children: [/* @__PURE__ */ jsx2(Text2, {
                        as: "span",
                        variant: "subtitle",
                        localizationKey: localizationKeys("formFieldLabel__apiKeyExpiration")
                      }), /* @__PURE__ */ jsx2(Text2, {
                        variant: "caption",
                        colorScheme: "secondary",
                        localizationKey: localizationKeys("formFieldHintText__optional")
                      })]
                    }),
                    /* @__PURE__ */ jsx2(ExpirationSelector, {
                      selectedExpiration,
                      setSelectedExpiration
                    }),
                    /* @__PURE__ */ jsx2(Text2, {
                      variant: "caption",
                      colorScheme: "secondary",
                      localizationKey: expirationCaption,
                      elementDescriptor: descriptors.apiKeysCreateFormExpirationCaption
                    })
                  ]
                })]
              }),
              showDescription && /* @__PURE__ */ jsx2(Col2, {
                sx: (t$1) => ({
                  borderTopWidth: t$1.borderWidths.$normal,
                  borderTopStyle: t$1.borderStyles.$solid,
                  borderTopColor: t$1.colors.$borderAlpha100,
                  paddingTop: t$1.space.$4,
                  paddingBottom: t$1.space.$4
                }),
                children: /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                  elementId: descriptionField.id,
                  elementDescriptor: descriptors.apiKeysCreateFormDescriptionInput,
                  children: /* @__PURE__ */ jsx2(Form$1.PlainInput, { ...descriptionField.props })
                })
              }),
              /* @__PURE__ */ jsx2(FormButtons, {
                submitLabel: localizationKeys("apiKeys.formButtonPrimary__add"),
                isDisabled: !canSubmit,
                onReset: closeCardFn,
                isLoading: card.isLoading,
                elementDescriptor: descriptors.apiKeysCreateFormSubmitButton
              })
            ]
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/APIKeys/utils.js
  var import_react339, useAPIKeysPagination;
  var init_utils12 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/APIKeys/utils.js"() {
      import_react339 = __toESM(require_react(), 1);
      useAPIKeysPagination = ({ query, page, pageCount, isFetching, fetchPage }) => {
        const previousQueryRef = (0, import_react339.useRef)(query);
        (0, import_react339.useEffect)(() => {
          if (previousQueryRef.current !== query) {
            previousQueryRef.current = query;
            fetchPage(1);
          }
        }, [query, fetchPage]);
        (0, import_react339.useEffect)(() => {
          if (!isFetching && pageCount > 0 && page > pageCount) fetchPage(Math.max(1, pageCount));
        }, [
          pageCount,
          page,
          isFetching,
          fetchPage
        ]);
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/internal/clerk-js/organization.mjs
  function isOrganizationId(id) {
    return typeof id === "string" && id.startsWith("org_");
  }
  var init_organization2 = __esm({
    "node_modules/@clerk/shared/dist/runtime/internal/clerk-js/organization.mjs"() {
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/APIKeys/APIKeyModal.js
  var import_react340, getScopedPortalContainerStyles, APIKeyModal;
  var init_APIKeyModal = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/APIKeys/APIKeyModal.js"() {
      init_Modal();
      import_react340 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      getScopedPortalContainerStyles = (modalRoot) => {
        return [{ alignItems: "center" }, modalRoot ? (t2) => ({
          position: "absolute",
          insetInlineEnd: 0,
          bottom: 0,
          backgroundColor: "inherit",
          backdropFilter: `blur(${t2.sizes.$2})`,
          display: "flex",
          justifyContent: "center",
          minHeight: "100%",
          height: "100%",
          width: "100%",
          borderRadius: t2.radii.$lg
        }) : {}];
      };
      APIKeyModal = ({ modalRoot, containerSx, ...modalProps }) => {
        return /* @__PURE__ */ jsx2(Modal, {
          ...modalProps,
          portalRoot: modalRoot,
          containerSx: [getScopedPortalContainerStyles(modalRoot), containerSx]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/APIKeys/RevokeAPIKeyConfirmationModal.js
  var RevokeAPIKeyConfirmationModal_exports = {};
  __export(RevokeAPIKeyConfirmationModal_exports, {
    RevokeAPIKeyConfirmationModal: () => RevokeAPIKeyConfirmationModal
  });
  var RevokeAPIKeyConfirmationModal;
  var init_RevokeAPIKeyConfirmationModal = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/APIKeys/RevokeAPIKeyConfirmationModal.js"() {
      init_localizationKeys();
      init_makeLocalizable();
      init_useFormControl();
      init_elementDescriptors();
      init_Card();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_APIKeyModal();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      RevokeAPIKeyConfirmationModal = ({ isOpen, onOpen, onClose, apiKeyID, apiKeyName, onRevokeSuccess, modalRoot }) => {
        const clerk2 = useClerk();
        const { t: t2 } = useLocalizations();
        const revokeField = useFormControl("apiKeyRevokeConfirmation", "", {
          type: "text",
          label: localizationKeys("apiKeys.revokeConfirmation.inputLabel"),
          placeholder: localizationKeys("apiKeys.revokeConfirmation.confirmationText"),
          isRequired: true
        });
        const canSubmit = revokeField.value === (t2(localizationKeys("apiKeys.revokeConfirmation.confirmationText")) || "Revoke");
        const handleClose = () => {
          onClose();
          revokeField.setValue("");
        };
        const handleSubmit = async (e3) => {
          e3.preventDefault();
          if (!apiKeyID || !canSubmit) return;
          await clerk2.apiKeys.revoke({ apiKeyID });
          onRevokeSuccess?.();
          handleClose();
        };
        if (!isOpen) return null;
        return /* @__PURE__ */ jsx2(APIKeyModal, {
          handleOpen: onOpen,
          handleClose,
          canCloseModal: false,
          modalRoot,
          children: /* @__PURE__ */ jsx2(Card.Root, {
            role: "alertdialog",
            elementDescriptor: descriptors.apiKeysRevokeModal,
            children: /* @__PURE__ */ jsx2(Card.Content, {
              sx: (t$1) => ({
                textAlign: "start",
                padding: `${t$1.sizes.$4} ${t$1.sizes.$5} ${t$1.sizes.$4} ${t$1.sizes.$6}`
              }),
              children: /* @__PURE__ */ jsx2(FormContainer, {
                headerTitle: localizationKeys("apiKeys.revokeConfirmation.formTitle", { apiKeyName }),
                headerSubtitle: localizationKeys("apiKeys.revokeConfirmation.formHint"),
                children: /* @__PURE__ */ jsxs2(Form$1.Root, {
                  onSubmit: handleSubmit,
                  children: [/* @__PURE__ */ jsx2(Form$1.ControlRow, {
                    elementId: revokeField.id,
                    elementDescriptor: descriptors.apiKeysRevokeModalInput,
                    children: /* @__PURE__ */ jsx2(Form$1.PlainInput, { ...revokeField.props })
                  }), /* @__PURE__ */ jsx2(FormButtons, {
                    submitLabel: localizationKeys("apiKeys.revokeConfirmation.formButtonPrimary__revoke"),
                    colorScheme: "danger",
                    isDisabled: !canSubmit,
                    onReset: handleClose,
                    elementDescriptor: descriptors.apiKeysRevokeModalSubmitButton
                  })]
                })
              })
            })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/APIKeys/CopyAPIKeyModal.js
  var CopyAPIKeyModal_exports = {};
  __export(CopyAPIKeyModal_exports, {
    CopyAPIKeyModal: () => CopyAPIKeyModal
  });
  var CopyAPIKeyModal;
  var init_CopyAPIKeyModal = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/APIKeys/CopyAPIKeyModal.js"() {
      init_useClipboard();
      init_localizationKeys();
      init_check();
      init_clipboard_outline();
      init_useFormControl();
      init_elementDescriptors();
      init_Card();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_ActionRoot();
      init_ClipboardInput();
      init_APIKeyModal();
      init_emotion_react_jsx_runtime_browser_esm();
      CopyAPIKeyModal = ({ isOpen, onOpen, onClose, apiKeyName, apiKeySecret, modalRoot }) => {
        const apiKeyField = useFormControl("apiKeySecret", apiKeySecret, {
          type: "text",
          label: localizationKeys("formFieldLabel__apiKey"),
          isRequired: false
        });
        const { onCopy } = useClipboard(apiKeySecret);
        const { close: closeActionCard } = useActionContext();
        const handleSubmit = () => {
          onCopy();
          onClose();
          setTimeout(() => {
            closeActionCard();
          }, 100);
        };
        if (!isOpen) return null;
        return /* @__PURE__ */ jsx2(APIKeyModal, {
          handleOpen: onOpen,
          handleClose: onClose,
          canCloseModal: false,
          modalRoot,
          children: /* @__PURE__ */ jsx2(Card.Root, {
            role: "alertdialog",
            elementDescriptor: descriptors.apiKeysCopyModal,
            children: /* @__PURE__ */ jsx2(Card.Content, {
              sx: (t2) => ({
                textAlign: "start",
                padding: `${t2.sizes.$4} ${t2.sizes.$5} ${t2.sizes.$4} ${t2.sizes.$6}`
              }),
              children: /* @__PURE__ */ jsx2(FormContainer, {
                headerTitle: localizationKeys("apiKeys.copySecret.formTitle", { name: apiKeyName }),
                headerSubtitle: localizationKeys("apiKeys.copySecret.formHint"),
                children: /* @__PURE__ */ jsxs2(Form$1.Root, {
                  onSubmit: handleSubmit,
                  children: [/* @__PURE__ */ jsx2(Form$1.ControlRow, {
                    elementDescriptor: descriptors.apiKeysCopyModalInput,
                    sx: { flex: 1 },
                    children: /* @__PURE__ */ jsx2(Form$1.CommonInputWrapper, {
                      ...apiKeyField.props,
                      children: /* @__PURE__ */ jsx2(ClipboardInput, {
                        value: apiKeySecret,
                        readOnly: true,
                        sx: { width: "100%" },
                        copyIcon: clipboard_outline_default,
                        copiedIcon: check_default
                      })
                    })
                  }), /* @__PURE__ */ jsx2(FormButtons, {
                    submitLabel: localizationKeys("apiKeys.copySecret.formButtonPrimary__copyAndClose"),
                    hideReset: true,
                    elementDescriptor: descriptors.apiKeysCopyModalSubmitButton
                  })]
                })
              })
            })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/APIKeys/APIKeys.js
  var APIKeys_exports = {};
  __export(APIKeys_exports, {
    APIKeys: () => APIKeys,
    APIKeysPage: () => APIKeysPage
  });
  var import_react342, RevokeAPIKeyConfirmationModal2, CopyAPIKeyModal2, apiKeysSearchDebounceMs, API_KEYS_PAGE_SIZE, APIKeysPage, _APIKeys, APIKeys;
  var init_APIKeys2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/APIKeys/APIKeys.js"() {
      init_CoreUserContext();
      init_APIKeys();
      init_useDebounce();
      init_localizationKeys();
      init_magnifying_glass();
      init_Gate();
      init_makeLocalizable();
      init_breakpoints();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_errorHandler();
      init_Action();
      init_InputWithIcon();
      init_Pagination();
      init_ApiKeysTable();
      init_CreateAPIKeyForm();
      init_utils12();
      init_error();
      import_react342 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_organization2();
      RevokeAPIKeyConfirmationModal2 = (0, import_react342.lazy)(() => Promise.resolve().then(() => (init_RevokeAPIKeyConfirmationModal(), RevokeAPIKeyConfirmationModal_exports)).then((module) => ({ default: module.RevokeAPIKeyConfirmationModal })));
      CopyAPIKeyModal2 = (0, import_react342.lazy)(() => Promise.resolve().then(() => (init_CopyAPIKeyModal(), CopyAPIKeyModal_exports)).then((module) => ({ default: module.CopyAPIKeyModal })));
      apiKeysSearchDebounceMs = 500;
      API_KEYS_PAGE_SIZE = 10;
      APIKeysPage = ({ subject, perPage, revokeModalRoot }) => {
        const isOrg = isOrganizationId(subject);
        const canReadAPIKeys = useProtect({ permission: "org:sys_api_keys:read" });
        const canManageAPIKeys = useProtect({ permission: "org:sys_api_keys:manage" });
        const [searchValue, setSearchValue] = (0, import_react342.useState)("");
        const query = useDebounce(searchValue, apiKeysSearchDebounceMs).trim();
        const { data: apiKeys, isLoading, isFetching, page, fetchPage, pageCount, count: itemCount, revalidate: invalidateAll } = useAPIKeys({
          subject,
          pageSize: perPage ?? API_KEYS_PAGE_SIZE,
          query,
          keepPreviousData: true,
          enabled: isOrg ? canReadAPIKeys : true
        });
        useAPIKeysPagination({
          query,
          page,
          pageCount,
          isFetching,
          fetchPage
        });
        const startingRow = itemCount > 0 ? Math.max(0, (page - 1) * (perPage ?? API_KEYS_PAGE_SIZE)) + 1 : 0;
        const endingRow = Math.min(page * (perPage ?? API_KEYS_PAGE_SIZE), itemCount);
        const handlePageChange = (newPage) => {
          fetchPage(newPage);
        };
        const card = useCardState();
        const clerk2 = useClerk();
        const [apiKey, setAPIKey] = (0, import_react342.useState)(null);
        const { t: t2 } = useLocalizations();
        const [isRevokeModalOpen, setIsRevokeModalOpen] = (0, import_react342.useState)(false);
        const [selectedAPIKeyID, setSelectedAPIKeyID] = (0, import_react342.useState)("");
        const [selectedAPIKeyName, setSelectedAPIKeyName] = (0, import_react342.useState)("");
        const [isCopyModalOpen, setIsCopyModalOpen] = (0, import_react342.useState)(false);
        const handleCreateAPIKey = async (params) => {
          try {
            card.setLoading();
            const apiKey$1 = await clerk2.apiKeys.create({
              ...params,
              subject
            });
            invalidateAll();
            card.setError(void 0);
            setIsCopyModalOpen(true);
            setAPIKey(apiKey$1);
          } catch (err) {
            if (!isClerkAPIResponseError2(err)) {
              handleError(err, [], card.setError);
              return;
            }
            switch (err.errors?.[0]?.code) {
              case "token_quota_exceeded":
                card.setError(t2(localizationKeys("unstable__errors.api_key_usage_exceeded")));
                break;
              case "token_creation_conflict":
                card.setError(t2(localizationKeys("unstable__errors.api_key_name_already_exists")));
                break;
              default:
                handleError(err, [], card.setError);
            }
          } finally {
            card.setIdle();
          }
        };
        const handleRevoke = (apiKeyID, apiKeyName) => {
          setSelectedAPIKeyID(apiKeyID);
          setSelectedAPIKeyName(apiKeyName);
          setIsRevokeModalOpen(true);
        };
        return /* @__PURE__ */ jsxs2(Col2, {
          gap: 4,
          sx: { width: "100%" },
          elementDescriptor: descriptors.apiKeys,
          children: [
            /* @__PURE__ */ jsxs2(Action2.Root, { children: [
              /* @__PURE__ */ jsxs2(Flex2, {
                justify: "between",
                align: "center",
                gap: 4,
                sx: { [mqu.sm]: {
                  flexDirection: "column",
                  alignItems: "stretch"
                } },
                elementDescriptor: descriptors.apiKeysHeader,
                children: [/* @__PURE__ */ jsx2(Box2, {
                  elementDescriptor: descriptors.apiKeysSearchBox,
                  children: /* @__PURE__ */ jsx2(InputWithIcon, {
                    placeholder: t2(localizationKeys("apiKeys.action__search")),
                    leftIcon: /* @__PURE__ */ jsx2(Icon, {
                      icon: magnifying_glass_default,
                      sx: (t$1) => ({ color: t$1.colors.$colorMutedForeground })
                    }),
                    value: searchValue,
                    type: "search",
                    autoCapitalize: "none",
                    spellCheck: false,
                    onChange: (e3) => setSearchValue(e3.target.value),
                    elementDescriptor: descriptors.apiKeysSearchInput
                  })
                }), (isOrg && canManageAPIKeys || !isOrg) && /* @__PURE__ */ jsx2(Action2.Trigger, {
                  value: "add-api-key",
                  hideOnActive: false,
                  children: /* @__PURE__ */ jsx2(Button2, {
                    variant: "solid",
                    localizationKey: localizationKeys("apiKeys.action__add"),
                    elementDescriptor: descriptors.apiKeysAddButton
                  })
                })]
              }),
              /* @__PURE__ */ jsx2(Action2.Open, {
                value: "add-api-key",
                children: /* @__PURE__ */ jsx2(Flex2, {
                  sx: (t$1) => ({
                    paddingTop: t$1.space.$6,
                    paddingBottom: t$1.space.$6
                  }),
                  children: /* @__PURE__ */ jsx2(Action2.Card, {
                    sx: { width: "100%" },
                    children: /* @__PURE__ */ jsx2(CreateAPIKeyForm, { onCreate: handleCreateAPIKey })
                  })
                })
              }),
              /* @__PURE__ */ jsx2(CopyAPIKeyModal2, {
                isOpen: isCopyModalOpen,
                onOpen: () => setIsCopyModalOpen(true),
                onClose: () => setIsCopyModalOpen(false),
                apiKeyName: apiKey?.name || "",
                apiKeySecret: apiKey?.secret || "",
                modalRoot: revokeModalRoot
              })
            ] }),
            /* @__PURE__ */ jsx2(APIKeysTable, {
              rows: apiKeys,
              isLoading,
              onRevoke: handleRevoke,
              elementDescriptor: descriptors.apiKeysTable,
              canManageAPIKeys: isOrg && canManageAPIKeys || !isOrg
            }),
            pageCount > 1 && /* @__PURE__ */ jsx2(Pagination, {
              count: pageCount,
              page: Math.min(page, pageCount),
              onChange: handlePageChange,
              siblingCount: 1,
              rowInfo: {
                allRowsCount: itemCount,
                startingRow,
                endingRow
              }
            }),
            /* @__PURE__ */ jsx2(RevokeAPIKeyConfirmationModal2, {
              isOpen: isRevokeModalOpen,
              onOpen: () => setIsRevokeModalOpen(true),
              onClose: () => {
                setSelectedAPIKeyID("");
                setSelectedAPIKeyName("");
                setIsRevokeModalOpen(false);
              },
              apiKeyID: selectedAPIKeyID,
              apiKeyName: selectedAPIKeyName,
              onRevokeSuccess: invalidateAll,
              modalRoot: revokeModalRoot
            })
          ]
        });
      };
      _APIKeys = () => {
        const ctx = useAPIKeysContext();
        const { user } = useUser();
        const subject = useOrganizationBase()?.id ?? user?.id ?? "";
        return /* @__PURE__ */ jsx2(Flow.Root, {
          flow: "apiKeys",
          sx: { width: "100%" },
          children: /* @__PURE__ */ jsx2(APIKeysPage, {
            subject,
            perPage: ctx.perPage
          })
        });
      };
      APIKeys = withCoreUserGuard(withCardStateProvider(_APIKeys));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/APIKeysPage.js
  var APIKeysPage_exports = {};
  __export(APIKeysPage_exports, {
    APIKeysPage: () => APIKeysPage2
  });
  var APIKeysPage2;
  var init_APIKeysPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/APIKeysPage.js"() {
      init_APIKeys();
      init_localizationKeys();
      init_UserProfile();
      init_elementDescriptors();
      init_customizables();
      init_Header();
      init_APIKeys2();
      init_Navbar();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      APIKeysPage2 = () => {
        const { user } = useUser();
        const { contentRef } = useUnsafeNavbarContext();
        const { apiKeysProps } = useUserProfileContext();
        if (!user) return null;
        return /* @__PURE__ */ jsxs2(Col2, {
          gap: 4,
          elementDescriptor: descriptors.page,
          children: [/* @__PURE__ */ jsx2(Header.Root, { children: /* @__PURE__ */ jsx2(Header.Title, {
            localizationKey: localizationKeys("userProfile.apiKeysPage.title"),
            textVariant: "h2"
          }) }), /* @__PURE__ */ jsx2(APIKeysContext.Provider, {
            value: {
              componentName: "APIKeys",
              ...apiKeysProps
            },
            children: /* @__PURE__ */ jsx2(APIKeysPage, {
              subject: user.id,
              revokeModalRoot: contentRef
            })
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/PricingTable.js
  var import_react345, PricingTableContext, usePricingTableContext;
  var init_PricingTable = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/PricingTable.js"() {
      import_react345 = __toESM(require_react(), 1);
      PricingTableContext = (0, import_react345.createContext)(null);
      usePricingTableContext = () => {
        const context = (0, import_react345.useContext)(PricingTableContext);
        if (!context || context.componentName !== "PricingTable") throw new Error("Clerk: usePricingTableContext called outside PricingTable.");
        const { componentName, ...ctx } = context;
        return {
          ...ctx,
          componentName
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Tooltip.js
  function useTooltip({ initialOpen = false, placement = "top", open: controlledOpen, onOpenChange: setControlledOpen } = {}) {
    const [uncontrolledOpen, setUncontrolledOpen] = React$157.useState(initialOpen);
    const open = controlledOpen ?? uncontrolledOpen;
    const setOpen = setControlledOpen ?? setUncontrolledOpen;
    const prefersReducedMotion = usePrefersReducedMotion();
    const { animations: layoutAnimations } = useAppearance().parsedOptions;
    const isMotionSafe = !prefersReducedMotion && layoutAnimations === true;
    const data2 = useFloating2({
      placement,
      open,
      onOpenChange: setOpen,
      whileElementsMounted: autoUpdate,
      middleware: [
        offset3(6),
        flip3({
          crossAxis: placement.includes("-"),
          fallbackAxisSideDirection: "start",
          padding: 6
        }),
        shift3({ padding: 6 })
      ]
    });
    const context = data2.context;
    const hover = useHover(context, {
      move: false,
      enabled: controlledOpen == null
    });
    const focus = useFocus(context, { enabled: controlledOpen == null });
    const dismiss = useDismiss(context);
    const role = useRole(context, { role: "tooltip" });
    const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {
      duration: isMotionSafe ? 200 : 0,
      initial: ({ side }) => {
        return {
          opacity: 0,
          transform: side === "top" ? "translateY(4px)" : "translateY(-4px)"
        };
      },
      open: {
        opacity: 1,
        transform: "translate(0)"
      },
      close: ({ side }) => ({
        opacity: 0,
        transform: side === "top" ? "translateY(4px)" : "translateY(-4px)"
      })
    });
    const interactions = useInteractions([
      hover,
      focus,
      dismiss,
      role
    ]);
    return React$157.useMemo(() => ({
      open,
      setOpen,
      isMounted,
      ...interactions,
      ...data2,
      transitionStyles
    }), [
      open,
      setOpen,
      interactions,
      data2,
      isMounted,
      transitionStyles
    ]);
  }
  function Root6({ children, ...options2 }) {
    const tooltip = useTooltip(options2);
    return /* @__PURE__ */ jsx2(TooltipContext.Provider, {
      value: tooltip,
      children
    });
  }
  var React$157, TooltipContext, useTooltipContext, Trigger, Content, Tooltip;
  var init_Tooltip = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Tooltip.js"() {
      init_usePrefersReducedMotion();
      init_elementDescriptors();
      init_AppearanceContext();
      init_customizables();
      React$157 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_floating_ui_react();
      TooltipContext = React$157.createContext(null);
      useTooltipContext = () => {
        const context = React$157.useContext(TooltipContext);
        if (context == null) throw new Error("Tooltip components must be wrapped in <Tooltip />");
        return context;
      };
      Trigger = React$157.forwardRef(function TooltipTrigger({ children, sx, ...props }, propRef) {
        const context = useTooltipContext();
        const childrenRef = children.ref;
        const ref = useMergeRefs([
          context.refs.setReference,
          propRef,
          childrenRef
        ]);
        if (!React$157.isValidElement(children)) return null;
        if (children.props.isDisabled || children.props.disabled) return /* @__PURE__ */ jsx2(Span2, {
          ref,
          ...context.getReferenceProps({ ...props }),
          "data-state": context.open ? "open" : "closed",
          sx: [{
            width: "fit-content",
            display: "inline-block",
            cursor: "not-allowed",
            outline: "none"
          }, sx],
          tabIndex: 0,
          children
        });
        return React$157.cloneElement(children, context.getReferenceProps({
          ref,
          ...props,
          ...children.props,
          "data-state": context.open ? "open" : "closed"
        }));
      });
      Content = React$157.forwardRef(function TooltipContent({ style, text, sx, ...props }, propRef) {
        const context = useTooltipContext();
        const ref = useMergeRefs([context.refs.setFloating, propRef]);
        const effectiveRoot = usePortalRoot()?.() ?? void 0;
        if (!context.isMounted) return null;
        return /* @__PURE__ */ jsx2(FloatingPortal, {
          root: effectiveRoot,
          children: /* @__PURE__ */ jsx2(Box2, {
            ref,
            elementDescriptor: descriptors.tooltip,
            style: {
              ...context.floatingStyles,
              ...style
            },
            ...context.getFloatingProps(props),
            children: /* @__PURE__ */ jsx2(Box2, {
              elementDescriptor: descriptors.tooltipContent,
              style: context.transitionStyles,
              sx: [(t2) => ({
                paddingBlock: t2.space.$1,
                paddingInline: t2.space.$1x5,
                borderRadius: t2.radii.$md,
                backgroundColor: t2.colors.$black,
                color: t2.colors.$white,
                maxWidth: t2.sizes.$60
              }), sx],
              children: /* @__PURE__ */ jsx2(Text2, {
                elementDescriptor: descriptors.tooltipText,
                localizationKey: text,
                variant: "body",
                colorScheme: "inherit"
              })
            })
          })
        });
      });
      Tooltip = {
        Root: Root6,
        Trigger,
        Content
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Switch.js
  var import_react348, Switch2;
  var init_Switch2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Switch.js"() {
      init_common();
      init_elementDescriptors();
      init_customizables();
      import_react348 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      Switch2 = (0, import_react348.forwardRef)(({ isChecked: controlledChecked, defaultChecked, onChange, isDisabled = false, label }, ref) => {
        const [internalChecked, setInternalChecked] = (0, import_react348.useState)(!!defaultChecked);
        const isControlled = controlledChecked !== void 0;
        const checked = isControlled ? controlledChecked : internalChecked;
        const handleChange = (e3) => {
          if (isDisabled) return;
          if (!isControlled) setInternalChecked(e3.target.checked);
          onChange?.(e3.target.checked);
        };
        return /* @__PURE__ */ jsxs2(Flex2, {
          ref,
          elementDescriptor: descriptors.switchRoot,
          direction: "row",
          align: "center",
          as: "label",
          sx: (t2) => ({
            isolation: "isolate",
            width: "fit-content",
            "&:has(input:focus-visible) > input + span": { ...common.focusRingStyles(t2) }
          }),
          children: [
            /* @__PURE__ */ jsx2("input", {
              type: "checkbox",
              role: "switch",
              disabled: isDisabled,
              defaultChecked,
              checked,
              onChange: handleChange,
              style: { ...common.visuallyHidden() }
            }),
            /* @__PURE__ */ jsx2(Flex2, {
              elementDescriptor: descriptors.switchIndicator,
              as: "span",
              "data-checked": checked,
              sx: (t2) => ({
                width: t2.sizes.$6,
                height: t2.sizes.$4,
                alignItems: "center",
                position: "relative",
                backgroundColor: checked ? t2.colors.$primary500 : t2.colors.$neutralAlpha150,
                borderRadius: 999,
                transition: "background-color 0.2s",
                opacity: isDisabled ? 0.6 : 1,
                cursor: isDisabled ? "not-allowed" : "pointer",
                outline: "none",
                boxSizing: "border-box",
                boxShadow: "0px 0px 0px 1px rgba(0, 0, 0, 0.06) inset"
              }),
              children: /* @__PURE__ */ jsx2(Flex2, {
                as: "span",
                elementDescriptor: descriptors.switchThumb,
                sx: (t2) => ({
                  position: "absolute",
                  left: t2.sizes.$0x5,
                  width: t2.sizes.$3,
                  height: t2.sizes.$3,
                  borderRadius: "50%",
                  backgroundColor: t2.colors.$colorBackground,
                  boxShadow: t2.shadows.$switchControl,
                  transform: `translateX(${checked ? t2.sizes.$2 : 0})`,
                  transition: "transform 0.2s",
                  zIndex: 1
                })
              })
            }),
            /* @__PURE__ */ jsx2(Text2, {
              as: "span",
              variant: "caption",
              colorScheme: "secondary",
              localizationKey: label,
              sx: (t2) => ({
                paddingInlineStart: t2.sizes.$2,
                cursor: isDisabled ? "not-allowed" : "pointer",
                userSelect: "none"
              })
            })
          ]
        });
      });
      Switch2.displayName = "Switch";
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/PricingTable/utils/pricing-footer-state.js
  var valueResolution, getPricingFooterState;
  var init_pricing_footer_state = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/PricingTable/utils/pricing-footer-state.js"() {
      valueResolution = (params) => {
        const { subscription, plan, planPeriod, for: forWhom, hasActiveOrganization } = params;
        const show_with_notice = [true, true];
        const show_without_notice = [true, false];
        const hide4 = [false, false];
        if (!subscription) {
          if (forWhom === "organization" && !hasActiveOrganization) return hide4;
          return show_without_notice;
        }
        if (subscription.status === "upcoming") return show_with_notice;
        if (subscription.status === "active") {
          const isCanceled = !!subscription.canceledAt;
          const isSwitchingPaidPeriod = planPeriod !== subscription.planPeriod && Boolean(plan.annualMonthlyFee?.amount);
          const isActiveFreeTrial = plan.freeTrialEnabled && subscription.isFreeTrial;
          if (isCanceled || isSwitchingPaidPeriod) return show_without_notice;
          if (isActiveFreeTrial) return show_with_notice;
          return hide4;
        }
        return hide4;
      };
      getPricingFooterState = (params) => {
        const [shouldShowFooter, shouldShowFooterNotice] = valueResolution(params);
        return {
          shouldShowFooter,
          shouldShowFooterNotice
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/PricingTable/PricingTableDefault.js
  function PricingTableDefault({ plans, planPeriod, setPlanPeriod, onSelect, isCompact, props }) {
    return /* @__PURE__ */ jsx2(InternalThemeProvider, { children: /* @__PURE__ */ jsx2(Box2, {
      elementDescriptor: descriptors.pricingTable,
      sx: (t2) => ({
        "--grid-min-size": isCompact ? "11.75rem" : "20rem",
        "--grid-max-columns": "infinity",
        "--grid-gap": t2.space.$4,
        "--max-column-width": "100% / var(--grid-max-columns, infinity) - var(--grid-gap)",
        "--column-width": "max(var(--max-column-width), min(var(--grid-min-size, 10rem), 100%))",
        display: "grid",
        gridTemplateColumns: "repeat(auto-fit, minmax(var(--column-width), 1fr))",
        gridTemplateRows: "auto 1fr",
        gap: `var(--grid-gap-y, var(--grid-gap, ${t2.space.$4})) var(--grid-gap, ${t2.space.$4})`,
        alignItems: "stretch",
        width: "100%",
        minWidth: "0"
      }),
      "data-variant": isCompact ? "compact" : "default",
      children: plans?.map((plan) => /* @__PURE__ */ jsx2(Card2, {
        plan,
        planPeriod,
        setPlanPeriod,
        onSelect,
        props,
        isCompact
      }, plan.id))
    }) });
  }
  function Card2(props) {
    const { plan, planPeriod, setPlanPeriod, onSelect, props: pricingTableProps, isCompact = false } = props;
    const clerk2 = useClerk();
    const { isSignedIn } = useSession();
    const { mode = "mounted", ctaPosition: ctxCtaPosition } = usePricingTableContext();
    const subscriberType = useSubscriberTypeContext();
    const organization = useOrganizationBase();
    const ctaPosition = pricingTableProps.ctaPosition || ctxCtaPosition || "bottom";
    const collapseFeatures = pricingTableProps.collapseFeatures || false;
    const { id, slug } = plan;
    const canManageBilling = useProtect((has2) => has2({ permission: "org:sys_billing:manage" }) || subscriberType === "user");
    const { buttonPropsForPlan, activeOrUpcomingSubscriptionBasedOnPlanPeriod } = usePlansContext();
    const showPlanDetails = (event) => {
      const portalRoot = getClosestProfileScrollBox(mode, event);
      clerk2.__internal_openPlanDetails({
        plan,
        initialPlanPeriod: planPeriod,
        portalRoot
      });
    };
    const subscription = React$158.useMemo(() => activeOrUpcomingSubscriptionBasedOnPlanPeriod(plan, planPeriod), [
      plan,
      planPeriod,
      activeOrUpcomingSubscriptionBasedOnPlanPeriod
    ]);
    const footerButtonTooltipText = React$158.useMemo(() => {
      if (isSignedIn && !canManageBilling) return localizationKeys("organizationProfile.plansPage.alerts.noPermissionsToManageBilling");
      if (organization && subscriberType === "organization" && organizationExceedsPlanSeatLimit(plan, organization)) {
        const seatLimit = getPlanSeatLimit(plan);
        return localizationKeys("organizationProfile.plansPage.alerts.planMembershipLimitExceeded", {
          count: organization.membersCount + organization.pendingInvitationsCount,
          limit: seatLimit
        });
      }
      return null;
    }, [
      isSignedIn,
      canManageBilling,
      organization,
      subscriberType,
      plan
    ]);
    const hasFeatures = plan.features.length > 0;
    const hasSeatFeatures = !!getSeatUnitPrice(plan);
    const { shouldShowFooter, shouldShowFooterNotice } = getPricingFooterState({
      subscription,
      plan,
      planPeriod,
      for: pricingTableProps.for,
      hasActiveOrganization: !!organization
    });
    return /* @__PURE__ */ jsxs2(Box2, {
      elementDescriptor: descriptors.pricingTableCard,
      elementId: descriptors.pricingTableCard.setId(slug),
      sx: (t2) => ({
        display: "grid",
        gap: 0,
        gridTemplateRows: "subgrid",
        gridRow: "span 5",
        background: common.mutedBackground(t2),
        borderWidth: t2.borderWidths.$normal,
        borderStyle: t2.borderStyles.$solid,
        borderColor: t2.colors.$borderAlpha150,
        borderRadius: t2.radii.$xl,
        overflow: "hidden",
        textAlign: "start"
      }),
      "data-variant": isCompact ? "compact" : "default",
      children: [/* @__PURE__ */ jsx2(CardHeader, {
        plan,
        isCompact,
        planPeriod,
        setPlanPeriod,
        badge: subscription ? /* @__PURE__ */ jsx2(SubscriptionBadge, { subscription: subscription.isFreeTrial ? { status: "free_trial" } : subscription }) : void 0
      }), /* @__PURE__ */ jsxs2(Box2, {
        elementDescriptor: descriptors.pricingTableCardBody,
        sx: {
          display: "grid",
          gridTemplateRows: "subgrid",
          gridRow: "span 2",
          gap: 0
        },
        children: [ctaPosition === "bottom" && !collapseFeatures || ctaPosition === "top" && hasFeatures ? /* @__PURE__ */ jsx2(Box2, {
          elementDescriptor: descriptors.pricingTableCardFeatures,
          sx: (t2) => ({
            display: "flex",
            flexDirection: "column",
            flex: "1",
            padding: isCompact ? t2.space.$3 : t2.space.$4,
            backgroundColor: hasFeatures || hasSeatFeatures ? t2.colors.$colorBackground : "transparent",
            borderTopWidth: hasFeatures || hasSeatFeatures ? t2.borderWidths.$normal : 0,
            borderTopStyle: t2.borderStyles.$solid,
            borderTopColor: t2.colors.$borderAlpha150
          }),
          "data-variant": isCompact ? "compact" : "default",
          children: /* @__PURE__ */ jsx2(CardFeaturesList, {
            plan,
            isCompact,
            showPlanDetails
          })
        }) : null, shouldShowFooter ? /* @__PURE__ */ jsx2(Box2, {
          elementDescriptor: descriptors.pricingTableCardFooter,
          sx: (t2) => ({
            marginTop: "auto",
            padding: isCompact ? t2.space.$3 : t2.space.$4,
            borderTopWidth: t2.borderWidths.$normal,
            borderTopStyle: t2.borderStyles.$solid,
            borderTopColor: t2.colors.$borderAlpha150,
            order: ctaPosition === "top" ? -1 : void 0
          }),
          children: shouldShowFooterNotice && subscription ? /* @__PURE__ */ jsx2(Text2, {
            elementDescriptor: descriptors.pricingTableCardFooterNotice,
            variant: isCompact ? "buttonSmall" : "buttonLarge",
            localizationKey: plan.freeTrialEnabled && subscription.isFreeTrial && subscription.periodEnd ? localizationKeys("badge__trialEndsAt", { date: subscription.periodEnd }) : localizationKeys("badge__startsAt", { date: subscription.periodStart }),
            colorScheme: "secondary",
            sx: (t2) => ({
              paddingBlock: t2.space.$1x5,
              textAlign: "center"
            })
          }) : /* @__PURE__ */ jsxs2(Tooltip.Root, { children: [/* @__PURE__ */ jsx2(Tooltip.Trigger, {
            sx: { width: "100%" },
            children: /* @__PURE__ */ jsx2(Button2, {
              elementDescriptor: descriptors.pricingTableCardFooterButton,
              block: true,
              textVariant: isCompact ? "buttonSmall" : "buttonLarge",
              ...buttonPropsForPlan({
                plan,
                organization,
                isCompact,
                selectedPlanPeriod: planPeriod
              }),
              onClick: (event) => {
                onSelect(plan, event);
              }
            })
          }), footerButtonTooltipText ? /* @__PURE__ */ jsx2(Tooltip.Content, { text: footerButtonTooltipText }) : null] })
        }) : /* @__PURE__ */ jsx2(Box2, { sx: (t2) => ({ backgroundColor: hasFeatures ? t2.colors.$colorBackground : "transparent" }) })]
      })]
    }, id);
  }
  var React$158, CardHeader, PeriodToggle, CardFeaturesList, CardFeaturesListSeatCost;
  var init_PricingTableDefault = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/PricingTable/PricingTableDefault.js"() {
      init_localizationKeys();
      init_check();
      init_plus();
      init_user2();
      init_users();
      init_Gate();
      init_billingPlanSeats();
      init_getClosestProfileScrollBox();
      init_SubscriberType();
      init_Plans();
      init_PricingTable();
      init_makeLocalizable();
      init_InternalThemeProvider();
      init_common();
      init_elementDescriptors();
      init_customizables();
      init_Tooltip();
      init_badge();
      init_Switch2();
      init_pricing_footer_state();
      React$158 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      CardHeader = React$158.forwardRef((props, ref) => {
        const { plan, isCompact, planPeriod, setPlanPeriod, badge } = props;
        const { name } = plan;
        const fee = React$158.useMemo(() => {
          if (!plan.annualMonthlyFee) return plan.fee;
          if (!plan.fee) return plan.annualFee;
          return planPeriod === "annual" ? plan.annualMonthlyFee : plan.fee;
        }, [plan, planPeriod]);
        const singleUnitPriceTierFee = React$158.useMemo(() => {
          if (plan.hasBaseFee || !plan.unitPrices || plan.unitPrices.length !== 1) return null;
          const [unitPrice] = plan.unitPrices;
          if (unitPrice.tiers.length !== 1) return null;
          return unitPrice.tiers[0].feePerBlock;
        }, [plan.hasBaseFee, plan.unitPrices]);
        const feePeriodText = React$158.useMemo(() => {
          if (!plan.hasBaseFee && plan.unitPrices && plan.unitPrices.length > 0) return localizationKeys("billing.monthPerUnit", { unitName: plan.unitPrices[0].name });
          return plan.fee ? localizationKeys("billing.month") : localizationKeys("billing.year");
        }, [
          plan.hasBaseFee,
          plan.fee,
          plan.unitPrices
        ]);
        const displayedFee = singleUnitPriceTierFee ?? fee;
        const feeFormatted = React$158.useMemo(() => {
          if (!displayedFee) return "";
          return `${displayedFee.currencySymbol}${normalizeFormatted(displayedFee.amountFormatted)}`;
        }, [displayedFee]);
        return /* @__PURE__ */ jsxs2(Box2, {
          ref,
          elementDescriptor: descriptors.pricingTableCardHeader,
          sx: (t2) => ({
            width: "100%",
            padding: isCompact ? t2.space.$3 : t2.space.$4,
            display: "grid",
            gap: t2.space.$1,
            gridRow: "span 3",
            gridTemplateRows: "subgrid"
          }),
          "data-variant": isCompact ? "compact" : "default",
          children: [
            /* @__PURE__ */ jsxs2(Box2, {
              elementDescriptor: descriptors.pricingTableCardTitleContainer,
              children: [/* @__PURE__ */ jsxs2(Box2, {
                sx: (t2) => ({
                  display: "flex",
                  justifyContent: "space-between",
                  alignItems: "flex-start",
                  gap: t2.space.$0x25
                }),
                children: [/* @__PURE__ */ jsx2(Heading2, {
                  elementDescriptor: descriptors.pricingTableCardTitle,
                  as: "h2",
                  textVariant: isCompact ? "h3" : "h2",
                  children: name
                }), badge && badge]
              }), !isCompact && plan.description ? /* @__PURE__ */ jsx2(Text2, {
                elementDescriptor: descriptors.pricingTableCardDescription,
                variant: "subtitle",
                colorScheme: "secondary",
                sx: { justifySelf: "flex-start" },
                children: plan.description
              }) : null]
            }),
            /* @__PURE__ */ jsxs2(Flex2, {
              elementDescriptor: descriptors.pricingTableCardFeeContainer,
              "data-variant": isCompact ? "compact" : "default",
              align: "center",
              wrap: "wrap",
              sx: (t2) => ({
                columnGap: t2.space.$1,
                marginTop: t2.space.$1
              }),
              children: [/* @__PURE__ */ jsx2(Text2, {
                elementDescriptor: descriptors.pricingTableCardFee,
                variant: isCompact ? "h2" : "h1",
                colorScheme: "body",
                children: feeFormatted
              }), !plan.isDefault ? /* @__PURE__ */ jsx2(Text2, {
                elementDescriptor: descriptors.pricingTableCardFeePeriod,
                variant: "caption",
                colorScheme: "secondary",
                sx: (t2) => ({
                  textTransform: "lowercase",
                  ":before": {
                    content: '"/"',
                    marginInlineEnd: t2.space.$0x25
                  }
                }),
                localizationKey: feePeriodText
              }) : null]
            }),
            /* @__PURE__ */ jsx2(PeriodToggle, {
              plan,
              planPeriod,
              setPlanPeriod
            })
          ]
        });
      });
      PeriodToggle = ({ plan, planPeriod, setPlanPeriod }) => {
        if (!plan.isDefault && plan.fee && plan.annualMonthlyFee) return /* @__PURE__ */ jsx2(Box2, {
          elementDescriptor: descriptors.pricingTableCardPeriodToggle,
          sx: (t2) => ({ marginTop: t2.space.$1 }),
          children: /* @__PURE__ */ jsx2(Switch2, {
            isChecked: planPeriod === "annual",
            onChange: (checked) => setPlanPeriod(checked ? "annual" : "month"),
            label: localizationKeys("billing.billedAnnually")
          })
        });
        if (plan.annualMonthlyFee) return /* @__PURE__ */ jsx2(Text2, {
          elementDescriptor: descriptors.pricingTableCardFeePeriodNotice,
          variant: "caption",
          colorScheme: "secondary",
          localizationKey: plan.isDefault ? localizationKeys("billing.alwaysFree") : localizationKeys("billing.billedAnnuallyOnly"),
          sx: (t2) => ({
            justifySelf: "flex-start",
            alignSelf: "center",
            marginTop: t2.space.$1
          })
        });
        return /* @__PURE__ */ jsx2(Text2, {
          elementDescriptor: descriptors.pricingTableCardFeePeriodNotice,
          variant: "caption",
          colorScheme: "secondary",
          localizationKey: plan.isDefault ? localizationKeys("billing.alwaysFree") : localizationKeys("billing.billedMonthlyOnly"),
          sx: (t2) => ({
            justifySelf: "flex-start",
            alignSelf: "center",
            marginTop: t2.space.$1
          })
        });
      };
      CardFeaturesList = React$158.forwardRef((props, ref) => {
        const { plan, isCompact, showPlanDetails } = props;
        const totalFeatures = plan.features.length;
        const hasMoreFeatures = isCompact ? totalFeatures > 3 : totalFeatures > 8;
        return /* @__PURE__ */ jsxs2(Box2, {
          ref,
          elementDescriptor: descriptors.pricingTableCardFeatures,
          sx: (t2) => ({
            display: "grid",
            flex: 1,
            rowGap: isCompact ? t2.space.$2 : t2.space.$3
          }),
          children: [/* @__PURE__ */ jsxs2(Col2, {
            elementDescriptor: descriptors.pricingTableCardFeaturesList,
            "data-variant": isCompact ? "compact" : "default",
            as: "ul",
            role: "list",
            sx: (t2) => ({
              flex: "1",
              rowGap: isCompact ? t2.space.$2 : t2.space.$3,
              margin: 0,
              padding: 0
            }),
            children: [plan.unitPrices && plan.unitPrices.length > 0 && (plan.hasBaseFee || plan.unitPrices[0].tiers.length > 0) ? /* @__PURE__ */ jsx2(CardFeaturesListSeatCost, { plan }) : null, plan.features.slice(0, hasMoreFeatures ? isCompact ? 3 : 8 : totalFeatures).map((feature) => /* @__PURE__ */ jsxs2(Box2, {
              elementDescriptor: descriptors.pricingTableCardFeaturesListItem,
              elementId: descriptors.pricingTableCardFeaturesListItem.setId(feature.slug),
              as: "li",
              sx: (t2) => ({
                display: "flex",
                alignItems: "baseline",
                gap: t2.space.$2,
                margin: 0,
                padding: 0
              }),
              children: [/* @__PURE__ */ jsx2(Icon, {
                icon: check_default,
                colorScheme: "neutral",
                size: "sm",
                "aria-hidden": true,
                sx: (t2) => ({ transform: `translateY(${t2.space.$0x25})` })
              }), /* @__PURE__ */ jsx2(Span2, {
                elementDescriptor: descriptors.pricingTableCardFeaturesListItemContent,
                children: /* @__PURE__ */ jsx2(Text2, {
                  elementDescriptor: descriptors.pricingTableCardFeaturesListItemTitle,
                  colorScheme: "body",
                  sx: (t2) => ({ fontWeight: t2.fontWeights.$normal }),
                  children: feature.name
                })
              })]
            }, feature.id))]
          }), hasMoreFeatures && /* @__PURE__ */ jsxs2(SimpleButton2, {
            onClick: (event) => showPlanDetails(event),
            variant: "link",
            sx: (t2) => ({
              marginBlockStart: "auto",
              paddingBlock: t2.space.$1,
              gap: t2.space.$1
            }),
            children: [/* @__PURE__ */ jsx2(Icon, {
              icon: plus_default,
              colorScheme: "neutral",
              size: "md",
              "aria-hidden": true
            }), /* @__PURE__ */ jsx2(Span2, { localizationKey: localizationKeys("billing.seeAllFeatures") })]
          })]
        });
      });
      CardFeaturesListSeatCost = ({ plan }) => {
        const { t: t2 } = useLocalizations();
        const unitPrices = plan.unitPrices;
        const period = t2(localizationKeys("billing.month"));
        const periodAbbreviation = t2(localizationKeys("billing.monthAbbreviation"));
        const seatRows = React$158.useMemo(() => {
          if (!unitPrices) return null;
          const seatUnitPrice = getSeatUnitPrice(plan);
          if (!seatUnitPrice) return null;
          const formatTierFee = (tier) => `${tier.feePerBlock.currencySymbol}${normalizeFormatted(tier.feePerBlock.amountFormatted)}`;
          const getCapacityText = (endsAfterBlock) => endsAfterBlock === null ? localizationKeys("billing.pricingTable.seatCost.unlimitedSeats") : localizationKeys("billing.pricingTable.seatCost.upToSeats", { endsAfterBlock });
          if (seatUnitPrice.tiers.length === 1) {
            const tier = seatUnitPrice.tiers[0];
            const rows = [];
            if (tier.feePerBlock.amount !== 0 && plan.hasBaseFee) rows.push({
              elementId: "seats",
              icon: user_default,
              text: localizationKeys("billing.pricingTable.seatCost.perSeat", {
                feePerBlockAmount: formatTierFee(tier),
                periodAbbreviation
              })
            });
            rows.push({
              elementId: rows.length ? "seats-limit" : "seats",
              icon: users_default,
              text: getCapacityText(tier.endsAfterBlock)
            });
            return rows;
          }
          if (seatUnitPrice.tiers.length === 2) {
            const [includedTier, additionalTier] = seatUnitPrice.tiers;
            if (includedTier && additionalTier && includedTier.feePerBlock.amount === 0 && includedTier.endsAfterBlock !== null && additionalTier.feePerBlock.amount !== 0) {
              const additionalTierFeePerBlockAmount = formatTierFee(additionalTier);
              const tooltipPrefixText = t2(localizationKeys(plan.isDefault && (plan.fee?.amount === 0 || plan.annualMonthlyFee?.amount === 0) ? "billing.pricingTable.seatCost.tooltip.freeForUpToSeats" : "billing.pricingTable.seatCost.tooltip.firstSeatsIncludedInPlan", { endsAfterBlock: includedTier.endsAfterBlock }));
              const tooltipAdditionalText = t2(localizationKeys("billing.pricingTable.seatCost.tooltip.additionalSeatsEach", {
                feePerBlockAmount: additionalTierFeePerBlockAmount,
                period
              }));
              return [{
                elementId: "seats",
                icon: user_default,
                text: localizationKeys("billing.pricingTable.seatCost.includedSeats", { includedSeats: includedTier.endsAfterBlock }),
                additionalText: localizationKeys("billing.pricingTable.seatCost.additionalSeats", {
                  additionalTierFeePerBlockAmount,
                  periodAbbreviation
                }),
                additionalTooltipText: `${tooltipPrefixText} ${tooltipAdditionalText}`
              }, {
                elementId: "seats-limit",
                icon: users_default,
                text: getCapacityText(additionalTier.endsAfterBlock)
              }];
            }
          }
          return null;
        }, [
          period,
          periodAbbreviation,
          plan.fee,
          plan.annualMonthlyFee,
          t2,
          unitPrices
        ]);
        if (!seatRows?.length) return null;
        return /* @__PURE__ */ jsx2(Fragment3, { children: seatRows.map((row) => /* @__PURE__ */ jsxs2(Box2, {
          elementDescriptor: descriptors.pricingTableCardFeaturesListItem,
          elementId: descriptors.pricingTableCardFeaturesListItem.setId(row.elementId),
          as: "li",
          sx: (t$1) => ({
            display: "flex",
            alignItems: "baseline",
            gap: t$1.space.$2,
            margin: 0,
            padding: 0
          }),
          children: [/* @__PURE__ */ jsx2(Icon, {
            icon: row.icon,
            colorScheme: "neutral",
            size: "sm",
            "aria-hidden": true,
            sx: (t$1) => ({ transform: `translateY(${t$1.space.$0x25})` })
          }), /* @__PURE__ */ jsx2(Span2, {
            elementDescriptor: descriptors.pricingTableCardFeaturesListItemContent,
            children: /* @__PURE__ */ jsxs2(Text2, {
              elementDescriptor: descriptors.pricingTableCardFeaturesListItemTitle,
              colorScheme: "body",
              sx: (t$1) => ({ fontWeight: t$1.fontWeights.$normal }),
              children: [/* @__PURE__ */ jsx2(Span2, { localizationKey: row.text }), row.additionalText ? /* @__PURE__ */ jsxs2(Fragment3, { children: [" ", row.additionalTooltipText ? /* @__PURE__ */ jsxs2(Tooltip.Root, { children: [/* @__PURE__ */ jsx2(Tooltip.Trigger, { children: /* @__PURE__ */ jsx2(Span2, {
                localizationKey: row.additionalText,
                sx: { textDecoration: "underline dotted" }
              }) }), /* @__PURE__ */ jsx2(Tooltip.Content, { text: row.additionalTooltipText })] }) : /* @__PURE__ */ jsx2(Span2, { localizationKey: row.additionalText })] }) : null]
            })
          })]
        }, row.elementId)) });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/SegmentedControl.js
  function useSegmentedControlContext() {
    const context = (0, import_react350.useContext)(SegmentedControlContext);
    if (!context) throw new Error("SegmentedControl.Button must be used within SegmentedControl.Root");
    return context;
  }
  var import_react350, SegmentedControlContext, Root7, Button3, SegmentedControl;
  var init_SegmentedControl = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/SegmentedControl.js"() {
      init_elementDescriptors();
      init_customizables();
      import_react350 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      init_floating_ui_react();
      SegmentedControlContext = (0, import_react350.createContext)(null);
      Root7 = import_react350.default.forwardRef(({ children, value: controlledValue, defaultValue, onChange, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, size: size$1 = "md", fullWidth = false, sx }, ref) => {
        const [internalValue, setInternalValue] = (0, import_react350.useState)(defaultValue);
        const isControlled = controlledValue !== void 0;
        const currentValue = isControlled ? controlledValue : internalValue;
        const handleValueChange = (newValue) => {
          if (!isControlled) setInternalValue(newValue);
          onChange?.(newValue);
        };
        return /* @__PURE__ */ jsx2(SegmentedControlContext.Provider, {
          value: {
            currentValue,
            onValueChange: handleValueChange,
            size: size$1,
            fullWidth
          },
          children: /* @__PURE__ */ jsx2(Composite, {
            orientation: "horizontal",
            role: "radiogroup",
            loop: false,
            render: /* @__PURE__ */ jsx2(Flex2, {
              ref,
              elementDescriptor: descriptors.segmentedControlRoot,
              "aria-label": ariaLabel,
              "aria-labelledby": ariaLabelledby,
              sx: [(t2) => ({
                backgroundColor: t2.colors.$neutralAlpha50,
                borderRadius: t2.radii.$md,
                borderWidth: t2.borderWidths.$normal,
                borderStyle: t2.borderStyles.$solid,
                borderColor: t2.colors.$borderAlpha100,
                isolation: "isolate"
              }), sx]
            }),
            children
          })
        });
      });
      Root7.displayName = "SegmentedControl.Root";
      Button3 = import_react350.default.forwardRef(({ text, value }, ref) => {
        const { currentValue, onValueChange, size: size$1, fullWidth } = useSegmentedControlContext();
        const isSelected = value === currentValue;
        return /* @__PURE__ */ jsx2(CompositeItem, { render: (compProps) => {
          return /* @__PURE__ */ jsx2(SimpleButton2, {
            ref,
            ...compProps,
            localizationKey: text,
            elementDescriptor: descriptors.segmentedControlButton,
            variant: "unstyled",
            role: "radio",
            "aria-checked": isSelected,
            onClick: () => onValueChange(value),
            isActive: isSelected,
            sx: (t2) => ({
              position: "relative",
              width: fullWidth ? "100%" : "auto",
              backgroundColor: isSelected ? t2.colors.$colorBackground : "transparent",
              color: isSelected ? t2.colors.$colorForeground : t2.colors.$colorMutedForeground,
              fontSize: size$1 === "lg" ? t2.fontSizes.$md : t2.fontSizes.$xs,
              minHeight: t2.sizes.$6,
              boxShadow: isSelected ? t2.shadows.$segmentedControl : "none",
              borderRadius: `calc(${t2.radii.$md} - ${t2.borderWidths.$normal})`,
              zIndex: 1,
              ":focus-visible": { zIndex: 2 }
            })
          });
        } });
      });
      Button3.displayName = "SegmentedControl.Button";
      SegmentedControl = {
        Root: Root7,
        Button: Button3
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/PricingTable/PricingTableMatrix.js
  function PricingTableMatrix({ plans = [], planPeriod, setPlanPeriod, onSelect, highlightedPlan }) {
    const prefersReducedMotion = usePrefersReducedMotion();
    const { animations: layoutAnimations } = useAppearance().parsedOptions;
    const isMotionSafe = !prefersReducedMotion && layoutAnimations === true;
    const segmentedControlId = `${React$159.useId()}-segmented-control`;
    const { buttonPropsForPlan } = usePlansContext();
    const { t: t2 } = useLocalizations();
    const feePeriodNoticeAnimation = (t$1) => ({ transition: isMotionSafe ? `grid-template-rows ${t$1.transitionDuration.$slower} ${t$1.transitionTiming.$slowBezier}` : "none" });
    const highlightBackgroundColor = (t$1) => ({ background: common.mergedColorsBackground(colors$2.setAlpha(t$1.colors.$colorBackground, 1), t$1.colors.$neutralAlpha25) });
    const gridTemplateColumns = React$159.useMemo(() => `repeat(${plans.length + 1}, minmax(9.375rem,1fr))`, [plans.length]);
    const renderBillingCycleControls = React$159.useMemo(() => plans.some((plan) => Boolean(plan.annualMonthlyFee)), [plans]);
    const getAllFeatures = React$159.useMemo(() => {
      const featuresSet = /* @__PURE__ */ new Set();
      plans.forEach(({ features }) => {
        features.forEach(({ name }) => featuresSet.add(name));
      });
      return Array.from(featuresSet);
    }, [plans]);
    if (!plans.length) return null;
    return /* @__PURE__ */ jsx2(InternalThemeProvider, { children: /* @__PURE__ */ jsx2(Box2, {
      elementDescriptor: descriptors.pricingTableMatrix,
      sx: (t$1) => ({
        position: "relative",
        minWidth: "100%",
        display: "grid",
        isolation: "isolate",
        backgroundColor: t$1.colors.$colorBackground,
        [mqu.md]: { overflowX: "auto" }
      }),
      children: /* @__PURE__ */ jsxs2(Box2, {
        elementDescriptor: descriptors.pricingTableMatrixTable,
        role: "table",
        children: [/* @__PURE__ */ jsx2(Box2, {
          elementDescriptor: [descriptors.pricingTableMatrixRowGroup, descriptors.pricingTableMatrixRowGroupHeader],
          role: "rowgroup",
          sx: (t$1) => ({
            position: "sticky",
            top: 0,
            backgroundColor: t$1.colors.$colorBackground,
            borderBottomWidth: t$1.borderWidths.$normal,
            borderBottomStyle: t$1.borderStyles.$solid,
            borderBottomColor: t$1.colors.$borderAlpha100,
            zIndex: 1
          }),
          children: /* @__PURE__ */ jsxs2(Box2, {
            elementDescriptor: [descriptors.pricingTableMatrixRow, descriptors.pricingTableMatrixRowHeader],
            role: "row",
            sx: {
              display: "grid",
              gridTemplateColumns
            },
            children: [/* @__PURE__ */ jsx2(Box2, {
              elementDescriptor: descriptors.pricingTableMatrixColumnHeader,
              role: "columnheader",
              sx: (t$1) => ({
                display: "flex",
                flexDirection: "column",
                alignItems: "flex-start",
                justifyContent: "flex-end",
                rowGap: t$1.space.$3,
                paddingBlockEnd: t$1.space.$12,
                paddingInlineStart: t$1.space.$3
              }),
              children: renderBillingCycleControls ? /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Text2, {
                id: segmentedControlId,
                colorScheme: "secondary",
                variant: "caption",
                localizationKey: localizationKeys("billing.pricingTable.billingCycle"),
                children: "Billing cycle"
              }), /* @__PURE__ */ jsxs2(SegmentedControl.Root, {
                "aria-labelledby": segmentedControlId,
                value: planPeriod,
                onChange: (value) => setPlanPeriod(value),
                children: [/* @__PURE__ */ jsx2(SegmentedControl.Button, {
                  value: "month",
                  text: localizationKeys("billing.monthly")
                }), /* @__PURE__ */ jsx2(SegmentedControl.Button, {
                  value: "annual",
                  text: localizationKeys("billing.annually")
                })]
              })] }) : null
            }), plans.map((plan) => {
              const highlight = plan.slug === highlightedPlan;
              const planFee = !plan.annualMonthlyFee ? plan.fee : planPeriod === "annual" ? plan.annualMonthlyFee : plan.fee;
              return /* @__PURE__ */ jsxs2(Box2, {
                elementDescriptor: descriptors.pricingTableMatrixColumnHeader,
                role: "columnheader",
                sx: [(t$1) => ({
                  display: "flex",
                  flexDirection: "column",
                  alignItems: "flex-start",
                  flex: 1,
                  borderStartStartRadius: t$1.radii.$xl,
                  borderStartEndRadius: t$1.radii.$xl
                }), highlight && highlightBackgroundColor],
                "data-highlighted": highlight,
                children: [/* @__PURE__ */ jsxs2(Box2, {
                  sx: (t$1) => ({
                    width: "100%",
                    padding: t$1.space.$4
                  }),
                  children: [
                    plan.avatarUrl || highlight ? /* @__PURE__ */ jsxs2(Span2, {
                      sx: (t$1) => ({
                        width: "100%",
                        display: "flex",
                        alignItems: "flex-start",
                        justifyContent: "space-between",
                        marginBlockEnd: t$1.space.$3
                      }),
                      children: [plan.avatarUrl ? /* @__PURE__ */ jsx2(Avatar, {
                        elementDescriptor: descriptors.pricingTableMatrixAvatar,
                        size: (_3) => 40,
                        title: plan.name,
                        initials: plan.name[0],
                        rounded: false,
                        imageUrl: plan.avatarUrl
                      }) : null, highlight ? /* @__PURE__ */ jsx2(Badge2, {
                        elementDescriptor: descriptors.pricingTableMatrixBadge,
                        colorScheme: "secondary",
                        localizationKey: localizationKeys("billing.popular")
                      }) : null]
                    }) : null,
                    /* @__PURE__ */ jsx2(Heading2, {
                      elementDescriptor: descriptors.pricingTableMatrixPlanName,
                      textVariant: "h3",
                      children: plan.name
                    }),
                    /* @__PURE__ */ jsx2(Flex2, {
                      align: "center",
                      wrap: "wrap",
                      sx: (t$1) => ({
                        marginTop: t$1.space.$2,
                        columnGap: t$1.space.$1x5
                      }),
                      children: plan.hasBaseFee ? /* @__PURE__ */ jsxs2(Fragment3, { children: [
                        /* @__PURE__ */ jsxs2(Text2, {
                          elementDescriptor: descriptors.pricingTableMatrixFee,
                          variant: "h2",
                          colorScheme: "body",
                          children: [planFee.currencySymbol, planFee.amountFormatted]
                        }),
                        /* @__PURE__ */ jsx2(Text2, {
                          elementDescriptor: descriptors.pricingTableMatrixFeePeriod,
                          variant: "caption",
                          colorScheme: "secondary",
                          sx: (t$1) => ({
                            textTransform: "lowercase",
                            ":before": {
                              content: '"/"',
                              marginInlineEnd: t$1.space.$1
                            }
                          }),
                          localizationKey: localizationKeys("billing.month")
                        }),
                        plan.annualMonthlyFee ? /* @__PURE__ */ jsx2(Box2, {
                          elementDescriptor: descriptors.pricingTableMatrixFeePeriodNotice,
                          sx: [(_3) => ({
                            width: "100%",
                            display: "grid",
                            gridTemplateRows: planPeriod === "annual" ? "1fr" : "0fr"
                          }), feePeriodNoticeAnimation],
                          inert: planPeriod !== "annual" ? "true" : void 0,
                          children: /* @__PURE__ */ jsx2(Box2, {
                            elementDescriptor: descriptors.pricingTableMatrixFeePeriodNoticeInner,
                            sx: {
                              overflow: "hidden",
                              minHeight: 0
                            },
                            children: /* @__PURE__ */ jsxs2(Text2, {
                              elementDescriptor: descriptors.pricingTableMatrixFeePeriodNoticeLabel,
                              variant: "caption",
                              colorScheme: "secondary",
                              sx: (t$1) => ({
                                width: "100%",
                                display: "flex",
                                alignItems: "center",
                                columnGap: t$1.space.$1
                              }),
                              children: [
                                /* @__PURE__ */ jsx2(Icon, {
                                  icon: information_circle_default,
                                  colorScheme: "neutral",
                                  size: "sm",
                                  "aria-hidden": true
                                }),
                                " ",
                                /* @__PURE__ */ jsx2(Span2, { localizationKey: localizationKeys("billing.billedAnnually") })
                              ]
                            })
                          })
                        }) : null
                      ] }) : /* @__PURE__ */ jsx2(Text2, {
                        elementDescriptor: descriptors.pricingTableMatrixFee,
                        variant: "h2",
                        localizationKey: localizationKeys("billing.free"),
                        colorScheme: "body"
                      })
                    })
                  ]
                }), !plan.isDefault ? /* @__PURE__ */ jsx2(Box2, {
                  sx: (t$1) => ({
                    width: "100%",
                    marginBlockStart: "auto",
                    marginBlockEnd: t$1.space.$8,
                    paddingBlockStart: t$1.space.$2,
                    paddingBlockEnd: t$1.space.$4,
                    paddingInline: t$1.space.$4
                  }),
                  children: /* @__PURE__ */ jsx2(Button2, {
                    block: true,
                    textVariant: "buttonSmall",
                    size: "xs",
                    onClick: (event) => {
                      onSelect(plan, event);
                    },
                    ...buttonPropsForPlan({
                      plan,
                      selectedPlanPeriod: planPeriod
                    }),
                    colorScheme: highlight ? "primary" : "secondary"
                  })
                }) : null]
              }, plan.slug);
            })]
          })
        }), /* @__PURE__ */ jsxs2(Box2, {
          elementDescriptor: [descriptors.pricingTableMatrixRowGroup, descriptors.pricingTableMatrixRowGroupBody],
          role: "rowgroup",
          children: [getAllFeatures.map((feature) => {
            return /* @__PURE__ */ jsxs2(Box2, {
              elementDescriptor: [descriptors.pricingTableMatrixRow, descriptors.pricingTableMatrixRowBody],
              role: "row",
              sx: (t$1) => ({
                position: "relative",
                display: "grid",
                gridTemplateColumns,
                borderBottomWidth: t$1.borderWidths.$normal,
                borderBottomStyle: t$1.borderStyles.$solid,
                borderBottomColor: t$1.colors.$borderAlpha100,
                ":after": {
                  content: '""',
                  position: "absolute",
                  inset: 0,
                  pointerEvents: "none",
                  backgroundColor: t$1.colors.$neutralAlpha25,
                  opacity: 0
                },
                ":hover:after": { opacity: 1 }
              }),
              children: [/* @__PURE__ */ jsx2(Box2, {
                elementDescriptor: descriptors.pricingTableMatrixCell,
                role: "cell",
                sx: (t$1) => ({ padding: t$1.space.$3 }),
                children: /* @__PURE__ */ jsx2(Text2, {
                  colorScheme: "body",
                  children: feature
                })
              }), plans.map((plan) => {
                const highlight = plan.slug === highlightedPlan;
                const hasFeature = plan.features.some((f3) => f3.name === feature);
                return /* @__PURE__ */ jsx2(Box2, {
                  elementDescriptor: descriptors.pricingTableMatrixCell,
                  role: "cell",
                  sx: [(t$1) => ({
                    display: "grid",
                    placeContent: "center",
                    padding: t$1.space.$3
                  }), highlight && highlightBackgroundColor],
                  "data-highlighted": highlight,
                  "data-checked": hasFeature,
                  children: hasFeature && /* @__PURE__ */ jsx2(Icon, {
                    icon: check_default,
                    colorScheme: "neutral",
                    size: "sm",
                    "aria-label": t2(localizationKeys("billing.pricingTable.included"))
                  })
                }, plan.slug);
              })]
            }, feature);
          }), /* @__PURE__ */ jsxs2(Box2, {
            elementDescriptor: descriptors.pricingTableMatrixFooter,
            sx: {
              display: "grid",
              gridTemplateColumns
            },
            children: [/* @__PURE__ */ jsx2(Box2, { elementDescriptor: [descriptors.pricingTableMatrixCell, descriptors.pricingTableMatrixCellFooter] }), plans.map((plan) => {
              const highlight = plan.slug === highlightedPlan;
              return /* @__PURE__ */ jsx2(Box2, {
                elementDescriptor: [descriptors.pricingTableMatrixCell, descriptors.pricingTableMatrixCellFooter],
                sx: [(t$1) => ({
                  height: t$1.space.$10,
                  borderEndStartRadius: t$1.radii.$xl,
                  borderEndEndRadius: t$1.radii.$xl
                }), highlight && highlightBackgroundColor],
                "data-highlighted": highlight
              }, plan.slug);
            })]
          })]
        })]
      })
    }) });
  }
  var React$159;
  var init_PricingTableMatrix = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/PricingTable/PricingTableMatrix.js"() {
      init_localizationKeys();
      init_usePrefersReducedMotion();
      init_check();
      init_information_circle();
      init_Plans();
      init_makeLocalizable();
      init_InternalThemeProvider();
      init_colors();
      init_common();
      init_breakpoints();
      init_elementDescriptors();
      init_AppearanceContext();
      init_customizables();
      init_SegmentedControl();
      init_Avatar();
      React$159 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/PricingTable/PricingTable.js
  var import_react352, PricingTableRoot, PricingTableModal, PricingTable;
  var init_PricingTable2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/PricingTable/PricingTable.js"() {
      init_Plans();
      init_PricingTable();
      init_Flow();
      init_PricingTableDefault();
      init_PricingTableMatrix();
      import_react352 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      PricingTableRoot = (props) => {
        const clerk2 = useClerk();
        const getContainer = usePortalRoot();
        const { mode = "mounted", signInMode = "redirect" } = usePricingTableContext();
        const isCompact = mode === "modal";
        const { data: subscription, subscriptionItems } = useSubscription2();
        const { data: plans } = usePlans2();
        const { handleSelectPlan } = usePlansContext();
        const plansToRender = (0, import_react352.useMemo)(() => {
          return clerk2.isSignedIn ? subscription ? plans : [] : plans;
        }, [
          clerk2.isSignedIn,
          plans,
          subscription
        ]);
        const defaultPlanPeriod = (0, import_react352.useMemo)(() => {
          if (isCompact) {
            const upcomingSubscription = subscriptionItems?.find((sub) => sub.status === "upcoming");
            if (upcomingSubscription) return upcomingSubscription.planPeriod;
            const activeSubscription = subscriptionItems?.find((sub) => !sub.canceledAt && sub.status === "active" && !sub.plan.isDefault);
            if (activeSubscription) return activeSubscription.planPeriod;
          }
          return "annual";
        }, [isCompact, subscriptionItems]);
        const [planPeriod, setPlanPeriod] = (0, import_react352.useState)(defaultPlanPeriod);
        (0, import_react352.useEffect)(() => {
          setPlanPeriod(defaultPlanPeriod);
        }, [defaultPlanPeriod]);
        const selectPlan = (plan, event) => {
          if (!clerk2.isSignedIn) {
            if (signInMode === "modal") return clerk2.openSignIn({ getContainer });
            return clerk2.redirectToSignIn();
          }
          handleSelectPlan({
            mode,
            plan,
            planPeriod,
            event,
            appearance: props.checkoutProps?.appearance,
            newSubscriptionRedirectUrl: props.newSubscriptionRedirectUrl
          });
        };
        usePaymentMethods2();
        return /* @__PURE__ */ jsx2(Flow.Root, {
          flow: "pricingTable",
          isFlowReady: clerk2.isSignedIn ? !!subscription : plans.length > 0,
          sx: { width: "100%" },
          children: mode !== "modal" && props.layout === "matrix" ? /* @__PURE__ */ jsx2(PricingTableMatrix, {
            plans: plansToRender,
            planPeriod,
            setPlanPeriod,
            onSelect: selectPlan,
            highlightedPlan: props.highlightPlan
          }) : /* @__PURE__ */ jsx2(PricingTableDefault, {
            plans: plansToRender,
            planPeriod,
            setPlanPeriod,
            onSelect: selectPlan,
            isCompact,
            props
          })
        });
      };
      PricingTableModal = (props) => {
        return /* @__PURE__ */ jsx2("div", { children: /* @__PURE__ */ jsx2(PricingTableRoot, { ...props }) });
      };
      PricingTable = (props) => {
        const { mode = "mounted" } = usePricingTableContext();
        return mode === "modal" ? /* @__PURE__ */ jsx2(PricingTableModal, { ...props }) : /* @__PURE__ */ jsx2(PricingTableRoot, { ...props });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/PlansPage.js
  var PlansPage_exports = {};
  __export(PlansPage_exports, {
    PlansPage: () => PlansPage
  });
  var PlansPageInternal, PlansPage;
  var init_PlansPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/PlansPage.js"() {
      init_RouteContext();
      init_localizationKeys();
      init_SubscriberType();
      init_PricingTable();
      init_Header();
      init_PricingTable2();
      init_emotion_react_jsx_runtime_browser_esm();
      PlansPageInternal = () => {
        const { navigate } = useRouter();
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Header.Root, {
          sx: (t2) => ({
            borderBottomWidth: t2.borderWidths.$normal,
            borderBottomStyle: t2.borderStyles.$solid,
            borderBottomColor: t2.colors.$borderAlpha100,
            marginBlockEnd: t2.space.$4,
            paddingBlockEnd: t2.space.$4
          }),
          children: /* @__PURE__ */ jsx2(Header.BackLink, {
            onClick: () => void navigate("../", { searchParams: new URLSearchParams("tab=subscriptions") }),
            children: /* @__PURE__ */ jsx2(Header.Title, {
              localizationKey: localizationKeys("userProfile.plansPage.title"),
              textVariant: "h2"
            })
          })
        }), /* @__PURE__ */ jsx2(PricingTableContext.Provider, {
          value: {
            componentName: "PricingTable",
            mode: "modal"
          },
          children: /* @__PURE__ */ jsx2(PricingTable, {})
        })] });
      };
      PlansPage = () => {
        return /* @__PURE__ */ jsx2(SubscriberTypeContext.Provider, {
          value: "user",
          children: /* @__PURE__ */ jsx2(PlansPageInternal, {})
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/rotate-left-right.js
  function _extends54() {
    return _extends54 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends54.apply(null, arguments);
  }
  var React$160, _path60, SvgRotateLeftRight, rotate_left_right_default;
  var init_rotate_left_right = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/rotate-left-right.js"() {
      React$160 = __toESM(require_react(), 1);
      SvgRotateLeftRight = function SvgRotateLeftRight$1(props) {
        return /* @__PURE__ */ React$160.createElement("svg", _extends54({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 16 16"
        }, props), _path60 || (_path60 = /* @__PURE__ */ React$160.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M8 3.5a4.5 4.5 0 0 0-4.418 3.642.75.75 0 1 1-1.473-.284A6 6 0 0 1 8 2c1.72 0 3.204.956 4.2 1.81q.157.134.3.266V2.75a.75.75 0 0 1 1.5 0v3.259a.75.75 0 0 1-.75.75H9.991a.75.75 0 1 1 0-1.5h1.577a10 10 0 0 0-.344-.31C10.32 4.173 9.18 3.5 8 3.5m5.392 4.764a.75.75 0 0 1 .594.878A6 6 0 0 1 8.096 14c-1.72 0-3.205-.956-4.201-1.81q-.156-.135-.3-.266v1.326a.75.75 0 0 1-1.5 0V9.991a.75.75 0 0 1 .75-.75h3.259a.75.75 0 0 1 0 1.5H4.527q.162.155.344.31c.904.776 2.044 1.449 3.224 1.449a4.5 4.5 0 0 0 4.419-3.642.75.75 0 0 1 .878-.594",
          clipRule: "evenodd"
        })));
      };
      rotate_left_right_default = SvgRotateLeftRight;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/Statements/Statement.js
  function Root8({ children }) {
    return /* @__PURE__ */ jsx2(Box2, {
      elementDescriptor: descriptors.statementRoot,
      as: "article",
      sx: (t2) => ({
        borderWidth: t2.borderWidths.$normal,
        borderStyle: t2.borderStyles.$solid,
        borderColor: t2.colors.$borderAlpha100,
        borderRadius: t2.radii.$lg,
        overflow: "clip"
      }),
      children
    });
  }
  function Header2({ title, id, status }) {
    return /* @__PURE__ */ jsxs2(Box2, {
      elementDescriptor: descriptors.statementHeader,
      as: "header",
      sx: (t2) => ({
        padding: t2.space.$4,
        background: t2.colors.$neutralAlpha25,
        display: "flex",
        justifyContent: "space-between",
        alignItems: "flex-start"
      }),
      children: [/* @__PURE__ */ jsxs2(Span2, {
        elementDescriptor: descriptors.statementHeaderTitleContainer,
        children: [/* @__PURE__ */ jsx2(Heading2, {
          elementDescriptor: descriptors.statementHeaderTitle,
          textVariant: "h2",
          localizationKey: title
        }), /* @__PURE__ */ jsxs2(Span2, {
          sx: (t2) => ({
            display: "flex",
            alignItems: "center",
            gap: t2.space.$0x25,
            color: t2.colors.$colorMutedForeground
          }),
          children: [/* @__PURE__ */ jsx2(CopyButton2, {
            copyLabel: "Copy statement ID",
            text: id
          }), /* @__PURE__ */ jsx2(Text2, {
            colorScheme: "secondary",
            variant: "subtitle",
            children: truncateWithEndVisible(id)
          })]
        })]
      }), /* @__PURE__ */ jsx2(Badge2, {
        elementDescriptor: descriptors.statementHeaderBadge,
        colorScheme: status === "open" ? "secondary" : "primary",
        sx: { textTransform: "capitalize" },
        children: status
      })]
    });
  }
  function Body({ children }) {
    return /* @__PURE__ */ jsx2(Box2, {
      elementDescriptor: descriptors.statementBody,
      children
    });
  }
  function Section({ children }) {
    return /* @__PURE__ */ jsx2(Box2, {
      elementDescriptor: descriptors.statementSection,
      as: "section",
      children
    });
  }
  function SectionHeader2({ text }) {
    return /* @__PURE__ */ jsx2(Box2, {
      elementDescriptor: descriptors.statementSectionHeader,
      sx: (t2) => ({
        paddingInline: t2.space.$4,
        paddingBlock: t2.space.$1,
        background: t2.colors.$neutralAlpha50,
        borderBlockWidth: t2.borderWidths.$normal,
        borderBlockStyle: t2.borderStyles.$solid,
        borderBlockColor: t2.colors.$borderAlpha100
      }),
      children: /* @__PURE__ */ jsx2(Heading2, {
        elementDescriptor: descriptors.statementSectionHeaderTitle,
        textVariant: "h3",
        as: "h2",
        localizationKey: text,
        sx: (t2) => ({ fontWeight: t2.fontWeights.$medium })
      })
    });
  }
  function SectionContent({ children }) {
    return /* @__PURE__ */ jsx2(Box2, {
      elementDescriptor: descriptors.statementSectionContent,
      children
    });
  }
  function SectionContentItem({ children }) {
    return /* @__PURE__ */ jsx2(Box2, {
      elementDescriptor: descriptors.statementSectionContentItem,
      sx: (t2) => ({
        paddingInline: t2.space.$4,
        paddingBlock: t2.space.$3,
        "&:not(:first-child)": {
          borderBlockStartWidth: t2.borderWidths.$normal,
          borderBlockStartStyle: t2.borderStyles.$solid,
          borderBlockStartColor: t2.colors.$borderAlpha100
        }
      }),
      children
    });
  }
  function SectionContentDetailsHeader({ title, description, secondaryTitle, secondaryDescription }) {
    return /* @__PURE__ */ jsxs2(Box2, {
      elementDescriptor: descriptors.statementSectionContentDetailsHeader,
      sx: (t2) => ({
        marginBlockEnd: t2.space.$2,
        display: "flex",
        justifyContent: "space-between"
      }),
      children: [/* @__PURE__ */ jsxs2(Box2, {
        elementDescriptor: descriptors.statementSectionContentDetailsHeaderItem,
        children: [/* @__PURE__ */ jsxs2(Span2, {
          sx: (t2) => ({
            display: "flex",
            alignItems: "center",
            gap: t2.space.$1
          }),
          children: [/* @__PURE__ */ jsx2(Icon, {
            elementDescriptor: descriptors.statementSectionContentDetailsHeaderItemIcon,
            icon: plans_default,
            colorScheme: "neutral"
          }), /* @__PURE__ */ jsx2(Heading2, {
            elementDescriptor: descriptors.statementSectionContentDetailsHeaderTitle,
            as: "h3",
            textVariant: "h3",
            localizationKey: title
          })]
        }), /* @__PURE__ */ jsx2(Text2, {
          variant: "caption",
          colorScheme: "secondary",
          elementDescriptor: descriptors.statementSectionContentDetailsHeaderDescription,
          localizationKey: description,
          sx: { textTransform: "lowercase" }
        })]
      }), /* @__PURE__ */ jsxs2(Box2, {
        elementDescriptor: descriptors.statementSectionContentDetailsHeaderItem,
        sx: { textAlign: "end" },
        children: [secondaryTitle && /* @__PURE__ */ jsx2(Text2, {
          variant: "h3",
          elementDescriptor: descriptors.statementSectionContentDetailsHeaderSecondaryTitle,
          localizationKey: secondaryTitle
        }), secondaryDescription && /* @__PURE__ */ jsx2(Text2, {
          variant: "caption",
          colorScheme: "secondary",
          elementDescriptor: descriptors.statementSectionContentDetailsHeaderSecondaryDescription,
          localizationKey: secondaryDescription
        })]
      })]
    });
  }
  function SectionContentDetailsList({ children }) {
    return /* @__PURE__ */ jsx2(Box2, {
      elementDescriptor: descriptors.statementSectionContentDetailsList,
      as: "ul",
      sx: (t2) => ({
        margin: 0,
        padding: 0,
        borderWidth: t2.borderWidths.$normal,
        borderStyle: t2.borderStyles.$solid,
        borderColor: t2.colors.$borderAlpha100,
        borderRadius: t2.radii.$md,
        overflow: "hidden"
      }),
      children
    });
  }
  function SectionContentDetailsListItem({ labelIcon, label, valueCopyable = false, value, valueTruncated = false }) {
    return /* @__PURE__ */ jsxs2(Box2, {
      elementDescriptor: descriptors.statementSectionContentDetailsListItem,
      as: "li",
      sx: (t2) => ({
        margin: 0,
        paddingInline: t2.space.$2,
        paddingBlock: t2.space.$1x5,
        display: "flex",
        justifyContent: "space-between",
        flexWrap: "wrap",
        columnGap: t2.space.$2,
        rowGap: t2.space.$0x5,
        "&:not(:first-child)": {
          borderBlockStartWidth: t2.borderWidths.$normal,
          borderBlockStartStyle: t2.borderStyles.$solid,
          borderBlockStartColor: t2.colors.$borderAlpha100
        }
      }),
      children: [/* @__PURE__ */ jsxs2(Span2, {
        elementDescriptor: descriptors.statementSectionContentDetailsListItemLabelContainer,
        sx: (t2) => ({
          display: "flex",
          alignItems: "center",
          gap: t2.space.$1x5
        }),
        children: [labelIcon ? /* @__PURE__ */ jsx2(Icon, {
          icon: labelIcon,
          colorScheme: "neutral"
        }) : null, /* @__PURE__ */ jsx2(Text2, {
          variant: "caption",
          colorScheme: "secondary",
          elementDescriptor: descriptors.statementSectionContentDetailsListItemLabel,
          localizationKey: label
        })]
      }), /* @__PURE__ */ jsx2(Span2, {
        sx: (t2) => ({
          display: "flex",
          alignItems: "center",
          gap: t2.space.$0x25,
          color: t2.colors.$colorMutedForeground
        }),
        children: typeof value === "string" ? /* @__PURE__ */ jsxs2(Fragment3, { children: [valueCopyable ? /* @__PURE__ */ jsx2(CopyButton2, {
          copyLabel: "Copy statement ID",
          text: value
        }) : null, /* @__PURE__ */ jsx2(Text2, {
          colorScheme: "secondary",
          variant: "caption",
          elementDescriptor: descriptors.statementSectionContentDetailsListItemValue,
          children: valueTruncated ? truncateWithEndVisible(value) : value
        })] }) : import_react354.default.isValidElement(value) ? value : /* @__PURE__ */ jsx2(Text2, {
          elementDescriptor: descriptors.statementSectionContentDetailsListItemValue,
          colorScheme: "secondary",
          variant: "caption",
          localizationKey: value
        })
      })]
    });
  }
  function Footer({ label, value }) {
    return /* @__PURE__ */ jsxs2(Box2, {
      elementDescriptor: descriptors.statementFooter,
      as: "footer",
      sx: (t2) => ({
        paddingInline: t2.space.$4,
        paddingBlock: t2.space.$3,
        background: t2.colors.$neutralAlpha25,
        borderBlockStartWidth: t2.borderWidths.$normal,
        borderBlockStartStyle: t2.borderStyles.$solid,
        borderBlockStartColor: t2.colors.$borderAlpha100,
        display: "flex",
        justifyContent: "space-between"
      }),
      children: [/* @__PURE__ */ jsx2(Text2, {
        variant: "h3",
        localizationKey: label,
        elementDescriptor: descriptors.statementFooterLabel
      }), /* @__PURE__ */ jsxs2(Span2, {
        elementDescriptor: descriptors.statementFooterValueContainer,
        sx: (t2) => ({
          display: "flex",
          alignItems: "center",
          gap: t2.space.$2x5
        }),
        children: [/* @__PURE__ */ jsx2(Text2, {
          variant: "caption",
          colorScheme: "secondary",
          elementDescriptor: descriptors.statementFooterCurrency,
          children: "USD"
        }), /* @__PURE__ */ jsx2(Text2, {
          variant: "h3",
          elementDescriptor: descriptors.statementFooterValue,
          children: value
        })]
      })]
    });
  }
  function CopyButton2({ text, copyLabel = "Copy" }) {
    const { onCopy, hasCopied } = useClipboard(text);
    return /* @__PURE__ */ jsx2(Button2, {
      elementDescriptor: descriptors.statementCopyButton,
      variant: "unstyled",
      onClick: onCopy,
      sx: (t2) => ({
        color: "inherit",
        width: t2.sizes.$4,
        height: t2.sizes.$4,
        padding: 0,
        borderRadius: t2.radii.$sm,
        "&:focus-visible": {
          outline: "2px solid",
          outlineColor: t2.colors.$colorRing
        }
      }),
      focusRing: false,
      "aria-label": hasCopied ? "Copied" : copyLabel,
      children: /* @__PURE__ */ jsx2(Icon, {
        size: "sm",
        icon: hasCopied ? check_default : copy_default,
        "aria-hidden": true
      })
    });
  }
  var import_react354, Statement;
  var init_Statement = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/Statements/Statement.js"() {
      init_useClipboard();
      init_check();
      init_copy();
      init_plans();
      init_elementDescriptors();
      init_customizables();
      init_truncateTextWithEndVisible();
      import_react354 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      Statement = {
        Root: Root8,
        Header: Header2,
        Body,
        Section,
        SectionHeader: SectionHeader2,
        SectionContent,
        SectionContentItem,
        SectionContentDetailsHeader,
        SectionContentDetailsList,
        SectionContentDetailsListItem,
        Footer
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/Statements/StatementPage.js
  var StatementPage;
  var init_StatementPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/Statements/StatementPage.js"() {
      init_RouteContext();
      init_localizationKeys();
      init_arrow_right();
      init_plus();
      init_rotate_left_right();
      init_SubscriberType();
      init_makeLocalizable();
      init_elementDescriptors();
      init_customizables();
      init_Alert2();
      init_Header();
      init_formatDate();
      init_Statement();
      init_emotion_react_jsx_runtime_browser_esm();
      init_react();
      StatementPage = () => {
        const { params, navigate } = useRouter();
        const subscriberType = useSubscriberTypeContext();
        const localizationRoot = useSubscriberTypeLocalizationRoot();
        const { t: t2, translateError } = useLocalizations();
        const requesterType = subscriberType === "organization" ? "organization" : "user";
        const { data: statement, isLoading, error: error2 } = useStatementQuery({
          statementId: params.statementId,
          for: requesterType,
          enabled: Boolean(params.statementId)
        });
        if (isLoading) return /* @__PURE__ */ jsx2(Box2, {
          sx: {
            display: "flex",
            justifyContent: "center",
            alignItems: "center",
            height: "100%"
          },
          children: /* @__PURE__ */ jsx2(Spinner, {
            colorScheme: "primary",
            sx: {
              margin: "auto",
              display: "block"
            },
            elementDescriptor: descriptors.spinner
          })
        });
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Header.Root, {
          sx: (t$1) => ({
            borderBlockEndWidth: t$1.borderWidths.$normal,
            borderBlockEndStyle: t$1.borderStyles.$solid,
            borderBlockEndColor: t$1.colors.$borderAlpha100,
            marginBlockEnd: t$1.space.$4,
            paddingBlockEnd: t$1.space.$4
          }),
          children: /* @__PURE__ */ jsx2(Header.BackLink, {
            onClick: () => void navigate("../../", { searchParams: new URLSearchParams("tab=statements") }),
            children: /* @__PURE__ */ jsx2(Header.Title, {
              localizationKey: localizationKeys(`${localizationRoot}.billingPage.statementsSection.title`),
              textVariant: "h2"
            })
          })
        }), !statement ? /* @__PURE__ */ jsx2(Box2, {
          sx: {
            display: "flex",
            justifyContent: "center",
            alignItems: "center",
            height: "100%"
          },
          children: /* @__PURE__ */ jsx2(Alert$1, {
            variant: "danger",
            colorScheme: "danger",
            children: error2 ? translateError(error2.errors[0]) : t2(localizationKeys(`${localizationRoot}.billingPage.statementsSection.notFound`))
          })
        }) : /* @__PURE__ */ jsxs2(Statement.Root, { children: [
          /* @__PURE__ */ jsx2(Statement.Header, {
            title: formatDate(statement.timestamp, "monthyear"),
            id: statement.id,
            status: statement.status
          }),
          /* @__PURE__ */ jsx2(Statement.Body, { children: statement.groups.map((group) => /* @__PURE__ */ jsxs2(Statement.Section, { children: [/* @__PURE__ */ jsx2(Statement.SectionHeader, { text: formatDate(group.timestamp, "long") }), /* @__PURE__ */ jsx2(Statement.SectionContent, { children: group.items.map((item) => /* @__PURE__ */ jsxs2(Statement.SectionContentItem, { children: [/* @__PURE__ */ jsx2(Statement.SectionContentDetailsHeader, {
            title: item.subscriptionItem.plan.name,
            description: `${item.subscriptionItem.amount?.currencySymbol}${item.subscriptionItem.amount?.amountFormatted} / ${item.subscriptionItem.planPeriod === "month" ? t2(localizationKeys("billing.month")) : t2(localizationKeys("billing.year"))}`,
            secondaryTitle: `${item.amount.currencySymbol}${item.amount.amountFormatted}`
          }), /* @__PURE__ */ jsxs2(Statement.SectionContentDetailsList, { children: [
            /* @__PURE__ */ jsx2(Statement.SectionContentDetailsListItem, {
              label: item.chargeType === "recurring" ? localizationKeys(`${localizationRoot}.billingPage.statementsSection.itemCaption__paidForPlan`, {
                plan: item.subscriptionItem.plan.name,
                period: item.subscriptionItem.planPeriod
              }) : localizationKeys(`${localizationRoot}.billingPage.statementsSection.itemCaption__subscribedAndPaidForPlan`, {
                plan: item.subscriptionItem.plan.name,
                period: item.subscriptionItem.planPeriod
              }),
              labelIcon: item.chargeType === "recurring" ? rotate_left_right_default : plus_default,
              value: /* @__PURE__ */ jsxs2(SimpleButton2, {
                onClick: () => void navigate(`../../payment-attempt/${item.id}`),
                variant: "link",
                colorScheme: "primary",
                textVariant: "buttonSmall",
                sx: (t$1) => ({ gap: t$1.space.$1 }),
                children: [/* @__PURE__ */ jsx2(Span2, { localizationKey: localizationKeys("billing.viewPayment") }), /* @__PURE__ */ jsx2(Icon, {
                  icon: arrow_right_default,
                  size: "sm",
                  "aria-hidden": true
                })]
              })
            }),
            item.subscriptionItem.credits && item.subscriptionItem.credits.proration && item.subscriptionItem.credits.proration.amount.amount > 0 ? /* @__PURE__ */ jsx2(Statement.SectionContentDetailsListItem, {
              label: localizationKeys(`${localizationRoot}.billingPage.statementsSection.itemCaption__proratedCredit`),
              value: `(${item.subscriptionItem.credits.proration.amount.currencySymbol}${item.subscriptionItem.credits.proration.amount.amountFormatted})`
            }) : null,
            item.subscriptionItem.credits && item.subscriptionItem.credits.payer && item.subscriptionItem.credits.payer.appliedAmount.amount > 0 ? /* @__PURE__ */ jsx2(Statement.SectionContentDetailsListItem, {
              label: localizationKeys(`${localizationRoot}.billingPage.statementsSection.itemCaption__payerCredit`),
              value: `(${item.subscriptionItem.credits.payer.appliedAmount.currencySymbol}${item.subscriptionItem.credits.payer.appliedAmount.amountFormatted})`
            }) : null
          ] })] }, item.id)) })] }, group.timestamp.toISOString())) }),
          /* @__PURE__ */ jsx2(Statement.Footer, {
            label: localizationKeys(`${localizationRoot}.billingPage.statementsSection.totalPaid`),
            value: `${statement.totals.grandTotal.currencySymbol}${statement.totals.grandTotal.amountFormatted}`
          })
        ] })] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/Statements/index.js
  var Statements_exports = {};
  __export(Statements_exports, {
    StatementPage: () => StatementPage
  });
  var init_Statements = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/Statements/index.js"() {
      init_StatementPage();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/PaymentAttempts/PaymentAttemptPage.js
  function PaymentAttemptBody({ subscriptionItem }) {
    if (!subscriptionItem) return null;
    const fee = subscriptionItem.planPeriod === "month" ? subscriptionItem.plan.fee : subscriptionItem.plan.annualMonthlyFee;
    return /* @__PURE__ */ jsx2(Box2, {
      elementDescriptor: descriptors.paymentAttemptBody,
      sx: (t2) => ({ padding: t2.space.$4 }),
      children: /* @__PURE__ */ jsxs2(LineItems.Root, { children: [
        /* @__PURE__ */ jsxs2(LineItems.Group, { children: [/* @__PURE__ */ jsx2(LineItems.Title, { title: subscriptionItem.plan.name }), /* @__PURE__ */ jsx2(LineItems.Description, {
          prefix: subscriptionItem.planPeriod === "annual" ? "x12" : void 0,
          text: `${fee.currencySymbol}${fee.amountFormatted}`
        })] }),
        /* @__PURE__ */ jsxs2(LineItems.Group, {
          borderTop: true,
          variant: "tertiary",
          children: [/* @__PURE__ */ jsx2(LineItems.Title, { title: localizationKeys("billing.subtotal") }), /* @__PURE__ */ jsx2(LineItems.Description, { text: `${subscriptionItem.amount?.currencySymbol}${subscriptionItem.amount?.amountFormatted}` })]
        }),
        subscriptionItem.credits && subscriptionItem.credits.proration && subscriptionItem.credits.proration.amount.amount > 0 && /* @__PURE__ */ jsxs2(LineItems.Group, {
          variant: "tertiary",
          children: [/* @__PURE__ */ jsx2(LineItems.Title, { title: localizationKeys("billing.prorationCredit") }), /* @__PURE__ */ jsx2(LineItems.Description, { text: `- ${subscriptionItem.credits.proration.amount.currencySymbol}${subscriptionItem.credits.proration.amount.amountFormatted}` })]
        }),
        subscriptionItem.credits && subscriptionItem.credits.payer && subscriptionItem.credits.payer.appliedAmount.amount > 0 && /* @__PURE__ */ jsxs2(LineItems.Group, {
          variant: "tertiary",
          children: [/* @__PURE__ */ jsx2(LineItems.Title, { title: localizationKeys("billing.accountCredit") }), /* @__PURE__ */ jsx2(LineItems.Description, { text: `- ${subscriptionItem.credits.payer.appliedAmount.currencySymbol}${subscriptionItem.credits.payer.appliedAmount.amountFormatted}` })]
        })
      ] })
    });
  }
  function CopyButton3({ text, copyLabel = "Copy" }) {
    const { onCopy, hasCopied } = useClipboard(text);
    return /* @__PURE__ */ jsx2(Button2, {
      elementDescriptor: descriptors.paymentAttemptCopyButton,
      variant: "unstyled",
      onClick: onCopy,
      sx: (t2) => ({
        color: "inherit",
        width: t2.sizes.$4,
        height: t2.sizes.$4,
        padding: 0,
        borderRadius: t2.radii.$sm,
        "&:focus-visible": {
          outline: "2px solid",
          outlineColor: t2.colors.$colorRing
        }
      }),
      focusRing: false,
      "aria-label": hasCopied ? "Copied" : copyLabel,
      children: /* @__PURE__ */ jsx2(Icon, {
        size: "sm",
        icon: hasCopied ? check_default : copy_default,
        "aria-hidden": true
      })
    });
  }
  var PaymentAttemptPage;
  var init_PaymentAttemptPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/PaymentAttempts/PaymentAttemptPage.js"() {
      init_RouteContext();
      init_useClipboard();
      init_localizationKeys();
      init_check();
      init_copy();
      init_SubscriberType();
      init_makeLocalizable();
      init_elementDescriptors();
      init_customizables();
      init_Alert2();
      init_Header();
      init_truncateTextWithEndVisible();
      init_LineItems();
      init_formatDate();
      init_emotion_react_jsx_runtime_browser_esm();
      init_react();
      PaymentAttemptPage = () => {
        const { params, navigate } = useRouter();
        const subscriberType = useSubscriberTypeContext();
        const localizationRoot = useSubscriberTypeLocalizationRoot();
        const { t: t2, translateError } = useLocalizations();
        const requesterType = subscriberType === "organization" ? "organization" : "user";
        const { data: paymentAttempt, isLoading, error: error2 } = usePaymentAttemptQuery({
          paymentAttemptId: params.paymentAttemptId,
          for: requesterType,
          enabled: Boolean(params.paymentAttemptId)
        });
        const subscriptionItem = paymentAttempt?.subscriptionItem;
        if (isLoading) return /* @__PURE__ */ jsx2(Box2, {
          sx: {
            display: "flex",
            justifyContent: "center",
            alignItems: "center",
            height: "100%"
          },
          children: /* @__PURE__ */ jsx2(Spinner, {
            colorScheme: "primary",
            sx: {
              margin: "auto",
              display: "block"
            },
            elementDescriptor: descriptors.spinner
          })
        });
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Header.Root, {
          sx: (t$1) => ({
            borderBlockEndWidth: t$1.borderWidths.$normal,
            borderBlockEndStyle: t$1.borderStyles.$solid,
            borderBlockEndColor: t$1.colors.$borderAlpha100,
            marginBlockEnd: t$1.space.$4,
            paddingBlockEnd: t$1.space.$4
          }),
          children: /* @__PURE__ */ jsx2(Header.BackLink, {
            onClick: () => void navigate("../../", { searchParams: new URLSearchParams("tab=payments") }),
            children: /* @__PURE__ */ jsx2(Header.Title, {
              localizationKey: localizationKeys(`${localizationRoot}.billingPage.start.headerTitle__payments`),
              textVariant: "h2"
            })
          })
        }), !paymentAttempt ? /* @__PURE__ */ jsx2(Box2, {
          sx: {
            display: "flex",
            justifyContent: "center",
            alignItems: "center",
            height: "100%"
          },
          children: /* @__PURE__ */ jsx2(Alert$1, {
            variant: "danger",
            colorScheme: "danger",
            children: error2 ? translateError(error2.errors[0]) : t2(localizationKeys(`${localizationRoot}.billingPage.paymentHistorySection.notFound`))
          })
        }) : /* @__PURE__ */ jsxs2(Box2, {
          elementDescriptor: descriptors.paymentAttemptRoot,
          as: "article",
          sx: (t$1) => ({
            borderWidth: t$1.borderWidths.$normal,
            borderStyle: t$1.borderStyles.$solid,
            borderColor: t$1.colors.$borderAlpha100,
            borderRadius: t$1.radii.$lg,
            overflow: "clip"
          }),
          children: [
            /* @__PURE__ */ jsxs2(Box2, {
              elementDescriptor: descriptors.paymentAttemptHeader,
              as: "header",
              sx: (t$1) => ({
                padding: t$1.space.$4,
                background: t$1.colors.$neutralAlpha25,
                display: "flex",
                justifyContent: "space-between",
                alignItems: "flex-start"
              }),
              children: [/* @__PURE__ */ jsxs2(Span2, {
                elementDescriptor: descriptors.paymentAttemptHeaderTitleContainer,
                children: [/* @__PURE__ */ jsx2(Heading2, {
                  elementDescriptor: descriptors.paymentAttemptHeaderTitle,
                  textVariant: "h2",
                  localizationKey: formatDate(paymentAttempt.paidAt || paymentAttempt.failedAt || paymentAttempt.updatedAt, "long")
                }), /* @__PURE__ */ jsxs2(Span2, {
                  sx: (t$1) => ({
                    display: "flex",
                    alignItems: "center",
                    gap: t$1.space.$0x25,
                    color: t$1.colors.$colorMutedForeground
                  }),
                  children: [/* @__PURE__ */ jsx2(CopyButton3, {
                    copyLabel: "Copy payment attempt ID",
                    text: paymentAttempt.id
                  }), /* @__PURE__ */ jsx2(Text2, {
                    colorScheme: "secondary",
                    variant: "subtitle",
                    children: truncateWithEndVisible(paymentAttempt.id)
                  })]
                })]
              }), /* @__PURE__ */ jsx2(Badge2, {
                elementDescriptor: descriptors.paymentAttemptHeaderBadge,
                colorScheme: paymentAttempt.status === "paid" ? "success" : paymentAttempt.status === "failed" ? "danger" : "primary",
                sx: { textTransform: "capitalize" },
                children: paymentAttempt.status
              })]
            }),
            /* @__PURE__ */ jsx2(PaymentAttemptBody, { subscriptionItem }),
            /* @__PURE__ */ jsxs2(Box2, {
              elementDescriptor: descriptors.paymentAttemptFooter,
              as: "footer",
              sx: (t$1) => ({
                paddingInline: t$1.space.$4,
                paddingBlock: t$1.space.$3,
                background: t$1.colors.$neutralAlpha25,
                borderBlockStartWidth: t$1.borderWidths.$normal,
                borderBlockStartStyle: t$1.borderStyles.$solid,
                borderBlockStartColor: t$1.colors.$borderAlpha100,
                display: "flex",
                justifyContent: "space-between"
              }),
              children: [/* @__PURE__ */ jsx2(Text2, {
                variant: "h3",
                localizationKey: localizationKeys("billing.totalDue"),
                elementDescriptor: descriptors.paymentAttemptFooterLabel
              }), /* @__PURE__ */ jsxs2(Span2, {
                elementDescriptor: descriptors.paymentAttemptFooterValueContainer,
                sx: (t$1) => ({
                  display: "flex",
                  alignItems: "center",
                  gap: t$1.space.$2x5
                }),
                children: [/* @__PURE__ */ jsx2(Text2, {
                  variant: "caption",
                  colorScheme: "secondary",
                  elementDescriptor: descriptors.paymentAttemptFooterCurrency,
                  sx: { textTransform: "uppercase" },
                  children: paymentAttempt.amount.currency
                }), /* @__PURE__ */ jsxs2(Text2, {
                  variant: "h3",
                  elementDescriptor: descriptors.paymentAttemptFooterValue,
                  children: [paymentAttempt.amount.currencySymbol, paymentAttempt.amount.amountFormatted]
                })]
              })]
            })
          ]
        })] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/PaymentAttempts/index.js
  var PaymentAttempts_exports = {};
  __export(PaymentAttempts_exports, {
    PaymentAttemptPage: () => PaymentAttemptPage
  });
  var init_PaymentAttempts = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/PaymentAttempts/index.js"() {
      init_PaymentAttemptPage();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/UserProfileRoutes.js
  var import_react357, BillingPage2, APIKeysPage3, PlansPage2, StatementPage2, PaymentAttemptPage2, UserProfileRoutes;
  var init_UserProfileRoutes = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/UserProfileRoutes.js"() {
      init_constants6();
      init_EnvironmentContext();
      init_Route();
      init_Switch();
      init_UserProfile();
      init_CustomPageContentContainer();
      init_AccountPage();
      init_SecurityPage();
      import_react357 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      BillingPage2 = (0, import_react357.lazy)(() => Promise.resolve().then(() => (init_BillingPage(), BillingPage_exports)).then((module) => ({ default: module.BillingPage })));
      APIKeysPage3 = (0, import_react357.lazy)(() => Promise.resolve().then(() => (init_APIKeysPage(), APIKeysPage_exports)).then((module) => ({ default: module.APIKeysPage })));
      PlansPage2 = (0, import_react357.lazy)(() => Promise.resolve().then(() => (init_PlansPage(), PlansPage_exports)).then((module) => ({ default: module.PlansPage })));
      StatementPage2 = (0, import_react357.lazy)(() => Promise.resolve().then(() => (init_Statements(), Statements_exports)).then((module) => ({ default: module.StatementPage })));
      PaymentAttemptPage2 = (0, import_react357.lazy)(() => Promise.resolve().then(() => (init_PaymentAttempts(), PaymentAttempts_exports)).then((module) => ({ default: module.PaymentAttemptPage })));
      UserProfileRoutes = () => {
        const { pages, shouldShowBilling, apiKeysProps } = useUserProfileContext();
        const { apiKeysSettings, commerceSettings } = useEnvironment();
        const isAccountPageRoot = pages.routes[0].id === USER_PROFILE_NAVBAR_ROUTE_ID.ACCOUNT;
        const isSecurityPageRoot = pages.routes[0].id === USER_PROFILE_NAVBAR_ROUTE_ID.SECURITY;
        const isBillingPageRoot = pages.routes[0].id === USER_PROFILE_NAVBAR_ROUTE_ID.BILLING;
        const isAPIKeysPageRoot = pages.routes[0].id === USER_PROFILE_NAVBAR_ROUTE_ID.API_KEYS;
        const customPageRoutesWithContents = pages.contents?.map((customPage, index3) => {
          const shouldFirstCustomItemBeOnRoot = !isAccountPageRoot && !isSecurityPageRoot && index3 === 0;
          return /* @__PURE__ */ jsx2(Route, {
            index: shouldFirstCustomItemBeOnRoot,
            path: shouldFirstCustomItemBeOnRoot ? void 0 : customPage.url,
            children: /* @__PURE__ */ jsx2(CustomPageContentContainer, {
              mount: customPage.mount,
              unmount: customPage.unmount
            })
          }, `custom-page-${customPage.url}`);
        });
        return /* @__PURE__ */ jsxs2(Switch, { children: [customPageRoutesWithContents, /* @__PURE__ */ jsxs2(Route, { children: [
          /* @__PURE__ */ jsx2(Route, {
            path: isAccountPageRoot ? void 0 : "account",
            children: /* @__PURE__ */ jsx2(Switch, { children: /* @__PURE__ */ jsx2(Route, {
              index: true,
              children: /* @__PURE__ */ jsx2(AccountPage, {})
            }) })
          }),
          /* @__PURE__ */ jsx2(Route, {
            path: isSecurityPageRoot ? void 0 : "security",
            children: /* @__PURE__ */ jsx2(Switch, { children: /* @__PURE__ */ jsx2(Route, {
              index: true,
              children: /* @__PURE__ */ jsx2(SecurityPage, {})
            }) })
          }),
          commerceSettings.billing.user.enabled && shouldShowBilling ? /* @__PURE__ */ jsx2(Route, {
            path: isBillingPageRoot ? void 0 : "billing",
            children: /* @__PURE__ */ jsxs2(Switch, { children: [
              /* @__PURE__ */ jsx2(Route, {
                index: true,
                children: /* @__PURE__ */ jsx2(import_react357.Suspense, {
                  fallback: "",
                  children: /* @__PURE__ */ jsx2(BillingPage2, {})
                })
              }),
              commerceSettings.billing.user.hasPaidPlans ? /* @__PURE__ */ jsx2(Route, {
                path: "plans",
                children: /* @__PURE__ */ jsx2(import_react357.Suspense, {
                  fallback: "",
                  children: /* @__PURE__ */ jsx2(PlansPage2, {})
                })
              }) : null,
              /* @__PURE__ */ jsx2(Route, {
                path: "statement/:statementId",
                children: /* @__PURE__ */ jsx2(import_react357.Suspense, {
                  fallback: "",
                  children: /* @__PURE__ */ jsx2(StatementPage2, {})
                })
              }),
              /* @__PURE__ */ jsx2(Route, {
                path: "payment-attempt/:paymentAttemptId",
                children: /* @__PURE__ */ jsx2(import_react357.Suspense, {
                  fallback: "",
                  children: /* @__PURE__ */ jsx2(PaymentAttemptPage2, {})
                })
              })
            ] })
          }) : null,
          apiKeysSettings.user_api_keys_enabled && !apiKeysProps?.hide && /* @__PURE__ */ jsx2(Route, {
            path: isAPIKeysPageRoot ? void 0 : "api-keys",
            children: /* @__PURE__ */ jsx2(Switch, { children: /* @__PURE__ */ jsx2(Route, {
              index: true,
              children: /* @__PURE__ */ jsx2(import_react357.Suspense, {
                fallback: "",
                children: /* @__PURE__ */ jsx2(APIKeysPage3, {})
              })
            }) })
          })
        ] })] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/index.js
  var UserProfile_exports = {};
  __export(UserProfile_exports, {
    UserProfile: () => UserProfile,
    UserProfileModal: () => UserProfileModal
  });
  var import_react358, _UserProfile, AuthenticatedRoutes, UserProfile, InternalUserProfile, UserProfileModal;
  var init_UserProfile2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserProfile/index.js"() {
      init_constants6();
      init_CoreUserContext();
      init_localizationKeys();
      init_Route();
      init_Switch();
      init_UserProfile();
      init_contexts();
      init_Flow();
      init_VerifyWithLink();
      init_Navbar();
      init_ProfileCard();
      init_UserProfileNavbar();
      init_UserProfileRoutes();
      import_react358 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      _UserProfile = () => {
        return /* @__PURE__ */ jsx2(Flow.Root, {
          flow: "userProfile",
          children: /* @__PURE__ */ jsx2(Flow.Part, { children: /* @__PURE__ */ jsxs2(Switch, { children: [/* @__PURE__ */ jsx2(Route, {
            path: "verify",
            children: /* @__PURE__ */ jsx2(VerificationSuccessPage, {})
          }), /* @__PURE__ */ jsx2(Route, { children: /* @__PURE__ */ jsx2(AuthenticatedRoutes, {}) })] }) })
        });
      };
      AuthenticatedRoutes = withCoreUserGuard(() => {
        const contentRef = import_react358.default.useRef(null);
        return /* @__PURE__ */ jsx2(ProfileCard.Root, { children: /* @__PURE__ */ jsxs2(UserProfileNavbar, {
          contentRef,
          children: [/* @__PURE__ */ jsx2(NavbarMenuButtonRow, { navbarTitleLocalizationKey: localizationKeys("userProfile.navbar.title") }), /* @__PURE__ */ jsx2(ProfileCard.Content, {
            contentRef,
            scrollBoxId: USER_PROFILE_CARD_SCROLLBOX_ID,
            children: /* @__PURE__ */ jsx2(UserProfileRoutes, {})
          })]
        }) });
      });
      UserProfile = withCardStateProvider(_UserProfile);
      InternalUserProfile = withCardStateProvider(_UserProfile);
      UserProfileModal = (props) => {
        const userProfileProps = {
          ...props,
          routing: "virtual",
          componentName: "UserProfile",
          mode: "modal"
        };
        return /* @__PURE__ */ jsx2(Route, {
          path: "user",
          children: /* @__PURE__ */ jsx2(UserProfileContext.Provider, {
            value: userProfileProps,
            children: /* @__PURE__ */ jsx2("div", { children: /* @__PURE__ */ jsx2(InternalUserProfile, { ...userProfileProps }) })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/CreateOrganization.js
  var import_react359, CreateOrganizationContext, useCreateOrganizationContext;
  var init_CreateOrganization = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/CreateOrganization.js"() {
      init_RouteContext();
      init_utils2();
      init_EnvironmentContext();
      import_react359 = __toESM(require_react(), 1);
      CreateOrganizationContext = (0, import_react359.createContext)(null);
      useCreateOrganizationContext = () => {
        const context = (0, import_react359.useContext)(CreateOrganizationContext);
        const { navigate } = useRouter();
        const { displayConfig } = useEnvironment();
        if (!context || context.componentName !== "CreateOrganization") throw new Error("Clerk: useCreateOrganizationContext called outside CreateOrganization.");
        const { componentName, ...ctx } = context;
        const navigateAfterCreateOrganization = (organization) => {
          if (typeof ctx.afterCreateOrganizationUrl === "function") return navigate(ctx.afterCreateOrganizationUrl(organization));
          if (ctx.afterCreateOrganizationUrl) return navigate(populateParamFromObject({
            urlWithParam: ctx.afterCreateOrganizationUrl,
            entity: organization
          }));
          return navigate(displayConfig.afterCreateOrganizationUrl);
        };
        return {
          ...ctx,
          skipInvitationScreen: ctx.skipInvitationScreen || false,
          navigateAfterCreateOrganization,
          componentName
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/TagInput.js
  var import_react360, sanitize, TagInput, TagPill;
  var init_TagInput = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/TagInput.js"() {
      init_plus();
      init_makeLocalizable();
      init_common();
      init_elementDescriptors();
      init_customizables();
      import_react360 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      sanitize = (val) => val.trim();
      TagInput = (props) => {
        const { t: t2 } = useLocalizations();
        const { sx, placeholder, validate: validate4 = () => true, value: valueProp, onChange: onChangeProp, autoFocus, validateUnsubmittedEmail = () => null, ...rest } = props;
        const tags = valueProp.split(",").map(sanitize).filter(Boolean);
        const tagsSet = new Set(tags);
        const keyReleasedRef = import_react360.default.useRef(true);
        const inputRef = import_react360.default.useRef(null);
        const [input, setInput] = import_react360.default.useState("");
        const emit = (newTags) => {
          onChangeProp({ target: { value: newTags.join(",") } });
          focusInput();
          validateUnsubmittedEmail("");
        };
        const remove2 = (tag) => {
          emit(tags.filter((t$1) => t$1 !== tag));
        };
        const removeLast = () => {
          emit(tags.slice(0, -1));
        };
        const addTag = (tag) => {
          const newTags = (Array.isArray(tag) ? [...tag] : [tag]).map(sanitize).filter(Boolean).filter(validate4).filter((t$1) => !tagsSet.has(t$1));
          if (newTags.length) {
            emit([...tags, ...newTags]);
            setInput("");
            focusInput();
          }
        };
        const focusInput = () => {
          inputRef.current?.focus();
        };
        const handleKeyDown = (e3) => {
          const { key } = e3;
          if ((key === "," || key === " " || key === "Enter") && !!input.length) {
            e3.preventDefault();
            addTag(input);
          } else if (key === "Backspace" && !input.length && !!tags.length && keyReleasedRef.current) {
            e3.preventDefault();
            removeLast();
          }
          keyReleasedRef.current = false;
        };
        const handleOnBlur = (e3) => {
          e3.preventDefault();
          addTag(input);
        };
        const handleKeyUp = () => {
          keyReleasedRef.current = true;
        };
        const handleChange = (e3) => {
          setInput(e3.target.value);
          validateUnsubmittedEmail(e3.target.value);
        };
        const handlePaste = (e3) => {
          e3.preventDefault();
          addTag((e3.clipboardData.getData("text") || "").split(/,| |\n|\t/).filter(Boolean).map((tag) => tag.trim()));
        };
        return /* @__PURE__ */ jsxs2(Flex2, {
          elementDescriptor: descriptors.tagInputContainer,
          align: "start",
          gap: 2,
          wrap: "wrap",
          onClick: focusInput,
          onFocus: focusInput,
          sx: [(t$1) => ({
            maxWidth: "100%",
            padding: `${t$1.space.$1x5} ${t$1.space.$2}`,
            backgroundColor: t$1.colors.$colorInput,
            color: t$1.colors.$colorInputForeground,
            minHeight: t$1.sizes.$20,
            maxHeight: t$1.sizes.$60,
            overflowY: "auto",
            cursor: "text",
            justifyItems: "center",
            ...common.borderVariants(t$1, { hoverStyles: true }).normal
          }), sx],
          ...rest,
          children: [tags.map((tag) => /* @__PURE__ */ jsx2(TagPill, {
            onRemoveClick: () => remove2(tag),
            children: tag
          }, tag)), /* @__PURE__ */ jsx2(Input2, {
            ref: inputRef,
            value: input,
            type: "email",
            "data-testid": "tag-input",
            placeholder: !tags.length ? t2(placeholder) : void 0,
            onKeyDown: handleKeyDown,
            onKeyUp: handleKeyUp,
            onChange: handleChange,
            onPaste: handlePaste,
            onBlur: handleOnBlur,
            focusRing: false,
            autoFocus,
            variant: "unstyled",
            sx: (t$1) => ({
              flexGrow: 1,
              borderWidth: 0,
              width: "initial",
              padding: 0,
              lineHeight: t$1.space.$5,
              paddingInlineStart: t$1.space.$1,
              "::placeholder": { color: t$1.colors.$colorMutedForeground },
              boxShadow: "none",
              ":hover": { boxShadow: "none" }
            })
          })]
        });
      };
      TagPill = (props) => {
        const { onRemoveClick, children, ...rest } = props;
        return /* @__PURE__ */ jsxs2(Flex2, {
          elementDescriptor: descriptors.tagPillContainer,
          onClick: onRemoveClick,
          gap: 1,
          center: true,
          ...rest,
          sx: (t2) => ({
            padding: `${t2.space.$0x5} ${t2.space.$1x5}`,
            borderRadius: t2.radii.$sm,
            color: t2.colors.$primary500,
            backgroundColor: t2.colors.$neutralAlpha50,
            boxShadow: t2.shadows.$badge,
            borderWidth: t2.borderWidths.$normal,
            borderStyle: t2.borderStyles.$solid,
            borderColor: t2.colors.$borderAlpha100,
            display: "inline-flex",
            marginInlineEnd: "1px",
            cursor: "pointer",
            ":hover": { backgroundColor: t2.colors.$neutralAlpha100 },
            ":hover svg": { color: t2.colors.$danger500 },
            overflow: "hidden"
          }),
          children: [/* @__PURE__ */ jsx2(Text2, {
            truncate: true,
            variant: "buttonSmall",
            children
          }), /* @__PURE__ */ jsx2(Icon, {
            elementDescriptor: descriptors.tagPillIcon,
            size: "md",
            icon: plus_default,
            sx: (t2) => ({
              color: t2.colors.$colorMutedForeground,
              transform: "translateY(0px) rotate(45deg)"
            })
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/MemberListTable.js
  var import_react361, DataTable2, EmptyRow2, RowContainer, RoleSelect, RolesListItem;
  var init_MemberListTable = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/MemberListTable.js"() {
      init_localizationKeys();
      init_makeLocalizable();
      init_elementDescriptors();
      init_customizables();
      init_Select();
      init_Pagination();
      init_useFetchRoles();
      import_react361 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      DataTable2 = (props) => {
        const { headers, page, onPageChange, rows, isLoading, itemCount, itemsPerPage, pageCount, emptyStateLocalizationKey } = props;
        const startingRow = itemCount > 0 ? Math.max(0, (page - 1) * itemsPerPage) + 1 : 0;
        const endingRow = Math.min(page * itemsPerPage, itemCount);
        return /* @__PURE__ */ jsxs2(Col2, {
          gap: 4,
          sx: { width: "100%" },
          children: [/* @__PURE__ */ jsx2(Flex2, {
            sx: (t2) => ({
              overflowX: "auto",
              padding: t2.space.$1
            }),
            children: /* @__PURE__ */ jsxs2(Table2, { children: [/* @__PURE__ */ jsx2(Thead2, { children: /* @__PURE__ */ jsx2(Tr2, { children: headers.map((h2, index3) => /* @__PURE__ */ jsx2(Th2, {
              elementDescriptor: descriptors.tableHead,
              localizationKey: h2.key,
              sx: h2.align ? { textAlign: h2.align } : void 0
            }, index3)) }) }), /* @__PURE__ */ jsx2(Tbody2, { children: isLoading ? /* @__PURE__ */ jsx2(Tr2, { children: /* @__PURE__ */ jsx2(Td2, {
              colSpan: 4,
              children: /* @__PURE__ */ jsx2(Spinner, {
                colorScheme: "primary",
                sx: {
                  margin: "auto",
                  display: "block"
                },
                elementDescriptor: descriptors.spinner
              })
            }) }) : !rows.length ? /* @__PURE__ */ jsx2(EmptyRow2, { localizationKey: emptyStateLocalizationKey }, "empty") : rows })] })
          }), pageCount > 1 && /* @__PURE__ */ jsx2(Pagination, {
            count: pageCount,
            page,
            onChange: onPageChange,
            siblingCount: 1,
            rowInfo: {
              allRowsCount: itemCount,
              startingRow,
              endingRow
            }
          })]
        });
      };
      EmptyRow2 = (props) => {
        return /* @__PURE__ */ jsx2(Tr2, { children: /* @__PURE__ */ jsx2(Td2, {
          colSpan: 4,
          children: /* @__PURE__ */ jsx2(Text2, {
            localizationKey: props.localizationKey,
            sx: {
              margin: "auto",
              display: "block",
              width: "fit-content"
            }
          })
        }) });
      };
      RowContainer = (props) => {
        return /* @__PURE__ */ jsx2(Tr2, {
          ...props,
          sx: (t2) => ({ ":hover": { backgroundColor: t2.colors.$neutralAlpha50 } })
        });
      };
      RoleSelect = (props) => {
        const { value, fallbackLabel, roles, onChange, isDisabled, triggerSx, optionListSx, prefixLocalizationKey } = props;
        const { localizeCustomRole } = useLocalizeCustomRoles();
        const fetchedRoles = (0, import_react361.useMemo)(() => [...roles || []], [roles]);
        const selectedRole = (0, import_react361.useMemo)(() => fetchedRoles.find((r2) => r2.value === value), [fetchedRoles, value]);
        const { t: t2 } = useLocalizations();
        return /* @__PURE__ */ jsxs2(Select, {
          elementId: "role",
          options: (0, import_react361.useMemo)(() => fetchedRoles.map((role) => ({
            value: role.value,
            label: localizeCustomRole(role.value) || role.label
          })), [fetchedRoles, localizeCustomRole]),
          value,
          placeholder: t2(localizationKeys("organizationProfile.invitePage.selectDropdown__role")),
          onChange: (role) => onChange(role.value),
          renderOption: (option, _index, isSelected) => /* @__PURE__ */ jsx2(RolesListItem, {
            isSelected,
            option
          }),
          children: [
            /* @__PURE__ */ jsx2("input", {
              name: "role",
              type: "hidden",
              value
            }),
            /* @__PURE__ */ jsx2(SelectButton, {
              sx: triggerSx || ((t$1) => ({
                color: t$1.colors.$colorForeground,
                backgroundColor: "transparent",
                textWrap: "nowrap"
              })),
              isDisabled: isDisabled || !!value && fetchedRoles.length > 0 && !selectedRole,
              children: selectedRole?.label || selectedRole?.value ? /* @__PURE__ */ jsxs2(Flex2, {
                as: "span",
                gap: 1,
                children: [prefixLocalizationKey && /* @__PURE__ */ jsx2(Text2, {
                  as: "span",
                  colorScheme: "secondary",
                  localizationKey: prefixLocalizationKey
                }), /* @__PURE__ */ jsx2(Text2, {
                  as: "span",
                  colorScheme: "body",
                  children: localizeCustomRole(selectedRole?.value) || selectedRole?.label
                })]
              }) : fallbackLabel ? /* @__PURE__ */ jsx2(Text2, {
                as: "span",
                colorScheme: "body",
                children: fallbackLabel
              }) : null
            }),
            /* @__PURE__ */ jsx2(SelectOptionList, { sx: optionListSx })
          ]
        });
      };
      RolesListItem = (0, import_react361.memo)((props) => {
        const { option, isSelected, sx, ...rest } = props;
        return /* @__PURE__ */ jsx2(Flex2, {
          sx: [(theme) => ({
            width: "100%",
            padding: `${theme.space.$2} ${theme.space.$4}`,
            borderRadius: theme.radii.$md,
            "&:hover": { backgroundColor: theme.colors.$neutralAlpha100 },
            '&[data-focused="true"]': { backgroundColor: theme.colors.$neutralAlpha150 }
          }), sx],
          ...rest,
          children: /* @__PURE__ */ jsx2(Text2, {
            variant: "subtitle",
            children: option?.label
          })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/InviteMembersForm.js
  var import_react362, isEmail2, InviteMembersForm, AsyncRoleSelect, useDefaultRole;
  var init_InviteMembersForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/InviteMembersForm.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_passwordUtils();
      init_makeLocalizable();
      init_breakpoints();
      init_useFormControl();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_TagInput();
      init_useFetchRoles();
      init_MemberListTable();
      init_error();
      import_react362 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      isEmail2 = (str) => /^\S+@\S+\.\S+$/.test(str);
      InviteMembersForm = (props) => {
        const { onSuccess, onReset, resetButtonLabel } = props;
        const { organization, invitations } = useOrganization({ invitations: {
          pageSize: 10,
          keepPreviousData: true
        } });
        const card = useCardState();
        const { t: t2, locale } = useLocalizations();
        const [isValidUnsubmittedEmail, setIsValidUnsubmittedEmail] = (0, import_react362.useState)(false);
        const validateUnsubmittedEmail = (value) => setIsValidUnsubmittedEmail(isEmail2(value));
        const emailAddressField = useFormControl("emailAddress", "", {
          type: "text",
          label: localizationKeys("formFieldLabel__emailAddresses")
        });
        const roleField = useFormControl("role", "", { label: localizationKeys("formFieldLabel__role") });
        if (!organization) return null;
        const { props: { setError, setWarning, setSuccess, setInfo, isFocused, validatePassword, setHasPassedComplexity, hasPassedComplexity, feedback, feedbackType, clearFeedback, ...restEmailAddressProps } } = emailAddressField;
        const canSubmit = (!!emailAddressField.value.length || isValidUnsubmittedEmail) && !!roleField.value;
        const onSubmit = (e3) => {
          e3.preventDefault();
          if (!canSubmit) return;
          const submittedData = new FormData(e3.currentTarget);
          return organization.inviteMembers({
            emailAddresses: emailAddressField.value.split(","),
            role: submittedData.get("role")
          }).then(async () => {
            await invitations?.revalidate?.();
            return onSuccess?.();
          }).catch((err) => {
            if (!isClerkAPIResponseError2(err)) {
              handleError(err, [], card.setError);
              return;
            }
            removeInvalidEmails(err.errors[0]);
            switch (err.errors?.[0]?.code) {
              case "duplicate_record": {
                const unlocalizedEmailsList = err.errors[0].meta?.emailAddresses || [];
                card.setError(t2(localizationKeys("organizationProfile.invitePage.detailsTitle__inviteFailed", { email_addresses: createListFormat(unlocalizedEmailsList, locale) })));
                break;
              }
              case "already_a_member_in_organization": {
                const email = (err.errors[0].longMessage ?? "").match(/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/)?.[0];
                handleError(err, [], (err$1) => email ? card.setError(t2(localizationKeys("unstable__errors.already_a_member_in_organization", { email }))) : card.setError(err$1));
                break;
              }
              default:
                handleError(err, [], card.setError);
            }
          });
        };
        const removeInvalidEmails = (err) => {
          const invalidEmails = /* @__PURE__ */ new Set([...err.meta?.emailAddresses ?? [], ...err.meta?.identifiers ?? []]);
          const emails = emailAddressField.value.split(",");
          emailAddressField.setValue(emails.filter((e3) => !invalidEmails.has(e3)).join(","));
        };
        return /* @__PURE__ */ jsxs2(Form$1.Root, {
          onSubmit,
          children: [/* @__PURE__ */ jsx2(Form$1.ControlRow, {
            elementId: emailAddressField.id,
            children: /* @__PURE__ */ jsx2(TagInput, {
              ...restEmailAddressProps,
              autoFocus: true,
              validate: isEmail2,
              sx: { width: "100%" },
              validateUnsubmittedEmail,
              placeholder: localizationKeys("formFieldInputPlaceholder__emailAddresses")
            })
          }), /* @__PURE__ */ jsxs2(Flex2, {
            align: "center",
            justify: "between",
            sx: (t$1) => ({
              marginTop: t$1.space.$2,
              gap: t$1.space.$4,
              flexWrap: "wrap",
              [mqu.sm]: { justifyContent: "center" }
            }),
            children: [/* @__PURE__ */ jsx2(AsyncRoleSelect, { ...roleField }), /* @__PURE__ */ jsxs2(FormButtonContainer, {
              sx: (t$1) => ({
                margin: t$1.space.$none,
                flexWrap: "wrap",
                justifyContent: "center"
              }),
              children: [/* @__PURE__ */ jsx2(Form$1.SubmitButton, {
                block: false,
                isDisabled: !canSubmit,
                localizationKey: localizationKeys("organizationProfile.invitePage.formButtonPrimary__continue")
              }), /* @__PURE__ */ jsx2(Form$1.ResetButton, {
                localizationKey: resetButtonLabel || localizationKeys("userProfile.formButtonReset"),
                block: false,
                onClick: onReset
              })]
            })]
          })]
        });
      };
      AsyncRoleSelect = (field) => {
        const { options: options2, isLoading, hasRoleSetMigration } = useFetchRoles();
        const { t: t2 } = useLocalizations();
        const defaultRole = useDefaultRole();
        (0, import_react362.useEffect)(() => {
          if (field.value || !defaultRole) return;
          if (!options2?.some((option) => option.value === defaultRole)) return;
          field.setValue(defaultRole);
        }, [
          defaultRole,
          options2,
          field
        ]);
        return /* @__PURE__ */ jsx2(Form$1.ControlRow, {
          elementId: field.id,
          children: /* @__PURE__ */ jsx2(Flex2, {
            direction: "col",
            gap: 2,
            children: /* @__PURE__ */ jsx2(RoleSelect, {
              ...field.props,
              roles: options2,
              isDisabled: isLoading || hasRoleSetMigration,
              onChange: (value) => field.setValue(value),
              triggerSx: (t$1) => ({
                minWidth: t$1.sizes.$40,
                justifyContent: "space-between",
                display: "flex"
              }),
              optionListSx: (t$1) => ({ minWidth: t$1.sizes.$48 }),
              prefixLocalizationKey: `${t2(localizationKeys("formFieldLabel__role"))}:`
            })
          })
        });
      };
      useDefaultRole = () => {
        const { options: options2 } = useFetchRoles();
        const { organizationSettings } = useEnvironment();
        let defaultRole = organizationSettings.domains.defaultRole;
        if (!defaultRole && options2?.length === 1) defaultRole = options2[0].value;
        return defaultRole;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/IconCircle.js
  var IconCircle;
  var init_IconCircle = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/IconCircle.js"() {
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      IconCircle = (props) => {
        const { icon: icon2, boxElementDescriptor, iconElementDescriptor, sx, ...rest } = props;
        return /* @__PURE__ */ jsx2(Flex2, {
          center: true,
          elementDescriptor: boxElementDescriptor,
          sx: [(t2) => ({
            backgroundColor: t2.colors.$neutralAlpha50,
            width: t2.sizes.$16,
            height: t2.sizes.$16,
            borderRadius: t2.radii.$circle
          }), sx],
          ...rest,
          children: /* @__PURE__ */ jsx2(Icon, {
            elementDescriptor: iconElementDescriptor,
            icon: icon2,
            size: "lg",
            sx: (theme) => ({ color: theme.colors.$neutralAlpha600 })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/InviteMembersScreen.js
  var InviteMembersScreen, InvitationsSentMessage;
  var init_InviteMembersScreen = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/InviteMembersScreen.js"() {
      init_localizationKeys();
      init_email2();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_FormContainer();
      init_Wizard();
      init_ActionRoot();
      init_SuccessPage();
      init_InviteMembersForm();
      init_IconCircle();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      InviteMembersScreen = withCardStateProvider((props) => {
        const { close } = useActionContext();
        const { onReset = close } = props;
        const title = localizationKeys("organizationProfile.invitePage.title");
        const subtitle = localizationKeys("organizationProfile.invitePage.subtitle");
        const card = useCardState();
        const wizard = useWizard({ onNextStep: () => card.setError(void 0) });
        const { organization } = useOrganization();
        if (!organization) return null;
        return /* @__PURE__ */ jsxs2(Wizard, {
          ...wizard.props,
          children: [/* @__PURE__ */ jsx2(FormContainer, {
            headerTitle: title,
            headerSubtitle: subtitle,
            children: /* @__PURE__ */ jsx2(InviteMembersForm, {
              onSuccess: wizard.nextStep,
              onReset
            })
          }), /* @__PURE__ */ jsx2(SuccessPage, {
            title,
            onFinish: close,
            contents: /* @__PURE__ */ jsx2(InvitationsSentMessage, {})
          })]
        });
      });
      InvitationsSentMessage = () => {
        return /* @__PURE__ */ jsxs2(Flex2, {
          direction: "col",
          center: true,
          gap: 4,
          children: [/* @__PURE__ */ jsx2(IconCircle, {
            boxElementDescriptor: descriptors.invitationsSentIconBox,
            iconElementDescriptor: descriptors.invitationsSentIcon,
            icon: email_default
          }), /* @__PURE__ */ jsx2(Text2, { localizationKey: localizationKeys("organizationProfile.invitePage.successMessage") })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/CreateOrganization/CreateOrganizationForm.js
  var import_react365, CreateOrganizationForm;
  var init_CreateOrganizationForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/CreateOrganization/CreateOrganizationForm.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_upload();
      init_useFormControl();
      init_contexts();
      init_customizables();
      init_IconButton();
      init_Header();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_Wizard();
      init_SuccessPage();
      init_createSlug();
      init_InviteMembersForm();
      init_InviteMembersScreen();
      init_OrganizationProfileAvatarUploader();
      init_utils5();
      import_react365 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      CreateOrganizationForm = withCardStateProvider((props) => {
        const card = useCardState();
        const wizard = useWizard({ onNextStep: () => card.setError(void 0) });
        const lastCreatedOrganizationRef = import_react365.default.useRef(null);
        const { createOrganization, isLoaded, setActive, userMemberships } = useOrganizationList({ userMemberships: organizationListParams.userMemberships });
        const { organization } = useOrganization();
        const { organizationSettings } = useEnvironment();
        const [file, setFile] = import_react365.default.useState();
        const nameField = useFormControl("name", "", {
          type: "text",
          label: localizationKeys("formFieldLabel__organizationName"),
          placeholder: localizationKeys("formFieldInputPlaceholder__organizationName")
        });
        const slugField = useFormControl("slug", "", {
          type: "text",
          label: localizationKeys("formFieldLabel__organizationSlug"),
          placeholder: localizationKeys("formFieldInputPlaceholder__organizationSlug")
        });
        const canSubmit = !!nameField.value;
        const organizationSlugEnabled = !organizationSettings.slug.disabled;
        const onSubmit = async (e3) => {
          e3.preventDefault();
          if (!canSubmit) return;
          if (!isLoaded) return;
          try {
            const createOrgParams = { name: nameField.value };
            if (organizationSlugEnabled) createOrgParams.slug = slugField.value;
            const organization$1 = await createOrganization(createOrgParams);
            if (file) await organization$1.setLogo({ file });
            lastCreatedOrganizationRef.current = organization$1;
            await setActive({ organization: organization$1 });
            userMemberships.revalidate?.();
            if (props.skipInvitationScreen ?? organization$1.maxAllowedMemberships === 1) return completeFlow();
            wizard.nextStep();
          } catch (err) {
            handleError(err, [nameField, slugField], card.setError);
          }
        };
        const completeFlow = () => {
          props.navigateAfterCreateOrganization?.(lastCreatedOrganizationRef.current);
          props.onComplete?.();
        };
        const onAvatarRemove = () => {
          card.setIdle();
          return setFile(null);
        };
        const onChangeName = (event) => {
          nameField.setValue(event.target.value);
          updateSlugField(createSlug(event.target.value));
        };
        const onChangeSlug = (event) => {
          updateSlugField(event.target.value);
        };
        const updateSlugField = (val) => {
          slugField.setValue(val);
        };
        const headerTitleTextVariant = "h2";
        const headerSubtitleTextVariant = props.flow === "organizationList" ? "subtitle" : void 0;
        return /* @__PURE__ */ jsxs2(Wizard, {
          ...wizard.props,
          children: [
            /* @__PURE__ */ jsx2(FormContainer, {
              headerTitle: props?.startPage?.headerTitle,
              headerSubtitle: props?.startPage?.headerSubtitle,
              headerTitleTextVariant,
              headerSubtitleTextVariant,
              sx: (t2) => ({
                minHeight: t2.sizes.$60,
                gap: t2.space.$6,
                textAlign: "start"
              }),
              children: /* @__PURE__ */ jsxs2(Form$1.Root, {
                onSubmit,
                sx: (t2) => ({ gap: t2.space.$6 }),
                children: [
                  /* @__PURE__ */ jsx2(Col2, { children: /* @__PURE__ */ jsx2(OrganizationProfileAvatarUploader, {
                    organization: { name: nameField.value },
                    onAvatarChange: async (file$1) => await setFile(file$1),
                    onAvatarRemove: file ? onAvatarRemove : null,
                    avatarPreviewPlaceholder: /* @__PURE__ */ jsx2(IconButton, {
                      variant: "ghost",
                      "aria-label": "Upload organization logo",
                      icon: /* @__PURE__ */ jsx2(Icon, {
                        size: "md",
                        icon: upload_default,
                        sx: (t2) => ({
                          color: t2.colors.$colorMutedForeground,
                          transitionDuration: t2.transitionDuration.$controls
                        })
                      }),
                      sx: (t2) => ({
                        width: t2.sizes.$16,
                        height: t2.sizes.$16,
                        borderRadius: t2.radii.$md,
                        borderWidth: t2.borderWidths.$normal,
                        borderStyle: t2.borderStyles.$dashed,
                        borderColor: t2.colors.$borderAlpha200,
                        backgroundColor: t2.colors.$neutralAlpha50,
                        ":hover": {
                          backgroundColor: t2.colors.$neutralAlpha50,
                          svg: { transform: "scale(1.2)" }
                        }
                      })
                    })
                  }) }),
                  /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                    elementId: nameField.id,
                    children: /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                      ...nameField.props,
                      onChange: onChangeName,
                      isRequired: true,
                      autoFocus: true,
                      ignorePasswordManager: true
                    })
                  }),
                  organizationSlugEnabled && /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                    elementId: slugField.id,
                    children: /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                      ...slugField.props,
                      onChange: onChangeSlug,
                      isRequired: true,
                      pattern: "^(?=.*[a-z0-9])[a-z0-9\\-]+$",
                      ignorePasswordManager: true
                    })
                  }),
                  /* @__PURE__ */ jsxs2(FormButtonContainer, {
                    sx: (t2) => ({ marginTop: t2.space.$none }),
                    children: [/* @__PURE__ */ jsx2(Form$1.SubmitButton, {
                      block: false,
                      isDisabled: !canSubmit,
                      localizationKey: localizationKeys("createOrganization.formButtonSubmit")
                    }), props.onCancel && /* @__PURE__ */ jsx2(Form$1.ResetButton, {
                      localizationKey: localizationKeys("userProfile.formButtonReset"),
                      block: false,
                      onClick: props.onCancel
                    })]
                  })
                ]
              })
            }),
            /* @__PURE__ */ jsx2(FormContainer, {
              headerTitle: localizationKeys("organizationProfile.invitePage.title"),
              headerTitleTextVariant,
              headerSubtitleTextVariant,
              sx: () => ({ textAlign: "start" }),
              children: organization && /* @__PURE__ */ jsx2(InviteMembersForm, {
                resetButtonLabel: localizationKeys("createOrganization.invitePage.formButtonReset"),
                onSuccess: wizard.nextStep,
                onReset: completeFlow
              })
            }),
            /* @__PURE__ */ jsxs2(Col2, { children: [/* @__PURE__ */ jsx2(Header.Root, { children: /* @__PURE__ */ jsx2(Header.Title, {
              localizationKey: localizationKeys("organizationProfile.invitePage.title"),
              sx: { textAlign: "start" }
            }) }), /* @__PURE__ */ jsx2(SuccessPage, {
              contents: /* @__PURE__ */ jsx2(InvitationsSentMessage, {}),
              onFinish: completeFlow
            })] })
          ]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/CreateOrganization/CreateOrganizationPage.js
  var CreateOrganizationPage;
  var init_CreateOrganizationPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/CreateOrganization/CreateOrganizationPage.js"() {
      init_localizationKeys();
      init_CreateOrganization();
      init_contexts();
      init_Card();
      init_CreateOrganizationForm();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      CreateOrganizationPage = withCardStateProvider(() => {
        const { closeCreateOrganization } = useClerk();
        const { mode, navigateAfterCreateOrganization, skipInvitationScreen } = useCreateOrganizationContext();
        const card = useCardState();
        return /* @__PURE__ */ jsxs2(Card.Root, {
          sx: (t2) => ({ width: t2.sizes.$108 }),
          children: [/* @__PURE__ */ jsxs2(Card.Content, {
            sx: (t2) => ({ padding: `${t2.space.$4} ${t2.space.$5}` }),
            children: [/* @__PURE__ */ jsx2(Card.Alert, { children: card.error }), /* @__PURE__ */ jsx2(CreateOrganizationForm, {
              skipInvitationScreen,
              startPage: { headerTitle: localizationKeys("createOrganization.title") },
              navigateAfterCreateOrganization,
              flow: "default",
              onComplete: () => {
                if (mode === "modal") closeCreateOrganization();
              }
            })]
          }), /* @__PURE__ */ jsx2(Card.Footer, {})]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/CreateOrganization/CreateOrganization.js
  var CreateOrganizationInternal, AuthenticatedRoutes2, CreateOrganization, CreateOrganizationModal;
  var init_CreateOrganization2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/CreateOrganization/CreateOrganization.js"() {
      init_CoreUserContext();
      init_Route();
      init_Switch();
      init_CreateOrganization();
      init_contexts();
      init_Flow();
      init_CreateOrganizationPage();
      init_emotion_react_jsx_runtime_browser_esm();
      CreateOrganizationInternal = () => {
        return /* @__PURE__ */ jsx2(Flow.Root, {
          flow: "createOrganization",
          children: /* @__PURE__ */ jsx2(Flow.Part, { children: /* @__PURE__ */ jsx2(Switch, { children: /* @__PURE__ */ jsx2(Route, { children: /* @__PURE__ */ jsx2(AuthenticatedRoutes2, {}) }) }) })
        });
      };
      AuthenticatedRoutes2 = withCoreUserGuard(() => {
        return /* @__PURE__ */ jsx2(CreateOrganizationPage, {});
      });
      CreateOrganization = withCardStateProvider(CreateOrganizationInternal);
      CreateOrganizationModal = (props) => {
        const createOrganizationProps = {
          ...props,
          routing: "virtual",
          componentName: "CreateOrganization",
          mode: "modal"
        };
        return /* @__PURE__ */ jsx2(Route, {
          path: "createOrganization",
          children: /* @__PURE__ */ jsx2(CreateOrganizationContext.Provider, {
            value: createOrganizationProps,
            children: /* @__PURE__ */ jsx2("div", { children: /* @__PURE__ */ jsx2(CreateOrganization, {}) })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/CreateOrganization/index.js
  var CreateOrganization_exports = {};
  __export(CreateOrganization_exports, {
    CreateOrganization: () => CreateOrganization,
    CreateOrganizationModal: () => CreateOrganizationModal
  });
  var init_CreateOrganization3 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/CreateOrganization/index.js"() {
      init_CreateOrganization2();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/OrganizationProfile.js
  var import_react368, OrganizationProfileContext, useOrganizationProfileContext;
  var init_OrganizationProfile = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/OrganizationProfile.js"() {
      init_constants6();
      init_RouteContext();
      init_EnvironmentContext();
      init_createCustomPages();
      init_Plans();
      import_react368 = __toESM(require_react(), 1);
      init_react();
      OrganizationProfileContext = (0, import_react368.createContext)(null);
      useOrganizationProfileContext = () => {
        const context = (0, import_react368.useContext)(OrganizationProfileContext);
        const { navigate } = useRouter();
        const environment = useEnvironment();
        const clerk2 = useClerk();
        if (!context || context.componentName !== "OrganizationProfile") throw new Error("Clerk: useOrganizationProfileContext called outside OrganizationProfile.");
        const { componentName, customPages, ...ctx } = context;
        const subscription = useSubscription2();
        const statements = useStatements2();
        const hasNonFreeSubscription = subscription.data?.subscriptionItems.some((item) => item.plan.hasBaseFee);
        const shouldShowBilling = environment.commerceSettings.billing.organization.hasPaidPlans || hasNonFreeSubscription || Boolean(statements.data.length > 0);
        const pages = (0, import_react368.useMemo)(() => createOrganizationProfileCustomPages(customPages || [], clerk2, shouldShowBilling, environment), [customPages, shouldShowBilling]);
        const navigateAfterLeaveOrganization = () => navigate(ctx.afterLeaveOrganizationUrl || environment.displayConfig.afterLeaveOrganizationUrl);
        const isMembersPageRoot = pages.routes[0].id === ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.MEMBERS;
        const isGeneralPageRoot = pages.routes[0].id === ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.GENERAL;
        const isBillingPageRoot = pages.routes[0].id === ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.BILLING;
        const isAPIKeysPageRoot = pages.routes[0].id === ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.API_KEYS;
        const navigateToGeneralPageRoot = () => navigate(isGeneralPageRoot ? "../" : isMembersPageRoot ? "./organization-general" : "../organization-general");
        return {
          ...ctx,
          pages,
          navigateAfterLeaveOrganization,
          componentName,
          navigateToGeneralPageRoot,
          isMembersPageRoot,
          isGeneralPageRoot,
          isBillingPageRoot,
          isAPIKeysPageRoot,
          shouldShowBilling
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationProfileNavbar.js
  var import_react370, OrganizationProfileNavbar;
  var init_OrganizationProfileNavbar = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationProfileNavbar.js"() {
      init_constants6();
      init_localizationKeys();
      init_Gate();
      init_OrganizationProfile();
      init_Navbar();
      import_react370 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationProfileNavbar = (props) => {
        const { organization } = useOrganization();
        const { apiKeysProps, pages } = useOrganizationProfileContext();
        const allowMembersRoute = useProtect((has2) => has2({ permission: "org:sys_memberships:read" }) || has2({ permission: "org:sys_memberships:manage" }));
        const allowBillingRoutes = useProtect((has2) => has2({ permission: "org:sys_billing:read" }) || has2({ permission: "org:sys_billing:manage" }));
        const routes = pages.routes.filter((r2) => r2.id !== ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.MEMBERS || r2.id === ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.MEMBERS && allowMembersRoute).filter((r2) => r2.id !== ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.BILLING || r2.id === ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.BILLING && allowBillingRoutes).filter((r2) => r2.id !== ORGANIZATION_PROFILE_NAVBAR_ROUTE_ID.API_KEYS || !apiKeysProps?.hide);
        if (!organization) return null;
        return /* @__PURE__ */ jsxs2(NavbarContextProvider, {
          contentRef: props.contentRef,
          children: [/* @__PURE__ */ jsx2(NavBar, {
            title: localizationKeys("organizationProfile.navbar.title"),
            description: localizationKeys("organizationProfile.navbar.description"),
            routes,
            contentRef: props.contentRef
          }), props.children]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/ActionConfirmationPage.js
  var useLeaveWithRevalidations, LeaveOrganizationForm, DeleteOrganizationForm, ActionConfirmationPage;
  var init_ActionConfirmationPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/ActionConfirmationPage.js"() {
      init_localizationKeys();
      init_OrganizationProfile();
      init_useFormControl();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_Wizard();
      init_SuccessPage();
      init_utils5();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      useLeaveWithRevalidations = (leavePromise) => {
        const card = useCardState();
        const { navigateAfterLeaveOrganization } = useOrganizationProfileContext();
        const { userMemberships, userInvitations } = useOrganizationList({
          userMemberships: organizationListParams.userMemberships,
          userInvitations: organizationListParams.userInvitations
        });
        return () => card.runAsync(async () => {
          await leavePromise?.();
        }).then(() => {
          userMemberships.revalidate?.();
          userInvitations.revalidate?.();
          navigateAfterLeaveOrganization();
        });
      };
      LeaveOrganizationForm = (props) => {
        const { organization } = useOrganization();
        const { user } = useUser();
        const leaveOrg = useLeaveWithRevalidations(() => user.leaveOrganization(organization.id));
        if (!organization || !user) return null;
        return /* @__PURE__ */ jsx2(ActionConfirmationPage, {
          organizationName: organization.name,
          title: localizationKeys("organizationProfile.profilePage.dangerSection.leaveOrganization.title"),
          messageLine1: localizationKeys("organizationProfile.profilePage.dangerSection.leaveOrganization.messageLine1"),
          messageLine2: localizationKeys("organizationProfile.profilePage.dangerSection.leaveOrganization.messageLine2"),
          actionDescription: localizationKeys("organizationProfile.profilePage.dangerSection.leaveOrganization.actionDescription", { organizationName: organization.name }),
          submitLabel: localizationKeys("organizationProfile.profilePage.dangerSection.leaveOrganization.title"),
          successMessage: localizationKeys("organizationProfile.profilePage.dangerSection.leaveOrganization.successMessage"),
          onConfirmation: leaveOrg,
          ...props
        });
      };
      DeleteOrganizationForm = (props) => {
        const { organization, membership } = useOrganization();
        const deleteOrg = useLeaveWithRevalidations(organization?.destroy);
        if (!organization || !membership) return null;
        return /* @__PURE__ */ jsx2(ActionConfirmationPage, {
          organizationName: organization.name,
          title: localizationKeys("organizationProfile.profilePage.dangerSection.deleteOrganization.title"),
          messageLine1: localizationKeys("organizationProfile.profilePage.dangerSection.deleteOrganization.messageLine1"),
          messageLine2: localizationKeys("organizationProfile.profilePage.dangerSection.deleteOrganization.messageLine2"),
          actionDescription: localizationKeys("organizationProfile.profilePage.dangerSection.deleteOrganization.actionDescription", { organizationName: organization.name }),
          submitLabel: localizationKeys("organizationProfile.profilePage.dangerSection.deleteOrganization.title"),
          successMessage: localizationKeys("organizationProfile.profilePage.dangerSection.deleteOrganization.successMessage"),
          onConfirmation: deleteOrg,
          ...props
        });
      };
      ActionConfirmationPage = withCardStateProvider((props) => {
        const { title, messageLine1, messageLine2, actionDescription, organizationName, successMessage, submitLabel, onSuccess, onReset, onConfirmation, colorScheme = "danger" } = props;
        const wizard = useWizard();
        const card = useCardState();
        const confirmationField = useFormControl("deleteOrganizationConfirmation", "", {
          type: "text",
          label: actionDescription,
          isRequired: true,
          placeholder: organizationName
        });
        const canSubmit = actionDescription ? confirmationField.value === organizationName : true;
        const handleSubmit = async () => {
          if (!canSubmit) return;
          try {
            await onConfirmation().then(() => wizard.nextStep());
          } catch (e3) {
            handleError(e3, [], card.setError);
          }
        };
        return /* @__PURE__ */ jsxs2(Wizard, {
          ...wizard.props,
          children: [/* @__PURE__ */ jsx2(FormContainer, {
            headerTitle: title,
            gap: 1,
            children: /* @__PURE__ */ jsxs2(Form$1.Root, {
              onSubmit: handleSubmit,
              children: [
                /* @__PURE__ */ jsxs2(Col2, { children: [/* @__PURE__ */ jsx2(Text2, {
                  localizationKey: messageLine1,
                  colorScheme: "secondary"
                }), /* @__PURE__ */ jsx2(Text2, {
                  localizationKey: messageLine2,
                  colorScheme: "danger"
                })] }),
                /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                  elementId: confirmationField.id,
                  children: /* @__PURE__ */ jsx2(Form$1.PlainInput, { ...confirmationField.props })
                }),
                /* @__PURE__ */ jsxs2(FormButtonContainer, { children: [/* @__PURE__ */ jsx2(Form$1.SubmitButton, {
                  block: false,
                  colorScheme,
                  localizationKey: submitLabel,
                  isDisabled: !canSubmit
                }), /* @__PURE__ */ jsx2(Form$1.ResetButton, {
                  localizationKey: localizationKeys("userProfile.formButtonReset"),
                  block: false,
                  onClick: onReset
                })] })
              ]
            })
          }), /* @__PURE__ */ jsx2(SuccessPage, {
            title,
            text: successMessage,
            onFinish: onSuccess
          })]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/CalloutWithAction.js
  var CalloutWithAction;
  var init_CalloutWithAction = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/CalloutWithAction.js"() {
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      CalloutWithAction = (props) => {
        const { icon: icon2, text, textSx, actionLabel, onClick: onClickProp } = props;
        const onClick = (e3) => {
          onClickProp?.(e3);
        };
        return /* @__PURE__ */ jsx2(Flex2, {
          sx: (theme) => ({
            background: theme.colors.$neutralAlpha50,
            padding: `${theme.space.$2x5} ${theme.space.$4}`,
            justifyContent: "space-between",
            alignItems: "flex-start",
            borderRadius: theme.radii.$md
          }),
          children: /* @__PURE__ */ jsxs2(Flex2, {
            gap: 2,
            children: [/* @__PURE__ */ jsx2(Icon, {
              colorScheme: "neutral",
              icon: icon2,
              sx: (t2) => ({ marginTop: t2.space.$1 })
            }), /* @__PURE__ */ jsxs2(Col2, {
              gap: 4,
              children: [/* @__PURE__ */ jsx2(Text2, {
                colorScheme: "secondary",
                sx: textSx,
                localizationKey: text,
                children: props.children
              }), actionLabel && /* @__PURE__ */ jsx2(Link2, {
                colorScheme: "primary",
                variant: "subtitle",
                localizationKey: actionLabel,
                onClick
              })]
            })]
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/VerifiedDomainForm.js
  var import_react373, useCalloutLabel, buildEnrollmentOptions, useEnrollmentOptions, VerifiedDomainForm;
  var init_VerifiedDomainForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/VerifiedDomainForm.js"() {
      init_EnvironmentContext();
      init_useFetch();
      init_localizationKeys();
      init_information_circle();
      init_useFormControl();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_CalloutWithAction();
      init_Header();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      import_react373 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      useCalloutLabel = (domain, { infoLabel: infoLabelKey }) => {
        const totalInvitations = domain?.totalPendingInvitations || 0;
        if ((domain?.totalPendingSuggestions || 0) + totalInvitations === 0) return [];
        return [
          infoLabelKey,
          localizationKeys(`organizationProfile.verifiedDomainPage.enrollmentTab.calloutInvitationCountLabel`, { count: totalInvitations }),
          localizationKeys(`organizationProfile.verifiedDomainPage.enrollmentTab.calloutSuggestionCountLabel`, { count: totalInvitations })
        ];
      };
      buildEnrollmentOptions = (settings) => {
        const _options = [];
        if (settings.domains.enrollmentModes.includes("manual_invitation")) _options.push({
          value: "manual_invitation",
          label: localizationKeys("organizationProfile.verifiedDomainPage.enrollmentTab.manualInvitationOption__label"),
          description: localizationKeys("organizationProfile.verifiedDomainPage.enrollmentTab.manualInvitationOption__description")
        });
        if (settings.domains.enrollmentModes.includes("automatic_invitation")) _options.push({
          value: "automatic_invitation",
          label: localizationKeys("organizationProfile.verifiedDomainPage.enrollmentTab.automaticInvitationOption__label"),
          description: localizationKeys("organizationProfile.verifiedDomainPage.enrollmentTab.automaticInvitationOption__description")
        });
        if (settings.domains.enrollmentModes.includes("automatic_suggestion")) _options.push({
          value: "automatic_suggestion",
          label: localizationKeys("organizationProfile.verifiedDomainPage.enrollmentTab.automaticSuggestionOption__label"),
          description: localizationKeys("organizationProfile.verifiedDomainPage.enrollmentTab.automaticSuggestionOption__description")
        });
        return _options;
      };
      useEnrollmentOptions = () => {
        const { organizationSettings } = useEnvironment();
        return buildEnrollmentOptions(organizationSettings);
      };
      VerifiedDomainForm = withCardStateProvider((props) => {
        const { domainId: id, mode = "edit", onSuccess, onReset } = props;
        const card = useCardState();
        const { organizationSettings } = useEnvironment();
        const { membership, organization, domains } = useOrganization({ domains: { infinite: true } });
        const allowsEdit = mode === "edit";
        const enrollmentMode = useFormControl("enrollmentMode", "", {
          type: "radio",
          radioOptions: useEnrollmentOptions(),
          isRequired: true
        });
        const deletePending = useFormControl("deleteExistingInvitationsSuggestions", "", {
          label: localizationKeys("formFieldLabel__organizationDomainDeletePending"),
          type: "checkbox"
        });
        const { data: domain, isLoading: domainIsLoading } = useFetch(organization?.getDomain, { domainId: id });
        (0, import_react373.useEffect)(() => {
          if (domain) enrollmentMode.setValue(domain.enrollmentMode);
        }, [domain?.id]);
        const title = localizationKeys("organizationProfile.verifiedDomainPage.title", { domain: domain?.name || "" });
        const subtitle = localizationKeys("organizationProfile.verifiedDomainPage.subtitle", { domain: domain?.name || "" });
        const calloutLabel = useCalloutLabel(domain, { infoLabel: localizationKeys(`organizationProfile.verifiedDomainPage.enrollmentTab.calloutInfoLabel`) });
        const updateEnrollmentMode = async () => {
          if (!domain || !organization || !membership || !domains) return;
          try {
            await domain.updateEnrollmentMode({
              enrollmentMode: enrollmentMode.value,
              deletePending: deletePending.checked
            });
            await domains.revalidate();
            onSuccess();
          } catch (e3) {
            handleError(e3, [enrollmentMode], card.setError);
          }
        };
        if (!organization || !organizationSettings) return null;
        if (domainIsLoading || !domain) return /* @__PURE__ */ jsx2(Flex2, {
          direction: "row",
          align: "center",
          justify: "center",
          sx: { height: "100%" },
          children: /* @__PURE__ */ jsx2(Spinner, {
            size: "lg",
            colorScheme: "primary",
            elementDescriptor: descriptors.spinner
          })
        });
        if (!(domain.verification && domain.verification.status === "verified")) onReset();
        return /* @__PURE__ */ jsx2(FormContainer, {
          headerTitle: title,
          headerSubtitle: allowsEdit ? void 0 : subtitle,
          gap: 4,
          children: /* @__PURE__ */ jsxs2(Col2, {
            gap: 6,
            children: [
              calloutLabel.length > 0 && /* @__PURE__ */ jsx2(CalloutWithAction, {
                icon: information_circle_default,
                children: calloutLabel.map((label, index3) => /* @__PURE__ */ jsx2(Text2, {
                  as: "span",
                  sx: { display: "block" },
                  localizationKey: label
                }, index3))
              }),
              /* @__PURE__ */ jsx2(Header.Root, { children: /* @__PURE__ */ jsx2(Header.Subtitle, {
                localizationKey: localizationKeys("organizationProfile.verifiedDomainPage.enrollmentTab.subtitle"),
                variant: "subtitle"
              }) }),
              /* @__PURE__ */ jsxs2(Form$1.Root, {
                onSubmit: updateEnrollmentMode,
                gap: 6,
                children: [
                  /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                    elementId: enrollmentMode.id,
                    children: /* @__PURE__ */ jsx2(Form$1.RadioGroup, { ...enrollmentMode.props })
                  }),
                  allowsEdit && enrollmentMode.value === "manual_invitation" && /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                    elementId: deletePending.id,
                    children: /* @__PURE__ */ jsx2(Form$1.Checkbox, { ...deletePending.props })
                  }),
                  /* @__PURE__ */ jsx2(FormButtons, {
                    isDisabled: domainIsLoading || !domain,
                    onReset
                  })
                ]
              })
            ]
          })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/VerifyDomainForm.js
  var import_react375, VerifyDomainForm;
  var init_VerifyDomainForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/VerifyDomainForm.js"() {
      init_EnvironmentContext();
      init_useFetch();
      init_localizationKeys();
      init_useFormControl();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_CodeControl();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_Wizard();
      init_VerifiedDomainForm();
      import_react375 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      VerifyDomainForm = withCardStateProvider((props) => {
        const { domainId: id, onSuccess, onReset, skipToVerified } = props;
        const card = useCardState();
        const { organizationSettings } = useEnvironment();
        const { organization } = useOrganization();
        const { data: domain, isLoading: domainIsLoading } = useFetch(!skipToVerified ? organization?.getDomain : void 0, { domainId: id });
        const title = localizationKeys("organizationProfile.verifyDomainPage.title");
        const subtitle = localizationKeys("organizationProfile.verifyDomainPage.subtitle", { domainName: domain?.name ?? "" });
        const wizard = useWizard({
          defaultStep: skipToVerified ? 2 : 0,
          onNextStep: () => card.setError(void 0)
        });
        const emailField = useFormControl("affiliationEmailAddress", "", {
          type: "text",
          label: localizationKeys("formFieldLabel__organizationDomainEmailAddress"),
          placeholder: localizationKeys("formFieldInputPlaceholder__organizationDomainEmailAddress"),
          infoText: localizationKeys("formFieldLabel__organizationDomainEmailAddressDescription"),
          isRequired: true
        });
        const affiliationEmailAddressRef = (0, import_react375.useRef)();
        const subtitleVerificationCodeScreen = localizationKeys("organizationProfile.verifyDomainPage.subtitleVerificationCodeScreen", { emailAddress: affiliationEmailAddressRef.current || "" });
        const action = (code, resolve, reject) => {
          domain?.attemptAffiliationVerification?.({ code }).then(async (res) => {
            await resolve();
            if (res.verification?.status === "verified") wizard.nextStep();
            else onSuccess?.();
          }).catch((err) => reject(err));
        };
        const otp = useFieldOTP({
          onCodeEntryFinished: (code, resolve, reject) => {
            action(code, resolve, reject);
          },
          onResendCodeClicked: () => {
            domain?.prepareAffiliationVerification({ affiliationEmailAddress: emailField.value }).catch((err) => {
              handleError(err, [emailField], card.setError);
            });
          }
        });
        if (!organization || !organizationSettings) return null;
        const canSubmit = organization.name !== emailField.value;
        const emailDomainSuffix = `@${domain?.name}`;
        const onSubmitPrepare = (e3) => {
          e3.preventDefault();
          if (!domain) return;
          affiliationEmailAddressRef.current = `${emailField.value}${emailDomainSuffix}`;
          return domain.prepareAffiliationVerification({ affiliationEmailAddress: affiliationEmailAddressRef.current }).then(wizard.nextStep).catch((err) => {
            handleError(err, [emailField], card.setError);
          });
        };
        if ((domainIsLoading || !domain) && !skipToVerified) return /* @__PURE__ */ jsx2(Flex2, {
          direction: "row",
          align: "center",
          justify: "center",
          children: /* @__PURE__ */ jsx2(Spinner, {
            size: "lg",
            colorScheme: "primary",
            elementDescriptor: descriptors.spinner
          })
        });
        return /* @__PURE__ */ jsxs2(Wizard, {
          ...wizard.props,
          children: [
            /* @__PURE__ */ jsx2(FormContainer, {
              headerTitle: title,
              headerSubtitle: subtitle,
              children: /* @__PURE__ */ jsxs2(Form$1.Root, {
                onSubmit: onSubmitPrepare,
                children: [/* @__PURE__ */ jsx2(Form$1.ControlRow, {
                  elementId: emailField.id,
                  children: /* @__PURE__ */ jsx2(Form$1.InputGroup, {
                    ...emailField.props,
                    autoFocus: true,
                    groupSuffix: emailDomainSuffix,
                    ignorePasswordManager: true
                  })
                }), /* @__PURE__ */ jsx2(FormButtons, {
                  isDisabled: !canSubmit,
                  onReset
                })]
              })
            }),
            /* @__PURE__ */ jsxs2(FormContainer, {
              headerTitle: title,
              headerSubtitle: subtitleVerificationCodeScreen,
              children: [/* @__PURE__ */ jsx2(Form$1.OTPInput, {
                ...otp,
                label: localizationKeys("organizationProfile.verifyDomainPage.formTitle"),
                description: localizationKeys("organizationProfile.verifyDomainPage.formSubtitle"),
                resendButton: localizationKeys("organizationProfile.verifyDomainPage.resendButton")
              }), /* @__PURE__ */ jsx2(FormButtonContainer, { children: /* @__PURE__ */ jsx2(Button2, {
                elementDescriptor: descriptors.formButtonReset,
                block: false,
                variant: "ghost",
                textVariant: "buttonSmall",
                type: "reset",
                isDisabled: otp.isLoading || otp.otpControl.otpInputProps.feedbackType === "success",
                onClick: () => {
                  otp.otpControl.otpInputProps.clearFeedback();
                  otp.otpControl.reset();
                  wizard.prevStep();
                },
                localizationKey: localizationKeys("userProfile.formButtonReset")
              }) })]
            }),
            /* @__PURE__ */ jsx2(VerifiedDomainForm, {
              domainId: id,
              mode: "select",
              onSuccess,
              onReset
            })
          ]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/AddDomainForm.js
  var import_react377, AddDomainForm;
  var init_AddDomainForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/AddDomainForm.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_useFormControl();
      init_contexts();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_Wizard();
      init_VerifyDomainForm();
      import_react377 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      AddDomainForm = withCardStateProvider((props) => {
        const { onSuccess, onReset } = props;
        const { organizationSettings } = useEnvironment();
        const { domains } = useOrganization({ domains: { infinite: true } });
        const wizard = useWizard({ onNextStep: () => card.setError(void 0) });
        const [domainId, setDomainId] = (0, import_react377.useState)("");
        const [verified, setVerified] = (0, import_react377.useState)(false);
        const title = localizationKeys("organizationProfile.createDomainPage.title");
        const subtitle = localizationKeys("organizationProfile.createDomainPage.subtitle");
        const card = useCardState();
        const { organization } = useOrganization();
        const nameField = useFormControl("name", "", {
          type: "text",
          label: localizationKeys("formFieldLabel__organizationDomain"),
          placeholder: localizationKeys("formFieldInputPlaceholder__organizationDomain")
        });
        if (!organization || !organizationSettings) return null;
        const canSubmit = nameField.value.trim() !== "";
        const onSubmit = (e3) => {
          nameField.clearFeedback();
          e3.preventDefault();
          return organization.createDomain(nameField.value).then(async (res) => {
            setDomainId(res.id);
            domains?.revalidate?.();
            if (res.verification && res.verification.status === "verified") setVerified(true);
            wizard.nextStep();
          }).catch((err) => {
            handleError(err, [nameField], card.setError);
          });
        };
        return /* @__PURE__ */ jsxs2(Wizard, {
          ...wizard.props,
          children: [/* @__PURE__ */ jsx2(FormContainer, {
            headerTitle: title,
            headerSubtitle: subtitle,
            children: /* @__PURE__ */ jsxs2(Form$1.Root, {
              onSubmit,
              children: [/* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: nameField.id,
                children: /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                  ...nameField.props,
                  autoFocus: true,
                  ignorePasswordManager: true,
                  isRequired: true
                })
              }), /* @__PURE__ */ jsx2(FormButtons, {
                isDisabled: !canSubmit,
                onReset
              })]
            })
          }), /* @__PURE__ */ jsx2(VerifyDomainForm, {
            domainId,
            onSuccess: () => {
              domains?.revalidate?.();
              onSuccess?.();
            },
            skipToVerified: verified,
            onReset
          })]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/EnrollmentBadge.js
  var badgeLabelsMap, EnrollmentBadge;
  var init_EnrollmentBadge = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/EnrollmentBadge.js"() {
      init_localizationKeys();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      badgeLabelsMap = {
        manual_invitation: localizationKeys("organizationProfile.badge__manualInvitation"),
        automatic_invitation: localizationKeys("organizationProfile.badge__automaticInvitation"),
        automatic_suggestion: localizationKeys("organizationProfile.badge__automaticSuggestion")
      };
      EnrollmentBadge = (props) => {
        const { organizationDomain } = props;
        if (!organizationDomain) return null;
        if (!(organizationDomain.verification && organizationDomain.verification.status === "verified")) return /* @__PURE__ */ jsx2(Badge2, {
          localizationKey: localizationKeys("organizationProfile.badge__unverified"),
          colorScheme: "warning"
        });
        return /* @__PURE__ */ jsx2(Badge2, {
          localizationKey: badgeLabelsMap[organizationDomain.enrollmentMode],
          colorScheme: organizationDomain.enrollmentMode === "manual_invitation" ? "primary" : "success"
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/RemoveDomainForm.js
  var import_react379, RemoveDomainForm;
  var init_RemoveDomainForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/RemoveDomainForm.js"() {
      init_EnvironmentContext();
      init_useFetch();
      init_localizationKeys();
      init_elementDescriptors();
      init_customizables();
      init_RemoveResourceForm();
      import_react379 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      RemoveDomainForm = (props) => {
        const { organizationSettings } = useEnvironment();
        const { organization } = useOrganization();
        const { domainId: id, onSuccess, onReset } = props;
        const ref = import_react379.default.useRef();
        const { data: domain, isLoading: domainIsLoading } = useFetch(organization?.getDomain, { domainId: id }, { onSuccess(domain$1) {
          ref.current = { ...domain$1 };
        } });
        const { domains } = useOrganization({ domains: { infinite: true } });
        if (!organization || !organizationSettings) return null;
        if (domainIsLoading || !domain) return /* @__PURE__ */ jsx2(Flex2, {
          direction: "row",
          align: "center",
          justify: "center",
          children: /* @__PURE__ */ jsx2(Spinner, {
            size: "lg",
            colorScheme: "primary",
            elementDescriptor: descriptors.spinner
          })
        });
        return /* @__PURE__ */ jsx2(RemoveResourceForm, {
          title: localizationKeys("organizationProfile.removeDomainPage.title"),
          messageLine1: localizationKeys("organizationProfile.removeDomainPage.messageLine1", { domain: ref.current?.name || "" }),
          messageLine2: localizationKeys("organizationProfile.removeDomainPage.messageLine2"),
          deleteResource: () => domain?.delete().then(async () => {
            await domains?.revalidate?.();
            onSuccess();
          }),
          onSuccess,
          onReset
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/RemoveDomainScreen.js
  var RemoveDomainScreen;
  var init_RemoveDomainScreen = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/RemoveDomainScreen.js"() {
      init_ActionRoot();
      init_RemoveDomainForm();
      init_emotion_react_jsx_runtime_browser_esm();
      RemoveDomainScreen = (props) => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(RemoveDomainForm, {
          onSuccess: close,
          onReset: close,
          ...props
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/VerifiedDomainScreen.js
  var VerifiedDomainScreen;
  var init_VerifiedDomainScreen = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/VerifiedDomainScreen.js"() {
      init_ActionRoot();
      init_VerifiedDomainForm();
      init_emotion_react_jsx_runtime_browser_esm();
      VerifiedDomainScreen = (props) => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(VerifiedDomainForm, {
          onSuccess: close,
          onReset: close,
          ...props
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/VerifyDomainScreen.js
  var VerifyDomainScreen;
  var init_VerifyDomainScreen = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/VerifyDomainScreen.js"() {
      init_ActionRoot();
      init_VerifyDomainForm();
      init_emotion_react_jsx_runtime_browser_esm();
      VerifyDomainScreen = (props) => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(VerifyDomainForm, {
          onSuccess: close,
          onReset: close,
          skipToVerified: false,
          ...props
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/DomainList.js
  var import_react381, useMenuActions, DomainListMenu, DomainList;
  var init_DomainList = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/DomainList.js"() {
      init_useInView();
      init_localizationKeys();
      init_Gate();
      init_elementDescriptors();
      init_customizables();
      init_ActionRoot();
      init_Action();
      init_ThreeDotsMenu();
      init_Section();
      init_EnrollmentBadge();
      init_RemoveDomainScreen();
      init_VerifiedDomainScreen();
      init_VerifyDomainScreen();
      import_react381 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      useMenuActions = (domain) => {
        const { open } = useActionContext();
        const menuActions = [];
        if (domain.verification && domain.verification.status === "verified") menuActions.push({
          label: localizationKeys("organizationProfile.profilePage.domainSection.menuAction__manage"),
          onClick: () => open("manage")
        });
        else menuActions.push({
          label: localizationKeys("organizationProfile.profilePage.domainSection.menuAction__verify"),
          onClick: () => open("verify")
        });
        menuActions.push({
          label: localizationKeys("organizationProfile.profilePage.domainSection.menuAction__remove"),
          isDestructive: true,
          onClick: () => open("remove")
        });
        return menuActions;
      };
      DomainListMenu = ({ domain }) => {
        return /* @__PURE__ */ jsx2(ThreeDotsMenu, { actions: useMenuActions(domain) });
      };
      DomainList = withProtect((props) => {
        const { verificationStatus, enrollmentMode, fallback, ...rest } = props;
        const { organization, domains } = useOrganization({ domains: {
          infinite: true,
          ...rest
        } });
        const { ref } = useInView({
          threshold: 0,
          onChange: (inView) => {
            if (inView) domains?.fetchNext?.();
          }
        });
        const domainList = (0, import_react381.useMemo)(() => {
          if (!domains?.data) return [];
          return domains.data.filter((d2) => {
            let matchesStatus = true;
            let matchesMode = true;
            if (verificationStatus) matchesStatus = !!d2.verification && d2.verification.status === verificationStatus;
            if (enrollmentMode) matchesMode = d2.enrollmentMode === enrollmentMode;
            return matchesStatus && matchesMode;
          });
        }, [domains?.data]);
        if (!organization) return null;
        const hasNextOrFetching = domains?.hasNextPage || domains?.isFetching;
        if (domainList.length === 0 && !domains?.isLoading && !fallback) return null;
        return /* @__PURE__ */ jsxs2(ProfileSection.ItemList, {
          id: "organizationDomains",
          children: [
            domainList.length === 0 && !domains?.isLoading && fallback,
            domainList.map((domain) => {
              return /* @__PURE__ */ jsxs2(Action2.Root, { children: [
                /* @__PURE__ */ jsxs2(ProfileSection.Item, {
                  id: "organizationDomains",
                  hoverable: true,
                  children: [/* @__PURE__ */ jsxs2(Flex2, {
                    sx: (t2) => ({ gap: t2.space.$1 }),
                    children: [/* @__PURE__ */ jsx2(Text2, { children: domain.name }), /* @__PURE__ */ jsx2(EnrollmentBadge, { organizationDomain: domain })]
                  }), /* @__PURE__ */ jsx2(Protect, {
                    permission: "org:sys_domains:manage",
                    children: /* @__PURE__ */ jsx2(DomainListMenu, { domain })
                  })]
                }),
                /* @__PURE__ */ jsx2(Action2.Open, {
                  value: "remove",
                  children: /* @__PURE__ */ jsx2(Action2.Card, {
                    variant: "destructive",
                    children: /* @__PURE__ */ jsx2(RemoveDomainScreen, { domainId: domain.id })
                  })
                }),
                /* @__PURE__ */ jsx2(Action2.Open, {
                  value: "verify",
                  children: /* @__PURE__ */ jsx2(Action2.Card, { children: /* @__PURE__ */ jsx2(VerifyDomainScreen, { domainId: domain.id }) })
                }),
                /* @__PURE__ */ jsx2(Action2.Open, {
                  value: "manage",
                  children: /* @__PURE__ */ jsx2(Action2.Card, { children: /* @__PURE__ */ jsx2(VerifiedDomainScreen, { domainId: domain.id }) })
                })
              ] }, domain.id);
            }),
            /* @__PURE__ */ jsx2(Box2, {
              ref: domains?.hasNextPage && !domains.isFetching ? ref : void 0,
              sx: { visibility: "hidden" }
            }),
            hasNextOrFetching && domains.data.length === 0 && /* @__PURE__ */ jsx2(Box2, {
              sx: [(t2) => ({
                width: "100%",
                height: t2.space.$10,
                position: "relative"
              })],
              children: /* @__PURE__ */ jsx2(Box2, {
                sx: {
                  display: "flex",
                  margin: "auto",
                  position: "absolute",
                  left: "50%",
                  top: "50%",
                  transform: "translateY(-50%) translateX(-50%)"
                },
                children: /* @__PURE__ */ jsx2(Spinner, {
                  size: "sm",
                  colorScheme: "primary",
                  elementDescriptor: descriptors.spinner
                })
              })
            })
          ]
        });
      }, { permission: "org:sys_domains:read" });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/ProfileForm.js
  var import_react383, ProfileForm2;
  var init_ProfileForm2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/ProfileForm.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_useFormControl();
      init_contexts();
      init_errorHandler();
      init_Form2();
      init_FormButtons();
      init_FormContainer();
      init_OrganizationProfileAvatarUploader();
      init_image();
      import_react383 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      ProfileForm2 = withCardStateProvider((props) => {
        const { onSuccess, onReset } = props;
        const title = localizationKeys("organizationProfile.profilePage.title");
        const card = useCardState();
        const { organization } = useOrganization();
        const { organizationSettings } = useEnvironment();
        const nameField = useFormControl("name", organization?.name || "", {
          type: "text",
          label: localizationKeys("formFieldLabel__organizationName"),
          placeholder: localizationKeys("formFieldInputPlaceholder__organizationName")
        });
        const slugField = useFormControl("slug", organization?.slug || "", {
          type: "text",
          label: localizationKeys("formFieldLabel__organizationSlug"),
          placeholder: localizationKeys("formFieldInputPlaceholder__organizationSlug")
        });
        if (!organization) return null;
        const canSubmit = (organization.name !== nameField.value || organization.slug !== slugField.value) && slugField.feedbackType !== "error";
        const organizationSlugEnabled = !organizationSettings.slug.disabled;
        const onSubmit = async (e3) => {
          e3.preventDefault();
          const updateOrgParams = { name: nameField.value };
          if (organizationSlugEnabled) updateOrgParams.slug = slugField.value;
          return (canSubmit ? organization.update(updateOrgParams) : Promise.resolve()).then(onSuccess).catch((err) => {
            handleError(err, [nameField, slugField], card.setError);
          });
        };
        const uploadAvatar = (file) => {
          return organization.setLogo({ file }).then(() => {
            card.setIdle();
            onSuccess?.();
          }).catch((err) => handleError(err, [], card.setError));
        };
        const onAvatarRemove = () => {
          organization.setLogo({ file: null }).then(() => {
            card.setIdle();
            onSuccess?.();
          }).catch((err) => handleError(err, [], card.setError));
        };
        const onChangeSlug = (event) => {
          updateSlugField(event.target.value);
        };
        const updateSlugField = (val) => {
          slugField.setValue(val);
          slugField.clearFeedback();
        };
        return /* @__PURE__ */ jsx2(FormContainer, {
          headerTitle: title,
          children: /* @__PURE__ */ jsxs2(Form$1.Root, {
            onSubmit,
            children: [
              /* @__PURE__ */ jsx2(OrganizationProfileAvatarUploader, {
                organization,
                onAvatarChange: uploadAvatar,
                onAvatarRemove: isDefaultImage(organization.imageUrl) ? null : onAvatarRemove
              }),
              /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: nameField.id,
                children: /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                  ...nameField.props,
                  autoFocus: true,
                  isRequired: true,
                  ignorePasswordManager: true
                })
              }),
              organizationSlugEnabled && /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: slugField.id,
                children: /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                  ...slugField.props,
                  onChange: onChangeSlug,
                  ignorePasswordManager: true
                })
              }),
              /* @__PURE__ */ jsx2(FormButtons, {
                isDisabled: !canSubmit,
                onReset
              })
            ]
          })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationGeneralPage.js
  var ProfileScreen2, AddDomainScreen, LeaveOrganizationScreen, DeleteOrganizationScreen, OrganizationGeneralPage, OrganizationProfileSection, OrganizationDomainsSection, OrganizationLeaveSection, OrganizationDeleteSection;
  var init_OrganizationGeneralPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationGeneralPage.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_Gate();
      init_elementDescriptors();
      init_customizables();
      init_Header();
      init_ActionRoot();
      init_Action();
      init_OrganizationPreview();
      init_Section();
      init_ActionConfirmationPage();
      init_AddDomainForm();
      init_DomainList();
      init_ProfileForm2();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      ProfileScreen2 = () => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(ProfileForm2, {
          onSuccess: close,
          onReset: close
        });
      };
      AddDomainScreen = () => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(AddDomainForm, {
          onSuccess: close,
          onReset: close
        });
      };
      LeaveOrganizationScreen = () => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(LeaveOrganizationForm, {
          onSuccess: close,
          onReset: close
        });
      };
      DeleteOrganizationScreen = () => {
        const { close } = useActionContext();
        return /* @__PURE__ */ jsx2(DeleteOrganizationForm, {
          onSuccess: close,
          onReset: close
        });
      };
      OrganizationGeneralPage = () => {
        return /* @__PURE__ */ jsx2(Col2, {
          elementDescriptor: descriptors.page,
          sx: (t2) => ({ gap: t2.space.$8 }),
          children: /* @__PURE__ */ jsxs2(Col2, {
            elementDescriptor: descriptors.profilePage,
            elementId: descriptors.profilePage.setId("organizationGeneral"),
            children: [
              /* @__PURE__ */ jsx2(Header.Root, { children: /* @__PURE__ */ jsx2(Header.Title, {
                localizationKey: localizationKeys("organizationProfile.start.headerTitle__general"),
                sx: (t2) => ({ marginBottom: t2.space.$4 }),
                textVariant: "h2"
              }) }),
              /* @__PURE__ */ jsx2(OrganizationProfileSection, {}),
              /* @__PURE__ */ jsx2(Protect, {
                permission: "org:sys_domains:read",
                children: /* @__PURE__ */ jsx2(OrganizationDomainsSection, {})
              }),
              /* @__PURE__ */ jsx2(OrganizationLeaveSection, {}),
              /* @__PURE__ */ jsx2(OrganizationDeleteSection, {})
            ]
          })
        });
      };
      OrganizationProfileSection = () => {
        const { organization } = useOrganization();
        if (!organization) return null;
        const profile = /* @__PURE__ */ jsx2(OrganizationPreview, {
          size: "lg",
          mainIdentifierVariant: "subtitle",
          organization
        });
        return /* @__PURE__ */ jsx2(ProfileSection.Root, {
          title: localizationKeys("organizationProfile.start.profileSection.title"),
          id: "organizationProfile",
          children: /* @__PURE__ */ jsxs2(Action2.Root, { children: [/* @__PURE__ */ jsx2(Protect, {
            permission: "org:sys_profile:manage",
            fallback: profile,
            children: /* @__PURE__ */ jsx2(Action2.Closed, {
              value: "edit",
              children: /* @__PURE__ */ jsxs2(ProfileSection.Item, {
                id: "organizationProfile",
                children: [profile, /* @__PURE__ */ jsx2(Action2.Trigger, {
                  value: "edit",
                  children: /* @__PURE__ */ jsx2(ProfileSection.Button, {
                    id: "organizationProfile",
                    localizationKey: localizationKeys("organizationProfile.start.profileSection.primaryButton")
                  })
                })]
              })
            })
          }), /* @__PURE__ */ jsx2(Action2.Open, {
            value: "edit",
            children: /* @__PURE__ */ jsx2(Action2.Card, { children: /* @__PURE__ */ jsx2(ProfileScreen2, {}) })
          })] })
        });
      };
      OrganizationDomainsSection = () => {
        const { organizationSettings } = useEnvironment();
        const { organization } = useOrganization();
        if (!organizationSettings || !organization) return null;
        if (!organizationSettings.domains.enabled) return null;
        return /* @__PURE__ */ jsx2(ProfileSection.Root, {
          title: localizationKeys("organizationProfile.profilePage.domainSection.title"),
          id: "organizationDomains",
          centered: false,
          children: /* @__PURE__ */ jsxs2(Action2.Root, { children: [/* @__PURE__ */ jsx2(DomainList, {}), /* @__PURE__ */ jsxs2(Protect, {
            permission: "org:sys_domains:manage",
            children: [/* @__PURE__ */ jsx2(Action2.Trigger, {
              value: "add",
              children: /* @__PURE__ */ jsxs2(Col2, { children: [/* @__PURE__ */ jsx2(ProfileSection.ArrowButton, {
                localizationKey: localizationKeys("organizationProfile.profilePage.domainSection.primaryButton"),
                id: "organizationDomains"
              }), /* @__PURE__ */ jsx2(Text2, {
                localizationKey: localizationKeys("organizationProfile.profilePage.domainSection.subtitle"),
                sx: (t2) => ({ paddingInlineStart: t2.space.$9 }),
                colorScheme: "secondary"
              })] })
            }), /* @__PURE__ */ jsx2(Action2.Open, {
              value: "add",
              children: /* @__PURE__ */ jsx2(Action2.Card, { children: /* @__PURE__ */ jsx2(AddDomainScreen, {}) })
            })]
          })] })
        });
      };
      OrganizationLeaveSection = () => {
        const { organization } = useOrganization();
        if (!organization) return null;
        return /* @__PURE__ */ jsx2(ProfileSection.Root, {
          id: "organizationDanger",
          title: localizationKeys("organizationProfile.profilePage.dangerSection.leaveOrganization.title"),
          children: /* @__PURE__ */ jsxs2(Action2.Root, { children: [/* @__PURE__ */ jsx2(Action2.Closed, {
            value: "leave",
            children: /* @__PURE__ */ jsx2(ProfileSection.Item, {
              sx: (t2) => ({
                paddingTop: 0,
                paddingBottom: 0,
                paddingInlineStart: t2.space.$1
              }),
              id: "organizationDanger",
              children: /* @__PURE__ */ jsx2(Action2.Trigger, {
                value: "leave",
                children: /* @__PURE__ */ jsx2(ProfileSection.Button, {
                  id: "organizationDanger",
                  variant: "ghost",
                  colorScheme: "danger",
                  textVariant: "buttonLarge",
                  localizationKey: localizationKeys("organizationProfile.profilePage.dangerSection.leaveOrganization.title")
                })
              })
            })
          }), /* @__PURE__ */ jsx2(Action2.Open, {
            value: "leave",
            children: /* @__PURE__ */ jsx2(Action2.Card, {
              variant: "destructive",
              children: /* @__PURE__ */ jsx2(LeaveOrganizationScreen, {})
            })
          })] })
        });
      };
      OrganizationDeleteSection = () => {
        const { organization } = useOrganization();
        const canDeleteOrganization = useProtect({ permission: "org:sys_profile:delete" });
        if (!organization) return null;
        const adminDeleteEnabled = organization.adminDeleteEnabled;
        if (!canDeleteOrganization || !adminDeleteEnabled) return null;
        return /* @__PURE__ */ jsx2(ProfileSection.Root, {
          id: "organizationDanger",
          title: localizationKeys("organizationProfile.profilePage.dangerSection.deleteOrganization.title"),
          sx: (t2) => ({ marginBottom: t2.space.$4 }),
          children: /* @__PURE__ */ jsxs2(Action2.Root, { children: [/* @__PURE__ */ jsx2(Action2.Closed, {
            value: "delete",
            children: /* @__PURE__ */ jsx2(ProfileSection.Item, {
              sx: (t2) => ({
                paddingTop: 0,
                paddingBottom: 0,
                paddingInlineStart: t2.space.$1
              }),
              id: "organizationDanger",
              children: /* @__PURE__ */ jsx2(Action2.Trigger, {
                value: "delete",
                children: /* @__PURE__ */ jsx2(ProfileSection.Button, {
                  id: "organizationDanger",
                  variant: "ghost",
                  colorScheme: "danger",
                  textVariant: "buttonLarge",
                  localizationKey: localizationKeys("organizationProfile.profilePage.dangerSection.deleteOrganization.title")
                })
              })
            })
          }), /* @__PURE__ */ jsx2(Action2.Open, {
            value: "delete",
            children: /* @__PURE__ */ jsx2(Action2.Card, {
              variant: "destructive",
              children: /* @__PURE__ */ jsx2(DeleteOrganizationScreen, {})
            })
          })] })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/NotificationCountBadge.js
  var NotificationCountBadge;
  var init_NotificationCountBadge = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/NotificationCountBadge.js"() {
      init_localizationKeys();
      init_intl();
      init_usePrefersReducedMotion();
      init_makeLocalizable();
      init_animations();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      NotificationCountBadge = (props) => {
        const { notificationCount, containerSx, shouldAnimate = true, ...restProps } = props;
        const prefersReducedMotion = usePrefersReducedMotion();
        const { t: t2 } = useLocalizations();
        const formattedNotificationCount = formatToCompactNumber(notificationCount, t2(localizationKeys("locale")));
        const enterExitAnimation = (t$1) => ({ animation: shouldAnimate && !prefersReducedMotion ? `${animations.notificationAnimation} ${t$1.transitionDuration.$textField} ${t$1.transitionTiming.$slowBezier} 0s 1 normal forwards` : "none" });
        return /* @__PURE__ */ jsx2(Flex2, {
          justify: "center",
          align: "center",
          as: "span",
          sx: [(t$1) => ({ marginInlineStart: t$1.space.$1x5 }), containerSx],
          children: /* @__PURE__ */ jsx2(NotificationBadge2, {
            sx: enterExitAnimation,
            ...restProps,
            children: formattedNotificationCount
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/ActiveMembersList.js
  var ActiveMembersList, MemberRow;
  var init_ActiveMembersList = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/ActiveMembersList.js"() {
      init_localizationKeys();
      init_Gate();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_ThreeDotsMenu();
      init_useFetchRoles();
      init_MemberListTable();
      init_UserPreview();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      ActiveMembersList = ({ memberships, pageSize }) => {
        const card = useCardState();
        const { organization } = useOrganization();
        const { options: options2, isLoading: loadingRoles, hasRoleSetMigration } = useFetchRoles();
        if (!organization) return null;
        const handleRoleChange = (membership) => (newRole) => card.runAsync(() => membership.update({ role: newRole })).catch((err) => handleError(err, [], card.setError));
        const handleRemove = (membership) => async () => {
          return card.runAsync(async () => {
            const destroyedMembership = await membership.destroy();
            await memberships?.revalidate?.();
            return destroyedMembership;
          }).catch((err) => handleError(err, [], card.setError));
        };
        return /* @__PURE__ */ jsx2(DataTable2, {
          page: memberships?.page || 1,
          onPageChange: (n3) => memberships?.fetchPage?.(n3),
          itemCount: memberships?.count || 0,
          pageCount: memberships?.pageCount || 0,
          itemsPerPage: pageSize,
          isLoading: memberships?.isLoading && !memberships?.data.length || loadingRoles,
          emptyStateLocalizationKey: localizationKeys("organizationProfile.membersPage.detailsTitle__emptyRow"),
          headers: [
            { key: localizationKeys("organizationProfile.membersPage.activeMembersTab.tableHeader__user") },
            { key: localizationKeys("organizationProfile.membersPage.activeMembersTab.tableHeader__joined") },
            { key: localizationKeys("organizationProfile.membersPage.activeMembersTab.tableHeader__role") },
            {
              key: localizationKeys("organizationProfile.membersPage.activeMembersTab.tableHeader__actions"),
              align: "right"
            }
          ],
          rows: (memberships?.data || []).map((m2) => /* @__PURE__ */ jsx2(MemberRow, {
            membership: m2,
            options: options2,
            onRoleChange: handleRoleChange(m2),
            onRemove: handleRemove(m2),
            hasRoleSetMigration
          }, m2.id))
        });
      };
      MemberRow = (props) => {
        const { membership, onRemove, onRoleChange, options: options2, hasRoleSetMigration } = props;
        const { localizeCustomRole } = useLocalizeCustomRoles();
        const card = useCardState();
        const { user } = useUser();
        const isCurrentUser = user?.id === membership.publicUserData?.userId;
        const unlocalizedRoleLabel = options2?.find((a2) => a2.value === membership.role)?.label;
        return /* @__PURE__ */ jsxs2(RowContainer, { children: [
          /* @__PURE__ */ jsx2(Td2, { children: /* @__PURE__ */ jsx2(UserPreview, {
            sx: { maxWidth: "30ch" },
            user: membership.publicUserData,
            subtitle: membership.publicUserData?.identifier,
            subtitleProps: { variant: "caption" },
            badge: isCurrentUser ? /* @__PURE__ */ jsx2(Badge2, { localizationKey: localizationKeys("badge__you") }) : membership.publicUserData?.banned ? /* @__PURE__ */ jsx2(Badge2, {
              colorScheme: "danger",
              localizationKey: localizationKeys("badge__banned")
            }) : void 0
          }) }),
          /* @__PURE__ */ jsx2(Td2, { children: /* @__PURE__ */ jsx2(Box2, {
            as: "span",
            elementDescriptor: descriptors.formattedDate,
            elementId: descriptors.formattedDate.setId("tableCell"),
            children: membership.createdAt.toLocaleDateString()
          }) }),
          /* @__PURE__ */ jsx2(Td2, { children: /* @__PURE__ */ jsx2(Protect, {
            permission: "org:sys_memberships:manage",
            fallback: /* @__PURE__ */ jsx2(Text2, {
              sx: (t2) => ({ opacity: t2.opacity.$inactive }),
              children: localizeCustomRole(membership.role) || unlocalizedRoleLabel
            }),
            children: /* @__PURE__ */ jsx2(RoleSelect, {
              isDisabled: card.isLoading || !onRoleChange || hasRoleSetMigration,
              value: membership.role,
              fallbackLabel: membership.roleName,
              onChange: onRoleChange,
              roles: options2
            })
          }) }),
          /* @__PURE__ */ jsx2(Td2, {
            sx: { textAlign: "end" },
            children: /* @__PURE__ */ jsx2(Protect, {
              permission: "org:sys_memberships:manage",
              children: /* @__PURE__ */ jsx2(ThreeDotsMenu, {
                actions: [{
                  label: localizationKeys("organizationProfile.membersPage.activeMembersTab.menuAction__remove"),
                  isDestructive: true,
                  onClick: onRemove,
                  isDisabled: isCurrentUser
                }],
                elementId: "member"
              })
            })
          })
        ] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/MembersActions.js
  var import_react387, MembersActionsRow;
  var init_MembersActions = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/MembersActions.js"() {
      init_localizationKeys();
      init_Gate();
      init_elementDescriptors();
      init_customizables();
      init_Animated();
      init_Action();
      init_Tooltip();
      init_InviteMembersScreen();
      import_react387 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      MembersActionsRow = ({ actionSlot }) => {
        const canManageMemberships = useProtect({ permission: "org:sys_memberships:manage" });
        const { organization } = useOrganization();
        const isBelowLimit = (0, import_react387.useMemo)(() => {
          if (!organization) return false;
          if (organization.maxAllowedMemberships === 0) return true;
          return organization.membersCount + organization.pendingInvitationsCount < organization.maxAllowedMemberships;
        }, [organization]);
        const inviteButton = /* @__PURE__ */ jsx2(Button2, {
          elementDescriptor: descriptors.membersPageInviteButton,
          "aria-label": "Invite",
          localizationKey: localizationKeys("organizationProfile.membersPage.action__invite"),
          isDisabled: !isBelowLimit
        });
        let wrappedInviteButton;
        if (isBelowLimit) wrappedInviteButton = /* @__PURE__ */ jsx2(Action2.Trigger, {
          value: "invite",
          hideOnActive: !actionSlot,
          children: inviteButton
        });
        else wrappedInviteButton = /* @__PURE__ */ jsxs2(Tooltip.Root, { children: [/* @__PURE__ */ jsx2(Tooltip.Trigger, { children: inviteButton }), /* @__PURE__ */ jsx2(Tooltip.Content, { text: localizationKeys("unstable__errors.organization_membership_quota_exceeded") })] });
        return /* @__PURE__ */ jsxs2(Action2.Root, {
          animate: false,
          children: [/* @__PURE__ */ jsx2(Animated, {
            asChild: true,
            children: /* @__PURE__ */ jsxs2(Flex2, {
              justify: actionSlot ? "between" : "end",
              sx: (t2) => ({
                width: "100%",
                marginInlineStart: "auto",
                padding: `${t2.space.$none} ${t2.space.$1}`
              }),
              gap: actionSlot ? 2 : void 0,
              children: [actionSlot, canManageMemberships && wrappedInviteButton]
            })
          }), canManageMemberships && /* @__PURE__ */ jsx2(Animated, { children: /* @__PURE__ */ jsx2(Action2.Open, {
            value: "invite",
            children: /* @__PURE__ */ jsx2(Flex2, {
              sx: (t2) => ({
                paddingBottom: t2.space.$6,
                padding: `${t2.space.$none} ${t2.space.$1} ${t2.space.$6} ${t2.space.$1}`
              }),
              children: /* @__PURE__ */ jsx2(Action2.Card, {
                sx: { width: "100%" },
                children: /* @__PURE__ */ jsx2(InviteMembersScreen, {})
              })
            })
          }) })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/MembersSearch.js
  var import_react389, membersSearchDebounceMs, MembersSearch;
  var init_MembersSearch = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/MembersSearch.js"() {
      init_localizationKeys();
      init_magnifying_glass();
      init_makeLocalizable();
      init_breakpoints();
      init_Spinner();
      init_elementDescriptors();
      init_customizables();
      init_Animated();
      init_InputWithIcon();
      init_OrganizationMembers();
      import_react389 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      membersSearchDebounceMs = 500;
      MembersSearch = ({ query, value, memberships, onSearchChange, onQueryTrigger }) => {
        const { t: t2 } = useLocalizations();
        const debounceTimer = (0, import_react389.useRef)(null);
        const handleChange = (event) => {
          const eventValue = event.target.value;
          onSearchChange(eventValue);
          if (eventValue === "") onQueryTrigger(eventValue);
        };
        function handleKeyUp() {
          if (debounceTimer.current) clearTimeout(debounceTimer.current);
          debounceTimer.current = setTimeout(() => {
            onQueryTrigger(value.trim());
          }, membersSearchDebounceMs);
        }
        (0, import_react389.useEffect)(() => {
          if (!query || !memberships?.data) return;
          if ((memberships?.count ?? 0) <= ACTIVE_MEMBERS_PAGE_SIZE) memberships?.fetchPage?.(1);
        }, [query, memberships]);
        const isFetchingNewData = value && !!memberships?.isLoading && !!memberships.data?.length;
        return /* @__PURE__ */ jsx2(Animated, {
          asChild: true,
          children: /* @__PURE__ */ jsx2(Flex2, {
            sx: {
              width: "50%",
              [mqu.sm]: { width: "auto" }
            },
            children: /* @__PURE__ */ jsx2(InputWithIcon, {
              value,
              type: "search",
              autoCapitalize: "none",
              spellCheck: false,
              "aria-label": "Search",
              placeholder: t2(localizationKeys("organizationProfile.membersPage.action__search")),
              leftIcon: isFetchingNewData ? /* @__PURE__ */ jsx2(Spinner2, { size: "xs" }) : /* @__PURE__ */ jsx2(Icon, {
                icon: magnifying_glass_default,
                elementDescriptor: descriptors.organizationProfileMembersSearchInputIcon,
                sx: (t$1) => ({ color: t$1.colors.$colorMutedForeground })
              }),
              onKeyUp: handleKeyUp,
              onChange: handleChange,
              elementDescriptor: descriptors.organizationProfileMembersSearchInput
            })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/InvitedMembersList.js
  var invitationsParams, InvitedMembersList, InvitationRow;
  var init_InvitedMembersList = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/InvitedMembersList.js"() {
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_ThreeDotsMenu();
      init_useFetchRoles();
      init_MemberListTable();
      init_UserPreview();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      invitationsParams = { invitations: {
        pageSize: 10,
        keepPreviousData: true
      } };
      InvitedMembersList = () => {
        const card = useCardState();
        const { organization, invitations } = useOrganization(invitationsParams);
        const { options: options2, isLoading: loadingRoles } = useFetchRoles();
        if (!organization) return null;
        const revoke = (invitation) => async () => {
          return card.runAsync(async () => {
            await invitation.revoke();
            await invitations?.revalidate?.();
            return invitation;
          }).catch((err) => handleError(err, [], card.setError));
        };
        return /* @__PURE__ */ jsx2(DataTable2, {
          page: invitations?.page || 1,
          onPageChange: invitations?.fetchPage || (() => null),
          itemCount: invitations?.count || 0,
          pageCount: invitations?.pageCount || 0,
          itemsPerPage: invitationsParams.invitations.pageSize,
          isLoading: invitations?.isLoading || loadingRoles,
          emptyStateLocalizationKey: localizationKeys("organizationProfile.membersPage.invitationsTab.table__emptyRow"),
          headers: [
            { key: localizationKeys("organizationProfile.membersPage.activeMembersTab.tableHeader__user") },
            { key: localizationKeys("organizationProfile.membersPage.invitedMembersTab.tableHeader__invited") },
            { key: localizationKeys("organizationProfile.membersPage.activeMembersTab.tableHeader__role") },
            {
              key: localizationKeys("organizationProfile.membersPage.activeMembersTab.tableHeader__actions"),
              align: "right"
            }
          ],
          rows: (invitations?.data || []).map((i2) => /* @__PURE__ */ jsx2(InvitationRow, {
            options: options2,
            invitation: i2,
            onRevoke: revoke(i2)
          }, i2.id))
        });
      };
      InvitationRow = (props) => {
        const { invitation, onRevoke, options: options2 } = props;
        const { localizeCustomRole } = useLocalizeCustomRoles();
        const unlocalizedRoleLabel = options2?.find((a2) => a2.value === invitation.role)?.label;
        return /* @__PURE__ */ jsxs2(RowContainer, { children: [
          /* @__PURE__ */ jsx2(Td2, { children: /* @__PURE__ */ jsx2(UserPreview, {
            sx: { maxWidth: "30ch" },
            user: { primaryEmailAddress: { emailAddress: invitation.emailAddress } },
            subtitleProps: { variant: "caption" }
          }) }),
          /* @__PURE__ */ jsx2(Td2, { children: /* @__PURE__ */ jsx2(Box2, {
            as: "span",
            elementDescriptor: descriptors.formattedDate,
            elementId: descriptors.formattedDate.setId("tableCell"),
            children: invitation.createdAt.toLocaleDateString()
          }) }),
          /* @__PURE__ */ jsx2(Td2, { children: /* @__PURE__ */ jsx2(Text2, {
            colorScheme: "secondary",
            localizationKey: localizeCustomRole(invitation.role) || unlocalizedRoleLabel
          }) }),
          /* @__PURE__ */ jsx2(Td2, {
            sx: { textAlign: "end" },
            children: /* @__PURE__ */ jsx2(ThreeDotsMenu, {
              actions: [{
                label: localizationKeys("organizationProfile.membersPage.invitedMembersTab.menuAction__revoke"),
                isDestructive: true,
                onClick: onRevoke
              }],
              elementId: "invitation"
            })
          })
        ] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationMembersTabInvitations.js
  var OrganizationMembersTabInvitations;
  var init_OrganizationMembersTabInvitations = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationMembersTabInvitations.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_Gate();
      init_OrganizationProfile();
      init_breakpoints();
      init_contexts();
      init_customizables();
      init_Header();
      init_Section();
      init_DomainList();
      init_MembersActions();
      init_InvitedMembersList();
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationMembersTabInvitations = withCardStateProvider(() => {
        const { organizationSettings } = useEnvironment();
        const { navigateToGeneralPageRoot } = useOrganizationProfileContext();
        const isDomainsEnabled = organizationSettings?.domains?.enabled;
        return /* @__PURE__ */ jsxs2(Col2, {
          gap: 4,
          sx: { width: "100%" },
          children: [isDomainsEnabled && /* @__PURE__ */ jsx2(Protect, {
            permission: "org:sys_domains:manage",
            children: /* @__PURE__ */ jsxs2(Flex2, {
              sx: (t2) => ({
                width: "100%",
                gap: t2.space.$8,
                paddingBottom: t2.space.$4,
                paddingInlineStart: t2.space.$1,
                paddingInlineEnd: t2.space.$1,
                borderBottomWidth: t2.borderWidths.$normal,
                borderBottomStyle: t2.borderStyles.$solid,
                borderBottomColor: t2.colors.$borderAlpha100,
                [mqu.md]: {
                  flexDirection: "column",
                  gap: t2.space.$2
                }
              }),
              children: [/* @__PURE__ */ jsx2(Col2, {
                sx: (t2) => ({
                  width: t2.space.$66,
                  marginTop: t2.space.$2
                }),
                children: /* @__PURE__ */ jsx2(Header.Root, { children: /* @__PURE__ */ jsx2(Header.Title, {
                  localizationKey: localizationKeys("organizationProfile.membersPage.invitationsTab.autoInvitations.headerTitle"),
                  textVariant: "h3"
                }) })
              }), /* @__PURE__ */ jsx2(Col2, {
                sx: { width: "100%" },
                children: /* @__PURE__ */ jsx2(DomainList, {
                  fallback: /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(ProfileSection.ArrowButton, {
                    localizationKey: localizationKeys("organizationProfile.membersPage.invitationsTab.autoInvitations.primaryButton"),
                    id: "manageVerifiedDomains",
                    sx: (t2) => ({ gap: t2.space.$2 }),
                    onClick: navigateToGeneralPageRoot
                  }), /* @__PURE__ */ jsx2(Text2, {
                    localizationKey: localizationKeys("organizationProfile.membersPage.invitationsTab.autoInvitations.headerSubtitle"),
                    sx: (t2) => ({
                      paddingInlineStart: t2.space.$10,
                      color: t2.colors.$colorMutedForeground,
                      [mqu.md]: { paddingInlineStart: 0 }
                    })
                  })] }),
                  verificationStatus: "verified",
                  enrollmentMode: "automatic_invitation"
                })
              })]
            })
          }), /* @__PURE__ */ jsxs2(Flex2, {
            direction: "col",
            gap: 2,
            sx: { width: "100%" },
            children: [/* @__PURE__ */ jsx2(MembersActionsRow, {}), /* @__PURE__ */ jsx2(InvitedMembersList, {})]
          })]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/RequestToJoinList.js
  var membershipRequestsParams, RequestToJoinList, RequestRow, AcceptRejectRequestButtons;
  var init_RequestToJoinList = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/RequestToJoinList.js"() {
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_MemberListTable();
      init_UserPreview();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      membershipRequestsParams = { membershipRequests: {
        pageSize: 10,
        keepPreviousData: true
      } };
      RequestToJoinList = () => {
        const card = useCardState();
        const { organization, membershipRequests } = useOrganization(membershipRequestsParams);
        if (!organization) return null;
        return /* @__PURE__ */ jsx2(DataTable2, {
          page: membershipRequests?.page || 1,
          onPageChange: membershipRequests?.fetchPage ?? (() => null),
          itemCount: membershipRequests?.count || 0,
          pageCount: membershipRequests?.pageCount || 0,
          itemsPerPage: membershipRequestsParams.membershipRequests.pageSize,
          isLoading: membershipRequests?.isLoading,
          emptyStateLocalizationKey: localizationKeys("organizationProfile.membersPage.requestsTab.table__emptyRow"),
          headers: [
            { key: localizationKeys("organizationProfile.membersPage.activeMembersTab.tableHeader__user") },
            { key: localizationKeys("organizationProfile.membersPage.requestsTab.tableHeader__requested") },
            {
              key: localizationKeys("organizationProfile.membersPage.activeMembersTab.tableHeader__actions"),
              align: "right"
            }
          ],
          rows: (membershipRequests?.data || []).map((request) => /* @__PURE__ */ jsx2(RequestRow, {
            request,
            onError: card.setError
          }, request.id))
        });
      };
      RequestRow = withCardStateProvider((props) => {
        const { request, onError } = props;
        const card = useCardState();
        const { membership, membershipRequests } = useOrganization(membershipRequestsParams);
        const onAccept = () => {
          if (!membership || !membershipRequests) return;
          return card.runAsync(async () => {
            await request.accept();
            await membershipRequests.revalidate();
          }, "accept").catch((err) => handleError(err, [], onError));
        };
        const onReject = () => {
          if (!membership || !membershipRequests) return;
          return card.runAsync(async () => {
            await request.reject();
            await membershipRequests.revalidate();
          }, "reject").catch((err) => handleError(err, [], onError));
        };
        return /* @__PURE__ */ jsxs2(RowContainer, { children: [
          /* @__PURE__ */ jsx2(Td2, { children: /* @__PURE__ */ jsx2(UserPreview, {
            sx: { maxWidth: "30ch" },
            showAvatar: false,
            user: { primaryEmailAddress: { emailAddress: request.publicUserData.identifier } },
            subtitleProps: { variant: "caption" }
          }) }),
          /* @__PURE__ */ jsx2(Td2, { children: /* @__PURE__ */ jsx2(Box2, {
            as: "span",
            elementDescriptor: descriptors.formattedDate,
            elementId: descriptors.formattedDate.setId("tableCell"),
            children: request.createdAt.toLocaleDateString()
          }) }),
          /* @__PURE__ */ jsx2(Td2, {
            sx: { textAlign: "end" },
            children: /* @__PURE__ */ jsx2(AcceptRejectRequestButtons, {
              onAccept,
              onReject
            })
          })
        ] });
      });
      AcceptRejectRequestButtons = (props) => {
        const card = useCardState();
        return /* @__PURE__ */ jsxs2(Flex2, {
          gap: 2,
          children: [/* @__PURE__ */ jsx2(Button2, {
            textVariant: "buttonSmall",
            variant: "ghost",
            isLoading: card.isLoading && card.loadingMetadata === "reject",
            isDisabled: card.isLoading && card.loadingMetadata !== "reject",
            onClick: props.onReject,
            localizationKey: localizationKeys("organizationProfile.membersPage.requestsTab.menuAction__reject")
          }), /* @__PURE__ */ jsx2(Button2, {
            textVariant: "buttonSmall",
            isLoading: card.isLoading && card.loadingMetadata === "accept",
            isDisabled: card.isLoading && card.loadingMetadata !== "accept",
            onClick: props.onAccept,
            localizationKey: localizationKeys("organizationProfile.membersPage.requestsTab.menuAction__approve")
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationMembersTabRequests.js
  var OrganizationMembersTabRequests;
  var init_OrganizationMembersTabRequests = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationMembersTabRequests.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_Gate();
      init_OrganizationProfile();
      init_breakpoints();
      init_customizables();
      init_Header();
      init_Section();
      init_DomainList();
      init_MembersActions();
      init_RequestToJoinList();
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationMembersTabRequests = () => {
        const { organizationSettings } = useEnvironment();
        const { navigateToGeneralPageRoot } = useOrganizationProfileContext();
        const isDomainsEnabled = organizationSettings?.domains?.enabled;
        return /* @__PURE__ */ jsxs2(Col2, {
          gap: 4,
          sx: { width: "100%" },
          children: [isDomainsEnabled && /* @__PURE__ */ jsx2(Protect, {
            permission: "org:sys_domains:manage",
            children: /* @__PURE__ */ jsxs2(Flex2, {
              sx: (t2) => ({
                width: "100%",
                gap: t2.space.$8,
                paddingBottom: t2.space.$4,
                paddingInlineStart: t2.space.$1,
                paddingInlineEnd: t2.space.$1,
                borderBottomWidth: t2.borderWidths.$normal,
                borderBottomStyle: t2.borderStyles.$solid,
                borderBottomColor: t2.colors.$borderAlpha100,
                [mqu.md]: {
                  flexDirection: "column",
                  gap: t2.space.$2
                }
              }),
              children: [/* @__PURE__ */ jsx2(Col2, {
                sx: (t2) => ({
                  width: t2.space.$66,
                  marginTop: t2.space.$2
                }),
                children: /* @__PURE__ */ jsx2(Header.Root, { children: /* @__PURE__ */ jsx2(Header.Title, {
                  localizationKey: localizationKeys("organizationProfile.membersPage.requestsTab.autoSuggestions.headerTitle"),
                  textVariant: "h3"
                }) })
              }), /* @__PURE__ */ jsx2(Col2, {
                sx: { width: "100%" },
                children: /* @__PURE__ */ jsx2(DomainList, {
                  fallback: /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(ProfileSection.ArrowButton, {
                    localizationKey: localizationKeys("organizationProfile.membersPage.requestsTab.autoSuggestions.primaryButton"),
                    sx: (t2) => ({ gap: t2.space.$2 }),
                    id: "manageVerifiedDomains",
                    onClick: navigateToGeneralPageRoot
                  }), /* @__PURE__ */ jsx2(Text2, {
                    localizationKey: localizationKeys("organizationProfile.membersPage.requestsTab.autoSuggestions.headerSubtitle"),
                    sx: (t2) => ({
                      paddingInlineStart: t2.space.$10,
                      color: t2.colors.$colorMutedForeground,
                      [mqu.md]: { paddingInlineStart: 0 }
                    })
                  })] }),
                  verificationStatus: "verified",
                  enrollmentMode: "automatic_suggestion"
                })
              })]
            })
          }), /* @__PURE__ */ jsxs2(Flex2, {
            direction: "col",
            gap: 2,
            sx: { width: "100%" },
            children: [/* @__PURE__ */ jsx2(MembersActionsRow, {}), /* @__PURE__ */ jsx2(RequestToJoinList, {})]
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationMembers.js
  var import_react392, ACTIVE_MEMBERS_PAGE_SIZE, OrganizationMembers;
  var init_OrganizationMembers = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationMembers.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_users();
      init_Gate();
      init_breakpoints();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Alert2();
      init_Card();
      init_Header();
      init_NotificationCountBadge();
      init_Animated();
      init_Action();
      init_useFetchRoles();
      init_Tabs();
      init_ActiveMembersList();
      init_MembersActions();
      init_MembersSearch();
      init_OrganizationMembersTabInvitations();
      init_OrganizationMembersTabRequests();
      import_react392 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      ACTIVE_MEMBERS_PAGE_SIZE = 10;
      OrganizationMembers = withCardStateProvider(() => {
        const { organizationSettings } = useEnvironment();
        const card = useCardState();
        const { hasRoleSetMigration } = useFetchRoles();
        const canManageMemberships = useProtect({ permission: "org:sys_memberships:manage" });
        const canReadMemberships = useProtect({ permission: "org:sys_memberships:read" });
        const isDomainsEnabled = organizationSettings?.domains?.enabled && canManageMemberships;
        const [query, setQuery] = (0, import_react392.useState)("");
        const [search, setSearch] = (0, import_react392.useState)("");
        const { membershipRequests, memberships, invitations, organization } = useOrganization({
          membershipRequests: isDomainsEnabled || void 0,
          invitations: canManageMemberships || void 0,
          memberships: canReadMemberships ? {
            keepPreviousData: true,
            query: query || void 0
          } : void 0
        });
        if (canManageMemberships === null) return null;
        return /* @__PURE__ */ jsxs2(Col2, {
          elementDescriptor: descriptors.page,
          gap: 2,
          children: [/* @__PURE__ */ jsx2(Col2, {
            elementDescriptor: descriptors.profilePage,
            elementId: descriptors.profilePage.setId("organizationMembers"),
            gap: 4,
            sx: (theme) => ({ paddingBottom: theme.space.$13 }),
            children: /* @__PURE__ */ jsxs2(Action2.Root, {
              animate: false,
              children: [
                /* @__PURE__ */ jsx2(Animated, {
                  asChild: true,
                  children: /* @__PURE__ */ jsx2(Header.Root, {
                    contentSx: { [mqu.md]: {
                      flexDirection: "row",
                      width: "100%",
                      justifyContent: "space-between"
                    } },
                    children: /* @__PURE__ */ jsx2(Header.Title, {
                      localizationKey: localizationKeys("organizationProfile.start.headerTitle__members"),
                      textVariant: "h2"
                    })
                  })
                }),
                /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
                /* @__PURE__ */ jsxs2(Tabs, { children: [/* @__PURE__ */ jsxs2(TabsList, {
                  sx: (t2) => ({ gap: t2.space.$2 }),
                  children: [
                    canReadMemberships && /* @__PURE__ */ jsx2(Tab, {
                      localizationKey: localizationKeys("organizationProfile.membersPage.start.headerTitle__members"),
                      children: !!memberships?.count && /* @__PURE__ */ jsx2(NotificationCountBadge, {
                        shouldAnimate: !query,
                        notificationCount: memberships.count,
                        colorScheme: "outline"
                      })
                    }),
                    canManageMemberships && /* @__PURE__ */ jsx2(Tab, {
                      localizationKey: localizationKeys("organizationProfile.membersPage.start.headerTitle__invitations"),
                      children: invitations?.data && !invitations.isLoading && /* @__PURE__ */ jsx2(NotificationCountBadge, {
                        notificationCount: invitations.count,
                        colorScheme: "outline"
                      })
                    }),
                    canManageMemberships && isDomainsEnabled && /* @__PURE__ */ jsx2(Tab, {
                      localizationKey: localizationKeys("organizationProfile.membersPage.start.headerTitle__requests"),
                      children: membershipRequests?.data && !membershipRequests.isLoading && /* @__PURE__ */ jsx2(NotificationCountBadge, {
                        notificationCount: membershipRequests.count,
                        colorScheme: "outline"
                      })
                    })
                  ]
                }), /* @__PURE__ */ jsxs2(TabPanels, { children: [
                  canReadMemberships && /* @__PURE__ */ jsx2(TabPanel, {
                    sx: { width: "100%" },
                    children: /* @__PURE__ */ jsx2(Flex2, {
                      gap: 4,
                      direction: "col",
                      sx: { width: "100%" },
                      children: /* @__PURE__ */ jsxs2(Flex2, {
                        gap: 2,
                        direction: "col",
                        sx: { width: "100%" },
                        children: [
                          /* @__PURE__ */ jsx2(MembersActionsRow, { actionSlot: /* @__PURE__ */ jsx2(MembersSearch, {
                            query,
                            value: search,
                            memberships,
                            onSearchChange: (query$1) => setSearch(query$1),
                            onQueryTrigger: (query$1) => setQuery(query$1)
                          }) }),
                          hasRoleSetMigration && /* @__PURE__ */ jsx2(Alert$1, {
                            variant: "warning",
                            title: localizationKeys("organizationProfile.membersPage.alerts.roleSetMigrationInProgress.title"),
                            subtitle: localizationKeys("organizationProfile.membersPage.alerts.roleSetMigrationInProgress.subtitle")
                          }),
                          /* @__PURE__ */ jsx2(ActiveMembersList, {
                            pageSize: ACTIVE_MEMBERS_PAGE_SIZE,
                            memberships
                          })
                        ]
                      })
                    })
                  }),
                  canManageMemberships && /* @__PURE__ */ jsx2(TabPanel, {
                    sx: { width: "100%" },
                    children: /* @__PURE__ */ jsx2(OrganizationMembersTabInvitations, {})
                  }),
                  canManageMemberships && isDomainsEnabled && /* @__PURE__ */ jsx2(TabPanel, {
                    sx: { width: "100%" },
                    children: /* @__PURE__ */ jsx2(OrganizationMembersTabRequests, {})
                  })
                ] })] })
              ]
            })
          }), canReadMemberships && !!memberships?.count && organization && organization.maxAllowedMemberships > 0 ? /* @__PURE__ */ jsx2(Box2, {
            sx: (theme) => ({
              position: "absolute",
              bottom: 0,
              left: 0,
              right: 0,
              backgroundColor: theme.colors.$colorBackground,
              borderTop: `1px solid ${theme.colors.$borderAlpha100}`,
              paddingInline: theme.space.$4,
              height: theme.space.$13,
              display: "flex",
              alignItems: "center",
              justifyContent: "center"
            }),
            children: /* @__PURE__ */ jsxs2(Text2, {
              sx: (t2) => ({
                display: "inline-flex",
                alignItems: "center",
                gap: t2.space.$2
              }),
              children: [/* @__PURE__ */ jsx2(Icon, {
                icon: users_default,
                size: "md",
                colorScheme: "neutral"
              }), /* @__PURE__ */ jsx2(Text2, {
                as: "span",
                colorScheme: "inherit",
                localizationKey: localizationKeys("organizationProfile.start.membershipSeatUsageLabel", {
                  count: organization.membersCount + organization.pendingInvitationsCount,
                  limit: organization.maxAllowedMemberships
                })
              })]
            })
          }) : null]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationBillingPage.js
  var OrganizationBillingPage_exports = {};
  __export(OrganizationBillingPage_exports, {
    OrganizationBillingPage: () => OrganizationBillingPage
  });
  var orgTabMap, OrganizationBillingPageInternal, OrganizationBillingPage;
  var init_OrganizationBillingPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationBillingPage.js"() {
      init_localizationKeys();
      init_Gate();
      init_SubscriberType();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_Tabs();
      init_useTabState();
      init_PaymentAttemptsList();
      init_PaymentMethods();
      init_StatementsList();
      init_SubscriptionsList();
      init_emotion_react_jsx_runtime_browser_esm();
      orgTabMap = {
        0: "subscriptions",
        1: "statements",
        2: "payments"
      };
      OrganizationBillingPageInternal = withCardStateProvider(() => {
        const card = useCardState();
        const { selectedTab, handleTabChange } = useTabState(orgTabMap);
        return /* @__PURE__ */ jsx2(Col2, {
          elementDescriptor: descriptors.page,
          sx: (t2) => ({
            gap: t2.space.$8,
            color: t2.colors.$colorForeground
          }),
          children: /* @__PURE__ */ jsxs2(Col2, {
            elementDescriptor: descriptors.profilePage,
            elementId: descriptors.profilePage.setId("billing"),
            gap: 4,
            children: [
              /* @__PURE__ */ jsx2(Header.Root, { children: /* @__PURE__ */ jsx2(Header.Title, {
                localizationKey: localizationKeys("organizationProfile.billingPage.title"),
                textVariant: "h2"
              }) }),
              /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
              /* @__PURE__ */ jsxs2(Tabs, {
                value: selectedTab,
                onChange: handleTabChange,
                children: [/* @__PURE__ */ jsxs2(TabsList, {
                  sx: (t2) => ({ gap: t2.space.$6 }),
                  children: [
                    /* @__PURE__ */ jsx2(Tab, { localizationKey: localizationKeys("organizationProfile.billingPage.start.headerTitle__subscriptions") }),
                    /* @__PURE__ */ jsx2(Tab, { localizationKey: localizationKeys("organizationProfile.billingPage.start.headerTitle__statements") }),
                    /* @__PURE__ */ jsx2(Tab, { localizationKey: localizationKeys("organizationProfile.billingPage.start.headerTitle__payments") })
                  ]
                }), /* @__PURE__ */ jsxs2(TabPanels, { children: [
                  /* @__PURE__ */ jsxs2(TabPanel, {
                    sx: {
                      width: "100%",
                      flexDirection: "column"
                    },
                    children: [/* @__PURE__ */ jsx2(SubscriptionsList, {
                      title: localizationKeys("organizationProfile.billingPage.subscriptionsListSection.title"),
                      switchPlansLabel: localizationKeys("organizationProfile.billingPage.subscriptionsListSection.actionLabel__switchPlan"),
                      newSubscriptionLabel: localizationKeys("organizationProfile.billingPage.subscriptionsListSection.actionLabel__newSubscription"),
                      manageSubscriptionLabel: localizationKeys("organizationProfile.billingPage.subscriptionsListSection.actionLabel__manageSubscription")
                    }), /* @__PURE__ */ jsx2(Protect, {
                      condition: (has2) => has2({ permission: "org:sys_billing:manage" }),
                      children: /* @__PURE__ */ jsx2(PaymentMethods, {})
                    })]
                  }),
                  /* @__PURE__ */ jsx2(TabPanel, {
                    sx: { width: "100%" },
                    children: /* @__PURE__ */ jsx2(StatementsList, {})
                  }),
                  /* @__PURE__ */ jsx2(TabPanel, {
                    sx: { width: "100%" },
                    children: /* @__PURE__ */ jsx2(PaymentAttemptsList, {})
                  })
                ] })]
              })
            ]
          })
        });
      });
      OrganizationBillingPage = () => {
        return /* @__PURE__ */ jsx2(SubscriberTypeContext.Provider, {
          value: "organization",
          children: /* @__PURE__ */ jsx2(OrganizationBillingPageInternal, {})
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationAPIKeysPage.js
  var OrganizationAPIKeysPage_exports = {};
  __export(OrganizationAPIKeysPage_exports, {
    OrganizationAPIKeysPage: () => OrganizationAPIKeysPage
  });
  var OrganizationAPIKeysPage;
  var init_OrganizationAPIKeysPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationAPIKeysPage.js"() {
      init_APIKeys();
      init_localizationKeys();
      init_OrganizationProfile();
      init_customizables();
      init_Header();
      init_APIKeys2();
      init_Navbar();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationAPIKeysPage = () => {
        const { organization } = useOrganization();
        const { contentRef } = useUnsafeNavbarContext();
        const { apiKeysProps } = useOrganizationProfileContext();
        if (!organization) return null;
        return /* @__PURE__ */ jsxs2(Col2, {
          gap: 4,
          children: [/* @__PURE__ */ jsx2(Header.Root, { children: /* @__PURE__ */ jsx2(Header.Title, {
            localizationKey: localizationKeys("organizationProfile.apiKeysPage.title"),
            textVariant: "h2"
          }) }), /* @__PURE__ */ jsx2(APIKeysContext.Provider, {
            value: {
              ...apiKeysProps,
              componentName: "APIKeys"
            },
            children: /* @__PURE__ */ jsx2(APIKeysPage, {
              subject: organization.id,
              revokeModalRoot: contentRef
            })
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationPlansPage.js
  var OrganizationPlansPage_exports = {};
  __export(OrganizationPlansPage_exports, {
    OrganizationPlansPage: () => OrganizationPlansPage
  });
  var OrganizationPlansPageInternal, OrganizationPlansPage;
  var init_OrganizationPlansPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationPlansPage.js"() {
      init_RouteContext();
      init_localizationKeys();
      init_Gate();
      init_SubscriberType();
      init_PricingTable();
      init_customizables();
      init_Alert2();
      init_Header();
      init_PricingTable2();
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationPlansPageInternal = () => {
        const { navigate } = useRouter();
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Header.Root, {
          sx: (t2) => ({
            borderBottomWidth: t2.borderWidths.$normal,
            borderBottomStyle: t2.borderStyles.$solid,
            borderBottomColor: t2.colors.$borderAlpha100,
            marginBlockEnd: t2.space.$4,
            paddingBlockEnd: t2.space.$4
          }),
          children: /* @__PURE__ */ jsx2(Header.BackLink, {
            onClick: () => void navigate("../", { searchParams: new URLSearchParams("tab=subscriptions") }),
            children: /* @__PURE__ */ jsx2(Header.Title, {
              localizationKey: localizationKeys("organizationProfile.plansPage.title"),
              textVariant: "h2"
            })
          })
        }), /* @__PURE__ */ jsxs2(Flex2, {
          direction: "col",
          gap: 4,
          children: [/* @__PURE__ */ jsx2(Protect, {
            condition: (has2) => !has2({ permission: "org:sys_billing:manage" }),
            children: /* @__PURE__ */ jsx2(Alert$1, {
              variant: "info",
              colorScheme: "info",
              title: localizationKeys("organizationProfile.plansPage.alerts.noPermissionsToManageBilling")
            })
          }), /* @__PURE__ */ jsx2(PricingTableContext.Provider, {
            value: {
              componentName: "PricingTable",
              mode: "modal"
            },
            children: /* @__PURE__ */ jsx2(PricingTable, {})
          })]
        })] });
      };
      OrganizationPlansPage = () => {
        return /* @__PURE__ */ jsx2(SubscriberTypeContext.Provider, {
          value: "organization",
          children: /* @__PURE__ */ jsx2(OrganizationPlansPageInternal, {})
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationStatementPage.js
  var OrganizationStatementPage_exports = {};
  __export(OrganizationStatementPage_exports, {
    OrganizationStatementPage: () => OrganizationStatementPage
  });
  var OrganizationStatementPage;
  var init_OrganizationStatementPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationStatementPage.js"() {
      init_SubscriberType();
      init_StatementPage();
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationStatementPage = () => {
        return /* @__PURE__ */ jsx2(SubscriberTypeContext.Provider, {
          value: "organization",
          children: /* @__PURE__ */ jsx2(StatementPage, {})
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationPaymentAttemptPage.js
  var OrganizationPaymentAttemptPage_exports = {};
  __export(OrganizationPaymentAttemptPage_exports, {
    OrganizationPaymentAttemptPage: () => OrganizationPaymentAttemptPage
  });
  var OrganizationPaymentAttemptPage;
  var init_OrganizationPaymentAttemptPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationPaymentAttemptPage.js"() {
      init_SubscriberType();
      init_PaymentAttemptPage();
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationPaymentAttemptPage = () => {
        return /* @__PURE__ */ jsx2(SubscriberTypeContext.Provider, {
          value: "organization",
          children: /* @__PURE__ */ jsx2(PaymentAttemptPage, {})
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationProfileRoutes.js
  var import_react395, OrganizationBillingPage2, OrganizationAPIKeysPage2, OrganizationPlansPage2, OrganizationStatementPage2, OrganizationPaymentAttemptPage2, OrganizationProfileRoutes;
  var init_OrganizationProfileRoutes = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/OrganizationProfileRoutes.js"() {
      init_EnvironmentContext();
      init_Route();
      init_Switch();
      init_Gate();
      init_OrganizationProfile();
      init_CustomPageContentContainer();
      init_OrganizationGeneralPage();
      init_OrganizationMembers();
      import_react395 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationBillingPage2 = (0, import_react395.lazy)(() => Promise.resolve().then(() => (init_OrganizationBillingPage(), OrganizationBillingPage_exports)).then((module) => ({ default: module.OrganizationBillingPage })));
      OrganizationAPIKeysPage2 = (0, import_react395.lazy)(() => Promise.resolve().then(() => (init_OrganizationAPIKeysPage(), OrganizationAPIKeysPage_exports)).then((module) => ({ default: module.OrganizationAPIKeysPage })));
      OrganizationPlansPage2 = (0, import_react395.lazy)(() => Promise.resolve().then(() => (init_OrganizationPlansPage(), OrganizationPlansPage_exports)).then((module) => ({ default: module.OrganizationPlansPage })));
      OrganizationStatementPage2 = (0, import_react395.lazy)(() => Promise.resolve().then(() => (init_OrganizationStatementPage(), OrganizationStatementPage_exports)).then((module) => ({ default: module.OrganizationStatementPage })));
      OrganizationPaymentAttemptPage2 = (0, import_react395.lazy)(() => Promise.resolve().then(() => (init_OrganizationPaymentAttemptPage(), OrganizationPaymentAttemptPage_exports)).then((module) => ({ default: module.OrganizationPaymentAttemptPage })));
      OrganizationProfileRoutes = () => {
        const { pages, isMembersPageRoot, isGeneralPageRoot, isBillingPageRoot, isAPIKeysPageRoot, shouldShowBilling, apiKeysProps } = useOrganizationProfileContext();
        const { apiKeysSettings, commerceSettings } = useEnvironment();
        const customPageRoutesWithContents = pages.contents?.map((customPage, index3) => {
          const shouldFirstCustomItemBeOnRoot = !isGeneralPageRoot && !isMembersPageRoot && index3 === 0;
          return /* @__PURE__ */ jsx2(Route, {
            index: shouldFirstCustomItemBeOnRoot,
            path: shouldFirstCustomItemBeOnRoot ? void 0 : customPage.url,
            children: /* @__PURE__ */ jsx2(CustomPageContentContainer, {
              mount: customPage.mount,
              unmount: customPage.unmount
            })
          }, `custom-page-${customPage.url}`);
        });
        return /* @__PURE__ */ jsxs2(Switch, { children: [customPageRoutesWithContents, /* @__PURE__ */ jsxs2(Route, { children: [
          /* @__PURE__ */ jsx2(Route, {
            path: isGeneralPageRoot ? void 0 : "organization-general",
            children: /* @__PURE__ */ jsx2(Switch, { children: /* @__PURE__ */ jsx2(Route, {
              index: true,
              children: /* @__PURE__ */ jsx2(OrganizationGeneralPage, {})
            }) })
          }),
          /* @__PURE__ */ jsx2(Route, {
            path: isMembersPageRoot ? void 0 : "organization-members",
            children: /* @__PURE__ */ jsx2(Switch, { children: /* @__PURE__ */ jsx2(Route, {
              index: true,
              children: /* @__PURE__ */ jsx2(Protect, {
                condition: (has2) => has2({ permission: "org:sys_memberships:read" }) || has2({ permission: "org:sys_memberships:manage" }),
                redirectTo: isGeneralPageRoot ? "../" : "./organization-general",
                children: /* @__PURE__ */ jsx2(OrganizationMembers, {})
              })
            }) })
          }),
          commerceSettings.billing.organization.enabled && shouldShowBilling ? /* @__PURE__ */ jsx2(Protect, {
            condition: (has2) => has2({ permission: "org:sys_billing:read" }) || has2({ permission: "org:sys_billing:manage" }),
            children: /* @__PURE__ */ jsx2(Route, {
              path: isBillingPageRoot ? void 0 : "organization-billing",
              children: /* @__PURE__ */ jsxs2(Switch, { children: [
                /* @__PURE__ */ jsx2(Route, {
                  index: true,
                  children: /* @__PURE__ */ jsx2(import_react395.Suspense, {
                    fallback: "",
                    children: /* @__PURE__ */ jsx2(OrganizationBillingPage2, {})
                  })
                }),
                commerceSettings.billing.organization.hasPaidPlans ? /* @__PURE__ */ jsx2(Route, {
                  path: "plans",
                  children: /* @__PURE__ */ jsx2(import_react395.Suspense, {
                    fallback: "",
                    children: /* @__PURE__ */ jsx2(OrganizationPlansPage2, {})
                  })
                }) : null,
                /* @__PURE__ */ jsx2(Route, {
                  path: "statement/:statementId",
                  children: /* @__PURE__ */ jsx2(import_react395.Suspense, {
                    fallback: "",
                    children: /* @__PURE__ */ jsx2(OrganizationStatementPage2, {})
                  })
                }),
                /* @__PURE__ */ jsx2(Route, {
                  path: "payment-attempt/:paymentAttemptId",
                  children: /* @__PURE__ */ jsx2(import_react395.Suspense, {
                    fallback: "",
                    children: /* @__PURE__ */ jsx2(OrganizationPaymentAttemptPage2, {})
                  })
                })
              ] })
            })
          }) : null,
          apiKeysSettings.orgs_api_keys_enabled && !apiKeysProps?.hide && /* @__PURE__ */ jsx2(Protect, {
            condition: (has2) => has2({ permission: "org:sys_api_keys:read" }) || has2({ permission: "org:sys_api_keys:manage" }),
            children: /* @__PURE__ */ jsx2(Route, {
              path: isAPIKeysPageRoot ? void 0 : "organization-api-keys",
              children: /* @__PURE__ */ jsx2(Switch, { children: /* @__PURE__ */ jsx2(Route, {
                index: true,
                children: /* @__PURE__ */ jsx2(import_react395.Suspense, {
                  fallback: "",
                  children: /* @__PURE__ */ jsx2(OrganizationAPIKeysPage2, {})
                })
              }) })
            })
          })
        ] })] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/index.js
  var OrganizationProfile_exports = {};
  __export(OrganizationProfile_exports, {
    OrganizationProfile: () => OrganizationProfile,
    OrganizationProfileModal: () => OrganizationProfileModal
  });
  var import_react396, OrganizationProfileInternal, AuthenticatedRoutes3, OrganizationProfile, InternalOrganizationProfile, OrganizationProfileModal;
  var init_OrganizationProfile2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationProfile/index.js"() {
      init_constants6();
      init_CoreUserContext();
      init_localizationKeys();
      init_Route();
      init_Switch();
      init_SubscriberType();
      init_OrganizationProfile();
      init_contexts();
      init_Flow();
      init_Navbar();
      init_ProfileCard();
      init_OrganizationProfileNavbar();
      init_OrganizationProfileRoutes();
      import_react396 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationProfileInternal = () => {
        const { organization } = useOrganization();
        if (!organization) return null;
        return /* @__PURE__ */ jsx2(Flow.Root, {
          flow: "organizationProfile",
          children: /* @__PURE__ */ jsx2(Flow.Part, { children: /* @__PURE__ */ jsx2(Switch, { children: /* @__PURE__ */ jsx2(Route, { children: /* @__PURE__ */ jsx2(SubscriberTypeContext.Provider, {
            value: "organization",
            children: /* @__PURE__ */ jsx2(AuthenticatedRoutes3, {})
          }) }) }) })
        });
      };
      AuthenticatedRoutes3 = withCoreUserGuard(() => {
        const contentRef = import_react396.default.useRef(null);
        return /* @__PURE__ */ jsx2(ProfileCard.Root, {
          sx: (t2) => ({
            display: "grid",
            gridTemplateColumns: "1fr 3fr",
            height: t2.sizes.$176,
            overflow: "hidden"
          }),
          children: /* @__PURE__ */ jsxs2(OrganizationProfileNavbar, {
            contentRef,
            children: [/* @__PURE__ */ jsx2(NavbarMenuButtonRow, { navbarTitleLocalizationKey: localizationKeys("organizationProfile.navbar.title") }), /* @__PURE__ */ jsx2(ProfileCard.Content, {
              contentRef,
              scrollBoxId: ORGANIZATION_PROFILE_CARD_SCROLLBOX_ID,
              children: /* @__PURE__ */ jsx2(OrganizationProfileRoutes, {})
            })]
          })
        });
      });
      OrganizationProfile = withCardStateProvider(OrganizationProfileInternal);
      InternalOrganizationProfile = withCardStateProvider(OrganizationProfileInternal);
      OrganizationProfileModal = (props) => {
        const organizationProfileProps = {
          ...props,
          routing: "virtual",
          componentName: "OrganizationProfile",
          mode: "modal"
        };
        return /* @__PURE__ */ jsx2(Route, {
          path: "organizationProfile",
          children: /* @__PURE__ */ jsx2(OrganizationProfileContext.Provider, {
            value: organizationProfileProps,
            children: /* @__PURE__ */ jsx2("div", { children: /* @__PURE__ */ jsx2(InternalOrganizationProfile, { ...organizationProfileProps }) })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/OrganizationSwitcher.js
  var import_react398, OrganizationSwitcherContext, useOrganizationSwitcherContext;
  var init_OrganizationSwitcher = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/OrganizationSwitcher.js"() {
      init_RouteContext();
      init_utils2();
      init_EnvironmentContext();
      import_react398 = __toESM(require_react(), 1);
      OrganizationSwitcherContext = (0, import_react398.createContext)(null);
      useOrganizationSwitcherContext = () => {
        const context = (0, import_react398.useContext)(OrganizationSwitcherContext);
        const { navigate } = useRouter();
        const { displayConfig, organizationSettings } = useEnvironment();
        if (!context || context.componentName !== "OrganizationSwitcher") throw new Error("Clerk: useOrganizationSwitcherContext called outside OrganizationSwitcher.");
        const { componentName, ...ctx } = context;
        const afterCreateOrganizationUrl = ctx.afterCreateOrganizationUrl || displayConfig.afterCreateOrganizationUrl;
        const afterLeaveOrganizationUrl = ctx.afterLeaveOrganizationUrl || displayConfig.afterLeaveOrganizationUrl;
        const navigateCreateOrganization = () => navigate(ctx.createOrganizationUrl || displayConfig.createOrganizationUrl);
        const navigateOrganizationProfile = () => navigate(ctx.organizationProfileUrl || displayConfig.organizationProfileUrl);
        const navigateAfterSelectOrganizationOrPersonal = ({ organization, user }) => {
          const redirectUrl = getAfterSelectOrganizationOrPersonalUrl({
            organization,
            user
          });
          if (redirectUrl) return navigate(redirectUrl);
          return Promise.resolve();
        };
        const getAfterSelectOrganizationOrPersonalUrl = ({ organization, user }) => {
          if (typeof ctx.afterSelectPersonalUrl === "function" && user) return ctx.afterSelectPersonalUrl(user);
          if (typeof ctx.afterSelectOrganizationUrl === "function" && organization) return ctx.afterSelectOrganizationUrl(organization);
          if (ctx.afterSelectPersonalUrl && user) return populateParamFromObject({
            urlWithParam: ctx.afterSelectPersonalUrl,
            entity: user
          });
          if (ctx.afterSelectOrganizationUrl && organization) return populateParamFromObject({
            urlWithParam: ctx.afterSelectOrganizationUrl,
            entity: organization
          });
        };
        const navigateAfterSelectOrganization = (organization) => navigateAfterSelectOrganizationOrPersonal({ organization });
        const navigateAfterSelectPersonal = (user) => navigateAfterSelectOrganizationOrPersonal({ user });
        const afterSelectOrganizationUrl = (organization) => getAfterSelectOrganizationOrPersonalUrl({ organization });
        const afterSelectPersonalUrl = (user) => getAfterSelectOrganizationOrPersonalUrl({ user });
        const organizationProfileMode = !!ctx.organizationProfileUrl && !ctx.organizationProfileMode ? "navigation" : ctx.organizationProfileMode;
        const createOrganizationMode = !!ctx.createOrganizationUrl && !ctx.createOrganizationMode ? "navigation" : ctx.createOrganizationMode;
        return {
          ...ctx,
          hidePersonal: organizationSettings.forceOrganizationSelection || ctx.hidePersonal || false,
          organizationProfileMode: organizationProfileMode || "modal",
          createOrganizationMode: createOrganizationMode || "modal",
          skipInvitationScreen: ctx.skipInvitationScreen || false,
          afterCreateOrganizationUrl,
          afterLeaveOrganizationUrl,
          navigateOrganizationProfile,
          navigateCreateOrganization,
          navigateAfterSelectOrganization,
          navigateAfterSelectPersonal,
          afterSelectOrganizationUrl,
          afterSelectPersonalUrl,
          componentName
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/AcceptedUserInvitations.js
  function AcceptedInvitationsProvider({ children }) {
    const [acceptedInvitations, setAcceptedInvitations] = (0, import_react399.useState)([]);
    return /* @__PURE__ */ jsx2(AcceptedInvitations.Provider, {
      value: {
        acceptedInvitations,
        setAcceptedInvitations
      },
      children
    });
  }
  function useAcceptedInvitations() {
    return (0, import_react399.useContext)(AcceptedInvitations);
  }
  var import_react399, AcceptedInvitations;
  var init_AcceptedUserInvitations = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/AcceptedUserInvitations.js"() {
      import_react399 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      AcceptedInvitations = (0, import_react399.createContext)({
        acceptedInvitations: [],
        setAcceptedInvitations: () => {
        }
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/PersonalWorkspacePreview.js
  var PersonalWorkspacePreview;
  var init_PersonalWorkspacePreview = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/PersonalWorkspacePreview.js"() {
      init_UserPreview();
      init_emotion_react_jsx_runtime_browser_esm();
      PersonalWorkspacePreview = (props) => {
        return /* @__PURE__ */ jsx2(UserPreview, {
          elementId: "personalWorkspace",
          rounded: false,
          ...props
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/common/InfiniteListSpinner.js
  var import_react400, InfiniteListSpinner;
  var init_InfiniteListSpinner = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/common/InfiniteListSpinner.js"() {
      init_elementDescriptors();
      init_customizables();
      import_react400 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      InfiniteListSpinner = (0, import_react400.forwardRef)((_3, ref) => {
        return /* @__PURE__ */ jsx2(Box2, {
          ref,
          sx: (t2) => ({
            width: "100%",
            height: t2.space.$12,
            position: "relative"
          }),
          children: /* @__PURE__ */ jsx2(Box2, {
            sx: {
              margin: "auto",
              position: "absolute",
              left: "50%",
              top: "50%",
              transform: "translateY(-50%) translateX(-50%)"
            },
            children: /* @__PURE__ */ jsx2(Spinner, {
              size: "sm",
              colorScheme: "primary",
              elementDescriptor: descriptors.spinner
            })
          })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationSwitcher/UserInvitationSuggestionList.js
  var useFetchInvitations, AcceptRejectSuggestionButtons, AcceptRejectInvitationButtons, Preview, InvitationPreview2, SwitcherInvitationActions, SuggestionPreview2, UserInvitationSuggestionList;
  var init_UserInvitationSuggestionList = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationSwitcher/UserInvitationSuggestionList.js"() {
      init_useInView();
      init_localizationKeys();
      init_switch_arrow_right();
      init_AcceptedUserInvitations();
      init_common();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_InfiniteListSpinner();
      init_errorHandler();
      init_utils5();
      init_Actions();
      init_OrganizationPreview();
      init_PreviewButton();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      useFetchInvitations = () => {
        const { userInvitations, userSuggestions } = useOrganizationList(organizationListParams);
        const { ref } = useInView({
          threshold: 0,
          onChange: (inView) => {
            if (!inView) return;
            if (userInvitations.hasNextPage) userInvitations.fetchNext?.();
            else userSuggestions.fetchNext?.();
          }
        });
        return {
          userInvitations,
          userSuggestions,
          ref
        };
      };
      AcceptRejectSuggestionButtons = (props) => {
        const card = useCardState();
        const { userSuggestions } = useOrganizationList({ userSuggestions: organizationListParams.userSuggestions });
        const handleAccept = () => {
          return card.runAsync(props.accept).then((updatedItem) => userSuggestions?.setData?.((pages) => populateCacheUpdateItem(updatedItem, pages))).catch((err) => handleError(err, [], card.setError));
        };
        if (props.status === "accepted") return /* @__PURE__ */ jsx2(Text2, {
          colorScheme: "secondary",
          localizationKey: localizationKeys("organizationSwitcher.suggestionsAcceptedLabel")
        });
        return /* @__PURE__ */ jsx2(Button2, {
          elementDescriptor: descriptors.organizationSwitcherInvitationAcceptButton,
          textVariant: "buttonSmall",
          variant: "outline",
          colorScheme: "neutral",
          size: "sm",
          isLoading: card.isLoading,
          onClick: handleAccept,
          localizationKey: localizationKeys("organizationSwitcher.action__suggestionsAccept")
        });
      };
      AcceptRejectInvitationButtons = (props) => {
        const card = useCardState();
        return /* @__PURE__ */ jsx2(Button2, {
          elementDescriptor: descriptors.organizationSwitcherInvitationAcceptButton,
          textVariant: "buttonSmall",
          variant: "outline",
          colorScheme: "neutral",
          size: "xs",
          isLoading: card.isLoading,
          onClick: props.onAccept,
          localizationKey: localizationKeys("organizationSwitcher.action__invitationAccept")
        });
      };
      Preview = (props) => {
        const { children, publicOrganizationData } = props;
        return /* @__PURE__ */ jsxs2(Flex2, {
          align: "center",
          gap: 2,
          sx: (t2) => ({
            justifyContent: "space-between",
            padding: `${t2.space.$4} ${t2.space.$5}`
          }),
          elementDescriptor: descriptors.organizationSwitcherPopoverInvitationActionsBox,
          children: [/* @__PURE__ */ jsx2(OrganizationPreview, {
            elementId: "organizationSwitcherListedOrganization",
            organization: publicOrganizationData,
            sx: (t2) => ({
              color: t2.colors.$colorMutedForeground,
              ":hover": { color: t2.colors.$colorMutedForeground }
            })
          }), children]
        });
      };
      InvitationPreview2 = withCardStateProvider((props) => {
        const { invitation, onOrganizationClick } = props;
        const { accept, publicOrganizationData, status } = invitation;
        const card = useCardState();
        const { getOrganization } = useClerk();
        const { organization: activeOrganization } = useOrganization();
        const { userInvitations } = useOrganizationList({
          userInvitations: organizationListParams.userInvitations,
          userMemberships: organizationListParams.userMemberships
        });
        const { acceptedInvitations, setAcceptedInvitations } = useAcceptedInvitations();
        const acceptedOrganization = acceptedInvitations.find((item) => item.invitation.id === invitation.id)?.organization;
        const handleAccept = () => {
          return card.runAsync(async () => {
            return [await accept(), await getOrganization(publicOrganizationData.id)];
          }).then(([updatedItem, organization]) => {
            userInvitations?.setData?.((cachedPages) => populateCacheUpdateItem(updatedItem, cachedPages, "negative"));
            setAcceptedInvitations((old) => [...old, {
              organization,
              invitation: updatedItem
            }]);
          }).catch((err) => handleError(err, [], card.setError));
        };
        if (status === "accepted") {
          if (invitation.publicOrganizationData.id === activeOrganization?.id || acceptedOrganization?.id && activeOrganization?.id === acceptedOrganization.id) return null;
          return /* @__PURE__ */ jsx2(PreviewButton, {
            elementDescriptor: descriptors.organizationSwitcherPreviewButton,
            icon: switch_arrow_right_default,
            onClick: acceptedOrganization ? () => onOrganizationClick(acceptedOrganization) : void 0,
            role: "menuitem",
            children: /* @__PURE__ */ jsx2(OrganizationPreview, {
              elementId: "organizationSwitcherListedOrganization",
              organization: publicOrganizationData,
              sx: (t2) => ({
                color: t2.colors.$colorMutedForeground,
                ":hover": { color: t2.colors.$colorMutedForeground }
              })
            })
          });
        }
        return /* @__PURE__ */ jsx2(Preview, {
          publicOrganizationData,
          children: /* @__PURE__ */ jsx2(AcceptRejectInvitationButtons, { onAccept: handleAccept })
        });
      });
      SwitcherInvitationActions = (props) => {
        const { showBorder, ...restProps } = props;
        return /* @__PURE__ */ jsx2(Actions, {
          role: "menu",
          ...restProps
        });
      };
      SuggestionPreview2 = withCardStateProvider((props) => {
        return /* @__PURE__ */ jsx2(Preview, {
          publicOrganizationData: props.publicOrganizationData,
          children: /* @__PURE__ */ jsx2(AcceptRejectSuggestionButtons, { ...props })
        });
      });
      UserInvitationSuggestionList = (props) => {
        const { onOrganizationClick } = props;
        const { ref, userSuggestions, userInvitations } = useFetchInvitations();
        const isLoading = userInvitations.isLoading || userSuggestions.isLoading;
        const hasNextPage2 = userInvitations.hasNextPage || userSuggestions.hasNextPage;
        const userInvitationsData = userInvitations.data?.filter((a2) => !!a2) || [];
        const userSuggestionsData = userSuggestions.data?.filter((a2) => !!a2) || [];
        const hasAnyData = userInvitationsData.length > 0 || userSuggestionsData.length > 0;
        if (!hasAnyData && !isLoading) return null;
        return /* @__PURE__ */ jsx2(SwitcherInvitationActions, {
          showBorder: hasAnyData || isLoading,
          elementDescriptor: descriptors.organizationSwitcherPopoverInvitationActions,
          children: /* @__PURE__ */ jsxs2(Box2, {
            sx: (t2) => ({
              maxHeight: `calc(4 * ${t2.sizes.$17} + 4px)`,
              overflowY: "auto",
              ...common.unstyledScrollbar(t2)
            }),
            children: [
              userInvitationsData?.map((inv) => {
                return /* @__PURE__ */ jsx2(InvitationPreview2, {
                  invitation: inv,
                  onOrganizationClick
                }, inv.id);
              }),
              !userInvitations.hasNextPage && userSuggestionsData?.map((suggestion) => {
                return /* @__PURE__ */ jsx2(SuggestionPreview2, { ...suggestion }, suggestion.id);
              }),
              (hasNextPage2 || isLoading) && /* @__PURE__ */ jsx2(InfiniteListSpinner, { ref })
            ]
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationSwitcher/UserMembershipList.js
  var import_react402, useFetchMemberships, UserMembershipList;
  var init_UserMembershipList = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationSwitcher/UserMembershipList.js"() {
      init_useInView();
      init_localizationKeys();
      init_switch_arrow_right();
      init_OrganizationSwitcher();
      init_common();
      init_elementDescriptors();
      init_customizables();
      init_InfiniteListSpinner();
      init_utils5();
      init_OrganizationPreview();
      init_PreviewButton();
      init_PersonalWorkspacePreview();
      import_react402 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      useFetchMemberships = () => {
        const { userMemberships } = useOrganizationList({ userMemberships: organizationListParams.userMemberships });
        const { ref } = useInView({
          threshold: 0,
          onChange: (inView) => {
            if (!inView) return;
            if (userMemberships.hasNextPage) userMemberships.fetchNext?.();
          }
        });
        return {
          userMemberships,
          ref
        };
      };
      UserMembershipList = (props) => {
        const { onPersonalWorkspaceClick, onOrganizationClick } = props;
        const { hidePersonal } = useOrganizationSwitcherContext();
        const { organization: currentOrg } = useOrganization();
        const { ref, userMemberships } = useFetchMemberships();
        const { user } = useUser();
        const otherOrgs = ((userMemberships.count || 0) > 0 ? userMemberships.data || [] : []).map((e3) => e3.organization).filter((o3) => o3.id !== currentOrg?.id);
        if (!user) return null;
        const { primaryEmailAddress, primaryPhoneNumber, primaryWeb3Wallet, username, ...userWithoutIdentifiers } = user;
        const { isLoading, hasNextPage: hasNextPage2 } = userMemberships;
        return /* @__PURE__ */ jsxs2(Box2, {
          sx: (t2) => ({
            maxHeight: `calc((4 * ${t2.sizes.$17}) + 4px)`,
            overflowY: "auto",
            "> button,div": { border: `0 solid ${t2.colors.$borderAlpha100}` },
            ">:not([hidden])~:not([hidden])": {
              borderTopWidth: "1px",
              borderBottomWidth: "0"
            },
            ...common.unstyledScrollbar(t2)
          }),
          role: "group",
          "aria-label": hidePersonal ? "List of all organization memberships" : "List of all accounts",
          children: [
            currentOrg && !hidePersonal && /* @__PURE__ */ jsx2(PreviewButton, {
              elementDescriptor: descriptors.organizationSwitcherPreviewButton,
              elementId: descriptors.organizationSwitcherPreviewButton.setId("personal"),
              icon: switch_arrow_right_default,
              onClick: onPersonalWorkspaceClick,
              role: "menuitem",
              children: /* @__PURE__ */ jsx2(PersonalWorkspacePreview, {
                user: userWithoutIdentifiers,
                mainIdentifierVariant: "buttonLarge",
                title: localizationKeys("organizationSwitcher.personalWorkspace")
              })
            }),
            otherOrgs.map((organization) => /* @__PURE__ */ jsx2(PreviewButton, {
              elementDescriptor: descriptors.organizationSwitcherPreviewButton,
              elementId: descriptors.organizationSwitcherPreviewButton.setId("organization"),
              icon: switch_arrow_right_default,
              onClick: () => onOrganizationClick(organization),
              role: "menuitem",
              sx: (t2) => ({ border: `0 solid ${t2.colors.$borderAlpha100}` }),
              children: /* @__PURE__ */ jsx2(OrganizationPreview, {
                elementId: "organizationSwitcherListedOrganization",
                organization
              })
            }, organization.id)),
            (hasNextPage2 || isLoading) && /* @__PURE__ */ jsx2(InfiniteListSpinner, { ref })
          ]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationSwitcher/OtherOrganizationActions.js
  var import_react404, CreateOrganizationButton2, OrganizationActionList;
  var init_OtherOrganizationActions = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationSwitcher/OtherOrganizationActions.js"() {
      init_localizationKeys();
      init_elementDescriptors();
      init_CreateOrganizationAction();
      init_UserInvitationSuggestionList();
      init_UserMembershipList();
      import_react404 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      CreateOrganizationButton2 = ({ onCreateOrganizationClick }) => {
        return /* @__PURE__ */ jsx2(CreateOrganizationAction, {
          elementDescriptor: descriptors.organizationSwitcherPopoverActionButton,
          elementId: descriptors.organizationSwitcherPopoverActionButton.setId("createOrganization"),
          iconBoxElementDescriptor: descriptors.organizationSwitcherPopoverActionButtonIconBox,
          iconBoxElementId: descriptors.organizationSwitcherPopoverActionButtonIconBox.setId("createOrganization"),
          iconElementDescriptor: descriptors.organizationSwitcherPopoverActionButtonIcon,
          iconElementId: descriptors.organizationSwitcherPopoverActionButtonIcon.setId("createOrganization"),
          label: localizationKeys("organizationSwitcher.action__createOrganization"),
          onClick: onCreateOrganizationClick,
          sx: (t2) => ({ padding: `${t2.space.$5} ${t2.space.$5}` }),
          iconSx: (t2) => ({
            width: t2.sizes.$9,
            height: t2.sizes.$6
          }),
          iconBoxSx: (t2) => ({
            width: t2.sizes.$9,
            height: t2.sizes.$6
          }),
          spinnerSize: "sm"
        });
      };
      OrganizationActionList = (props) => {
        const { onCreateOrganizationClick, onPersonalWorkspaceClick, onOrganizationClick } = props;
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [
          /* @__PURE__ */ jsx2(UserInvitationSuggestionList, { onOrganizationClick }),
          /* @__PURE__ */ jsx2(UserMembershipList, {
            onPersonalWorkspaceClick,
            onOrganizationClick
          }),
          /* @__PURE__ */ jsx2(CreateOrganizationButton2, { onCreateOrganizationClick })
        ] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationSwitcher/OrganizationSwitcherPopover.js
  var import_react405, OrganizationSwitcherPopover, NotificationCountBadgeManageButton;
  var init_OrganizationSwitcherPopover = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationSwitcher/OrganizationSwitcherPopover.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_cog_filled();
      init_Gate();
      init_OrganizationSwitcher();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_NotificationCountBadge();
      init_Actions();
      init_OrganizationPreview();
      init_PersonalWorkspacePreview();
      init_PopoverCard();
      init_RootBox();
      init_OtherOrganizationActions();
      import_react405 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationSwitcherPopover = import_react405.default.forwardRef((props, ref) => {
        const { close: unsafeClose, ...rest } = props;
        const close = () => unsafeClose?.(false);
        const card = useCardState();
        const { __experimental_asStandalone } = useOrganizationSwitcherContext();
        const { openOrganizationProfile, openCreateOrganization } = useClerk();
        const getContainer = usePortalRoot();
        const { organization: currentOrg } = useOrganization();
        const { isLoaded, setActive } = useOrganizationList();
        const { hidePersonal, createOrganizationMode, organizationProfileMode, afterLeaveOrganizationUrl, afterCreateOrganizationUrl, navigateCreateOrganization, navigateOrganizationProfile, afterSelectOrganizationUrl, afterSelectPersonalUrl, organizationProfileProps, skipInvitationScreen } = useOrganizationSwitcherContext();
        const { user } = useUser();
        if (!user) return null;
        const { primaryEmailAddress, primaryPhoneNumber, primaryWeb3Wallet, username, ...userWithoutIdentifiers } = user;
        if (!isLoaded) return null;
        const handleOrganizationClicked = (organization) => {
          return card.runAsync(() => setActive({
            organization,
            redirectUrl: afterSelectOrganizationUrl(organization)
          })).then(close);
        };
        const handlePersonalWorkspaceClicked = () => {
          return card.runAsync(() => setActive({
            organization: null,
            redirectUrl: afterSelectPersonalUrl(user)
          })).then(close);
        };
        const handleCreateOrganizationClicked = () => {
          close();
          if (createOrganizationMode === "navigation") return navigateCreateOrganization();
          return openCreateOrganization({
            afterCreateOrganizationUrl,
            skipInvitationScreen,
            getContainer
          });
        };
        const handleItemClick = () => {
          close();
          if (organizationProfileMode === "navigation") return navigateOrganizationProfile();
          return openOrganizationProfile({
            ...organizationProfileProps,
            afterLeaveOrganizationUrl,
            getContainer
          });
        };
        const manageOrganizationButton = /* @__PURE__ */ jsx2(SmallAction, {
          elementDescriptor: descriptors.organizationSwitcherPopoverActionButton,
          elementId: descriptors.organizationSwitcherPopoverActionButton.setId("manageOrganization"),
          iconBoxElementDescriptor: descriptors.organizationSwitcherPopoverActionButtonIconBox,
          iconBoxElementId: descriptors.organizationSwitcherPopoverActionButtonIconBox.setId("manageOrganization"),
          iconElementDescriptor: descriptors.organizationSwitcherPopoverActionButtonIcon,
          iconElementId: descriptors.organizationSwitcherPopoverActionButtonIcon.setId("manageOrganization"),
          icon: cog_filled_default,
          label: localizationKeys("organizationSwitcher.action__manageOrganization"),
          onClick: () => handleItemClick(),
          trailing: /* @__PURE__ */ jsx2(NotificationCountBadgeManageButton, {}),
          focusRing: true
        });
        const selectedOrganizationPreview = (currentOrg$1) => /* @__PURE__ */ jsxs2(Flex2, {
          justify: "between",
          align: "center",
          sx: (t2) => ({
            width: "100%",
            paddingInlineEnd: t2.space.$5
          }),
          children: [/* @__PURE__ */ jsx2(OrganizationPreview, {
            elementId: "organizationSwitcherActiveOrganization",
            organization: currentOrg$1,
            user,
            mainIdentifierVariant: "buttonLarge",
            sx: (t2) => ({ padding: `${t2.space.$4} ${t2.space.$5}` })
          }), /* @__PURE__ */ jsx2(Actions, {
            role: "menu",
            children: manageOrganizationButton
          })]
        });
        return /* @__PURE__ */ jsx2(RootBox, {
          elementDescriptor: descriptors.organizationSwitcherPopoverRootBox,
          children: /* @__PURE__ */ jsxs2(PopoverCard.Root, {
            elementDescriptor: descriptors.organizationSwitcherPopoverCard,
            ref,
            role: "dialog",
            "aria-label": `${currentOrg?.name} is active`,
            shouldEntryAnimate: !__experimental_asStandalone,
            ...rest,
            children: [/* @__PURE__ */ jsx2(PopoverCard.Content, {
              elementDescriptor: descriptors.organizationSwitcherPopoverMain,
              children: /* @__PURE__ */ jsxs2(Actions, {
                elementDescriptor: descriptors.organizationSwitcherPopoverActions,
                role: "menu",
                children: [currentOrg ? selectedOrganizationPreview(currentOrg) : !hidePersonal && /* @__PURE__ */ jsx2(PersonalWorkspacePreview, {
                  user: userWithoutIdentifiers,
                  sx: (t2) => ({
                    padding: `${t2.space.$4} ${t2.space.$5}`,
                    width: "100%"
                  }),
                  title: localizationKeys("organizationSwitcher.personalWorkspace")
                }), /* @__PURE__ */ jsx2(OrganizationActionList, {
                  onCreateOrganizationClick: handleCreateOrganizationClicked,
                  onPersonalWorkspaceClick: handlePersonalWorkspaceClicked,
                  onOrganizationClick: handleOrganizationClicked
                })]
              })
            }), /* @__PURE__ */ jsx2(PopoverCard.Footer, { elementDescriptor: descriptors.organizationSwitcherPopoverFooter })]
          })
        });
      });
      NotificationCountBadgeManageButton = withProtect(({ sx }) => {
        const { organizationSettings } = useEnvironment();
        const isDomainsEnabled = organizationSettings?.domains?.enabled;
        const { membershipRequests } = useOrganization({ membershipRequests: isDomainsEnabled || void 0 });
        if (!membershipRequests?.count) return null;
        return /* @__PURE__ */ jsx2(NotificationCountBadge, {
          notificationCount: membershipRequests.count,
          containerSx: sx
        });
      }, { permission: "org:sys_memberships:manage" });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationSwitcher/OrganizationSwitcherTrigger.js
  var import_react407, OrganizationSwitcherTrigger, NotificationCountBadgeSwitcherTrigger;
  var init_OrganizationSwitcherTrigger = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationSwitcher/OrganizationSwitcherTrigger.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_chevron_down();
      init_Gate();
      init_OrganizationSwitcher();
      init_makeLocalizable();
      init_elementDescriptors();
      init_customizables();
      init_NotificationCountBadge();
      init_utils5();
      init_OrganizationPreview();
      init_PersonalWorkspacePreview();
      init_withAvatarShimmer();
      import_react407 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationSwitcherTrigger = withAvatarShimmer((0, import_react407.forwardRef)((props, ref) => {
        const { sx, ...rest } = props;
        const { user } = useUser();
        const { organization } = useOrganization();
        const { hidePersonal } = useOrganizationSwitcherContext();
        const { t: t2 } = useLocalizations();
        if (!user) return null;
        const { primaryEmailAddress, primaryPhoneNumber, primaryWeb3Wallet, username, ...userWithoutIdentifiers } = user;
        return /* @__PURE__ */ jsxs2(Button2, {
          elementDescriptor: descriptors.organizationSwitcherTrigger,
          elementId: descriptors.organizationSwitcherTrigger.setId(organization ? "organization" : "personal"),
          variant: "ghost",
          colorScheme: "neutral",
          hoverAsFocus: true,
          focusRing: false,
          sx: [(t$1) => ({
            padding: `${t$1.space.$1} ${t$1.space.$2}`,
            position: "relative"
          }), sx],
          ref,
          "aria-label": `${props.isOpen ? t2(localizationKeys("organizationSwitcher.action__closeOrganizationSwitcher")) : t2(localizationKeys("organizationSwitcher.action__openOrganizationSwitcher"))}`,
          "aria-expanded": props.isOpen,
          "aria-haspopup": "dialog",
          ...rest,
          children: [
            organization && /* @__PURE__ */ jsx2(OrganizationPreview, {
              elementId: "organizationSwitcherTrigger",
              gap: 3,
              size: "xs",
              organization,
              sx: { maxWidth: "30ch" }
            }),
            !organization && /* @__PURE__ */ jsx2(PersonalWorkspacePreview, {
              size: "xs",
              gap: 3,
              user: userWithoutIdentifiers,
              showAvatar: !hidePersonal,
              sx: (t$1) => ({ color: t$1.colors.$colorMutedForeground }),
              title: hidePersonal ? localizationKeys("organizationSwitcher.notSelected") : localizationKeys("organizationSwitcher.personalWorkspace")
            }),
            /* @__PURE__ */ jsx2(NotificationCountBadgeSwitcherTrigger, {}),
            /* @__PURE__ */ jsx2(Icon, {
              elementDescriptor: descriptors.organizationSwitcherTriggerIcon,
              icon: chevron_down_default,
              sx: (t$1) => ({ marginInlineStart: `${t$1.space.$2}` })
            })
          ]
        });
      }));
      NotificationCountBadgeSwitcherTrigger = () => {
        const { userInvitations, userSuggestions } = useOrganizationList(organizationListParams);
        const { organizationSettings } = useEnvironment();
        const canAcceptRequests = useProtect({ permission: "org:sys_memberships:manage" });
        const isDomainsEnabled = organizationSettings?.domains?.enabled;
        const { membershipRequests } = useOrganization({ membershipRequests: isDomainsEnabled && canAcceptRequests || void 0 });
        const notificationCount = (userInvitations.count || 0) + (userSuggestions.count || 0) + (membershipRequests?.count || 0);
        if (!notificationCount) return null;
        return /* @__PURE__ */ jsx2(NotificationCountBadge, {
          containerSx: (t2) => ({
            position: "absolute",
            top: `calc(${t2.space.$2} * -1)`,
            insetInlineEnd: `calc(${t2.space.$2} * -1)`
          }),
          notificationCount
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationSwitcher/index.js
  var OrganizationSwitcher_exports = {};
  __export(OrganizationSwitcher_exports, {
    OrganizationSwitcher: () => OrganizationSwitcher
  });
  var import_react409, OrganizationSwitcherWithFloatingTree, _OrganizationSwitcher, OrganizationSwitcher;
  var init_OrganizationSwitcher2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationSwitcher/index.js"() {
      init_CoreUserContext();
      init_usePopover();
      init_OrganizationSwitcher();
      init_AcceptedUserInvitations();
      init_contexts();
      init_Flow();
      init_Popover();
      init_OrganizationSwitcherPopover();
      init_OrganizationSwitcherTrigger();
      import_react409 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationSwitcherWithFloatingTree = withFloatingTree(({ children }) => {
        const { defaultOpen } = useOrganizationSwitcherContext();
        const { floating, reference, styles: styles2, toggle, isOpen, nodeId, context } = usePopover({
          defaultOpen,
          placement: "bottom-start",
          offset: 8
        });
        const switcherButtonMenuId = (0, import_react409.useId)();
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(OrganizationSwitcherTrigger, {
          ref: reference,
          onClick: toggle,
          isOpen,
          "aria-controls": isOpen ? switcherButtonMenuId : void 0,
          "aria-expanded": isOpen
        }), /* @__PURE__ */ jsx2(Popover, {
          nodeId,
          context,
          isOpen,
          children: (0, import_react409.cloneElement)(children, {
            id: switcherButtonMenuId,
            close: toggle,
            ref: floating,
            style: styles2
          })
        })] });
      });
      _OrganizationSwitcher = () => {
        const { __experimental_asStandalone } = useOrganizationSwitcherContext();
        return /* @__PURE__ */ jsx2(Flow.Root, {
          flow: "organizationSwitcher",
          sx: { display: "inline-flex" },
          children: /* @__PURE__ */ jsx2(AcceptedInvitationsProvider, { children: __experimental_asStandalone ? /* @__PURE__ */ jsx2(OrganizationSwitcherPopover, { close: typeof __experimental_asStandalone === "function" ? __experimental_asStandalone : void 0 }) : /* @__PURE__ */ jsx2(OrganizationSwitcherWithFloatingTree, { children: /* @__PURE__ */ jsx2(OrganizationSwitcherPopover, {}) }) })
        });
      };
      OrganizationSwitcher = withCoreUserGuard(withCardStateProvider(_OrganizationSwitcher));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/OrganizationList.js
  var import_react410, OrganizationListContext, useOrganizationListContext;
  var init_OrganizationList = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/OrganizationList.js"() {
      init_RouteContext();
      init_utils2();
      init_EnvironmentContext();
      import_react410 = __toESM(require_react(), 1);
      OrganizationListContext = (0, import_react410.createContext)(null);
      useOrganizationListContext = () => {
        const context = (0, import_react410.useContext)(OrganizationListContext);
        const { navigate } = useRouter();
        const { displayConfig, organizationSettings } = useEnvironment();
        if (!context || context.componentName !== "OrganizationList") throw new Error("Clerk: useOrganizationListContext called outside OrganizationList.");
        const { componentName, ...ctx } = context;
        const afterCreateOrganizationUrl = ctx.afterCreateOrganizationUrl || displayConfig.afterCreateOrganizationUrl;
        const navigateAfterCreateOrganization = (organization) => {
          if (typeof ctx.afterCreateOrganizationUrl === "function") return navigate(ctx.afterCreateOrganizationUrl(organization));
          if (ctx.afterCreateOrganizationUrl) return navigate(populateParamFromObject({
            urlWithParam: ctx.afterCreateOrganizationUrl,
            entity: organization
          }));
          return navigate(displayConfig.afterCreateOrganizationUrl);
        };
        const navigateAfterSelectOrganizationOrPersonal = ({ organization, user }) => {
          if (typeof ctx.afterSelectPersonalUrl === "function" && user) return navigate(ctx.afterSelectPersonalUrl(user));
          if (typeof ctx.afterSelectOrganizationUrl === "function" && organization) return navigate(ctx.afterSelectOrganizationUrl(organization));
          if (ctx.afterSelectPersonalUrl && user) return navigate(populateParamFromObject({
            urlWithParam: ctx.afterSelectPersonalUrl,
            entity: user
          }));
          if (ctx.afterSelectOrganizationUrl && organization) return navigate(populateParamFromObject({
            urlWithParam: ctx.afterSelectOrganizationUrl,
            entity: organization
          }));
          return Promise.resolve();
        };
        const navigateAfterSelectOrganization = (organization) => navigateAfterSelectOrganizationOrPersonal({ organization });
        const navigateAfterSelectPersonal = (user) => navigateAfterSelectOrganizationOrPersonal({ user });
        return {
          ...ctx,
          afterCreateOrganizationUrl,
          skipInvitationScreen: ctx.skipInvitationScreen || false,
          hidePersonal: organizationSettings.forceOrganizationSelection || ctx.hidePersonal || false,
          navigateAfterCreateOrganization,
          navigateAfterSelectOrganization,
          navigateAfterSelectPersonal,
          componentName
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationList/shared.js
  var PreviewListItems, PreviewListItem, PreviewListItemButton, OrganizationListPreviewButton;
  var init_shared3 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationList/shared.js"() {
      init_elementDescriptors();
      init_OrganizationPreview2();
      init_emotion_react_jsx_runtime_browser_esm();
      PreviewListItems = (props) => {
        return /* @__PURE__ */ jsx2(OrganizationPreviewListItems, {
          elementDescriptor: descriptors.organizationListPreviewItems,
          ...props
        });
      };
      PreviewListItem = (props) => {
        return /* @__PURE__ */ jsx2(OrganizationPreviewListItem, {
          elementId: "organizationList",
          elementDescriptor: descriptors.organizationListPreviewItem,
          ...props
        });
      };
      PreviewListItemButton = (props) => {
        return /* @__PURE__ */ jsx2(OrganizationPreviewListItemButton, {
          elementDescriptor: descriptors.organizationListPreviewItemActionButton,
          ...props
        });
      };
      OrganizationListPreviewButton = (props) => {
        return /* @__PURE__ */ jsx2(OrganizationPreviewButton, {
          elementDescriptor: descriptors.organizationListPreviewButton,
          ...props
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationList/UserMembershipList.js
  var MembershipPreview2, PersonalAccountPreview;
  var init_UserMembershipList2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationList/UserMembershipList.js"() {
      init_localizationKeys();
      init_OrganizationList();
      init_makeLocalizable();
      init_contexts();
      init_errorHandler();
      init_OrganizationPreview();
      init_OrganizationPreview2();
      init_shared3();
      init_PersonalWorkspacePreview();
      init_error();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      MembershipPreview2 = (props) => {
        const { user } = useUser();
        const card = useCardState();
        const { navigateAfterSelectOrganization } = useOrganizationListContext();
        const { t: t2 } = useLocalizations();
        const { isLoaded, setActive } = useOrganizationList();
        if (!isLoaded) return null;
        const handleOrganizationClicked = (organization) => {
          return card.runAsync(async () => {
            try {
              await setActive({ organization });
              await navigateAfterSelectOrganization(organization);
            } catch (err) {
              if (!isClerkAPIResponseError2(err)) {
                handleError(err, [], card.setError);
                return;
              }
              switch (err.errors?.[0]?.code) {
                case "organization_not_found_or_unauthorized":
                case "not_a_member_in_organization":
                  if (user?.createOrganizationEnabled) card.setError(t2(localizationKeys("unstable__errors.organization_not_found_or_unauthorized")));
                  else card.setError(t2(localizationKeys("unstable__errors.organization_not_found_or_unauthorized_with_create_organization_disabled")));
                  break;
                default:
                  handleError(err, [], card.setError);
              }
            }
          });
        };
        return /* @__PURE__ */ jsx2(OrganizationListPreviewButton, {
          onClick: () => handleOrganizationClicked(props.organization),
          children: /* @__PURE__ */ jsx2(OrganizationPreview, {
            elementId: "organizationList",
            mainIdentifierSx: sharedMainIdentifierSx,
            organization: props.organization
          })
        });
      };
      PersonalAccountPreview = withCardStateProvider(() => {
        const card = useCardState();
        const { hidePersonal, navigateAfterSelectPersonal } = useOrganizationListContext();
        const { isLoaded, setActive } = useOrganizationList();
        const { user } = useUser();
        if (!user) return null;
        const { primaryEmailAddress, primaryPhoneNumber, primaryWeb3Wallet, username, ...userWithoutIdentifiers } = user;
        const handlePersonalClicked = () => {
          if (!isLoaded) return;
          return card.runAsync(async () => {
            await setActive({ organization: null });
            await navigateAfterSelectPersonal(user);
          });
        };
        if (hidePersonal) return null;
        return /* @__PURE__ */ jsx2(OrganizationListPreviewButton, {
          onClick: handlePersonalClicked,
          children: /* @__PURE__ */ jsx2(PersonalWorkspacePreview, {
            user: userWithoutIdentifiers,
            mainIdentifierSx: sharedMainIdentifierSx,
            title: localizationKeys("organizationSwitcher.personalWorkspace")
          })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationList/utils.js
  var organizationListParams2;
  var init_utils13 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationList/utils.js"() {
      organizationListParams2 = {
        userMemberships: { infinite: true },
        userInvitations: { infinite: true },
        userSuggestions: {
          infinite: true,
          status: ["pending", "accepted"]
        }
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationList/UserInvitationList.js
  var import_react412, AcceptRejectInvitationButtons2, InvitationPreview3;
  var init_UserInvitationList = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationList/UserInvitationList.js"() {
      init_localizationKeys();
      init_contexts();
      init_errorHandler();
      init_utils5();
      init_shared3();
      init_UserMembershipList2();
      init_utils13();
      import_react412 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      AcceptRejectInvitationButtons2 = (props) => {
        return /* @__PURE__ */ jsx2(PreviewListItemButton, {
          isLoading: useCardState().isLoading,
          onClick: props.onAccept,
          localizationKey: localizationKeys("organizationList.action__invitationAccept")
        });
      };
      InvitationPreview3 = withCardStateProvider((props) => {
        const card = useCardState();
        const { getOrganization } = useClerk();
        const [acceptedOrganization, setAcceptedOrganization] = (0, import_react412.useState)(null);
        const { userInvitations } = useOrganizationList({
          userInvitations: organizationListParams2.userInvitations,
          userMemberships: organizationListParams2.userMemberships
        });
        const handleAccept = () => {
          return card.runAsync(async () => {
            return [await props.accept(), await getOrganization(props.publicOrganizationData.id)];
          }).then(([updatedItem, organization]) => {
            userInvitations?.setData?.((cachedPages) => populateCacheUpdateItem(updatedItem, cachedPages, "negative"));
            setAcceptedOrganization(organization);
          }).catch((err) => handleError(err, [], card.setError));
        };
        if (acceptedOrganization) return /* @__PURE__ */ jsx2(MembershipPreview2, { organization: acceptedOrganization });
        return /* @__PURE__ */ jsx2(PreviewListItem, {
          organizationData: props.publicOrganizationData,
          children: /* @__PURE__ */ jsx2(AcceptRejectInvitationButtons2, { onAccept: handleAccept })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationList/UserSuggestionList.js
  var AcceptRejectInvitationButtons3, SuggestionPreview3;
  var init_UserSuggestionList = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationList/UserSuggestionList.js"() {
      init_localizationKeys();
      init_contexts();
      init_customizables();
      init_errorHandler();
      init_utils5();
      init_shared3();
      init_utils13();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      AcceptRejectInvitationButtons3 = (props) => {
        const card = useCardState();
        const { userSuggestions } = useOrganizationList({ userSuggestions: organizationListParams2.userSuggestions });
        const handleAccept = () => {
          return card.runAsync(props.accept).then((updatedItem) => userSuggestions?.setData?.((pages) => populateCacheUpdateItem(updatedItem, pages))).catch((err) => handleError(err, [], card.setError));
        };
        if (props.status === "accepted") return /* @__PURE__ */ jsx2(Text2, {
          colorScheme: "secondary",
          localizationKey: localizationKeys("organizationList.suggestionsAcceptedLabel")
        });
        return /* @__PURE__ */ jsx2(PreviewListItemButton, {
          isLoading: card.isLoading,
          onClick: handleAccept,
          localizationKey: localizationKeys("organizationList.action__suggestionsAccept")
        });
      };
      SuggestionPreview3 = withCardStateProvider((props) => {
        return /* @__PURE__ */ jsx2(PreviewListItem, {
          organizationData: props.publicOrganizationData,
          children: /* @__PURE__ */ jsx2(AcceptRejectInvitationButtons3, { ...props })
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationList/OrganizationListPage.js
  var import_react415, CreateOrganizationButton3, OrganizationListPage, OrganizationListFlows, OrganizationListPageList;
  var init_OrganizationListPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationList/OrganizationListPage.js"() {
      init_EnvironmentContext();
      init_localizationKeys();
      init_OrganizationList();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_CreateOrganizationForm();
      init_Actions();
      init_CreateOrganizationAction();
      init_OrganizationPreview2();
      init_useOrganizationListInView();
      init_shared3();
      init_UserMembershipList2();
      init_UserInvitationList();
      init_UserSuggestionList();
      import_react415 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      CreateOrganizationButton3 = ({ onCreateOrganizationClick }) => {
        return /* @__PURE__ */ jsx2(CreateOrganizationAction, {
          elementDescriptor: descriptors.organizationListCreateOrganizationActionButton,
          label: localizationKeys("organizationList.action__createOrganization"),
          onClick: onCreateOrganizationClick,
          sx: (t2) => ({
            borderTopWidth: t2.borderWidths.$normal,
            borderTopStyle: t2.borderStyles.$solid,
            borderTopColor: t2.colors.$borderAlpha100,
            padding: `${t2.space.$5} ${t2.space.$5}`
          }),
          iconSx: (t2) => ({
            width: t2.sizes.$9,
            height: t2.sizes.$6
          })
        });
      };
      OrganizationListPage = withCardStateProvider(() => {
        const { userMemberships, userSuggestions, userInvitations } = useOrganizationListInView();
        const isLoading = userMemberships?.isLoading || userInvitations?.isLoading || userSuggestions?.isLoading;
        const hasAnyData = !!(userMemberships?.count || userInvitations?.count || userSuggestions?.count);
        const { hidePersonal } = useOrganizationListContext();
        return /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, {
          sx: (t2) => ({ padding: `${t2.space.$4} ${t2.space.$none} ${t2.space.$none}` }),
          children: [isLoading && /* @__PURE__ */ jsx2(Flex2, {
            direction: "row",
            align: "center",
            justify: "center",
            sx: (t2) => ({
              height: "100%",
              minHeight: t2.sizes.$60
            }),
            children: /* @__PURE__ */ jsx2(Spinner, {
              size: "lg",
              colorScheme: "primary",
              elementDescriptor: descriptors.spinner
            })
          }), !isLoading && /* @__PURE__ */ jsx2(OrganizationListFlows, { showListInitially: !(hidePersonal && !hasAnyData) })]
        }), /* @__PURE__ */ jsx2(Card.Footer, {})] });
      });
      OrganizationListFlows = ({ showListInitially }) => {
        const card = useCardState();
        const { navigateAfterCreateOrganization, skipInvitationScreen } = useOrganizationListContext();
        const [isCreateOrganizationFlow, setCreateOrganizationFlow] = (0, import_react415.useState)(!showListInitially);
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [!isCreateOrganizationFlow && /* @__PURE__ */ jsx2(OrganizationListPageList, { onCreateOrganizationClick: () => setCreateOrganizationFlow(true) }), isCreateOrganizationFlow && /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Card.Alert, {
          sx: (t2) => ({ margin: `${t2.space.$none} ${t2.space.$5}` }),
          children: card.error
        }), /* @__PURE__ */ jsx2(Box2, {
          sx: (t2) => ({ padding: `${t2.space.$none} ${t2.space.$5} ${t2.space.$5}` }),
          children: /* @__PURE__ */ jsx2(CreateOrganizationForm, {
            flow: "organizationList",
            startPage: { headerTitle: localizationKeys("organizationList.createOrganization") },
            skipInvitationScreen,
            navigateAfterCreateOrganization: (org) => navigateAfterCreateOrganization(org).then(() => setCreateOrganizationFlow(false)),
            onCancel: showListInitially && isCreateOrganizationFlow ? () => setCreateOrganizationFlow(false) : void 0
          })
        })] })] });
      };
      OrganizationListPageList = (props) => {
        const card = useCardState();
        const environment = useEnvironment();
        const { ref, userMemberships, userSuggestions, userInvitations } = useOrganizationListInView();
        const { hidePersonal } = useOrganizationListContext();
        const isLoading = userMemberships?.isLoading || userInvitations?.isLoading || userSuggestions?.isLoading;
        const hasNextPage2 = userMemberships?.hasNextPage || userInvitations?.hasNextPage || userSuggestions?.hasNextPage;
        const onCreateOrganizationClick = () => {
          card.setError(void 0);
          props.onCreateOrganizationClick();
        };
        const userInvitationsData = userInvitations.data?.filter((a2) => !!a2);
        const userSuggestionsData = userSuggestions.data?.filter((a2) => !!a2);
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [
          /* @__PURE__ */ jsxs2(Header.Root, {
            sx: (t2) => ({ padding: `${t2.space.$4} ${t2.space.$4} ${t2.space.$none}` }),
            showLogo: true,
            children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys(!hidePersonal ? "organizationList.title" : "organizationList.titleWithoutPersonal") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("organizationList.subtitle", { applicationName: environment.displayConfig.applicationName }) })]
          }),
          /* @__PURE__ */ jsx2(Card.Alert, {
            sx: (t2) => ({ margin: `${t2.space.$none} ${t2.space.$5}` }),
            children: card.error
          }),
          /* @__PURE__ */ jsx2(Col2, {
            elementDescriptor: descriptors.main,
            children: /* @__PURE__ */ jsx2(PreviewListItems, { children: /* @__PURE__ */ jsxs2(Actions, {
              role: "menu",
              children: [
                /* @__PURE__ */ jsx2(PersonalAccountPreview, {}),
                (userMemberships.count || 0) > 0 && userMemberships.data?.map((inv) => {
                  return /* @__PURE__ */ jsx2(MembershipPreview2, { ...inv }, inv.id);
                }),
                !userMemberships.hasNextPage && userInvitationsData?.map((inv) => {
                  return /* @__PURE__ */ jsx2(InvitationPreview3, { ...inv }, inv.id);
                }),
                !userMemberships.hasNextPage && !userInvitations.hasNextPage && userSuggestionsData?.map((inv) => {
                  return /* @__PURE__ */ jsx2(SuggestionPreview3, { ...inv }, inv.id);
                }),
                (hasNextPage2 || isLoading) && /* @__PURE__ */ jsx2(OrganizationPreviewSpinner, { ref }),
                /* @__PURE__ */ jsx2(CreateOrganizationButton3, { onCreateOrganizationClick })
              ]
            }) })
          })
        ] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OrganizationList/index.js
  var OrganizationList_exports = {};
  __export(OrganizationList_exports, {
    OrganizationList: () => OrganizationList
  });
  var OrganizationListInternal, AuthenticatedRoutes4, OrganizationList;
  var init_OrganizationList2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OrganizationList/index.js"() {
      init_CoreUserContext();
      init_Route();
      init_Switch();
      init_Flow();
      init_OrganizationListPage();
      init_emotion_react_jsx_runtime_browser_esm();
      OrganizationListInternal = () => {
        return /* @__PURE__ */ jsx2(Flow.Root, {
          flow: "organizationList",
          children: /* @__PURE__ */ jsx2(Flow.Part, { children: /* @__PURE__ */ jsx2(Switch, { children: /* @__PURE__ */ jsx2(Route, { children: /* @__PURE__ */ jsx2(AuthenticatedRoutes4, {}) }) }) })
        });
      };
      AuthenticatedRoutes4 = withCoreUserGuard(OrganizationListPage);
      OrganizationList = OrganizationListInternal;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Portal.js
  var import_react416, import_react_dom4, Portal;
  var init_Portal = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Portal.js"() {
      import_react416 = __toESM(require_react(), 1);
      import_react_dom4 = __toESM(require_react_dom(), 1);
      Portal = (props) => {
        const elRef = import_react416.default.useRef(document.createElement("div"));
        import_react416.default.useEffect(() => {
          document.body.appendChild(elRef.current);
          return () => {
            document.body.removeChild(elRef.current);
          };
        }, []);
        return (0, import_react_dom4.createPortal)(props.children, elRef.current);
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/ImpersonationFab/index.js
  var ImpersonationFab_exports = {};
  __export(ImpersonationFab_exports, {
    ImpersonationFab: () => ImpersonationFab
  });
  var import_react417, EyeCircle, FabContent, ImpersonationFabInternal, ImpersonationFab;
  var init_ImpersonationFab = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/ImpersonationFab/index.js"() {
      init_CoreUserContext();
      init_localizationKeys();
      init_eye();
      init_SignOut();
      init_makeLocalizable();
      init_InternalThemeProvider();
      init_breakpoints();
      init_elementDescriptors();
      init_AppearanceContext();
      init_customizables();
      init_Portal();
      init_useMultipleSessions();
      import_react417 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_user();
      EyeCircle = ({ width, height, ...props }) => {
        const { sx, ...rest } = props;
        return /* @__PURE__ */ jsx2(Col2, {
          elementDescriptor: descriptors.impersonationFabIconContainer,
          center: true,
          sx: [(t2) => ({
            width,
            height,
            backgroundColor: t2.colors.$danger500,
            borderRadius: t2.radii.$circle
          }), sx],
          ...rest,
          children: /* @__PURE__ */ jsx2(Icon, {
            elementDescriptor: descriptors.impersonationFabIcon,
            icon: eye_default,
            sx: (t2) => ({ color: t2.colors.$white }),
            size: "lg"
          })
        });
      };
      FabContent = ({ title, signOutText }) => {
        const { session } = useSession();
        const { user } = useUser();
        const { signOut } = useClerk();
        const { otherSessions } = useMultipleSessions({ user });
        const { navigateAfterSignOut, navigateAfterMultiSessionSingleSignOutUrl } = useSignOutContext();
        const handleSignOutSessionClicked = (session$1) => () => {
          if (otherSessions.length === 0) return signOut(navigateAfterSignOut);
          return signOut(navigateAfterMultiSessionSingleSignOutUrl, { sessionId: session$1.id });
        };
        return /* @__PURE__ */ jsxs2(Col2, {
          sx: (t2) => ({
            width: "100%",
            paddingInlineStart: t2.sizes.$4,
            paddingInlineEnd: t2.sizes.$6,
            whiteSpace: "nowrap"
          }),
          children: [/* @__PURE__ */ jsx2(Text2, {
            colorScheme: "secondary",
            elementDescriptor: descriptors.impersonationFabTitle,
            variant: "buttonLarge",
            truncate: true,
            localizationKey: title
          }), /* @__PURE__ */ jsx2(Link2, {
            variant: "buttonLarge",
            elementDescriptor: descriptors.impersonationFabActionLink,
            sx: (t2) => ({
              alignSelf: "flex-start",
              color: t2.colors.$primary500,
              ":hover": { cursor: "pointer" }
            }),
            localizationKey: signOutText,
            onClick: handleSignOutSessionClicked(session)
          })]
        });
      };
      ImpersonationFabInternal = () => {
        const { session } = useSession();
        const { t: t2 } = useLocalizations();
        const { parsedInternalTheme } = useAppearance();
        const containerRef = (0, import_react417.useRef)(null);
        const actor = session?.actor;
        const agent = session?.agent;
        const isImpersonating = !!actor && !agent;
        const eyeWidth = parsedInternalTheme.sizes.$16;
        const eyeHeight = eyeWidth;
        const topProperty = "--cl-impersonation-fab-top";
        const rightProperty = "--cl-impersonation-fab-right";
        const defaultTop = 109;
        const defaultRight = 23;
        const handleResize = () => {
          const current = containerRef.current;
          if (!current) return;
          const offsetRight = window.innerWidth - current.offsetLeft - current.offsetWidth;
          const offsetBottom = window.innerHeight - current.offsetTop - current.offsetHeight;
          if ([
            current.offsetLeft,
            offsetRight,
            current.offsetTop,
            offsetBottom
          ].some((o3) => o3 < 0)) {
            document.documentElement.style.setProperty(rightProperty, `${defaultRight}px`);
            document.documentElement.style.setProperty(topProperty, `${defaultTop}px`);
          }
        };
        const onPointerDown = () => {
          window.addEventListener("pointermove", onPointerMove);
          window.addEventListener("pointerup", () => {
            window.removeEventListener("pointermove", onPointerMove);
            handleResize();
          }, { once: true });
        };
        const onPointerMove = import_react417.default.useCallback((e3) => {
          e3.stopPropagation();
          e3.preventDefault();
          const current = containerRef.current;
          if (!current) return;
          const rightOffestBasedOnViewportAndContent = `${window.innerWidth - current.offsetLeft - current.offsetWidth - e3.movementX}px`;
          document.documentElement.style.setProperty(rightProperty, rightOffestBasedOnViewportAndContent);
          document.documentElement.style.setProperty(topProperty, `${current.offsetTop - -e3.movementY}px`);
        }, []);
        const repositionFabOnResize = () => {
          window.addEventListener("resize", handleResize);
          return () => {
            window.removeEventListener("resize", handleResize);
          };
        };
        (0, import_react417.useEffect)(repositionFabOnResize, []);
        if (!isImpersonating || !session.user) return null;
        const title = localizationKeys("impersonationFab.title", { identifier: getFullName(session.user) || getIdentifier(session.user) });
        const titleLength = t2(title).length;
        return /* @__PURE__ */ jsx2(Portal, { children: /* @__PURE__ */ jsxs2(Flex2, {
          ref: containerRef,
          elementDescriptor: descriptors.impersonationFab,
          onPointerDown,
          align: "center",
          sx: (t$1) => ({
            touchAction: "none",
            position: "fixed",
            overflow: "hidden",
            top: `var(${topProperty}, ${defaultTop}px)`,
            right: `var(${rightProperty}, ${defaultRight}px)`,
            zIndex: t$1.zIndices.$fab,
            boxShadow: t$1.shadows.$fabShadow,
            borderRadius: t$1.radii.$halfHeight,
            backgroundColor: t$1.colors.$white,
            fontFamily: t$1.fonts.$main,
            ":hover": { cursor: "grab" },
            ":hover #cl-impersonationText": {
              transition: `max-width ${t$1.transitionDuration.$slowest} ease, opacity ${t$1.transitionDuration.$slower} ease ${t$1.transitionDuration.$slowest}`,
              maxWidth: `min(calc(50vw - ${eyeWidth} - 2 * ${defaultRight}px), ${titleLength}ch)`,
              [mqu.md]: { maxWidth: `min(calc(100vw - ${eyeWidth} - 2 * ${defaultRight}px), ${titleLength}ch)` },
              opacity: 1
            },
            ":hover #cl-impersonationEye": { transform: "rotate(-180deg)" }
          }),
          children: [/* @__PURE__ */ jsx2(EyeCircle, {
            id: "cl-impersonationEye",
            width: eyeWidth,
            height: eyeHeight,
            sx: (t$1) => ({ transition: `transform ${t$1.transitionDuration.$slowest} ease` })
          }), /* @__PURE__ */ jsx2(Flex2, {
            id: "cl-impersonationText",
            sx: (t$1) => ({
              transition: `max-width ${t$1.transitionDuration.$slowest} ease, opacity ${t$1.transitionDuration.$fast} ease`,
              maxWidth: "0px",
              opacity: 0
            }),
            children: /* @__PURE__ */ jsx2(FabContent, {
              title,
              signOutText: localizationKeys("impersonationFab.action__signOut")
            })
          })]
        }) });
      };
      ImpersonationFab = withCoreUserGuard(() => /* @__PURE__ */ jsx2(InternalThemeProvider, { children: /* @__PURE__ */ jsx2(ImpersonationFabInternal, {}) }));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/GoogleOneTap.js
  var import_react419, GoogleOneTapContext, useGoogleOneTapContext;
  var init_GoogleOneTap = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/GoogleOneTap.js"() {
      init_OptionsContext();
      init_RouteContext();
      init_EnvironmentContext();
      import_react419 = __toESM(require_react(), 1);
      init_url();
      init_redirectUrls();
      GoogleOneTapContext = (0, import_react419.createContext)(null);
      useGoogleOneTapContext = () => {
        const context = (0, import_react419.useContext)(GoogleOneTapContext);
        const options2 = useOptions();
        const { displayConfig } = useEnvironment();
        const { queryParams } = useRouter();
        if (!context || context.componentName !== "GoogleOneTap") throw new Error("Clerk: useGoogleOneTapContext called outside GoogleOneTap.");
        const { componentName, ...ctx } = context;
        const generateCallbackUrls = (0, import_react419.useCallback)((returnBackUrl) => {
          const redirectUrls = new RedirectUrls(options2, {
            ...ctx,
            signInFallbackRedirectUrl: returnBackUrl,
            signUpFallbackRedirectUrl: returnBackUrl
          }, queryParams);
          let signUpUrl = options2.signUpUrl || displayConfig.signUpUrl;
          let signInUrl = options2.signInUrl || displayConfig.signInUrl;
          const preservedParams = redirectUrls.getPreservedSearchParams();
          signInUrl = buildURL({
            base: signInUrl,
            hashSearchParams: [queryParams, preservedParams]
          }, { stringify: true });
          signUpUrl = buildURL({
            base: signUpUrl,
            hashSearchParams: [queryParams, preservedParams]
          }, { stringify: true });
          const signInForceRedirectUrl = redirectUrls.getAfterSignInUrl();
          const signUpForceRedirectUrl = redirectUrls.getAfterSignUpUrl();
          const signUpContinueUrl = buildURL({
            base: signUpUrl,
            hashPath: "/continue",
            hashSearch: new URLSearchParams({ sign_up_force_redirect_url: signUpForceRedirectUrl }).toString()
          }, { stringify: true });
          const firstFactorUrl = buildURL({
            base: signInUrl,
            hashPath: "/factor-one",
            hashSearch: new URLSearchParams({ sign_in_force_redirect_url: signInForceRedirectUrl }).toString()
          }, { stringify: true });
          const secondFactorUrl = buildURL({
            base: signInUrl,
            hashPath: "/factor-two",
            hashSearch: new URLSearchParams({ sign_in_force_redirect_url: signInForceRedirectUrl }).toString()
          }, { stringify: true });
          return {
            signInUrl,
            signUpUrl,
            firstFactorUrl,
            secondFactorUrl,
            continueSignUpUrl: signUpContinueUrl,
            signInForceRedirectUrl,
            signUpForceRedirectUrl
          };
        }, [
          ctx,
          displayConfig.signInUrl,
          displayConfig.signUpUrl,
          options2,
          queryParams
        ]);
        return {
          ...ctx,
          componentName,
          generateCallbackUrls
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/GoogleOneTap/one-tap-start.js
  function OneTapStartInternal() {
    const clerk2 = useClerk();
    const { user } = useUser();
    const environment = useEnvironment();
    const isPromptedRef = (0, import_react420.useRef)(false);
    const { navigate } = useRouter();
    useGoogleOneTapContext();
    const environmentClientID = environment.displayConfig.googleOneTapClientId;
    const shouldLoadGIS = !user?.id && !!environmentClientID;
    async function initializeGIS() {
      clerkUnsupportedEnvironmentWarning("Google Identity Services");
    }
    const { data: initializedGoogle } = useFetch(shouldLoadGIS ? initializeGIS : void 0, "google-identity-services-script");
    (0, import_react420.useEffect)(() => {
      if (initializedGoogle && !user?.id && !isPromptedRef.current) {
        initializedGoogle.accounts.id.prompt((notification) => {
          if (notification.getMomentType() === "skipped") clerk2.closeGoogleOneTap();
        });
        isPromptedRef.current = true;
      }
    }, [
      clerk2,
      initializedGoogle,
      user?.id
    ]);
    (0, import_react420.useEffect)(() => {
      return () => {
        if (initializedGoogle && isPromptedRef.current) {
          isPromptedRef.current = false;
          initializedGoogle.accounts.id.cancel();
        }
      };
    }, [initializedGoogle]);
    return null;
  }
  var import_react420, OneTapStart;
  var init_one_tap_start = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/GoogleOneTap/one-tap-start.js"() {
      init_RouteContext();
      init_EnvironmentContext();
      init_useFetch();
      init_GoogleOneTap();
      init_contexts();
      init_errors();
      import_react420 = __toESM(require_react(), 1);
      init_react();
      OneTapStart = withCardStateProvider(OneTapStartInternal);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/GoogleOneTap/index.js
  var GoogleOneTap_exports = {};
  __export(GoogleOneTap_exports, {
    OneTap: () => OneTap
  });
  function OneTapRoutes() {
    return /* @__PURE__ */ jsx2(Route, {
      path: "one-tap",
      children: /* @__PURE__ */ jsx2(Flow.Root, {
        flow: "oneTap",
        children: /* @__PURE__ */ jsx2(Switch, { children: /* @__PURE__ */ jsx2(Route, {
          index: true,
          children: /* @__PURE__ */ jsx2(OneTapStart, {})
        }) })
      })
    });
  }
  var import_react422, OneTap;
  var init_GoogleOneTap2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/GoogleOneTap/index.js"() {
      init_Route();
      init_Switch();
      init_CoreSessionContext();
      init_Flow();
      init_one_tap_start();
      import_react422 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      OneTapRoutes.displayName = "OneTap";
      OneTap = withCoreSessionSwitchGuard(OneTapRoutes);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/BlankCaptchaModal/index.js
  var BlankCaptchaModal_exports = {};
  __export(BlankCaptchaModal_exports, {
    BlankCaptchaModal: () => BlankCaptchaModal
  });
  function BlankCaptchaModal() {
    return /* @__PURE__ */ jsx2(Route, {
      path: "blank-captcha",
      children: /* @__PURE__ */ jsx2("div", { children: /* @__PURE__ */ jsx2(Flow.Root, {
        flow: "blankCaptcha",
        children: /* @__PURE__ */ jsx2(Switch, { children: /* @__PURE__ */ jsx2(Route, {
          index: true,
          children: /* @__PURE__ */ jsx2(BlankCard, {})
        }) })
      }) })
    });
  }
  var BlankCard;
  var init_BlankCaptchaModal = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/BlankCaptchaModal/index.js"() {
      init_Route();
      init_Switch();
      init_makeLocalizable();
      init_AppearanceContext();
      init_contexts();
      init_Flow();
      init_Card();
      init_emotion_react_jsx_runtime_browser_esm();
      BlankCard = withCardStateProvider(() => {
        const { parsedCaptcha } = useAppearance();
        const { locale } = useLocalizations();
        const captchaTheme = parsedCaptcha?.theme;
        const captchaSize = parsedCaptcha?.size;
        const captchaLanguage = parsedCaptcha?.language || locale?.toLowerCase();
        return /* @__PURE__ */ jsx2(Card.Root, { children: /* @__PURE__ */ jsx2(Card.Content, { children: /* @__PURE__ */ jsx2("div", {
          id: "cl-modal-captcha-container",
          "data-cl-theme": captchaTheme,
          "data-cl-size": captchaSize,
          "data-cl-language": captchaLanguage
        }) }) });
      });
      BlankCaptchaModal.displayName = "BlankCaptchaModal";
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/UserVerification.js
  var import_react423, UserVerificationContext, useUserVerification;
  var init_UserVerification = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/UserVerification.js"() {
      import_react423 = __toESM(require_react(), 1);
      UserVerificationContext = (0, import_react423.createContext)(null);
      useUserVerification = () => {
        const context = (0, import_react423.useContext)(UserVerificationContext);
        if (!context || context.componentName !== "UserVerification") throw new Error("Clerk: useUserVerificationContext called outside of the mounted UserVerification component.");
        const { componentName, ...ctx } = context;
        return {
          ...ctx,
          componentName
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/useUserVerificationSession.js
  function withUserVerificationSessionGuard(Component) {
    const Hoc = (props) => {
      const { isLoading, data: data2 } = useUserVerificationSession();
      if (isLoading || !data2) return /* @__PURE__ */ jsx2(LoadingCard, {});
      return /* @__PURE__ */ jsx2(Component, { ...props });
    };
    const displayName = Component.displayName || Component.name || "Component";
    Component.displayName = displayName;
    Hoc.displayName = displayName;
    return Hoc;
  }
  var import_react424, useUserVerificationSessionKey, useUserVerificationSession;
  var init_useUserVerificationSession = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/useUserVerificationSession.js"() {
      init_useFetch();
      init_UserVerification();
      init_LoadingCard();
      import_react424 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      useUserVerificationSessionKey = () => {
        const { level } = useUserVerification();
        return (0, import_react424.useMemo)(() => ({ level: level || "second_factor" }), [level]);
      };
      useUserVerificationSession = () => {
        const { session } = useSession();
        const key = useUserVerificationSessionKey();
        return { ...useFetch(session ? session.startVerification : void 0, key, { throttleTime: 300 }) };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/useReverificationAlternativeStrategies.js
  function useReverificationAlternativeStrategies({ filterOutFactor, supportedFirstFactors }) {
    const firstFactors = supportedFirstFactors ? supportedFirstFactors.filter((f3) => !isResetPasswordStrategy(f3.strategy)) : [];
    const shouldAllowForAlternativeStrategies = firstFactors && firstFactors.length > 0;
    const firstPartyFactors = (0, import_react426.useMemo)(() => supportedFirstFactors ? supportedFirstFactors.filter((f3) => !f3.strategy.startsWith("oauth_")).filter((factor) => factorHasLocalStrategy(factor)).filter((factor) => !firstFactorsAreEqual(factor, filterOutFactor)).filter((factor) => factor.strategy === "passkey" ? isWebAuthnSupported() : true).sort(allStrategiesButtonsComparator) : [], [supportedFirstFactors, filterOutFactor]);
    return {
      hasAnyStrategy: shouldAllowForAlternativeStrategies,
      hasFirstParty: firstPartyFactors && firstPartyFactors.length > 0,
      firstPartyFactors
    };
  }
  var import_react426, firstFactorsAreEqual, secondFactorsAreEqual;
  var init_useReverificationAlternativeStrategies = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/useReverificationAlternativeStrategies.js"() {
      init_factorSorting();
      init_utils10();
      import_react426 = __toESM(require_react(), 1);
      init_webauthn();
      firstFactorsAreEqual = (a2, b2) => {
        if (!a2 || !b2) return false;
        if (a2.strategy === "email_code" && b2.strategy === "email_code") return a2.emailAddressId === b2.emailAddressId;
        if (a2.strategy === "phone_code" && b2.strategy === "phone_code") return a2.phoneNumberId === b2.phoneNumberId;
        return a2.strategy === b2.strategy;
      };
      secondFactorsAreEqual = (a2, b2) => {
        if (!a2 || !b2) return false;
        if (a2.strategy === "phone_code" && b2.strategy === "phone_code") return a2.phoneNumberId === b2.phoneNumberId;
        return a2.strategy === b2.strategy;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/HavingTrouble.js
  var HavingTrouble2;
  var init_HavingTrouble2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/HavingTrouble.js"() {
      init_localizationKeys();
      init_ErrorCard();
      init_emotion_react_jsx_runtime_browser_esm();
      HavingTrouble2 = (props) => {
        const { onBackLinkClick } = props;
        return /* @__PURE__ */ jsx2(ErrorCard, {
          cardTitle: localizationKeys("reverification.alternativeMethods.getHelp.title"),
          cardSubtitle: localizationKeys("reverification.alternativeMethods.getHelp.content"),
          onBackLinkClick
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/withHavingTrouble.js
  var import_react427, withHavingTrouble2;
  var init_withHavingTrouble2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/withHavingTrouble.js"() {
      init_HavingTrouble2();
      import_react427 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      withHavingTrouble2 = (Component, props) => {
        const [showHavingTrouble, setShowHavingTrouble] = import_react427.default.useState(false);
        const toggleHavingTrouble = import_react427.default.useCallback(() => setShowHavingTrouble((s2) => !s2), [setShowHavingTrouble]);
        if (showHavingTrouble) return /* @__PURE__ */ jsx2(HavingTrouble2, { onBackLinkClick: toggleHavingTrouble });
        return /* @__PURE__ */ jsx2(Component, {
          ...props,
          onHavingTroubleClick: toggleHavingTrouble
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/AlternativeMethods.js
  function getButtonLabel3(factor) {
    switch (factor.strategy) {
      case "email_code":
        return localizationKeys("reverification.alternativeMethods.blockButton__emailCode", { identifier: formatSafeIdentifier(factor.safeIdentifier) || "" });
      case "phone_code":
        return localizationKeys("reverification.alternativeMethods.blockButton__phoneCode", { identifier: formatSafeIdentifier(factor.safeIdentifier) || "" });
      case "password":
        return localizationKeys("reverification.alternativeMethods.blockButton__password");
      case "passkey":
        return localizationKeys("reverification.alternativeMethods.blockButton__passkey");
      default:
        throw new Error(`Invalid sign in strategy: "${factor.strategy}"`);
    }
  }
  function getButtonIcon2(factor) {
    return {
      email_code: email_default,
      phone_code: chat_alt_default,
      password: lock_closed_default,
      passkey: fingerprint_default,
      enterprise_sso: organization_default
    }[factor.strategy];
  }
  var import_react428, AlternativeMethods2, AlternativeMethodsList3;
  var init_AlternativeMethods2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/AlternativeMethods.js"() {
      init_localizationKeys();
      init_chat_alt();
      init_email2();
      init_fingerprint();
      init_lock_closed();
      init_organization();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      init_formatSafeIdentifier();
      init_ArrowBlockButton();
      init_BackLink();
      init_useReverificationAlternativeStrategies();
      init_useUserVerificationSession();
      init_withHavingTrouble2();
      import_react428 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      AlternativeMethods2 = (props) => {
        return withHavingTrouble2(AlternativeMethodsList3, { ...props });
      };
      AlternativeMethodsList3 = (props) => {
        const { onBackLinkClick, onHavingTroubleClick, onFactorSelected } = props;
        const card = useCardState();
        const { data: data2 } = useUserVerificationSession();
        const { firstPartyFactors, hasAnyStrategy } = useReverificationAlternativeStrategies({
          filterOutFactor: props?.currentFactor,
          supportedFirstFactors: data2?.supportedFirstFactors
        });
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "alternativeMethods",
          children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
            /* @__PURE__ */ jsxs2(Header.Root, { children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("reverification.alternativeMethods.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("reverification.alternativeMethods.subtitle") })] }),
            /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
            /* @__PURE__ */ jsx2(Flex2, {
              direction: "col",
              elementDescriptor: descriptors.main,
              gap: 6,
              children: /* @__PURE__ */ jsxs2(Col2, {
                gap: 4,
                children: [hasAnyStrategy && /* @__PURE__ */ jsx2(Flex2, {
                  elementDescriptor: descriptors.alternativeMethods,
                  direction: "col",
                  gap: 2,
                  children: firstPartyFactors.map((factor, i2) => /* @__PURE__ */ jsx2(ArrowBlockButton, {
                    leftIcon: getButtonIcon2(factor),
                    textLocalizationKey: getButtonLabel3(factor),
                    elementDescriptor: descriptors.alternativeMethodsBlockButton,
                    textElementDescriptor: descriptors.alternativeMethodsBlockButtonText,
                    arrowElementDescriptor: descriptors.alternativeMethodsBlockButtonArrow,
                    textVariant: "buttonLarge",
                    isDisabled: card.isLoading,
                    onClick: () => {
                      card.setError(void 0);
                      onFactorSelected(factor);
                    }
                  }, i2))
                }), onBackLinkClick && /* @__PURE__ */ jsx2(BackLink2, {
                  boxElementDescriptor: descriptors.backRow,
                  linkElementDescriptor: descriptors.backLink,
                  onClick: onBackLinkClick
                })]
              })
            })
          ] }), /* @__PURE__ */ jsx2(Card.Footer, { children: /* @__PURE__ */ jsxs2(Card.Action, {
            elementId: "havingTrouble",
            children: [/* @__PURE__ */ jsx2(Card.ActionText, { localizationKey: localizationKeys("reverification.alternativeMethods.actionText") }), /* @__PURE__ */ jsx2(Card.ActionLink, {
              localizationKey: localizationKeys("reverification.alternativeMethods.actionLink"),
              onClick: onHavingTroubleClick
            })]
          }) })] })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/use-after-verification.js
  var import_react429, useAfterVerification;
  var init_use_after_verification = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/use-after-verification.js"() {
      init_RouteContext();
      init_UserVerification();
      init_useSupportEmail();
      init_useUserVerificationSession();
      init_errors();
      import_react429 = __toESM(require_react(), 1);
      init_react();
      useAfterVerification = () => {
        const { afterVerification } = useUserVerification();
        const supportEmail = useSupportEmail();
        const { setActive } = useClerk();
        const { setCache } = useUserVerificationSession();
        const { navigate } = useRouter();
        return { handleVerificationResponse: (0, import_react429.useCallback)(async (sessionVerification) => {
          setCache({
            data: sessionVerification,
            isLoading: false,
            isValidating: false,
            error: null,
            cachedAt: Date.now()
          });
          switch (sessionVerification.status) {
            case "complete":
              await setActive({ session: sessionVerification.session.id });
              return afterVerification?.();
            case "needs_second_factor":
              return navigate("./factor-two");
            default:
              return console.error(clerkInvalidFAPIResponse(sessionVerification.status, supportEmail));
          }
        }, [
          navigate,
          setActive,
          supportEmail
        ]) };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UserVerificationFactorOnePassword.js
  function UserVerificationFactorOnePasswordCard(props) {
    const { onShowAlternativeMethodsClick } = props;
    const { session } = useSession();
    const { handleVerificationResponse } = useAfterVerification();
    const card = useCardState();
    const [showHavingTrouble, setShowHavingTrouble] = import_react431.default.useState(false);
    const toggleHavingTrouble = import_react431.default.useCallback(() => setShowHavingTrouble((s2) => !s2), [setShowHavingTrouble]);
    const passwordControl = useFormControl("password", "", {
      type: "password",
      label: localizationKeys("formFieldLabel__password"),
      placeholder: localizationKeys("formFieldInputPlaceholder__password")
    });
    const handlePasswordSubmit = async (e3) => {
      e3.preventDefault();
      return session?.attemptFirstFactorVerification({
        strategy: "password",
        password: passwordControl.value
      }).then(handleVerificationResponse).catch((err) => handleError(err, [passwordControl], card.setError));
    };
    if (showHavingTrouble) return /* @__PURE__ */ jsx2(HavingTrouble, { onBackLinkClick: toggleHavingTrouble });
    return /* @__PURE__ */ jsx2(Flow.Part, {
      part: "password",
      children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
        /* @__PURE__ */ jsxs2(Header.Root, { children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("reverification.password.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("reverification.password.subtitle") })] }),
        /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
        /* @__PURE__ */ jsxs2(Col2, {
          elementDescriptor: descriptors.main,
          gap: 4,
          children: [/* @__PURE__ */ jsxs2(Form$1.Root, {
            onSubmit: handlePasswordSubmit,
            gap: 8,
            children: [/* @__PURE__ */ jsx2(Form$1.ControlRow, {
              elementId: passwordControl.id,
              children: /* @__PURE__ */ jsx2(Form$1.PasswordInput, {
                ...passwordControl.props,
                autoFocus: true
              })
            }), /* @__PURE__ */ jsx2(Form$1.SubmitButton, { hasArrow: true })]
          }), /* @__PURE__ */ jsx2(Card.Action, {
            elementId: onShowAlternativeMethodsClick ? "alternativeMethods" : "havingTrouble",
            children: /* @__PURE__ */ jsx2(Card.ActionLink, {
              localizationKey: localizationKeys(onShowAlternativeMethodsClick ? "reverification.password.actionLink" : "reverification.alternativeMethods.actionLink"),
              onClick: onShowAlternativeMethodsClick || toggleHavingTrouble
            })
          })]
        })
      ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] })
    });
  }
  var import_react431;
  var init_UserVerificationFactorOnePassword = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UserVerificationFactorOnePassword.js"() {
      init_localizationKeys();
      init_useFormControl();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      init_errorHandler();
      init_Form2();
      init_HavingTrouble();
      init_use_after_verification();
      import_react431 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/utils.js
  function sortByPrimaryFactor(a2, b2) {
    if ("primary" in a2 && a2.primary && !("primary" in b2 && b2.primary)) return -1;
    if ("primary" in b2 && b2.primary && !("primary" in a2 && a2.primary)) return 1;
    return 0;
  }
  var init_utils14 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/utils.js"() {
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UVFactorOneCodeForm.js
  var import_react433, UVFactorOneCodeForm;
  var init_UVFactorOneCodeForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UVFactorOneCodeForm.js"() {
      init_contexts();
      init_errorHandler();
      init_VerificationCodeCard();
      init_use_after_verification();
      import_react433 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      UVFactorOneCodeForm = (props) => {
        const { session } = useSession();
        const card = useCardState();
        const { handleVerificationResponse } = useAfterVerification();
        import_react433.default.useEffect(() => {
          if (!props.factorAlreadyPrepared) prepare();
        }, []);
        const prepare = () => {
          session.prepareFirstFactorVerification(props.factor).then(() => props.onFactorPrepare()).catch((err) => handleError(err, [], card.setError));
        };
        const action = (code, resolve, reject) => {
          session.attemptFirstFactorVerification({
            strategy: props.factor.strategy,
            code
          }).then(async (res) => {
            await resolve();
            return handleVerificationResponse(res);
          }).catch(reject);
        };
        return /* @__PURE__ */ jsx2(VerificationCodeCard, {
          cardTitle: props.cardTitle,
          cardSubtitle: props.cardSubtitle,
          inputLabel: props.inputLabel,
          resendButton: props.resendButton,
          onCodeEntryFinishedAction: action,
          onResendCodeClicked: prepare,
          safeIdentifier: props.factor.safeIdentifier,
          profileImageUrl: session?.user?.imageUrl,
          onShowAlternativeMethodsClicked: props.onShowAlternativeMethodsClicked,
          showAlternativeMethods: props.showAlternativeMethods,
          onBackLinkClicked: props.onBackLinkClicked
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UVFactorOneEmailCodeCard.js
  var UVFactorOneEmailCodeCard;
  var init_UVFactorOneEmailCodeCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UVFactorOneEmailCodeCard.js"() {
      init_localizationKeys();
      init_Flow();
      init_UVFactorOneCodeForm();
      init_emotion_react_jsx_runtime_browser_esm();
      UVFactorOneEmailCodeCard = (props) => {
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "emailCode",
          children: /* @__PURE__ */ jsx2(UVFactorOneCodeForm, {
            ...props,
            cardTitle: localizationKeys("reverification.emailCode.title"),
            cardSubtitle: localizationKeys("reverification.emailCode.subtitle"),
            inputLabel: localizationKeys("reverification.emailCode.formTitle"),
            resendButton: localizationKeys("reverification.emailCode.resendButton")
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UVFactorOnePasskeysCard.js
  var import_react435, UVFactorOnePasskeysCard;
  var init_UVFactorOnePasskeysCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UVFactorOnePasskeysCard.js"() {
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_errorHandler();
      init_Form2();
      init_use_after_verification();
      import_react435 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      UVFactorOnePasskeysCard = (props) => {
        const { onShowAlternativeMethodsClicked } = props;
        const { session } = useSession();
        const { __internal_isWebAuthnSupported } = useClerk();
        const { handleVerificationResponse } = useAfterVerification();
        const card = useCardState();
        const handlePasskeysAttempt = () => {
          session?.verifyWithPasskey().then((response) => {
            return handleVerificationResponse(response);
          }).catch((err) => handleError(err, [], card.setError));
        };
        return /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
          /* @__PURE__ */ jsxs2(Header.Root, { children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("reverification.passkey.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("reverification.passkey.subtitle") })] }),
          /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
          /* @__PURE__ */ jsx2(Col2, {
            elementDescriptor: descriptors.main,
            gap: 8,
            children: /* @__PURE__ */ jsx2(Form$1.Root, { children: /* @__PURE__ */ jsxs2(Col2, {
              gap: 3,
              children: [/* @__PURE__ */ jsx2(Button2, {
                type: "button",
                onClick: (e3) => {
                  e3.preventDefault();
                  handlePasskeysAttempt();
                },
                localizationKey: localizationKeys("reverification.passkey.blockButton__passkey"),
                hasArrow: true
              }), /* @__PURE__ */ jsx2(Card.Action, {
                elementId: "alternativeMethods",
                children: onShowAlternativeMethodsClicked && /* @__PURE__ */ jsx2(Card.ActionLink, {
                  localizationKey: localizationKeys("footerActionLink__useAnotherMethod"),
                  onClick: onShowAlternativeMethodsClicked
                })
              })]
            }) })
          })
        ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UVFactorOnePhoneCodeCard.js
  var UVFactorOnePhoneCodeCard;
  var init_UVFactorOnePhoneCodeCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UVFactorOnePhoneCodeCard.js"() {
      init_localizationKeys();
      init_Flow();
      init_UVFactorOneCodeForm();
      init_emotion_react_jsx_runtime_browser_esm();
      UVFactorOnePhoneCodeCard = (props) => {
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "phoneCode",
          children: /* @__PURE__ */ jsx2(UVFactorOneCodeForm, {
            ...props,
            cardTitle: localizationKeys("reverification.phoneCode.title"),
            cardSubtitle: localizationKeys("reverification.phoneCode.subtitle"),
            inputLabel: localizationKeys("reverification.phoneCode.formTitle"),
            resendButton: localizationKeys("reverification.phoneCode.resendButton"),
            showAlternativeMethods: props.showAlternativeMethods
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UserVerificationFactorOne.js
  function UserVerificationFactorOneInternal() {
    const { data: data2 } = useUserVerificationSession();
    const card = useCardState();
    const { navigate } = useRouter();
    const lastPreparedFactorKeyRef = import_react437.default.useRef("");
    const sessionVerification = data2;
    const availableFactors = (0, import_react437.useMemo)(() => {
      return sessionVerification.supportedFirstFactors?.filter((factor) => SUPPORTED_STRATEGIES.includes(factor.strategy))?.sort(sortByPrimaryFactor) || null;
    }, [sessionVerification.supportedFirstFactors]);
    const { preferredSignInStrategy } = useEnvironment().displayConfig;
    const [{ currentFactor }, setFactor] = import_react437.default.useState(() => ({
      currentFactor: determineStartingSignInFactor(availableFactors, null, preferredSignInStrategy),
      prevCurrentFactor: void 0
    }));
    const { hasAnyStrategy, hasFirstParty } = useReverificationAlternativeStrategies({
      filterOutFactor: currentFactor,
      supportedFirstFactors: availableFactors
    });
    const [showAllStrategies, setShowAllStrategies] = import_react437.default.useState(() => !currentFactor || !factorHasLocalStrategy(currentFactor));
    const toggleAllStrategies = hasAnyStrategy ? () => {
      card.setError(void 0);
      setShowAllStrategies((s2) => !s2);
    } : void 0;
    const handleFactorPrepare = () => {
      lastPreparedFactorKeyRef.current = factorKey2(currentFactor);
    };
    const selectFactor = (factor) => {
      setFactor((prev3) => ({
        currentFactor: factor,
        prevCurrentFactor: prev3.currentFactor
      }));
    };
    (0, import_react437.useEffect)(() => {
      if (sessionVerification.status === "needs_second_factor") navigate("factor-two");
    }, []);
    if (!currentFactor) return /* @__PURE__ */ jsx2(ErrorCard, {
      cardTitle: localizationKeys("reverification.noAvailableMethods.title"),
      cardSubtitle: localizationKeys("reverification.noAvailableMethods.subtitle"),
      message: localizationKeys("reverification.noAvailableMethods.message"),
      shouldNavigateBack: false
    });
    if (showAllStrategies) {
      const canGoBack = factorHasLocalStrategy(currentFactor);
      const toggle = toggleAllStrategies;
      const backHandler = () => {
        card.setError(void 0);
        toggle?.();
      };
      return /* @__PURE__ */ jsx2(AlternativeMethods2, {
        onBackLinkClick: canGoBack ? backHandler : void 0,
        onFactorSelected: (f3) => {
          selectFactor(f3);
          toggle?.();
        },
        currentFactor
      });
    }
    switch (currentFactor?.strategy) {
      case "password":
        return /* @__PURE__ */ jsx2(UserVerificationFactorOnePasswordCard, { onShowAlternativeMethodsClick: toggleAllStrategies });
      case "email_code":
        return /* @__PURE__ */ jsx2(UVFactorOneEmailCodeCard, {
          factorAlreadyPrepared: lastPreparedFactorKeyRef.current === factorKey2(currentFactor),
          onFactorPrepare: handleFactorPrepare,
          onShowAlternativeMethodsClicked: toggleAllStrategies,
          factor: currentFactor,
          showAlternativeMethods: hasFirstParty
        });
      case "phone_code":
        return /* @__PURE__ */ jsx2(UVFactorOnePhoneCodeCard, {
          factorAlreadyPrepared: lastPreparedFactorKeyRef.current === factorKey2(currentFactor),
          onFactorPrepare: handleFactorPrepare,
          onShowAlternativeMethodsClicked: toggleAllStrategies,
          factor: currentFactor,
          showAlternativeMethods: hasFirstParty
        });
      case "passkey":
        return /* @__PURE__ */ jsx2(UVFactorOnePasskeysCard, { onShowAlternativeMethodsClicked: toggleAllStrategies });
      default:
        return /* @__PURE__ */ jsx2(LoadingCard, {});
    }
  }
  var import_react437, factorKey2, SUPPORTED_STRATEGIES, UserVerificationFactorOne;
  var init_UserVerificationFactorOne = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UserVerificationFactorOne.js"() {
      init_RouteContext();
      init_EnvironmentContext();
      init_localizationKeys();
      init_contexts();
      init_LoadingCard();
      init_ErrorCard();
      init_utils10();
      init_useReverificationAlternativeStrategies();
      init_useUserVerificationSession();
      init_AlternativeMethods2();
      init_UserVerificationFactorOnePassword();
      init_utils14();
      init_UVFactorOneEmailCodeCard();
      init_UVFactorOnePasskeysCard();
      init_UVFactorOnePhoneCodeCard();
      import_react437 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      factorKey2 = (factor) => {
        if (!factor) return "";
        let key = factor.strategy;
        if ("emailAddressId" in factor) key += factor.emailAddressId;
        if ("phoneNumberId" in factor) key += factor.phoneNumberId;
        return key;
      };
      SUPPORTED_STRATEGIES = [
        "password",
        "email_code",
        "phone_code",
        "passkey"
      ];
      UserVerificationFactorOne = withUserVerificationSessionGuard(withCardStateProvider(UserVerificationFactorOneInternal));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UVFactorTwoCodeForm.js
  var import_react438, UVFactorTwoCodeForm;
  var init_UVFactorTwoCodeForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UVFactorTwoCodeForm.js"() {
      init_contexts();
      init_errorHandler();
      init_VerificationCodeCard();
      init_use_after_verification();
      import_react438 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      UVFactorTwoCodeForm = (props) => {
        const card = useCardState();
        const { session } = useSession();
        const { handleVerificationResponse } = useAfterVerification();
        import_react438.default.useEffect(() => {
          if (props.factorAlreadyPrepared) return;
          prepare?.();
        }, []);
        const prepare = props.prepare ? () => props.prepare?.().then(() => props.onFactorPrepare()).catch((err) => handleError(err, [], card.setError)) : void 0;
        const action = (code, resolve, reject) => {
          session.attemptSecondFactorVerification({
            strategy: props.factor.strategy,
            code
          }).then(async (res) => {
            await resolve();
            return handleVerificationResponse(res);
          }).catch(reject);
        };
        return /* @__PURE__ */ jsx2(VerificationCodeCard, {
          cardTitle: props.cardTitle,
          cardSubtitle: props.cardSubtitle,
          resendButton: props.resendButton,
          inputLabel: props.inputLabel,
          onCodeEntryFinishedAction: action,
          onResendCodeClicked: prepare,
          safeIdentifier: "safeIdentifier" in props.factor ? props.factor.safeIdentifier : void 0,
          profileImageUrl: session?.user?.imageUrl,
          onShowAlternativeMethodsClicked: props.onShowAlternativeMethodsClicked,
          showAlternativeMethods: props.showAlternativeMethods
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UserVerificationFactorTwoTOTP.js
  function UserVerificationFactorTwoTOTP(props) {
    return /* @__PURE__ */ jsx2(Flow.Part, {
      part: "totp2Fa",
      children: /* @__PURE__ */ jsx2(UVFactorTwoCodeForm, {
        ...props,
        cardTitle: localizationKeys("reverification.totpMfa.title"),
        cardSubtitle: localizationKeys("reverification.totpMfa.subtitle"),
        inputLabel: localizationKeys("reverification.totpMfa.formTitle"),
        showAlternativeMethods: props.showAlternativeMethods
      })
    });
  }
  var init_UserVerificationFactorTwoTOTP = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UserVerificationFactorTwoTOTP.js"() {
      init_localizationKeys();
      init_Flow();
      init_UVFactorTwoCodeForm();
      init_emotion_react_jsx_runtime_browser_esm();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UVFactorTwoAlternativeMethods.js
  function getButtonLabel4(factor) {
    switch (factor.strategy) {
      case "phone_code":
        return localizationKeys("reverification.alternativeMethods.blockButton__phoneCode", { identifier: formatSafeIdentifier(factor.safeIdentifier) || "" });
      case "totp":
        return localizationKeys("reverification.alternativeMethods.blockButton__totp");
      case "backup_code":
        return localizationKeys("reverification.alternativeMethods.blockButton__backupCode");
      default:
        throw new Error(`Invalid verification strategy: "${factor.strategy}"`);
    }
  }
  var import_react440, UVFactorTwoAlternativeMethods, AlternativeMethodsList4;
  var init_UVFactorTwoAlternativeMethods = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UVFactorTwoAlternativeMethods.js"() {
      init_localizationKeys();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Card();
      init_Header();
      init_formatSafeIdentifier();
      init_ArrowBlockButton();
      init_factorSorting();
      init_HavingTrouble2();
      import_react440 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      UVFactorTwoAlternativeMethods = (props) => {
        const [showHavingTrouble, setShowHavingTrouble] = import_react440.default.useState(false);
        const toggleHavingTrouble = import_react440.default.useCallback(() => setShowHavingTrouble((s2) => !s2), [setShowHavingTrouble]);
        if (showHavingTrouble) return /* @__PURE__ */ jsx2(HavingTrouble2, { onBackLinkClick: toggleHavingTrouble });
        return /* @__PURE__ */ jsx2(AlternativeMethodsList4, {
          supportedSecondFactors: props.supportedSecondFactors,
          onBackLinkClick: props.onBackLinkClick,
          onFactorSelected: props.onFactorSelected,
          onHavingTroubleClick: toggleHavingTrouble
        });
      };
      AlternativeMethodsList4 = (props) => {
        const { supportedSecondFactors, onHavingTroubleClick, onFactorSelected, onBackLinkClick } = props;
        const card = useCardState();
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "alternativeMethods",
          children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
            /* @__PURE__ */ jsxs2(Header.Root, { children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("reverification.alternativeMethods.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("reverification.alternativeMethods.subtitle") })] }),
            /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
            /* @__PURE__ */ jsxs2(Col2, {
              elementDescriptor: descriptors.main,
              gap: 3,
              children: [/* @__PURE__ */ jsx2(Col2, {
                gap: 2,
                children: supportedSecondFactors?.sort(backupCodePrefFactorComparator).map((factor, i2) => /* @__PURE__ */ jsx2(ArrowBlockButton, {
                  textLocalizationKey: getButtonLabel4(factor),
                  elementDescriptor: descriptors.alternativeMethodsBlockButton,
                  textElementDescriptor: descriptors.alternativeMethodsBlockButtonText,
                  arrowElementDescriptor: descriptors.alternativeMethodsBlockButtonArrow,
                  isDisabled: card.isLoading,
                  onClick: () => onFactorSelected(factor)
                }, i2))
              }), /* @__PURE__ */ jsx2(Card.Action, {
                elementId: "alternativeMethods",
                children: onBackLinkClick && /* @__PURE__ */ jsx2(Card.ActionLink, {
                  localizationKey: localizationKeys("backButton"),
                  onClick: props.onBackLinkClick
                })
              })]
            })
          ] }), /* @__PURE__ */ jsx2(Card.Footer, { children: /* @__PURE__ */ jsxs2(Card.Action, {
            elementId: "havingTrouble",
            children: [/* @__PURE__ */ jsx2(Card.ActionText, { localizationKey: localizationKeys("reverification.alternativeMethods.actionText") }), /* @__PURE__ */ jsx2(Card.ActionLink, {
              localizationKey: localizationKeys("reverification.alternativeMethods.actionLink"),
              onClick: onHavingTroubleClick
            })]
          }) })] })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UVFactorTwoBackupCodeCard.js
  var import_react441, UVFactorTwoBackupCodeCard;
  var init_UVFactorTwoBackupCodeCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UVFactorTwoBackupCodeCard.js"() {
      init_localizationKeys();
      init_useFormControl();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_errorHandler();
      init_Form2();
      init_use_after_verification();
      import_react441 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      UVFactorTwoBackupCodeCard = (props) => {
        const { onShowAlternativeMethodsClicked } = props;
        const { session } = useSession();
        const { handleVerificationResponse } = useAfterVerification();
        const card = useCardState();
        const codeControl = useFormControl("code", "", {
          type: "text",
          label: localizationKeys("formFieldLabel__backupCode"),
          isRequired: true
        });
        const handleBackupCodeSubmit = (e3) => {
          e3.preventDefault();
          return session.attemptSecondFactorVerification({
            strategy: "backup_code",
            code: codeControl.value
          }).then(handleVerificationResponse).catch((err) => handleError(err, [codeControl], card.setError));
        };
        return /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
          /* @__PURE__ */ jsxs2(Header.Root, { children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("reverification.backupCodeMfa.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("reverification.backupCodeMfa.subtitle") })] }),
          /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
          /* @__PURE__ */ jsx2(Col2, {
            elementDescriptor: descriptors.main,
            gap: 8,
            children: /* @__PURE__ */ jsxs2(Form$1.Root, {
              onSubmit: handleBackupCodeSubmit,
              children: [/* @__PURE__ */ jsx2(Form$1.ControlRow, {
                elementId: codeControl.id,
                children: /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                  ...codeControl.props,
                  autoFocus: true,
                  onActionClicked: onShowAlternativeMethodsClicked
                })
              }), /* @__PURE__ */ jsxs2(Col2, {
                gap: 3,
                children: [/* @__PURE__ */ jsx2(Form$1.SubmitButton, { hasArrow: true }), /* @__PURE__ */ jsx2(Card.Action, {
                  elementId: "alternativeMethods",
                  children: onShowAlternativeMethodsClicked && /* @__PURE__ */ jsx2(Card.ActionLink, {
                    localizationKey: localizationKeys("footerActionLink__useAnotherMethod"),
                    onClick: onShowAlternativeMethodsClicked
                  })
                })]
              })]
            })
          })
        ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UVFactorTwoPhoneCodeCard.js
  var UVFactorTwoPhoneCodeCard;
  var init_UVFactorTwoPhoneCodeCard = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UVFactorTwoPhoneCodeCard.js"() {
      init_localizationKeys();
      init_Flow();
      init_UVFactorTwoCodeForm();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      UVFactorTwoPhoneCodeCard = (props) => {
        const { session } = useSession();
        const prepare = () => {
          const { phoneNumberId, strategy } = props.factor;
          return session.prepareSecondFactorVerification({
            phoneNumberId,
            strategy
          });
        };
        return /* @__PURE__ */ jsx2(Flow.Part, {
          part: "phoneCode2Fa",
          children: /* @__PURE__ */ jsx2(UVFactorTwoCodeForm, {
            ...props,
            cardTitle: localizationKeys("reverification.phoneCodeMfa.title"),
            cardSubtitle: localizationKeys("reverification.phoneCodeMfa.subtitle"),
            inputLabel: localizationKeys("reverification.phoneCodeMfa.formTitle"),
            resendButton: localizationKeys("reverification.phoneCodeMfa.resendButton"),
            prepare
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UserVerificationFactorTwo.js
  function UserVerificationFactorTwoComponent() {
    const { navigate } = useRouter();
    const { data: data2 } = useUserVerificationSession();
    const sessionVerification = data2;
    const availableFactors = (0, import_react444.useMemo)(() => {
      return sessionVerification.supportedSecondFactors?.filter((factor) => SUPPORTED_STRATEGIES2.includes(factor.strategy))?.sort(sortByPrimaryFactor) || null;
    }, [sessionVerification.supportedSecondFactors]);
    const { currentFactor, factorAlreadyPrepared, handleFactorPrepare, selectFactor, showAllStrategies, toggleAllStrategies } = useSecondFactorSelection(availableFactors);
    const secondFactorsExcludingCurrent = (0, import_react444.useMemo)(() => availableFactors?.filter((factor) => !secondFactorsAreEqual(factor, currentFactor)), [availableFactors, currentFactor]);
    const hasAlternativeStrategies = (0, import_react444.useMemo)(() => secondFactorsExcludingCurrent && secondFactorsExcludingCurrent.length > 0 || false, [secondFactorsExcludingCurrent]);
    (0, import_react444.useEffect)(() => {
      if (sessionVerification.status === "needs_first_factor") navigate("../");
    }, []);
    if (!currentFactor) return /* @__PURE__ */ jsx2(LoadingCard, {});
    if (showAllStrategies && hasAlternativeStrategies) return /* @__PURE__ */ jsx2(UVFactorTwoAlternativeMethods, {
      supportedSecondFactors: secondFactorsExcludingCurrent || null,
      onBackLinkClick: toggleAllStrategies,
      onFactorSelected: selectFactor
    });
    switch (currentFactor?.strategy) {
      case "phone_code":
        return /* @__PURE__ */ jsx2(UVFactorTwoPhoneCodeCard, {
          factorAlreadyPrepared,
          onFactorPrepare: handleFactorPrepare,
          factor: currentFactor,
          onShowAlternativeMethodsClicked: toggleAllStrategies,
          showAlternativeMethods: hasAlternativeStrategies
        });
      case "totp":
        return /* @__PURE__ */ jsx2(UserVerificationFactorTwoTOTP, {
          factorAlreadyPrepared,
          onFactorPrepare: handleFactorPrepare,
          factor: currentFactor,
          onShowAlternativeMethodsClicked: toggleAllStrategies,
          showAlternativeMethods: hasAlternativeStrategies
        });
      case "backup_code":
        return /* @__PURE__ */ jsx2(UVFactorTwoBackupCodeCard, { onShowAlternativeMethodsClicked: toggleAllStrategies });
      default:
        return /* @__PURE__ */ jsx2(LoadingCard, {});
    }
  }
  var import_react444, SUPPORTED_STRATEGIES2, UserVerificationFactorTwo;
  var init_UserVerificationFactorTwo = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/UserVerificationFactorTwo.js"() {
      init_RouteContext();
      init_contexts();
      init_LoadingCard();
      init_useSecondFactorSelection();
      init_useReverificationAlternativeStrategies();
      init_useUserVerificationSession();
      init_utils14();
      init_UserVerificationFactorTwoTOTP();
      init_UVFactorTwoAlternativeMethods();
      init_UVFactorTwoBackupCodeCard();
      init_UVFactorTwoPhoneCodeCard();
      import_react444 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      SUPPORTED_STRATEGIES2 = [
        "phone_code",
        "totp",
        "backup_code"
      ];
      UserVerificationFactorTwo = withUserVerificationSessionGuard(withCardStateProvider(UserVerificationFactorTwoComponent));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/index.js
  var UserVerification_exports = {};
  __export(UserVerification_exports, {
    UserVerification: () => UserVerification,
    UserVerificationModal: () => UserVerificationModal
  });
  function UserVerificationRoutes() {
    const { invalidate } = useUserVerificationSession();
    (0, import_react445.useEffect)(() => {
      return () => {
        invalidate();
      };
    }, []);
    return /* @__PURE__ */ jsx2(Flow.Root, {
      flow: "userVerification",
      children: /* @__PURE__ */ jsxs2(Switch, { children: [/* @__PURE__ */ jsx2(Route, {
        path: "factor-two",
        children: /* @__PURE__ */ jsx2(UserVerificationFactorTwo, {})
      }), /* @__PURE__ */ jsx2(Route, {
        index: true,
        children: /* @__PURE__ */ jsx2(UserVerificationFactorOne, {})
      })] })
    });
  }
  var import_react445, UserVerification, UserVerificationModal;
  var init_UserVerification2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/UserVerification/index.js"() {
      init_Route();
      init_Switch();
      init_UserVerification();
      init_CoreSessionContext();
      init_Flow();
      init_useUserVerificationSession();
      init_UserVerificationFactorOne();
      init_UserVerificationFactorTwo();
      import_react445 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      UserVerificationRoutes.displayName = "UserVerification";
      UserVerification = withCoreSessionSwitchGuard(UserVerificationRoutes);
      UserVerificationModal = (props) => {
        return /* @__PURE__ */ jsx2(Route, {
          path: "user-verification",
          children: /* @__PURE__ */ jsx2(UserVerificationContext.Provider, {
            value: {
              componentName: "UserVerification",
              ...props,
              routing: "virtual"
            },
            children: /* @__PURE__ */ jsx2("div", { children: /* @__PURE__ */ jsx2(UserVerification, {
              ...props,
              routing: "virtual"
            }) })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/Waitlist.js
  var import_react446, WAITLIST_INITIAL_VALUE_KEYS, WaitlistContext, useWaitlistContext;
  var init_Waitlist = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/Waitlist.js"() {
      init_OptionsContext();
      init_RouteContext();
      init_utils2();
      init_EnvironmentContext();
      import_react446 = __toESM(require_react(), 1);
      init_url();
      WAITLIST_INITIAL_VALUE_KEYS = ["email_address"];
      WaitlistContext = (0, import_react446.createContext)(null);
      useWaitlistContext = () => {
        const context = (0, import_react446.useContext)(WaitlistContext);
        const { displayConfig } = useEnvironment();
        const options2 = useOptions();
        const { queryString } = useRouter();
        const initialValuesFromQueryParams = (0, import_react446.useMemo)(() => getInitialValuesFromQueryParams(queryString, WAITLIST_INITIAL_VALUE_KEYS), []);
        if (!context || context.componentName !== "Waitlist") throw new Error("Clerk: useWaitlistContext called outside Waitlist.");
        const { componentName, ...ctx } = context;
        let signInUrl = ctx.signInUrl || options2.signInUrl || displayConfig.signInUrl;
        signInUrl = buildURL({ base: signInUrl }, { stringify: true });
        return {
          ...ctx,
          componentName,
          signInUrl,
          initialValues: { ...initialValuesFromQueryParams }
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/spinner-jumbo.js
  function _extends55() {
    return _extends55 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends55.apply(null, arguments);
  }
  var React$161, _path61, SvgSpinnerJumbo, spinner_jumbo_default;
  var init_spinner_jumbo = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/spinner-jumbo.js"() {
      React$161 = __toESM(require_react(), 1);
      SvgSpinnerJumbo = function SvgSpinnerJumbo$1(props) {
        return /* @__PURE__ */ React$161.createElement("svg", _extends55({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 17 16"
        }, props), _path61 || (_path61 = /* @__PURE__ */ React$161.createElement("path", {
          stroke: "#747686",
          strokeLinecap: "round",
          strokeLinejoin: "round",
          strokeWidth: 1.5,
          d: "M3.25 8zM8.5 2.75zM13.75 8c0-2.9-2.35-5.25-5.25-5.25"
        })));
      };
      spinner_jumbo_default = SvgSpinnerJumbo;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/Waitlist/WaitlistForm.js
  var WaitlistForm;
  var init_WaitlistForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/Waitlist/WaitlistForm.js"() {
      init_RouteContext();
      init_useLoadingStatus();
      init_localizationKeys();
      init_spinner_jumbo();
      init_Waitlist();
      init_animations();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_Header();
      init_errorHandler();
      init_Form2();
      init_Wizard();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      WaitlistForm = (props) => {
        const clerk2 = useClerk();
        const card = useCardState();
        const status = useLoadingStatus();
        const { navigate } = useRouter();
        const ctx = useWaitlistContext();
        const { formState } = props;
        const wizard = useWizard({ onNextStep: () => card.setError(void 0) });
        const handleSubmit = async (e3) => {
          e3.preventDefault();
          status.setLoading();
          card.setLoading();
          card.setError(void 0);
          const joinWaitlistParams = { emailAddress: formState.emailAddress.value };
          await clerk2.joinWaitlist(joinWaitlistParams).then(() => {
            wizard.nextStep();
            setTimeout(() => {
              if (ctx.afterJoinWaitlistUrl) navigate(ctx.afterJoinWaitlistUrl);
            }, 2e3);
          }).catch((error2) => {
            handleError(error2, [formState.emailAddress], card.setError);
          }).finally(() => {
            status.setIdle();
            card.setIdle();
          });
        };
        return /* @__PURE__ */ jsxs2(Wizard, {
          ...wizard.props,
          children: [/* @__PURE__ */ jsxs2(Col2, {
            gap: 6,
            children: [
              /* @__PURE__ */ jsxs2(Header.Root, {
                showLogo: true,
                children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("waitlist.start.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("waitlist.start.subtitle") })]
              }),
              /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
              /* @__PURE__ */ jsx2(Flex2, {
                direction: "col",
                elementDescriptor: descriptors.main,
                gap: 6,
                children: /* @__PURE__ */ jsxs2(Form$1.Root, {
                  onSubmit: handleSubmit,
                  gap: 8,
                  children: [/* @__PURE__ */ jsx2(Col2, {
                    gap: 6,
                    children: /* @__PURE__ */ jsx2(Form$1.ControlRow, {
                      elementId: "emailAddress",
                      children: /* @__PURE__ */ jsx2(Form$1.PlainInput, {
                        ...formState.emailAddress.props,
                        isRequired: true
                      })
                    })
                  }), /* @__PURE__ */ jsx2(Col2, {
                    center: true,
                    children: /* @__PURE__ */ jsx2(Form$1.SubmitButton, { localizationKey: localizationKeys("waitlist.start.formButton") })
                  })]
                })
              })
            ]
          }), /* @__PURE__ */ jsxs2(Col2, {
            gap: 6,
            children: [/* @__PURE__ */ jsxs2(Header.Root, {
              showLogo: true,
              children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("waitlist.success.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("waitlist.success.subtitle") })]
            }), ctx.afterJoinWaitlistUrl && /* @__PURE__ */ jsx2(Flex2, {
              direction: "col",
              elementDescriptor: descriptors.main,
              gap: 6,
              children: /* @__PURE__ */ jsx2(Col2, {
                center: true,
                children: /* @__PURE__ */ jsxs2(Flex2, {
                  gap: 2,
                  align: "center",
                  children: [/* @__PURE__ */ jsx2(Icon, {
                    icon: spinner_jumbo_default,
                    sx: (t2) => ({
                      margin: "auto",
                      width: t2.sizes.$6,
                      height: t2.sizes.$6,
                      animation: `${animations.spinning} 1s linear infinite`
                    })
                  }), /* @__PURE__ */ jsx2(Text2, {
                    colorScheme: "secondary",
                    localizationKey: localizationKeys("waitlist.success.message")
                  })]
                })
              })
            })]
          })]
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/Waitlist/index.js
  var Waitlist_exports = {};
  __export(Waitlist_exports, {
    Waitlist: () => Waitlist,
    WaitlistModal: () => WaitlistModal
  });
  var _Waitlist, Waitlist, WaitlistModal;
  var init_Waitlist2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/Waitlist/index.js"() {
      init_localizationKeys();
      init_Route();
      init_VirtualRouter();
      init_Waitlist();
      init_useFormControl();
      init_contexts();
      init_Flow();
      init_Card();
      init_WaitlistForm();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      _Waitlist = () => {
        const clerk2 = useClerk();
        const ctx = useWaitlistContext();
        const { signInUrl } = ctx;
        const formState = { emailAddress: useFormControl("emailAddress", (ctx.initialValues || {}).emailAddress || "", {
          type: "email",
          label: localizationKeys("formFieldLabel__emailAddress"),
          placeholder: localizationKeys("formFieldInputPlaceholder__emailAddress")
        }) };
        return /* @__PURE__ */ jsx2(Flow.Root, {
          flow: "waitlist",
          children: /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsx2(Card.Content, { children: /* @__PURE__ */ jsx2(WaitlistForm, { formState }) }), /* @__PURE__ */ jsx2(Card.Footer, { children: /* @__PURE__ */ jsxs2(Card.Action, {
            elementId: "waitlist",
            children: [/* @__PURE__ */ jsx2(Card.ActionText, { localizationKey: localizationKeys("waitlist.start.actionText") }), /* @__PURE__ */ jsx2(Card.ActionLink, {
              localizationKey: localizationKeys("waitlist.start.actionLink"),
              to: clerk2.buildUrlWithAuth(signInUrl)
            })]
          }) })] })
        });
      };
      Waitlist = withCardStateProvider(_Waitlist);
      WaitlistModal = (props) => {
        const waitlistProps = {
          signInUrl: `/${VIRTUAL_ROUTER_BASE_PATH}/sign-in`,
          ...props,
          routing: "virtual"
        };
        return /* @__PURE__ */ jsx2(Route, {
          path: "waitlist",
          children: /* @__PURE__ */ jsx2(WaitlistContext.Provider, {
            value: {
              ...waitlistProps,
              componentName: "Waitlist",
              mode: "modal"
            },
            children: /* @__PURE__ */ jsx2("div", { children: /* @__PURE__ */ jsx2(Waitlist, {}) })
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/devPrompts/shared.js
  function PromptContainer({ children, sx, ...props }) {
    return /* @__PURE__ */ jsx2(Flex2, {
      sx: (t2) => [{
        borderRadius: "1.25rem",
        fontFamily: t2.fonts.$main,
        background: "linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0) 100%), #1f1f1f",
        boxShadow: "0px 0px 0px 0.5px #2F3037 inset, 0px 1px 0px 0px rgba(255, 255, 255, 0.08) inset, 0px 0px 0.8px 0.8px rgba(255, 255, 255, 0.20) inset, 0px 0px 0px 0px rgba(255, 255, 255, 0.72), 0px 16px 36px -6px rgba(0, 0, 0, 0.36), 0px 6px 16px -2px rgba(0, 0, 0, 0.20);"
      }, sx],
      ...props,
      children
    });
  }
  function PromptSuccessIcon(props) {
    return /* @__PURE__ */ jsx2("svg", {
      ...props,
      viewBox: "0 0 16 17",
      fill: "none",
      "aria-hidden": true,
      xmlns: "http://www.w3.org/2000/svg",
      children: /* @__PURE__ */ jsxs2("g", {
        opacity: "0.88",
        children: [/* @__PURE__ */ jsx2("path", {
          d: "M13.8002 8.20039C13.8002 8.96206 13.6502 9.71627 13.3587 10.42C13.0672 11.1236 12.64 11.763 12.1014 12.3016C11.5628 12.8402 10.9234 13.2674 10.2198 13.5589C9.51607 13.8504 8.76186 14.0004 8.0002 14.0004C7.23853 14.0004 6.48432 13.8504 5.78063 13.5589C5.07694 13.2674 4.43756 12.8402 3.89898 12.3016C3.3604 11.763 2.93317 11.1236 2.64169 10.42C2.35022 9.71627 2.2002 8.96206 2.2002 8.20039C2.2002 6.66214 2.81126 5.18688 3.89898 4.09917C4.98669 3.01146 6.46194 2.40039 8.0002 2.40039C9.53845 2.40039 11.0137 3.01146 12.1014 4.09917C13.1891 5.18688 13.8002 6.66214 13.8002 8.20039Z",
          fill: "#22C543",
          fillOpacity: "0.16"
        }), /* @__PURE__ */ jsx2("path", {
          d: "M6.06686 8.68372L7.51686 10.1337L9.93353 6.75039M13.8002 8.20039C13.8002 8.96206 13.6502 9.71627 13.3587 10.42C13.0672 11.1236 12.64 11.763 12.1014 12.3016C11.5628 12.8402 10.9234 13.2674 10.2198 13.5589C9.51607 13.8504 8.76186 14.0004 8.0002 14.0004C7.23853 14.0004 6.48432 13.8504 5.78063 13.5589C5.07694 13.2674 4.43756 12.8402 3.89898 12.3016C3.3604 11.763 2.93317 11.1236 2.64169 10.42C2.35022 9.71627 2.2002 8.96206 2.2002 8.20039C2.2002 6.66214 2.81126 5.18688 3.89898 4.09917C4.98669 3.01146 6.46194 2.40039 8.0002 2.40039C9.53845 2.40039 11.0137 3.01146 12.1014 4.09917C13.1891 5.18688 13.8002 6.66214 13.8002 8.20039Z",
          stroke: "#22C543",
          strokeWidth: "1.2",
          strokeLinecap: "round",
          strokeLinejoin: "round"
        })]
      })
    });
  }
  function handleDashboardUrlParsing(url) {
    const match3 = new URL(url).href.match(/^https?:\/\/(.*?)\/apps\/app_(.+?)\/instances\/ins_(.+?)(?:\/.*)?$/);
    if (!match3) throw new Error("Invalid value Dashboard URL structure");
    return {
      baseDomain: `https://${match3[1]}`,
      appId: `app_${match3[2]}`,
      instanceId: `ins_${match3[3]}`
    };
  }
  function ClerkLogoIcon() {
    return /* @__PURE__ */ jsxs2("svg", {
      width: "1rem",
      height: "1.25rem",
      viewBox: "0 0 16 20",
      fill: "none",
      "aria-hidden": true,
      xmlns: "http://www.w3.org/2000/svg",
      children: [/* @__PURE__ */ jsxs2("g", {
        filter: "url(#filter0_i_438_501)",
        children: [
          /* @__PURE__ */ jsx2("path", {
            d: "M10.4766 9.99979C10.4766 11.3774 9.35978 12.4942 7.98215 12.4942C6.60452 12.4942 5.48773 11.3774 5.48773 9.99979C5.48773 8.62216 6.60452 7.50537 7.98215 7.50537C9.35978 7.50537 10.4766 8.62216 10.4766 9.99979Z",
            fill: "#BBBBBB"
          }),
          /* @__PURE__ */ jsx2("path", {
            d: "M12.4176 3.36236C12.6676 3.52972 12.6889 3.88187 12.4762 4.09457L10.6548 5.91595C10.4897 6.08107 10.2336 6.10714 10.0257 6.00071C9.41273 5.68684 8.71811 5.50976 7.98214 5.50976C5.5024 5.50976 3.49219 7.51998 3.49219 9.99972C3.49219 10.7357 3.66926 11.4303 3.98314 12.0433C4.08957 12.2511 4.06349 12.5073 3.89837 12.6724L2.07699 14.4938C1.86429 14.7065 1.51215 14.6851 1.34479 14.4352C0.495381 13.1666 0 11.641 0 9.99972C0 5.5913 3.57373 2.01758 7.98214 2.01758C9.62345 2.01758 11.1491 2.51296 12.4176 3.36236Z",
            fill: "#8F8F8F"
          }),
          /* @__PURE__ */ jsx2("path", {
            d: "M12.4762 15.905C12.6889 16.1177 12.6675 16.4698 12.4176 16.6372C11.149 17.4866 9.62342 17.982 7.9821 17.982C6.34078 17.982 4.81516 17.4866 3.54661 16.6372C3.29666 16.4698 3.27531 16.1177 3.48801 15.905L5.30938 14.0836C5.4745 13.9185 5.73066 13.8924 5.93851 13.9988C6.55149 14.3127 7.24612 14.4898 7.9821 14.4898C8.71808 14.4898 9.4127 14.3127 10.0257 13.9988C10.2335 13.8924 10.4897 13.9185 10.6548 14.0836L12.4762 15.905Z",
            fill: "#BBBBBB"
          })
        ]
      }), /* @__PURE__ */ jsx2("defs", { children: /* @__PURE__ */ jsxs2("filter", {
        id: "filter0_i_438_501",
        x: "0",
        y: "1.86758",
        width: "12.6217",
        height: "16.1144",
        filterUnits: "userSpaceOnUse",
        colorInterpolationFilters: "sRGB",
        children: [
          /* @__PURE__ */ jsx2("feFlood", {
            floodOpacity: "0",
            result: "BackgroundImageFix"
          }),
          /* @__PURE__ */ jsx2("feBlend", {
            mode: "normal",
            in: "SourceGraphic",
            in2: "BackgroundImageFix",
            result: "shape"
          }),
          /* @__PURE__ */ jsx2("feColorMatrix", {
            in: "SourceAlpha",
            type: "matrix",
            values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",
            result: "hardAlpha"
          }),
          /* @__PURE__ */ jsx2("feOffset", { dy: "-0.15" }),
          /* @__PURE__ */ jsx2("feGaussianBlur", { stdDeviation: "0.15" }),
          /* @__PURE__ */ jsx2("feComposite", {
            in2: "hardAlpha",
            operator: "arithmetic",
            k2: "-1",
            k3: "1"
          }),
          /* @__PURE__ */ jsx2("feColorMatrix", {
            type: "matrix",
            values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"
          }),
          /* @__PURE__ */ jsx2("feBlend", {
            mode: "normal",
            in2: "shape",
            result: "effect1_innerShadow_438_501"
          })
        ]
      }) })]
    });
  }
  var basePromptElementStyles;
  var init_shared4 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/devPrompts/shared.js"() {
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
      init_emotion_react_browser_esm();
      basePromptElementStyles = css`
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  line-height: 1.5;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    avenir next,
    avenir,
    segoe ui,
    helvetica neue,
    helvetica,
    Cantarell,
    Ubuntu,
    roboto,
    noto,
    arial,
    sans-serif;
  text-decoration: none;
`;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/devPrompts/KeylessPrompt/use-drag-to-corner.js
  function getNearestCorner(projectedTranslation, corners) {
    let nearestCorner = "bottom-right";
    let minDistance = Infinity;
    for (const [corner, translation] of Object.entries(corners)) {
      const dx = projectedTranslation.x - translation.x;
      const dy = projectedTranslation.y - translation.y;
      const distance = Math.sqrt(dx * dx + dy * dy);
      if (distance < minDistance) {
        minDistance = distance;
        nearestCorner = corner;
      }
    }
    return nearestCorner;
  }
  function getCornerStyles(corner) {
    switch (corner) {
      case "top-left":
        return {
          top: CORNER_OFFSET,
          left: CORNER_OFFSET
        };
      case "top-right":
        return {
          top: CORNER_OFFSET,
          right: CORNER_OFFSET
        };
      case "bottom-left":
        return {
          bottom: CORNER_OFFSET,
          left: CORNER_OFFSET
        };
      case "bottom-right":
        return {
          bottom: CORNER_OFFSET,
          right: CORNER_OFFSET
        };
    }
  }
  function saveCornerPreference(corner) {
    if (typeof window === "undefined") return;
    try {
      localStorage.setItem(STORAGE_KEY, corner);
    } catch {
    }
  }
  function project(initialVelocity) {
    return initialVelocity / 1e3 * INERTIA_DECELERATION_RATE / (1 - INERTIA_DECELERATION_RATE);
  }
  function calculateVelocity(history2) {
    if (history2.length < 2) return ZERO_POINT;
    const oldest = history2[0];
    const latest = history2[history2.length - 1];
    const timeDelta = latest.timestamp - oldest.timestamp;
    if (timeDelta === 0) return ZERO_POINT;
    return {
      x: (latest.position.x - oldest.position.x) / timeDelta * 1e3,
      y: (latest.position.y - oldest.position.y) / timeDelta * 1e3
    };
  }
  function useDragToCorner() {
    const [corner, setCorner] = (0, import_react450.useState)("bottom-right");
    const [isDragging, setIsDragging] = (0, import_react450.useState)(false);
    const [preventClick, setPreventClick] = (0, import_react450.useState)(false);
    const [isInitialized, setIsInitialized] = (0, import_react450.useState)(false);
    const pendingCornerUpdate = (0, import_react450.useRef)(null);
    (0, import_react450.useEffect)(() => {
      if (typeof window === "undefined") {
        setIsInitialized(true);
        return;
      }
      try {
        const stored = localStorage.getItem(STORAGE_KEY);
        if (stored && VALID_CORNERS.includes(stored)) setCorner(stored);
      } catch {
      } finally {
        setIsInitialized(true);
      }
    }, []);
    const containerRef = (0, import_react450.useRef)(null);
    const machine = (0, import_react450.useRef)({ state: "idle" });
    const cleanup2 = (0, import_react450.useRef)(null);
    const origin = (0, import_react450.useRef)({
      x: 0,
      y: 0
    });
    const translation = (0, import_react450.useRef)({
      x: 0,
      y: 0
    });
    const lastTimestamp = (0, import_react450.useRef)(0);
    const velocities = (0, import_react450.useRef)([]);
    const dragStartDimensions = (0, import_react450.useRef)(null);
    const setTranslation = (0, import_react450.useCallback)((position2) => {
      if (!containerRef.current) return;
      translation.current = position2;
      containerRef.current.style.transform = `translate3d(${position2.x}px, ${position2.y}px, 0)`;
    }, []);
    const getCorners = (0, import_react450.useCallback)(() => {
      const container = containerRef.current;
      if (!container) return {
        "top-left": ZERO_POINT,
        "top-right": ZERO_POINT,
        "bottom-left": ZERO_POINT,
        "bottom-right": ZERO_POINT
      };
      const triggerWidth = dragStartDimensions.current?.width ?? container.offsetWidth ?? 0;
      const triggerHeight = dragStartDimensions.current?.height ?? container.offsetHeight ?? 0;
      const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
      function getAbsolutePosition(c2) {
        const isRight = c2.includes("right");
        const isBottom = c2.includes("bottom");
        return {
          x: isRight ? window.innerWidth - scrollbarWidth - CORNER_OFFSET_PX - triggerWidth : CORNER_OFFSET_PX,
          y: isBottom ? window.innerHeight - CORNER_OFFSET_PX - triggerHeight : CORNER_OFFSET_PX
        };
      }
      const base2 = getAbsolutePosition(corner);
      function toRelative(c2) {
        const pos = getAbsolutePosition(c2);
        return {
          x: pos.x - base2.x,
          y: pos.y - base2.y
        };
      }
      return {
        "top-left": toRelative("top-left"),
        "top-right": toRelative("top-right"),
        "bottom-left": toRelative("bottom-left"),
        "bottom-right": toRelative("bottom-right")
      };
    }, [corner]);
    const animate2 = (0, import_react450.useCallback)((cornerTranslation) => {
      const el2 = containerRef.current;
      if (!el2) return;
      const dx = cornerTranslation.translation.x - translation.current.x;
      const dy = cornerTranslation.translation.y - translation.current.y;
      if (Math.sqrt(dx * dx + dy * dy) < 0.5) {
        saveCornerPreference(cornerTranslation.corner);
        translation.current = ZERO_POINT;
        el2.style.transition = "";
        el2.style.transform = ZERO_TRANSFORM;
        machine.current = { state: "idle" };
        setPreventClick(false);
        return;
      }
      const handleAnimationEnd = (e3) => {
        if (e3.propertyName !== "transform") return;
        el2.removeEventListener("transitionend", handleAnimationEnd);
        saveCornerPreference(cornerTranslation.corner);
        if (cornerTranslation.corner === corner) {
          translation.current = ZERO_POINT;
          el2.style.transition = "";
          el2.style.transform = ZERO_TRANSFORM;
          machine.current = { state: "idle" };
          setPreventClick(false);
        } else {
          machine.current = { state: "animating" };
          pendingCornerUpdate.current = cornerTranslation.corner;
          setCorner(cornerTranslation.corner);
        }
      };
      el2.style.transition = SPRING_TRANSITION;
      el2.addEventListener("transitionend", handleAnimationEnd);
      setTranslation(cornerTranslation.translation);
    }, [setTranslation, corner]);
    const cancel = (0, import_react450.useCallback)(() => {
      if (machine.current.state === "drag") {
        containerRef.current?.releasePointerCapture(machine.current.pointerId);
        machine.current = { state: "animating" };
      } else machine.current = { state: "idle" };
      if (cleanup2.current) {
        cleanup2.current();
        cleanup2.current = null;
      }
      velocities.current = [];
      setIsDragging(false);
      dragStartDimensions.current = null;
      containerRef.current?.classList.remove("dev-tools-grabbing");
      document.body.style.removeProperty("user-select");
      document.body.style.removeProperty("-webkit-user-select");
    }, []);
    (0, import_react450.useLayoutEffect)(() => {
      if (pendingCornerUpdate.current === corner) {
        const el2 = containerRef.current;
        if (el2 && machine.current.state === "animating") {
          translation.current = ZERO_POINT;
          el2.style.transition = "";
          el2.style.transform = ZERO_TRANSFORM;
          machine.current = { state: "idle" };
          setPreventClick(false);
          pendingCornerUpdate.current = null;
        }
      }
    }, [corner]);
    (0, import_react450.useLayoutEffect)(() => {
      return () => {
        cancel();
      };
    }, [cancel]);
    const handlePointerDown = (0, import_react450.useCallback)((e3) => {
      const target2 = e3.target;
      if (target2.tagName === "A" || target2.closest("a")) return;
      if (e3.button !== 0) return;
      const container = containerRef.current;
      if (!container) return;
      dragStartDimensions.current = {
        width: container.offsetWidth,
        height: container.offsetHeight
      };
      origin.current = {
        x: e3.clientX,
        y: e3.clientY
      };
      const currentTransform = container.style.transform;
      if (currentTransform && currentTransform !== "none" && currentTransform !== ZERO_TRANSFORM) {
        const match3 = currentTransform.match(/translate3d\(([^,]+)px,\s*([^,]+)px/);
        if (match3) translation.current = {
          x: parseFloat(match3[1]) || 0,
          y: parseFloat(match3[2]) || 0
        };
      } else translation.current = ZERO_POINT;
      machine.current = { state: "press" };
      velocities.current = [];
      lastTimestamp.current = Date.now();
      const handlePointerMove = (moveEvent) => {
        if (machine.current.state === "press") {
          const dx$1 = moveEvent.clientX - origin.current.x;
          const dy$1 = moveEvent.clientY - origin.current.y;
          if (Math.sqrt(dx$1 * dx$1 + dy$1 * dy$1) < DRAG_THRESHOLD) return;
          machine.current = {
            state: "drag",
            pointerId: moveEvent.pointerId
          };
          try {
            container.setPointerCapture(moveEvent.pointerId);
          } catch {
          }
          container.style.transition = "none";
          container.classList.add("dev-tools-grabbing");
          document.body.style.userSelect = "none";
          document.body.style.webkitUserSelect = "none";
          setIsDragging(true);
          setTranslation({
            x: translation.current.x + dx$1,
            y: translation.current.y + dy$1
          });
          origin.current = {
            x: moveEvent.clientX,
            y: moveEvent.clientY
          };
          return;
        }
        if (machine.current.state !== "drag") return;
        const currentPosition = {
          x: moveEvent.clientX,
          y: moveEvent.clientY
        };
        const dx = currentPosition.x - origin.current.x;
        const dy = currentPosition.y - origin.current.y;
        origin.current = currentPosition;
        setTranslation({
          x: translation.current.x + dx,
          y: translation.current.y + dy
        });
        const now = Date.now();
        if (now - lastTimestamp.current >= VELOCITY_SAMPLE_INTERVAL_MS) {
          velocities.current = [...velocities.current.slice(-VELOCITY_HISTORY_SIZE + 1), {
            position: currentPosition,
            timestamp: now
          }];
          lastTimestamp.current = now;
        }
      };
      const handlePointerUp = () => {
        if (machine.current.state === "drag") {
          const velocity = calculateVelocity(velocities.current);
          const allCorners = getCorners();
          cancel();
          if (!containerRef.current) return;
          const newCorner = getNearestCorner({
            x: translation.current.x + project(velocity.x),
            y: translation.current.y + project(velocity.y)
          }, allCorners);
          const targetTranslation = allCorners[newCorner];
          setPreventClick(true);
          animate2({
            corner: newCorner,
            translation: targetTranslation
          });
        } else cancel();
      };
      const handleClick = (clickEvent) => {
        const target$1 = clickEvent.target;
        const isButton = target$1.tagName === "BUTTON" || target$1.closest("button");
        const isLink = target$1.tagName === "A" || target$1.closest("a");
        if (machine.current.state === "animating" && !isButton && !isLink) {
          clickEvent.preventDefault();
          clickEvent.stopPropagation();
        }
      };
      window.addEventListener("pointermove", handlePointerMove);
      window.addEventListener("pointerup", handlePointerUp, { once: true });
      window.addEventListener("pointercancel", cancel, { once: true });
      container.addEventListener("click", handleClick);
      if (cleanup2.current) cleanup2.current();
      cleanup2.current = () => {
        window.removeEventListener("pointermove", handlePointerMove);
        window.removeEventListener("pointerup", handlePointerUp);
        window.removeEventListener("pointercancel", cancel);
        container.removeEventListener("click", handleClick);
      };
    }, [
      cancel,
      setTranslation,
      animate2,
      getCorners
    ]);
    return {
      corner,
      isDragging,
      cornerStyle: getCornerStyles(corner),
      containerRef,
      onPointerDown: handlePointerDown,
      preventClick,
      isInitialized
    };
  }
  var import_react450, STORAGE_KEY, CORNER_OFFSET, CORNER_OFFSET_PX, DRAG_THRESHOLD, VELOCITY_SAMPLE_INTERVAL_MS, VELOCITY_HISTORY_SIZE, INERTIA_DECELERATION_RATE, SPRING_TRANSITION, ZERO_TRANSFORM, ZERO_POINT, VALID_CORNERS;
  var init_use_drag_to_corner = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/devPrompts/KeylessPrompt/use-drag-to-corner.js"() {
      import_react450 = __toESM(require_react(), 1);
      STORAGE_KEY = "clerk-keyless-prompt-corner";
      CORNER_OFFSET = "1.25rem";
      CORNER_OFFSET_PX = 20;
      DRAG_THRESHOLD = 5;
      VELOCITY_SAMPLE_INTERVAL_MS = 10;
      VELOCITY_HISTORY_SIZE = 5;
      INERTIA_DECELERATION_RATE = 0.999;
      SPRING_TRANSITION = `transform 350ms cubic-bezier(0.34, 1.2, 0.64, 1)`;
      ZERO_TRANSFORM = "translate3d(0px, 0px, 0)";
      ZERO_POINT = {
        x: 0,
        y: 0
      };
      VALID_CORNERS = [
        "top-left",
        "top-right",
        "bottom-left",
        "bottom-right"
      ];
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/devPrompts/KeylessPrompt/use-revalidate-environment.js
  function useRevalidateEnvironment() {
    const clerk2 = useClerk();
    const lastTouchTimestamp = (0, import_react451.useRef)(Date.now());
    const [, forceUpdate] = (0, import_react451.useReducer)((v) => v + 1, 0);
    (0, import_react451.useEffect)(() => {
      const controller = new AbortController();
      window.addEventListener("focus", async () => {
        const environment = clerk2.__internal_environment;
        if (!environment) return;
        if (environment.authConfig.claimedAt !== null) return controller.abort();
        if (Date.now() < lastTouchTimestamp.current + THROTTLE_DURATION_MS) return;
        if (document.visibilityState !== "visible") return;
        const maxRetries = 2;
        for (let i2 = 0; i2 < maxRetries; i2++) {
          const { authConfig: { claimedAt } } = await environment.fetch();
          lastTouchTimestamp.current = Date.now();
          if (claimedAt !== null) {
            forceUpdate();
            break;
          }
        }
      }, { signal: controller.signal });
      return () => {
        controller.abort();
      };
    }, []);
    return useEnvironment();
  }
  var import_react451, THROTTLE_DURATION_MS;
  var init_use_revalidate_environment = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/devPrompts/KeylessPrompt/use-revalidate-environment.js"() {
      init_EnvironmentContext();
      import_react451 = __toESM(require_react(), 1);
      init_react();
      THROTTLE_DURATION_MS = 10 * 1e3;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/devPrompts/KeylessPrompt/index.js
  var KeylessPrompt_exports = {};
  __export(KeylessPrompt_exports, {
    KeylessPrompt: () => KeylessPrompt,
    getCurrentState: () => getCurrentState,
    getResolvedContent: () => getResolvedContent
  });
  function withLastActiveFallback(callback) {
    try {
      return callback();
    } catch {
      return "https://dashboard.clerk.com/last-active";
    }
  }
  function getDuration(isOpen) {
    return isOpen ? DURATION_OPEN : DURATION_CLOSE;
  }
  function getCurrentState(claimed, success, isSignedIn) {
    if (success) return "completed";
    if (claimed) return "claimed";
    if (isSignedIn) return "userCreated";
    return "idle";
  }
  function getResolvedContent(state, context) {
    const content = CONTENT[state];
    const description = typeof content.description === "function" ? content.description({
      appName: context.appName,
      instanceUrl: context.instanceUrl
    }) : content.description;
    const ctaItem = content.cta;
    const cta = ctaItem.kind === "link" ? {
      kind: "link",
      text: ctaItem.text,
      href: typeof ctaItem.href === "function" ? ctaItem.href({
        claimUrl: context.claimUrl,
        instanceUrl: context.instanceUrl
      }) : ctaItem.href
    } : {
      kind: "action",
      text: ctaItem.text,
      onClick: () => ctaItem.onClick(context.onDismiss)
    };
    return {
      state,
      triggerWidth: content.triggerWidth,
      title: content.title,
      description,
      cta
    };
  }
  function KeylessPromptInternal(props) {
    const id = (0, import_react453.useId)();
    const environment = useRevalidateEnvironment();
    const { isDragging, cornerStyle, containerRef, onPointerDown, preventClick, isInitialized } = useDragToCorner();
    const claimed = Boolean(environment.authConfig.claimedAt);
    const success = typeof props.onDismiss === "function" && claimed;
    const { isSignedIn } = useUser();
    const appName = environment.displayConfig.applicationName;
    const claimUrlToDashboard = (0, import_react453.useMemo)(() => {
      if (claimed) return props.copyKeysUrl;
      const url = new URL(props.claimUrl);
      url.searchParams.append("return_url", window.location.href);
      return url.href;
    }, [
      claimed,
      props.copyKeysUrl,
      props.claimUrl
    ]);
    const instanceUrlToDashboard = (0, import_react453.useMemo)(() => {
      return withLastActiveFallback(() => {
        const redirectUrlParts = handleDashboardUrlParsing(props.copyKeysUrl);
        return new URL(`${redirectUrlParts.baseDomain}/apps/${redirectUrlParts.appId}/instances/${redirectUrlParts.instanceId}/user-authentication/email-phone-username`).href;
      });
    }, [props.copyKeysUrl]);
    const [isOpen, setIsOpen] = (0, import_react453.useState)(true);
    const currentState = getCurrentState(claimed, success, Boolean(isSignedIn));
    const resolvedContent = (0, import_react453.useMemo)(() => getResolvedContent(currentState, {
      appName,
      instanceUrl: instanceUrlToDashboard,
      claimUrl: claimUrlToDashboard,
      onDismiss: props.onDismiss
    }), [
      currentState,
      appName,
      instanceUrlToDashboard,
      claimUrlToDashboard,
      props.onDismiss
    ]);
    const ctaElement = resolvedContent.cta.kind === "link" ? /* @__PURE__ */ jsx2("a", {
      href: resolvedContent.cta.href,
      target: "_blank",
      rel: "noopener noreferrer",
      css: ctaButtonStyles,
      children: resolvedContent.cta.text
    }) : /* @__PURE__ */ jsx2("button", {
      type: "button",
      onClick: resolvedContent.cta.onClick,
      css: ctaButtonStyles,
      children: resolvedContent.cta.text
    });
    return /* @__PURE__ */ jsxs2("div", {
      ref: containerRef,
      onPointerDown: isOpen ? void 0 : onPointerDown,
      style: {
        ...cornerStyle,
        opacity: isInitialized ? void 0 : 0
      },
      "data-expanded": isOpen,
      css: css`
        ${CSS_RESET};
        position: fixed;
        border-radius: ${isOpen ? "0.75rem" : "2.5rem"};
        background-color: #1f1f1f;
        box-shadow:
          0px 0px 0px 0.5px #2f3037 inset,
          0px 1px 0px 0px rgba(255, 255, 255, 0.08) inset,
          0px 0px 0.8px 0.8px rgba(255, 255, 255, 0.2) inset,
          0px 0px 0px 0px rgba(255, 255, 255, 0.72),
          0px 16px 36px -6px rgba(0, 0, 0, 0.36),
          0px 6px 16px -2px rgba(0, 0, 0, 0.2);
        height: auto;
        isolation: isolate;
        transform: translateZ(0);
        backface-visibility: hidden;
        width: ${isOpen ? WIDTH_OPEN : resolvedContent.triggerWidth};
        cursor: ${isDragging ? "grabbing" : isOpen ? "default" : "grab"};
        touch-action: none;
        transition: ${isDragging ? "none" : isInitialized ? `width ${getDuration(isOpen)} ${EASE_BEZIER}, border-radius ${getDuration(isOpen)} cubic-bezier(0.2, 0, 0, 1)` : "none"};

        @media (prefers-reduced-motion: reduce) {
          transition: none;
        }
        &:has(button:focus-visible) {
          outline: 2px solid #6c47ff;
          outline-offset: 2px;
        }
        &::before {
          content: '';
          pointer-events: none;
          position: absolute;
          inset: 0;
          border-radius: inherit;
          background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
          opacity: 0.16;
          transition: opacity ${getDuration(isOpen)} ${EASE_BEZIER};

          @media (prefers-reduced-motion: reduce) {
            transition: none;
          }
        }
        &[data-expanded='true']::before,
        &:hover::before {
          opacity: 0.2;
        }
      `,
      children: [/* @__PURE__ */ jsxs2("button", {
        type: "button",
        "aria-label": "Keyless prompt",
        "aria-controls": id,
        "aria-expanded": isOpen,
        onClick: () => {
          if (preventClick) return;
          setIsOpen((p2) => !p2);
        },
        css: css`
          ${CSS_RESET};
          display: flex;
          align-items: center;
          width: 100%;
          border-radius: inherit;
          padding-inline: 0.75rem;
          gap: 0.25rem;
          height: 2.5rem;
          outline: none;
          cursor: pointer;
          user-select: none;
        `,
        children: [
          /* @__PURE__ */ jsxs2("svg", {
            css: css`
            width: 1rem;
            height: 1rem;
            flex-shrink: 0;
          `,
            fill: "none",
            viewBox: "0 0 128 128",
            children: [
              /* @__PURE__ */ jsx2("circle", {
                cx: "64",
                cy: "64",
                r: "20",
                fill: "#fff"
              }),
              /* @__PURE__ */ jsx2("path", {
                fill: "#fff",
                fillOpacity: ".4",
                d: "M99.572 10.788c1.999 1.34 2.17 4.156.468 5.858L85.424 31.262c-1.32 1.32-3.37 1.53-5.033.678A35.846 35.846 0 0 0 64 28c-19.882 0-36 16.118-36 36a35.846 35.846 0 0 0 3.94 16.391c.851 1.663.643 3.712-.678 5.033L16.646 100.04c-1.702 1.702-4.519 1.531-5.858-.468C3.974 89.399 0 77.163 0 64 0 28.654 28.654 0 64 0c13.163 0 25.399 3.974 35.572 10.788Z"
              }),
              /* @__PURE__ */ jsx2("path", {
                fill: "#fff",
                d: "M100.04 111.354c1.702 1.702 1.531 4.519-.468 5.858C89.399 124.026 77.164 128 64 128c-13.164 0-25.399-3.974-35.572-10.788-2-1.339-2.17-4.156-.468-5.858l14.615-14.616c1.322-1.32 3.37-1.53 5.033-.678A35.847 35.847 0 0 0 64 100a35.846 35.846 0 0 0 16.392-3.94c1.662-.852 3.712-.643 5.032.678l14.616 14.616Z"
              })
            ]
          }),
          /* @__PURE__ */ jsx2("span", {
            css: css`
            ${CSS_RESET};
            font-size: 0.875rem;
            font-weight: 500;
            color: #d9d9d9;
            white-space: nowrap;
          `,
            children: resolvedContent.title
          }),
          /* @__PURE__ */ jsx2("svg", {
            css: css`
            width: 1rem;
            height: 1rem;
            flex-shrink: 0;
            color: #d9d9d9;
            margin-inline-start: auto;
            opacity: ${isOpen ? 0.5 : 0};
            transition: opacity ${getDuration(isOpen)} ease-out;

            @media (prefers-reduced-motion: reduce) {
              transition: none;
            }
            ${isOpen && css`
              button:hover & {
                opacity: 1;
              }
            `}
          `,
            viewBox: "0 0 16 16",
            fill: "none",
            "aria-hidden": "true",
            xmlns: "http://www.w3.org/2000/svg",
            children: /* @__PURE__ */ jsx2("path", {
              d: "M3.75 8H12.25",
              stroke: "currentColor",
              strokeWidth: "1.5",
              strokeLinecap: "round",
              strokeLinejoin: "round"
            })
          })
        ]
      }), /* @__PURE__ */ jsx2("div", {
        id,
        ...!isOpen && { inert: "" },
        css: css`
          ${CSS_RESET};
          display: grid;
          grid-template-rows: ${isOpen ? "1fr" : "0fr"};
          transition: grid-template-rows ${getDuration(isOpen)} ${EASE_BEZIER};

          @media (prefers-reduced-motion: reduce) {
            transition: none;
          }
        `,
        children: /* @__PURE__ */ jsx2("div", {
          css: css`
            ${CSS_RESET};
            min-height: 0;
            overflow: hidden;
          `,
          children: /* @__PURE__ */ jsxs2("div", {
            css: css`
              ${CSS_RESET};
              width: ${WIDTH_OPEN};
              padding-inline: 0.75rem;
              padding-block-end: 0.75rem;
              opacity: ${isOpen ? 1 : 0};
              transition: opacity ${getDuration(isOpen)} ${EASE_BEZIER};

              @media (prefers-reduced-motion: reduce) {
                transition: none;
              }
            `,
            children: [/* @__PURE__ */ jsx2("div", {
              css: css`
                ${CSS_RESET};
                display: flex;
                flex-direction: column;
                gap: 0.5rem;
                & ul {
                  ${CSS_RESET};
                  list-style: disc;
                  padding-left: 1rem;
                }
                & p,
                & li {
                  ${CSS_RESET};
                  color: #b4b4b4;
                  font-size: 0.8125rem;
                  font-weight: 400;
                  line-height: 1rem;
                  text-wrap: pretty;
                }
                & a {
                  color: #fde047;
                  font-weight: 500;
                  outline: none;
                  text-decoration: underline;
                  &:focus-visible {
                    outline: 2px solid #6c47ff;
                    outline-offset: 2px;
                  }
                }
              `,
              children: resolvedContent.description
            }), ctaElement]
          })
        })
      })]
    });
  }
  function KeylessPrompt(props) {
    return /* @__PURE__ */ jsx2(InternalThemeProvider, { children: /* @__PURE__ */ jsx2(KeylessPromptInternal, { ...props }) });
  }
  var import_react453, WIDTH_OPEN, DURATION_OPEN, DURATION_CLOSE, EASE_BEZIER, CSS_RESET, ctaButtonStyles, CONTENT;
  var init_KeylessPrompt = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/devPrompts/KeylessPrompt/index.js"() {
      init_InternalThemeProvider();
      init_shared4();
      init_use_drag_to_corner();
      init_use_revalidate_environment();
      import_react453 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_emotion_react_browser_esm();
      WIDTH_OPEN = "18rem";
      DURATION_OPEN = "220ms";
      DURATION_CLOSE = "180ms";
      EASE_BEZIER = "cubic-bezier(0.2, 0, 0, 1)";
      CSS_RESET = css`
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  background: none;
  border: none;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    avenir next,
    avenir,
    segoe ui,
    helvetica neue,
    helvetica,
    Cantarell,
    Ubuntu,
    roboto,
    noto,
    arial,
    sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: none;
  color: inherit;
  appearance: none;
`;
      ctaButtonStyles = css`
  ${CSS_RESET};
  margin: 0.75rem 0 0;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 1.75rem;
  padding: 0.25rem 0.625rem;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.12px;
  color: #fde047;
  text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.32);
  white-space: nowrap;
  user-select: none;
  cursor: pointer;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30.5%, rgba(0, 0, 0, 0.05) 100%), #454545;
  box-shadow:
    0px 0px 0px 1px rgba(255, 255, 255, 0.04) inset,
    0px 1px 0px 0px rgba(255, 255, 255, 0.04) inset,
    0px 0px 0px 1px rgba(0, 0, 0, 0.12),
    0px 1.5px 2px 0px rgba(0, 0, 0, 0.48),
    0px 0px 4px 0px rgba(243, 107, 22, 0) inset;
  outline: none;
  &:hover {
    background: #4b4b4b;
    transition: background-color 120ms ease-in-out;

    @media (prefers-reduced-motion: reduce) {
      transition: none;
    }
  }
  &:focus-visible {
    outline: 2px solid #6c47ff;
    outline-offset: 2px;
  }
`;
      CONTENT = {
        idle: {
          triggerWidth: "14.25rem",
          title: "Configure your application",
          description: /* @__PURE__ */ jsxs2(Fragment3, { children: [
            /* @__PURE__ */ jsx2("p", { children: "Temporary API keys are enabled so you can get started immediately." }),
            /* @__PURE__ */ jsx2("ul", { children: [
              "Add SSO connections (eg. GitHub)",
              "Set up B2B authentication",
              "Enable MFA"
            ].map((item) => /* @__PURE__ */ jsx2("li", { children: item }, item)) }),
            /* @__PURE__ */ jsx2("p", { children: "Access the dashboard to customize auth settings and explore Clerk features." })
          ] }),
          cta: {
            kind: "link",
            text: "Configure your application",
            href: ({ claimUrl }) => claimUrl
          }
        },
        userCreated: {
          triggerWidth: "15.75rem",
          title: "You've created your first user!",
          description: /* @__PURE__ */ jsx2("p", { children: "Head to the dashboard to customize authentication settings, view user info, and explore more features." }),
          cta: {
            kind: "link",
            text: "Configure your application",
            href: ({ claimUrl }) => claimUrl
          }
        },
        claimed: {
          triggerWidth: "14.25rem",
          title: "Missing environment keys",
          description: /* @__PURE__ */ jsx2("p", { children: "You claimed this application but haven't set keys in your environment. Get them from the Clerk Dashboard." }),
          cta: {
            kind: "link",
            text: "Get API keys",
            href: ({ claimUrl }) => claimUrl
          }
        },
        completed: {
          triggerWidth: "10.5rem",
          title: "Your app is ready",
          description: ({ appName, instanceUrl }) => /* @__PURE__ */ jsxs2("p", { children: [
            "Your application",
            " ",
            /* @__PURE__ */ jsx2("a", {
              href: instanceUrl,
              target: "_blank",
              rel: "noopener noreferrer",
              children: appName
            }),
            " ",
            "has been configured. You may now customize your settings in the Clerk dashboard."
          ] }),
          cta: {
            kind: "action",
            text: "Dismiss",
            onClick: (onDismiss) => {
              onDismiss?.().then(() => {
                window.location.reload();
              });
            }
          }
        }
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/PricingTable/index.js
  var PricingTable_exports = {};
  __export(PricingTable_exports, {
    PricingTable: () => PricingTable
  });
  var init_PricingTable3 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/PricingTable/index.js"() {
      init_PricingTable2();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/Checkout.js
  var import_react456, CheckoutContext2, useCheckoutContext2;
  var init_Checkout = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/Checkout.js"() {
      init_OptionsContext();
      import_react456 = __toESM(require_react(), 1);
      init_react();
      init_url();
      CheckoutContext2 = (0, import_react456.createContext)(null);
      useCheckoutContext2 = () => {
        const context = (0, import_react456.useContext)(CheckoutContext2);
        const clerk2 = useClerk();
        const options2 = useOptions();
        if (!context || context.componentName !== "Checkout") throw new Error("Clerk: useCheckoutContext called outside Checkout.");
        const newSubscriptionRedirectUrl = (0, import_react456.useMemo)(() => {
          if (context.portalRoot) return;
          const url = context.newSubscriptionRedirectUrl || clerk2.buildNewSubscriptionRedirectUrl?.();
          return isAllowedRedirect(options2?.allowedRedirectOrigins, window.location.origin)(url) ? url : void 0;
        }, [
          context.portalRoot,
          context.newSubscriptionRedirectUrl,
          clerk2,
          options2?.allowedRedirectOrigins
        ]);
        const { componentName, ...ctx } = context;
        return {
          ...ctx,
          componentName,
          newSubscriptionRedirectUrl
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/hooks/useDirection.js
  function getDirectionFromElement(element) {
    const dir = element.dir;
    if (dir === "rtl") return "rtl";
    if (dir === "ltr") return "ltr";
    if (dir === "auto" || !dir) {
      if (window.getComputedStyle(element).direction === "rtl") return "rtl";
    }
    return "ltr";
  }
  function useDirection(element) {
    if (typeof window === "undefined") return "ltr";
    if (element) return getDirectionFromElement(element);
    return getDirectionFromElement(document.documentElement);
  }
  var init_useDirection = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/hooks/useDirection.js"() {
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/elements/Drawer.js
  var Drawer_exports = {};
  __export(Drawer_exports, {
    Drawer: () => Drawer,
    useDrawerContext: () => useDrawerContext
  });
  function Root9({ children, open, onOpenChange, strategy = "fixed", floatingProps, portalProps, dismissProps }) {
    const direction = useDirection();
    const portalRoot = usePortalRoot();
    const effectivePortalRoot = portalProps?.root ?? portalRoot?.() ?? void 0;
    const { refs, context } = useFloating2({
      open,
      onOpenChange,
      transform: false,
      strategy,
      placement: direction === "ltr" ? "right" : "left",
      ...floatingProps
    });
    const { getFloatingProps } = useInteractions([
      useClick(context),
      useDismiss(context, dismissProps),
      useRole(context)
    ]);
    return /* @__PURE__ */ jsx2(DrawerContext.Provider, {
      value: {
        isOpen: open,
        setIsOpen: onOpenChange,
        strategy,
        portalProps: {
          ...portalProps,
          root: effectivePortalRoot
        },
        refs,
        context,
        getFloatingProps,
        direction
      },
      children: /* @__PURE__ */ jsx2(FloatingPortal, {
        ...portalProps,
        root: effectivePortalRoot,
        children
      })
    });
  }
  var React$162, DrawerContext, useDrawerContext, FloatingOverlay, Overlay, Content2, Header3, Body2, Footer2, Close, Confirmation, Drawer;
  var init_Drawer = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/elements/Drawer.js"() {
      init_useDirection();
      init_usePrefersReducedMotion();
      init_useScrollLock();
      init_close();
      init_colors();
      init_common();
      init_elementDescriptors();
      init_transitions();
      init_AppearanceContext();
      init_customizables();
      init_IconButton();
      React$162 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      init_floating_ui_react();
      init_react();
      DrawerContext = React$162.createContext(null);
      useDrawerContext = () => {
        const context = React$162.useContext(DrawerContext);
        if (!context) throw new Error("Drawer components must be wrapped in <Drawer.Root>");
        return context;
      };
      FloatingOverlay = React$162.forwardRef(function FloatingOverlay$1(props, ref) {
        const { strategy } = useDrawerContext();
        const { disableScrollLock, enableScrollLock: enableScrollLock2 } = useScrollLock();
        useSafeLayoutEffect(() => {
          if (strategy !== "fixed") return;
          enableScrollLock2();
          return () => {
            disableScrollLock();
          };
        }, [
          strategy,
          disableScrollLock,
          enableScrollLock2
        ]);
        return /* @__PURE__ */ jsx2(Box2, {
          ref,
          ...props,
          elementDescriptor: descriptors.drawerBackdrop,
          sx: [(t2) => ({
            inset: 0,
            backgroundColor: colors$2.setAlpha(t2.colors.$colorBackground, 0.28)
          }), props.sx]
        });
      });
      Overlay = React$162.forwardRef((_3, ref) => {
        const { strategy, context } = useDrawerContext();
        const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {
          initial: { opacity: 0 },
          open: { opacity: 1 },
          close: { opacity: 0 },
          common: {
            position: strategy,
            inset: 0,
            transitionProperty: "opacity",
            transitionTimingFunction: transitionTiming.bezier
          },
          duration: transitionDurationValues.drawer
        });
        if (!isMounted) return null;
        return /* @__PURE__ */ jsx2(FloatingOverlay, {
          ref,
          style: { ...transitionStyles }
        });
      });
      Overlay.displayName = "Drawer.Overlay";
      Content2 = React$162.forwardRef(({ children }, ref) => {
        const prefersReducedMotion = usePrefersReducedMotion();
        const { animations: layoutAnimations } = useAppearance().parsedOptions;
        const isMotionSafe = !prefersReducedMotion && layoutAnimations === true;
        const { strategy, refs, context, getFloatingProps, direction } = useDrawerContext();
        const mergedRefs = useMergeRefs([ref, refs.setFloating]);
        const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {
          initial: { transform: `translate3d(var(--transform-offset), 0, 0)` },
          open: { transform: "translate3d(0, 0, 0)" },
          close: { transform: `translate3d(var(--transform-offset), 0, 0)` },
          common: {
            transitionProperty: "transform",
            transitionTimingFunction: transitionTiming.bezier
          },
          duration: isMotionSafe ? transitionDurationValues.drawer : 0
        });
        if (!isMounted) return null;
        return /* @__PURE__ */ jsx2(FloatingFocusManager, {
          context,
          modal: true,
          outsideElementsInert: true,
          initialFocus: refs.floating,
          children: /* @__PURE__ */ jsx2(Box2, {
            ref: mergedRefs,
            ...getFloatingProps(),
            sx: (t2) => ({
              position: strategy,
              insetBlock: 0,
              insetInline: 0,
              pointerEvents: "none",
              isolation: "isolate",
              zIndex: strategy === "absolute" ? t2.zIndices.$modal : void 0
            }),
            elementDescriptor: descriptors.drawerRoot,
            children: /* @__PURE__ */ jsx2(Flex2, {
              elementDescriptor: descriptors.drawerContent,
              style: transitionStyles,
              direction: "col",
              sx: (t2) => ({
                "--transform-offset": strategy === "fixed" ? `calc((100% + ${t2.space.$3} + ${t2.space.$8x75}) * ${direction === "rtl" ? -1 : 1})` : `calc((100% + ${t2.space.$8x75}) * ${direction === "rtl" ? -1 : 1})`,
                willChange: "transform",
                position: strategy,
                insetBlock: strategy === "fixed" ? t2.space.$3 : 0,
                insetInlineEnd: strategy === "fixed" ? t2.space.$3 : 0,
                outline: 0,
                width: t2.sizes.$100,
                maxWidth: strategy === "fixed" ? `calc(100% - ${t2.space.$6})` : "100%",
                backgroundColor: t2.colors.$colorBackground,
                borderStartStartRadius: t2.radii.$lg,
                borderEndStartRadius: t2.radii.$lg,
                borderEndEndRadius: strategy === "fixed" ? t2.radii.$lg : 0,
                borderStartEndRadius: strategy === "fixed" ? t2.radii.$lg : 0,
                borderWidth: t2.borderWidths.$normal,
                borderStyle: t2.borderStyles.$solid,
                borderColor: t2.colors.$borderAlpha150,
                overflow: "hidden",
                pointerEvents: "auto"
              }),
              children
            })
          })
        });
      });
      Content2.displayName = "Drawer.Content";
      Header3 = React$162.forwardRef(({ title, children, sx }, ref) => {
        return /* @__PURE__ */ jsx2(Box2, {
          ref,
          elementDescriptor: descriptors.drawerHeader,
          as: "header",
          sx: [(t2) => ({
            display: "flex",
            background: common.mergedColorsBackground(colors$2.setAlpha(t2.colors.$colorBackground, 1), t2.colors.$neutralAlpha50),
            borderBlockEndWidth: t2.borderWidths.$normal,
            borderBlockEndStyle: t2.borderStyles.$solid,
            borderBlockEndColor: t2.colors.$borderAlpha150,
            borderStartStartRadius: t2.radii.$lg,
            borderStartEndRadius: t2.radii.$lg,
            paddingBlock: title ? t2.space.$3 : void 0,
            paddingInline: title ? t2.space.$4 : void 0
          }), sx],
          children: title ? /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Heading2, {
            localizationKey: title,
            as: "h2",
            elementDescriptor: descriptors.drawerTitle,
            textVariant: "h2",
            sx: { alignSelf: "center" }
          }), /* @__PURE__ */ jsx2(Close, {})] }) : children
        });
      });
      Body2 = React$162.forwardRef(({ children, ...props }, ref) => {
        return /* @__PURE__ */ jsx2(Box2, {
          ref,
          elementDescriptor: descriptors.drawerBody,
          sx: [() => ({
            display: "flex",
            flexDirection: "column",
            flex: 1,
            overflowY: "auto",
            overflowX: "hidden"
          }), props.sx],
          ...props,
          children
        });
      });
      Footer2 = React$162.forwardRef(({ children, sx, ...props }, ref) => {
        return /* @__PURE__ */ jsx2(Box2, {
          ref,
          elementDescriptor: descriptors.drawerFooter,
          sx: [(t2) => ({
            display: "flex",
            flexDirection: "column",
            background: common.mergedColorsBackground(colors$2.setAlpha(t2.colors.$colorBackground, 1), t2.colors.$neutralAlpha50),
            borderBlockStartWidth: t2.borderWidths.$normal,
            borderBlockStartStyle: t2.borderStyles.$solid,
            borderBlockStartColor: t2.colors.$borderAlpha100,
            borderEndStartRadius: t2.radii.$xl,
            borderEndEndRadius: t2.radii.$xl,
            paddingBlock: t2.space.$3,
            paddingInline: t2.space.$4
          }), sx],
          ...props,
          children
        });
      });
      Close = React$162.forwardRef((_3, ref) => {
        const { setIsOpen } = useDrawerContext();
        return /* @__PURE__ */ jsx2(IconButton, {
          ref,
          elementDescriptor: descriptors.drawerClose,
          variant: "ghost",
          "aria-label": "Close drawer",
          onClick: () => setIsOpen(false),
          icon: /* @__PURE__ */ jsx2(Icon, {
            icon: close_default,
            size: "sm"
          }),
          sx: (t2) => ({
            color: t2.colors.$colorMutedForeground,
            padding: t2.space.$3,
            marginInlineStart: "auto"
          })
        });
      });
      Close.displayName = "Drawer.Close";
      Confirmation = React$162.forwardRef(({ open, onOpenChange, children, actionsSlot, roleProps }, ref) => {
        const prefersReducedMotion = usePrefersReducedMotion();
        const { animations: layoutAnimations } = useAppearance().parsedOptions;
        const isMotionSafe = !prefersReducedMotion && layoutAnimations === true;
        const { refs, context } = useFloating2({
          open,
          onOpenChange,
          transform: false,
          strategy: "absolute"
        });
        const { getFloatingProps } = useInteractions([
          useClick(context),
          useDismiss(context),
          useRole(context, {
            role: "alertdialog",
            ...roleProps
          })
        ]);
        const mergedRefs = useMergeRefs([ref, refs.setFloating]);
        const { styles: overlayTransitionStyles } = useTransitionStyles(context, {
          initial: { opacity: 0 },
          open: { opacity: 1 },
          close: { opacity: 0 },
          common: {
            transitionProperty: "opacity",
            transitionTimingFunction: transitionTiming.bezier
          },
          duration: transitionDurationValues.drawer
        });
        const { isMounted, styles: modalTransitionStyles } = useTransitionStyles(context, {
          initial: { transform: "translate3D(0, 100%, 0)" },
          open: { transform: "translate3D(0, 0, 0)" },
          close: { transform: "translate3D(0, 100%, 0)" },
          common: {
            transitionProperty: "transform",
            transitionTimingFunction: transitionTiming.bezier
          },
          duration: isMotionSafe ? transitionDurationValues.drawer : 0
        });
        if (!isMounted) return null;
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Span2, {
          elementDescriptor: descriptors.drawerConfirmationBackdrop,
          style: overlayTransitionStyles,
          sx: (t2) => ({
            position: "absolute",
            inset: 0,
            backgroundImage: `linear-gradient(to bottom, ${colors$2.setAlpha(t2.colors.$colorBackground, 0.28)}, ${t2.colors.$colorBackground})`
          })
        }), /* @__PURE__ */ jsx2(FloatingFocusManager, {
          context,
          modal: true,
          outsideElementsInert: true,
          initialFocus: refs.floating,
          children: /* @__PURE__ */ jsxs2(Box2, {
            ref: mergedRefs,
            elementDescriptor: descriptors.drawerConfirmationRoot,
            style: modalTransitionStyles,
            ...getFloatingProps(),
            sx: (t2) => ({
              display: "flex",
              flexDirection: "column",
              rowGap: t2.space.$6,
              outline: "none",
              willChange: "transform",
              position: "absolute",
              bottom: 0,
              left: 0,
              right: 0,
              background: common.mergedColorsBackground(colors$2.setAlpha(t2.colors.$colorBackground, 1), t2.colors.$neutralAlpha50),
              padding: t2.space.$4,
              borderStartStartRadius: t2.radii.$md,
              borderStartEndRadius: t2.radii.$md,
              boxShadow: `0 0 0 1px ${t2.colors.$borderAlpha100}`
            }),
            children: [children, /* @__PURE__ */ jsx2(Flex2, {
              elementDescriptor: descriptors.drawerConfirmationActions,
              gap: 3,
              justify: "end",
              children: actionsSlot
            })]
          })
        })] });
      });
      Confirmation.displayName = "Drawer.Confirmation";
      Drawer = {
        Root: Root9,
        Overlay,
        Content: Content2,
        Header: Header3,
        Body: Body2,
        Footer: Footer2,
        Confirmation,
        Close
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/Checkout/CheckoutComplete.js
  var import_react460, capitalize, lerp, SuccessRing, CheckoutComplete;
  var init_CheckoutComplete = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/Checkout/CheckoutComplete.js"() {
      init_Checkout();
      init_RouteContext();
      init_localizationKeys();
      init_usePrefersReducedMotion();
      init_elementDescriptors();
      init_transitions();
      init_AppearanceContext();
      init_customizables();
      init_Drawer();
      init_LineItems();
      init_formatDate();
      import_react460 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      capitalize = (name) => name[0].toUpperCase() + name.slice(1);
      lerp = (start, end, amt) => start + (end - start) * amt;
      SuccessRing = ({ positionX, positionY }) => {
        const animationRef = (0, import_react460.useRef)(null);
        const [currentPosition, setCurrentPosition] = (0, import_react460.useState)({
          x: 256,
          y: 256
        });
        const canHover = typeof window === "undefined" ? true : window.matchMedia("(hover: hover) and (pointer: fine)").matches;
        (0, import_react460.useEffect)(() => {
          if (!canHover) return;
          const animate2 = () => {
            setCurrentPosition((prev3) => {
              const amt = 0.15;
              return {
                x: lerp(prev3.x, positionX, amt),
                y: lerp(prev3.y, positionY, amt)
              };
            });
            animationRef.current = requestAnimationFrame(animate2);
          };
          animationRef.current = requestAnimationFrame(animate2);
          return () => {
            if (animationRef.current) cancelAnimationFrame(animationRef.current);
          };
        }, [
          positionX,
          positionY,
          canHover
        ]);
        const maskId1 = (0, import_react460.useId)();
        const maskId2 = (0, import_react460.useId)();
        const maskId3 = (0, import_react460.useId)();
        return /* @__PURE__ */ jsxs2(Box2, {
          elementDescriptor: descriptors.checkoutSuccessRings,
          as: "svg",
          viewBox: "0 0 512 512",
          sx: {
            position: "absolute",
            inset: 0,
            pointerEvents: "none"
          },
          "aria-hidden": true,
          children: [/* @__PURE__ */ jsxs2("defs", { children: [
            /* @__PURE__ */ jsxs2("radialGradient", {
              id: "clerk-checkout-success-gradient",
              children: [/* @__PURE__ */ jsx2("stop", {
                offset: "0%",
                style: { stopColor: "var(--ring-highlight)" }
              }), /* @__PURE__ */ jsx2("stop", {
                offset: "100%",
                stopOpacity: "0",
                style: { stopColor: "var(--ring-highlight)" }
              })]
            }),
            /* @__PURE__ */ jsx2("filter", {
              id: "clerk-checkout-success-blur-effect",
              children: /* @__PURE__ */ jsx2("feGaussianBlur", { stdDeviation: "10" })
            }),
            [
              {
                r: 225,
                maskStart: 10,
                maskEnd: 90,
                id: maskId1
              },
              {
                r: 162.5,
                maskStart: 15,
                maskEnd: 85,
                id: maskId2
              },
              {
                r: 100,
                maskStart: 20,
                maskEnd: 80,
                id: maskId3
              }
            ].map(({ maskStart, maskEnd, id }) => /* @__PURE__ */ jsxs2("linearGradient", {
              id: `gradient-${id}`,
              x1: "0%",
              y1: "0%",
              x2: "0%",
              y2: "100%",
              children: [
                /* @__PURE__ */ jsx2("stop", {
                  offset: `${maskStart + 5}%`,
                  stopColor: "white",
                  stopOpacity: "0"
                }),
                /* @__PURE__ */ jsx2("stop", {
                  offset: `${maskStart + 35}%`,
                  stopColor: "white",
                  stopOpacity: "1"
                }),
                /* @__PURE__ */ jsx2("stop", {
                  offset: `${maskEnd - 35}%`,
                  stopColor: "white",
                  stopOpacity: "1"
                }),
                /* @__PURE__ */ jsx2("stop", {
                  offset: `${maskEnd - 5}%`,
                  stopColor: "white",
                  stopOpacity: "0"
                })
              ]
            }, id)),
            /* @__PURE__ */ jsx2("mask", {
              id: "clerk-checkout-success-mask",
              children: [
                {
                  r: 225,
                  id: maskId1
                },
                {
                  r: 162.5,
                  id: maskId2
                },
                {
                  r: 100,
                  id: maskId3
                }
              ].map(({ r: r2, id }) => /* @__PURE__ */ jsx2("circle", {
                cx: "256",
                cy: "256",
                r: r2,
                stroke: `url(#gradient-${id})`,
                fill: "none",
                strokeWidth: "1"
              }, id))
            })
          ] }), /* @__PURE__ */ jsxs2("g", {
            mask: "url(#clerk-checkout-success-mask)",
            children: [/* @__PURE__ */ jsx2("rect", {
              width: "512",
              height: "512",
              style: { fill: "var(--ring-fill)" }
            }), canHover && /* @__PURE__ */ jsx2("rect", {
              id: "movingGradientHighlight",
              width: "256",
              height: "256",
              x: currentPosition.x - 128,
              y: currentPosition.y - 128,
              fill: "url(#clerk-checkout-success-gradient)",
              filter: "url(#clerk-checkout-success-blur-effect)"
            })]
          })]
        });
      };
      CheckoutComplete = () => {
        const router = useRouter();
        const { setIsOpen } = useDrawerContext();
        const { newSubscriptionRedirectUrl } = useCheckoutContext2();
        const { checkout } = useCheckout();
        const { totals, paymentMethod, planPeriodStart, freeTrialEndsAt } = checkout;
        const [mousePosition, setMousePosition] = (0, import_react460.useState)({
          x: 256,
          y: 256
        });
        const prefersReducedMotion = usePrefersReducedMotion();
        const { animations: layoutAnimations } = useAppearance().parsedOptions;
        const isMotionSafe = !prefersReducedMotion && layoutAnimations === true;
        const checkoutSuccessRootRef = (0, import_react460.useRef)(null);
        const canHover = typeof window === "undefined" ? true : window.matchMedia("(hover: hover) and (pointer: fine)").matches;
        const handleMouseMove = (event) => {
          if (!canHover) return;
          if (checkoutSuccessRootRef.current) {
            const rect = checkoutSuccessRootRef.current.getBoundingClientRect();
            const domX = event.clientX - rect.left;
            const domY = event.clientY - rect.top;
            const domWidth = rect.width;
            const svgViewBoxWidth = 512;
            if (domWidth > 0) setMousePosition({
              x: domX / domWidth * svgViewBoxWidth,
              y: domY / domWidth * svgViewBoxWidth
            });
            else setMousePosition({
              x: 256,
              y: 256
            });
          }
        };
        const handleClose = () => {
          if (newSubscriptionRedirectUrl) router.navigate(newSubscriptionRedirectUrl);
          if (setIsOpen) setIsOpen(false);
        };
        if (!totals) return null;
        return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Drawer.Body, { children: /* @__PURE__ */ jsxs2(Span2, {
          elementDescriptor: descriptors.checkoutSuccessRoot,
          sx: (t2) => ({
            "--ring-fill": t2.colors.$neutralAlpha200,
            "--ring-highlight": t2.colors.$success500,
            margin: "auto",
            position: "relative",
            aspectRatio: "1/1",
            display: "grid",
            width: "100%",
            flexShrink: 0,
            transformOrigin: "bottom center",
            animationName: "scaleIn",
            animationDuration: `${transitionDurationValues.slowest}ms`,
            animationTimingFunction: transitionTiming.bezier,
            animationFillMode: "forwards",
            opacity: 0,
            overflow: "hidden",
            backgroundColor: t2.colors.$colorBackground,
            "@keyframes scaleIn": {
              "0%": {
                filter: "blur(10px)",
                transform: "scale(0.85)",
                opacity: 0
              },
              "100%": {
                filter: "blur(0px)",
                transform: "scale(1)",
                opacity: 1
              }
            },
            ...!isMotionSafe && {
              animation: "none",
              opacity: 1
            }
          }),
          ref: checkoutSuccessRootRef,
          onMouseMove: handleMouseMove,
          children: [
            /* @__PURE__ */ jsx2(SuccessRing, {
              positionX: mousePosition.x,
              positionY: mousePosition.y
            }),
            /* @__PURE__ */ jsxs2(Box2, {
              elementDescriptor: descriptors.checkoutSuccessBadge,
              sx: (t2) => ({
                margin: "auto",
                gridArea: "1/1",
                display: "flex",
                position: "relative",
                width: t2.sizes.$16,
                height: t2.sizes.$16,
                borderRadius: t2.radii.$circle,
                backgroundImage: `linear-gradient(180deg, rgba(255, 255, 255, 0.30) 0%, rgba(0, 0, 0, 0.12) 50%, rgba(0, 0, 0, 0.30) 95.31%)`,
                boxShadow: "0px 4px 12px 0px rgba(0, 0, 0, 0.35), 0px 1px 0px 0px rgba(255, 255, 255, 0.05) inset",
                color: canHover ? t2.colors.$success500 : t2.colors.$colorForeground,
                ":before": {
                  content: '""',
                  position: "absolute",
                  inset: t2.space.$1,
                  borderRadius: t2.radii.$circle,
                  backgroundColor: t2.colors.$colorBackground
                }
              }),
              children: [/* @__PURE__ */ jsx2("svg", {
                fill: "none",
                viewBox: "0 0 10 10",
                "aria-hidden": "true",
                style: {
                  position: "relative",
                  margin: "auto",
                  width: "1rem",
                  height: "1rem"
                },
                children: /* @__PURE__ */ jsx2("path", {
                  d: "m1 6 3 3 5-8",
                  stroke: "currentColor",
                  strokeWidth: "1.25",
                  strokeLinecap: "round",
                  strokeLinejoin: "round",
                  strokeDasharray: "1",
                  pathLength: "1",
                  style: {
                    strokeDashoffset: "1",
                    animation: isMotionSafe ? `check ${transitionDurationValues.drawer}ms ${transitionTiming.bezier} forwards ${transitionDurationValues.slow}ms` : "none",
                    ...!isMotionSafe && { strokeDashoffset: "0" }
                  }
                })
              }), /* @__PURE__ */ jsx2("style", { children: `
              @keyframes check {
                0% {
                  stroke-dashoffset: 1;
                }
                100% {
                  stroke-dashoffset: 0;
                }
            ` })]
            }),
            /* @__PURE__ */ jsxs2(Span2, {
              sx: (t2) => ({
                margin: "auto",
                gridArea: "1/1",
                position: "relative",
                textAlign: "center",
                transform: `translateY(${t2.space.$20})`
              }),
              children: [/* @__PURE__ */ jsx2(Heading2, {
                elementDescriptor: descriptors.checkoutSuccessTitle,
                as: "h2",
                textVariant: "h2",
                localizationKey: freeTrialEndsAt ? localizationKeys("billing.checkout.title__trialSuccess") : totals.totalDueNow.amount > 0 ? localizationKeys("billing.checkout.title__paymentSuccessful") : localizationKeys("billing.checkout.title__subscriptionSuccessful"),
                sx: (t2) => ({
                  opacity: 0,
                  animationName: "slideUp",
                  animationDuration: `${transitionDurationValues.slowest}ms`,
                  animationTimingFunction: transitionTiming.bezier,
                  animationFillMode: "forwards",
                  color: t2.colors.$colorForeground,
                  "@keyframes slideUp": {
                    "0%": {
                      transform: "translateY(30px)",
                      opacity: 0
                    },
                    "100%": {
                      transform: "translateY(0)",
                      opacity: 1
                    }
                  },
                  ...!isMotionSafe && {
                    opacity: 1,
                    animation: "none"
                  }
                })
              }), /* @__PURE__ */ jsx2(Text2, {
                elementDescriptor: descriptors.checkoutSuccessDescription,
                colorScheme: "secondary",
                sx: (t2) => ({
                  textAlign: "center",
                  paddingInline: t2.space.$8,
                  marginBlockStart: t2.space.$2,
                  opacity: 0,
                  animationName: "slideUp",
                  animationDuration: `${transitionDurationValues.slowest * 1.5}ms`,
                  animationTimingFunction: transitionTiming.bezier,
                  animationFillMode: "forwards",
                  "@keyframes slideUp": {
                    "0%": {
                      transform: "translateY(30px)",
                      opacity: 0
                    },
                    "100%": {
                      transform: "translateY(0)",
                      opacity: 1
                    }
                  },
                  ...!isMotionSafe && {
                    opacity: 1,
                    animation: "none"
                  }
                }),
                localizationKey: totals.totalDueNow.amount > 0 ? localizationKeys("billing.checkout.description__paymentSuccessful") : localizationKeys("billing.checkout.description__subscriptionSuccessful")
              })]
            })
          ]
        }) }), /* @__PURE__ */ jsxs2(Drawer.Footer, {
          sx: (t2) => ({
            rowGap: t2.space.$4,
            animationName: "footerSlideInUp",
            animationDuration: `${transitionDurationValues.drawer}ms`,
            animationTimingFunction: transitionTiming.bezier,
            "@keyframes footerSlideInUp": {
              "0%": {
                transform: "translateY(100%)",
                opacity: 0
              },
              "100%": {
                transform: "translateY(0)",
                opacity: 1
              }
            },
            ...!isMotionSafe && { animation: "none" }
          }),
          children: [/* @__PURE__ */ jsxs2(LineItems.Root, { children: [
            /* @__PURE__ */ jsxs2(LineItems.Group, {
              variant: "secondary",
              children: [/* @__PURE__ */ jsx2(LineItems.Title, { title: localizationKeys("billing.checkout.lineItems.title__totalPaid") }), /* @__PURE__ */ jsx2(LineItems.Description, { text: `${totals.totalDueNow.currencySymbol}${totals.totalDueNow.amountFormatted}` })]
            }),
            freeTrialEndsAt ? /* @__PURE__ */ jsxs2(LineItems.Group, {
              variant: "secondary",
              children: [/* @__PURE__ */ jsx2(LineItems.Title, { title: localizationKeys("billing.checkout.lineItems.title__freeTrialEndsAt") }), /* @__PURE__ */ jsx2(LineItems.Description, { text: formatDate(freeTrialEndsAt) })]
            }) : null,
            /* @__PURE__ */ jsxs2(LineItems.Group, {
              variant: "secondary",
              children: [/* @__PURE__ */ jsx2(LineItems.Title, { title: totals.totalDueNow.amount > 0 || freeTrialEndsAt !== null ? localizationKeys("billing.checkout.lineItems.title__paymentMethod") : localizationKeys("billing.checkout.lineItems.title__subscriptionBegins") }), /* @__PURE__ */ jsx2(LineItems.Description, { text: totals.totalDueNow.amount > 0 || freeTrialEndsAt !== null ? paymentMethod ? paymentMethod.paymentType !== "card" ? paymentMethod.paymentType ? `${capitalize(paymentMethod.paymentType)}` : "\u2013" : paymentMethod.cardType ? `${capitalize(paymentMethod.cardType)} \u22EF ${paymentMethod.last4}` : "\u2013" : "\u2013" : planPeriodStart ? formatDate(new Date(planPeriodStart)) : "\u2013" })]
            })
          ] }), /* @__PURE__ */ jsx2(Button2, {
            onClick: handleClose,
            localizationKey: localizationKeys("formButtonPrimary")
          })]
        })] });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/Checkout/CheckoutForm.js
  var import_react462, capitalize2, HIDDEN_INPUT_NAME, CheckoutForm, useCheckoutMutations, CheckoutFormElements, CheckoutFormElementsInternal, PayWithTestPaymentMethod, useSubmitLabel, FreeTrialButton, CheckoutSubmitButton, formProps, ExistingPaymentMethodForm;
  var init_CheckoutForm = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/Checkout/CheckoutForm.js"() {
      init_Checkout();
      init_localizationKeys();
      init_chevron_up_down();
      init_information_circle();
      init_billingPlanSeats();
      init_Plans();
      init_elementDescriptors();
      init_contexts();
      init_customizables();
      init_Card();
      init_errorHandler();
      init_Select();
      init_Drawer();
      init_LineItems();
      init_Tooltip();
      init_DevOnly();
      init_AddPaymentMethod();
      init_PaymentMethodRow();
      init_badge();
      import_react462 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      capitalize2 = (name) => name[0].toUpperCase() + name.slice(1);
      HIDDEN_INPUT_NAME = "payment_method_id";
      CheckoutForm = withCardStateProvider(() => {
        const { checkout } = useCheckout();
        const { plan, totals, isImmediatePlanChange, planPeriod, freeTrialEndsAt } = checkout;
        if (!plan) return null;
        const showProratedCredit = !!totals.credits?.proration?.amount && totals.credits.proration.amount.amount > 0;
        const showAccountCredits = !!totals.credits?.payer?.appliedAmount && totals.credits.payer.appliedAmount.amount > 0;
        const showPastDue = !!totals.pastDue?.amount && totals.pastDue.amount > 0;
        const showDowngradeInfo = !isImmediatePlanChange;
        const fee = planPeriod === "month" ? plan.fee : plan.annualMonthlyFee;
        const descriptionElements = [];
        if (planPeriod === "annual") descriptionElements.push(localizationKeys("billing.billedAnnually"));
        const seatUnitPrice = getSeatUnitPrice(plan);
        if (seatUnitPrice && seatUnitPrice.tiers.length === 1 && seatUnitPrice.tiers[0].feePerBlock.amount === 0) descriptionElements.push(seatUnitPrice.tiers[0].endsAfterBlock ? localizationKeys("billing.pricingTable.seatCost.upToSeats", { endsAfterBlock: seatUnitPrice.tiers[0].endsAfterBlock }) : localizationKeys("billing.pricingTable.seatCost.unlimitedSeats"));
        return /* @__PURE__ */ jsxs2(Drawer.Body, { children: [
          /* @__PURE__ */ jsx2(Box2, {
            elementDescriptor: descriptors.checkoutFormLineItemsRoot,
            sx: (t2) => ({
              padding: t2.space.$4,
              borderBottomWidth: t2.borderWidths.$normal,
              borderBottomStyle: t2.borderStyles.$solid,
              borderBottomColor: t2.colors.$borderAlpha100
            }),
            children: /* @__PURE__ */ jsxs2(LineItems.Root, { children: [
              /* @__PURE__ */ jsxs2(LineItems.Group, { children: [/* @__PURE__ */ jsx2(LineItems.Title, {
                title: plan.name,
                description: descriptionElements,
                badge: plan.freeTrialEnabled && freeTrialEndsAt ? /* @__PURE__ */ jsx2(SubscriptionBadge, { subscription: { status: "free_trial" } }) : null
              }), /* @__PURE__ */ jsx2(LineItems.Description, {
                prefix: planPeriod === "annual" ? "x12" : void 0,
                text: `${fee.currencySymbol}${fee.amountFormatted}`,
                suffix: localizationKeys("billing.checkout.perMonth")
              })] }),
              /* @__PURE__ */ jsxs2(LineItems.Group, {
                borderTop: true,
                variant: "tertiary",
                children: [/* @__PURE__ */ jsx2(LineItems.Title, { title: localizationKeys("billing.subtotal") }), /* @__PURE__ */ jsx2(LineItems.Description, { text: `${totals.subtotal.currencySymbol}${totals.subtotal.amountFormatted}` })]
              }),
              showProratedCredit && /* @__PURE__ */ jsxs2(LineItems.Group, {
                variant: "tertiary",
                children: [/* @__PURE__ */ jsx2(LineItems.Title, { title: localizationKeys("billing.creditRemainder") }), /* @__PURE__ */ jsx2(LineItems.Description, { text: `- ${totals.credits?.proration?.amount.currencySymbol}${totals.credits?.proration?.amount.amountFormatted}` })]
              }),
              showAccountCredits && /* @__PURE__ */ jsxs2(LineItems.Group, {
                variant: "tertiary",
                children: [/* @__PURE__ */ jsx2(LineItems.Title, { title: localizationKeys("billing.payerCreditRemainder") }), /* @__PURE__ */ jsx2(LineItems.Description, { text: `- ${totals.credits?.payer?.appliedAmount?.currencySymbol}${totals.credits?.payer?.appliedAmount?.amountFormatted}` })]
              }),
              showPastDue && /* @__PURE__ */ jsxs2(LineItems.Group, {
                variant: "tertiary",
                children: [/* @__PURE__ */ jsxs2(Tooltip.Root, { children: [/* @__PURE__ */ jsx2(Tooltip.Trigger, { children: /* @__PURE__ */ jsx2(LineItems.Title, {
                  title: localizationKeys("billing.pastDue"),
                  icon: information_circle_default
                }) }), /* @__PURE__ */ jsx2(Tooltip.Content, { text: localizationKeys("billing.checkout.pastDueNotice") })] }), /* @__PURE__ */ jsx2(LineItems.Description, { text: `${totals.pastDue?.currencySymbol}${totals.pastDue?.amountFormatted}` })]
              }),
              !!freeTrialEndsAt && !!plan.freeTrialDays && totals.totalDueAfterFreeTrial && /* @__PURE__ */ jsxs2(LineItems.Group, {
                variant: "tertiary",
                children: [/* @__PURE__ */ jsx2(LineItems.Title, { title: localizationKeys("billing.checkout.totalDueAfterTrial", { days: plan.freeTrialDays }) }), /* @__PURE__ */ jsx2(LineItems.Description, { text: `${totals.totalDueAfterFreeTrial.currencySymbol}${totals.totalDueAfterFreeTrial.amountFormatted}` })]
              }),
              /* @__PURE__ */ jsxs2(LineItems.Group, {
                borderTop: true,
                children: [/* @__PURE__ */ jsx2(LineItems.Title, { title: localizationKeys("billing.totalDueToday") }), /* @__PURE__ */ jsx2(LineItems.Description, { text: `${totals.totalDueNow.currencySymbol}${totals.totalDueNow.amountFormatted}` })]
              })
            ] })
          }),
          showDowngradeInfo && /* @__PURE__ */ jsx2(Box2, {
            elementDescriptor: descriptors.checkoutFormLineItemsRoot,
            sx: (t2) => ({
              paddingBlockStart: t2.space.$4,
              paddingInline: t2.space.$4
            }),
            children: /* @__PURE__ */ jsx2(Text2, {
              localizationKey: localizationKeys("billing.checkout.downgradeNotice"),
              variant: "caption",
              colorScheme: "secondary"
            })
          }),
          /* @__PURE__ */ jsx2(CheckoutFormElements, {})
        ] });
      });
      useCheckoutMutations = () => {
        const { onSubscriptionComplete } = useCheckoutContext2();
        const { checkout } = useCheckout();
        const card = useCardState();
        if (checkout.status !== "needs_confirmation") throw new Error("Checkout not found");
        const confirmCheckout = async (params) => {
          card.setLoading();
          card.setError(void 0);
          const { error: error2 } = await checkout.confirm(params);
          if (error2) handleError(error2, [], card.setError);
          else onSubscriptionComplete?.();
          card.setIdle();
        };
        const payWithExistingPaymentMethod = (e3) => {
          e3.preventDefault();
          return confirmCheckout({ paymentMethodId: new FormData(e3.currentTarget).get(HIDDEN_INPUT_NAME) });
        };
        const payWithoutPaymentMethod = (e3) => {
          e3.preventDefault();
          return confirmCheckout({});
        };
        const addPaymentMethodAndPay = (ctx) => confirmCheckout(ctx);
        const payWithTestCard = () => confirmCheckout({
          gateway: "stripe",
          useTestCard: true
        });
        return {
          payWithExistingPaymentMethod,
          addPaymentMethodAndPay,
          payWithTestCard,
          payWithoutPaymentMethod
        };
      };
      CheckoutFormElements = () => {
        const { checkout } = useCheckout();
        const { plan } = checkout;
        const { isLoading } = usePaymentMethods2();
        if (!plan) return null;
        if (isLoading) return /* @__PURE__ */ jsx2(Spinner, { sx: { margin: "auto" } });
        return /* @__PURE__ */ jsx2(CheckoutFormElementsInternal, {});
      };
      CheckoutFormElementsInternal = () => {
        const { checkout } = useCheckout();
        const { plan, isImmediatePlanChange, needsPaymentMethod } = checkout;
        const { data: paymentMethods } = usePaymentMethods2();
        const [paymentMethodSource, setPaymentMethodSource] = (0, import_react462.useState)(() => (paymentMethods.length, "existing"));
        if (!plan) return null;
        return /* @__PURE__ */ jsxs2(Col2, {
          elementDescriptor: descriptors.checkoutFormElementsRoot,
          gap: 4,
          sx: (t2) => ({ padding: t2.space.$4 }),
          children: [null, !needsPaymentMethod ? /* @__PURE__ */ jsx2(FreeTrialButton, {}) : paymentMethodSource === "existing" ? /* @__PURE__ */ jsx2(ExistingPaymentMethodForm, { paymentMethods }) : false]
        });
      };
      PayWithTestPaymentMethod = () => {
        const { isLoading } = useCardState();
        const { payWithTestCard } = useCheckoutMutations();
        return /* @__PURE__ */ jsxs2(Box2, {
          sx: (t2) => ({
            background: t2.colors.$neutralAlpha50,
            padding: t2.space.$2x5,
            borderRadius: t2.radii.$md,
            borderWidth: t2.borderWidths.$normal,
            borderStyle: t2.borderStyles.$solid,
            borderColor: t2.colors.$borderAlpha100,
            display: "flex",
            flexDirection: "column",
            rowGap: t2.space.$2,
            position: "relative"
          }),
          children: [/* @__PURE__ */ jsx2(Box2, { sx: (t2) => ({
            position: "absolute",
            inset: 0,
            background: `repeating-linear-gradient(-45deg,${t2.colors.$warningAlpha100},${t2.colors.$warningAlpha100} 6px,${t2.colors.$warningAlpha150} 6px,${t2.colors.$warningAlpha150} 12px)`,
            maskImage: `linear-gradient(transparent 20%, black)`,
            pointerEvents: "none"
          }) }), /* @__PURE__ */ jsxs2(Flex2, {
            sx: (t2) => ({
              alignItems: "center",
              justifyContent: "center",
              flexDirection: "column",
              rowGap: t2.space.$2
            }),
            children: [/* @__PURE__ */ jsx2(Text2, {
              sx: (t2) => ({
                color: t2.colors.$warning500,
                fontWeight: t2.fontWeights.$semibold
              }),
              localizationKey: localizationKeys("billing.paymentMethod.dev.developmentMode")
            }), /* @__PURE__ */ jsx2(Button2, {
              type: "button",
              block: true,
              variant: "bordered",
              localizationKey: localizationKeys("userProfile.billingPage.paymentMethodsSection.payWithTestCardButton"),
              colorScheme: "secondary",
              isLoading,
              onClick: payWithTestCard
            })]
          })]
        });
      };
      useSubmitLabel = () => {
        const { checkout } = useCheckout();
        const { status, freeTrialEndsAt, totals } = checkout;
        if (status === "needs_initialization") throw new Error("Clerk: Invalid state");
        if (freeTrialEndsAt) return localizationKeys("billing.startFreeTrial");
        if (totals.totalDueNow.amount > 0) return localizationKeys("billing.pay", { amount: `${totals.totalDueNow.currencySymbol}${totals.totalDueNow.amountFormatted}` });
        return localizationKeys("billing.subscribe");
      };
      FreeTrialButton = withCardStateProvider(() => {
        const { for: _for } = useCheckoutContext2();
        const { payWithoutPaymentMethod } = useCheckoutMutations();
        const card = useCardState();
        return /* @__PURE__ */ jsxs2(Form2, {
          onSubmit: payWithoutPaymentMethod,
          sx: formProps,
          children: [/* @__PURE__ */ jsx2(Card.Alert, { children: card.error }), /* @__PURE__ */ jsx2(CheckoutSubmitButton, {})]
        });
      });
      withCardStateProvider(() => {
        const { addPaymentMethodAndPay } = useCheckoutMutations();
        const submitLabel = useSubmitLabel();
        const { checkout } = useCheckout();
        return /* @__PURE__ */ jsxs2(Root4, {
          onSuccess: addPaymentMethodAndPay,
          checkout,
          children: [/* @__PURE__ */ jsx2(DevOnly, { children: /* @__PURE__ */ jsx2(PayWithTestPaymentMethod, {}) }), /* @__PURE__ */ jsx2(FormButton, { text: submitLabel })]
        });
      });
      CheckoutSubmitButton = (props) => {
        const card = useCardState();
        const submitLabel = useSubmitLabel();
        return /* @__PURE__ */ jsx2(Button2, {
          type: "submit",
          colorScheme: "primary",
          size: "sm",
          textVariant: "buttonLarge",
          sx: { width: "100%" },
          isLoading: card.isLoading,
          localizationKey: submitLabel,
          ...props
        });
      };
      formProps = (t2) => ({
        display: "flex",
        flexDirection: "column",
        rowGap: t2.space.$4
      });
      ExistingPaymentMethodForm = withCardStateProvider(({ paymentMethods }) => {
        const { checkout } = useCheckout();
        const { paymentMethod, isImmediatePlanChange, needsPaymentMethod } = checkout;
        const { payWithExistingPaymentMethod } = useCheckoutMutations();
        const card = useCardState();
        const [selectedPaymentMethod, setSelectedPaymentMethod] = (0, import_react462.useState)(paymentMethod || paymentMethods.find((p2) => p2.isDefault));
        const options2 = (0, import_react462.useMemo)(() => {
          return paymentMethods.map((method) => {
            const label = method.paymentType !== "card" ? method.paymentType ? `${capitalize2(method.paymentType)}` : "\u2013" : method.cardType ? `${capitalize2(method.cardType)} \u22EF ${method.last4}` : "\u2013";
            return {
              value: method.id,
              label
            };
          });
        }, [paymentMethods]);
        return /* @__PURE__ */ jsxs2(Form2, {
          onSubmit: payWithExistingPaymentMethod,
          sx: formProps,
          children: [
            isImmediatePlanChange && needsPaymentMethod ? /* @__PURE__ */ jsxs2(Select, {
              elementId: "paymentMethod",
              options: options2,
              value: selectedPaymentMethod?.id || null,
              onChange: (option) => {
                setSelectedPaymentMethod(paymentMethods.find((source) => source.id === option.value));
              },
              portal: true,
              children: [
                /* @__PURE__ */ jsx2("input", {
                  name: HIDDEN_INPUT_NAME,
                  type: "hidden",
                  value: selectedPaymentMethod?.id
                }),
                /* @__PURE__ */ jsx2(SelectButton, {
                  icon: chevron_up_down_default,
                  sx: (t2) => ({
                    justifyContent: "space-between",
                    backgroundColor: t2.colors.$colorBackground
                  }),
                  children: selectedPaymentMethod && /* @__PURE__ */ jsx2(PaymentMethodRow, { paymentMethod: selectedPaymentMethod })
                }),
                /* @__PURE__ */ jsx2(SelectOptionList, { sx: (t2) => ({
                  paddingBlock: t2.space.$1,
                  color: t2.colors.$colorForeground
                }) })
              ]
            }) : /* @__PURE__ */ jsx2("input", {
              name: HIDDEN_INPUT_NAME,
              type: "hidden",
              value: selectedPaymentMethod?.id
            }),
            /* @__PURE__ */ jsx2(Card.Alert, { children: card.error }),
            /* @__PURE__ */ jsx2(CheckoutSubmitButton, {})
          ]
        });
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/Checkout/CheckoutPage.js
  var import_react464, Initiator, Root10, Stage, FetchStatus;
  var init_CheckoutPage = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/Checkout/CheckoutPage.js"() {
      init_Checkout();
      import_react464 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      Initiator = () => {
        const { checkout } = useCheckout();
        (0, import_react464.useEffect)(() => {
          checkout.start();
        }, []);
        return null;
      };
      Root10 = ({ children }) => {
        const { planId, planPeriod, for: _for } = useCheckoutContext2();
        return /* @__PURE__ */ jsxs2(__experimental_CheckoutProvider, {
          for: _for,
          planId,
          planPeriod,
          children: [/* @__PURE__ */ jsx2(Initiator, {}), children]
        });
      };
      Stage = ({ children, name }) => {
        const { checkout } = useCheckout();
        if (checkout.status !== name) return null;
        return children;
      };
      FetchStatus = ({ children, status }) => {
        const { errors, fetchStatus } = useCheckout();
        if ((0, import_react464.useMemo)(() => {
          if (errors.global) {
            const errorCodes = errors.global.flatMap((e3) => {
              if (e3.isClerkAPIResponseError()) return e3.errors.map((e$1) => e$1.code);
            });
            if (errorCodes.includes("missing_payer_email")) return "missing_payer_email";
            if (errorCodes.includes("invalid_plan_change")) return "invalid_plan_change";
            return "generic_error";
          }
          return fetchStatus;
        }, [fetchStatus]) !== status) return null;
        return children;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/Checkout/parts.js
  var GenericError, InvalidPlanScreen, AddEmailForm;
  var init_parts = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/Checkout/parts.js"() {
      init_Checkout();
      init_localizationKeys();
      init_makeLocalizable();
      init_elementDescriptors();
      init_customizables();
      init_Alert2();
      init_Drawer();
      init_LineItems();
      init_EmailForm();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      GenericError = () => {
        const { errors } = useCheckout();
        const { translateError } = useLocalizations();
        const { t: t2 } = useLocalizations();
        return /* @__PURE__ */ jsx2(Drawer.Body, { children: /* @__PURE__ */ jsx2(Flex2, {
          align: "center",
          justify: "center",
          sx: (t$1) => ({
            height: "100%",
            padding: t$1.space.$4,
            fontSize: t$1.fontSizes.$md
          }),
          children: /* @__PURE__ */ jsx2(Alert$1, {
            variant: "danger",
            colorScheme: "danger",
            children: errors.global ? translateError(errors.global[0]) : t2(localizationKeys("unstable__errors.form_param_value_invalid"))
          })
        }) });
      };
      InvalidPlanScreen = () => {
        const { planPeriod } = useCheckoutContext2();
        const { errors } = useCheckout();
        const InvalidPlanError = errors?.global?.filter((e3) => e3.isClerkAPIResponseError()).flatMap((e3) => e3.errors).find((e3) => e3.code === "invalid_plan_change");
        if (!InvalidPlanError) return null;
        const { plan: planFromError, isPlanUpgradePossible } = InvalidPlanError?.meta || {};
        return /* @__PURE__ */ jsx2(Drawer.Body, { children: /* @__PURE__ */ jsxs2(Flex2, {
          gap: 4,
          direction: "col",
          children: [/* @__PURE__ */ jsx2(Box2, {
            elementDescriptor: descriptors.checkoutFormLineItemsRoot,
            sx: (t2) => ({
              padding: t2.space.$4,
              borderBottomWidth: t2.borderWidths.$normal,
              borderBottomStyle: t2.borderStyles.$solid,
              borderBottomColor: t2.colors.$borderAlpha100
            }),
            children: /* @__PURE__ */ jsx2(LineItems.Root, { children: /* @__PURE__ */ jsxs2(LineItems.Group, { children: [/* @__PURE__ */ jsx2(LineItems.Title, {
              title: planFromError.name,
              description: planPeriod === "annual" ? localizationKeys("billing.billedAnnually") : void 0
            }), /* @__PURE__ */ jsx2(LineItems.Description, {
              prefix: planPeriod === "annual" ? "x12" : void 0,
              text: `${planFromError.currency_symbol}${planPeriod === "month" ? planFromError.amount_formatted : planFromError.annual_monthly_amount_formatted}`,
              suffix: localizationKeys("billing.checkout.perMonth")
            })] }) })
          }), /* @__PURE__ */ jsx2(Box2, {
            sx: (t2) => ({ padding: t2.space.$4 }),
            children: /* @__PURE__ */ jsx2(Alert$1, {
              variant: "info",
              colorScheme: "info",
              title: isPlanUpgradePossible ? localizationKeys("billing.cannotSubscribeMonthly") : localizationKeys("billing.cannotSubscribeUnrecoverable")
            })
          })]
        }) });
      };
      AddEmailForm = () => {
        const { checkout } = useCheckout();
        const { setIsOpen } = useDrawerContext();
        return /* @__PURE__ */ jsx2(Drawer.Body, { children: /* @__PURE__ */ jsx2(Box2, {
          sx: (t2) => ({ padding: t2.space.$4 }),
          children: /* @__PURE__ */ jsx2(EmailForm, {
            title: localizationKeys("billing.checkout.emailForm.title"),
            subtitle: localizationKeys("billing.checkout.emailForm.subtitle"),
            onSuccess: () => void checkout.start(),
            onReset: () => setIsOpen(false),
            disableAutoFocus: true
          })
        }) });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/Checkout/index.js
  var Checkout_exports = {};
  __export(Checkout_exports, {
    Checkout: () => Checkout
  });
  var Checkout;
  var init_Checkout2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/Checkout/index.js"() {
      init_Checkout();
      init_localizationKeys();
      init_SubscriberType();
      init_Flow();
      init_customizables();
      init_Drawer();
      init_CheckoutComplete();
      init_CheckoutForm();
      init_CheckoutPage();
      init_parts();
      init_emotion_react_jsx_runtime_browser_esm();
      Checkout = (props) => {
        return /* @__PURE__ */ jsx2(Flow.Root, {
          flow: "checkout",
          children: /* @__PURE__ */ jsx2(Flow.Part, { children: /* @__PURE__ */ jsx2(SubscriberTypeContext.Provider, {
            value: props.for || "user",
            children: /* @__PURE__ */ jsx2(CheckoutContext2.Provider, {
              value: {
                componentName: "Checkout",
                ...props
              },
              children: /* @__PURE__ */ jsxs2(Drawer.Content, { children: [/* @__PURE__ */ jsx2(Drawer.Header, { title: localizationKeys("billing.checkout.title") }), /* @__PURE__ */ jsxs2(Root10, { children: [
                /* @__PURE__ */ jsxs2(Stage, {
                  name: "needs_initialization",
                  children: [
                    /* @__PURE__ */ jsx2(FetchStatus, {
                      status: "fetching",
                      children: /* @__PURE__ */ jsx2(Spinner, { sx: { margin: "auto" } })
                    }),
                    /* @__PURE__ */ jsx2(FetchStatus, {
                      status: "invalid_plan_change",
                      children: /* @__PURE__ */ jsx2(InvalidPlanScreen, {})
                    }),
                    /* @__PURE__ */ jsx2(FetchStatus, {
                      status: "missing_payer_email",
                      children: /* @__PURE__ */ jsx2(AddEmailForm, {})
                    }),
                    /* @__PURE__ */ jsx2(FetchStatus, {
                      status: "generic_error",
                      children: /* @__PURE__ */ jsx2(GenericError, {})
                    })
                  ]
                }),
                /* @__PURE__ */ jsx2(Stage, {
                  name: "completed",
                  children: /* @__PURE__ */ jsx2(CheckoutComplete, {})
                }),
                /* @__PURE__ */ jsx2(Stage, {
                  name: "needs_confirmation",
                  children: /* @__PURE__ */ jsx2(CheckoutForm, {})
                })
              ] })] })
            })
          }) })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/Plans/PlanDetails.js
  var PlanDetails_exports = {};
  __export(PlanDetails_exports, {
    PlanDetails: () => PlanDetails
  });
  var React$163, import_react467, PlanDetails, BodyFiller, PlanDetailsError, PlanDetailsInternal, Header4, PeriodToggle2;
  var init_PlanDetails = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/Plans/PlanDetails.js"() {
      init_localizationKeys();
      init_SubscriberType();
      init_Plans();
      init_makeLocalizable();
      init_elementDescriptors();
      init_Flow();
      init_customizables();
      init_Alert2();
      init_Drawer();
      init_Avatar();
      init_Switch2();
      React$163 = __toESM(require_react(), 1);
      import_react467 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      init_react();
      PlanDetails = (props) => {
        return /* @__PURE__ */ jsx2(Flow.Root, {
          flow: "planDetails",
          children: /* @__PURE__ */ jsx2(Flow.Part, { children: /* @__PURE__ */ jsx2(Drawer.Content, { children: /* @__PURE__ */ jsx2(PlanDetailsInternal, { ...props }) }) })
        });
      };
      BodyFiller = ({ children }) => {
        return /* @__PURE__ */ jsx2(Drawer.Body, {
          sx: (t2) => ({
            display: "flex",
            flexDirection: "column",
            alignItems: "center",
            justifyContent: "center",
            flex: 1,
            overflowY: "auto",
            padding: t2.space.$4,
            gap: t2.space.$4
          }),
          children
        });
      };
      PlanDetailsError = ({ error: error2 }) => {
        const { translateError } = useLocalizations();
        return /* @__PURE__ */ jsx2(BodyFiller, { children: /* @__PURE__ */ jsx2(Alert$1, {
          variant: "danger",
          colorScheme: "danger",
          children: translateError(error2.errors[0])
        }) });
      };
      PlanDetailsInternal = ({ planId, plan: initialPlan, initialPlanPeriod = "month" }) => {
        const [planPeriod, setPlanPeriod] = (0, import_react467.useState)(initialPlanPeriod);
        const { data: plan, isLoading, error: error2 } = __internal_usePlanDetailsQuery({
          planId,
          initialPlan,
          enabled: Boolean(planId || initialPlan?.id)
        });
        if (isLoading && !initialPlan) return /* @__PURE__ */ jsx2(BodyFiller, { children: /* @__PURE__ */ jsx2(Spinner, {}) });
        if (!plan && error2) return /* @__PURE__ */ jsx2(PlanDetailsError, { error: error2 });
        if (!plan) return null;
        const features = plan.features;
        const hasFeatures = features.length > 0;
        return /* @__PURE__ */ jsxs2(SubscriberTypeContext.Provider, {
          value: plan.forPayerType === "org" ? "organization" : "user",
          children: [/* @__PURE__ */ jsx2(Drawer.Header, {
            sx: (t2) => !hasFeatures ? {
              flex: 1,
              borderBottomWidth: 0,
              background: t2.colors.$colorBackground
            } : null,
            children: /* @__PURE__ */ jsx2(Header4, {
              plan,
              planPeriod,
              setPlanPeriod,
              closeSlot: /* @__PURE__ */ jsx2(Drawer.Close, {})
            })
          }), hasFeatures ? /* @__PURE__ */ jsxs2(Drawer.Body, { children: [/* @__PURE__ */ jsx2(Text2, {
            elementDescriptor: descriptors.planDetailCaption,
            variant: "caption",
            localizationKey: localizationKeys("billing.availableFeatures"),
            colorScheme: "secondary",
            sx: (t2) => ({
              padding: t2.space.$4,
              paddingBottom: 0
            })
          }), /* @__PURE__ */ jsx2(Box2, {
            elementDescriptor: descriptors.planDetailFeaturesList,
            as: "ul",
            role: "list",
            sx: (t2) => ({
              display: "grid",
              rowGap: t2.space.$6,
              padding: t2.space.$4,
              margin: 0
            }),
            children: features.map((feature) => /* @__PURE__ */ jsxs2(Box2, {
              elementDescriptor: descriptors.planDetailFeaturesListItem,
              as: "li",
              sx: (t2) => ({
                display: "flex",
                alignItems: "baseline",
                gap: t2.space.$3
              }),
              children: [feature.avatarUrl ? /* @__PURE__ */ jsx2(Avatar, {
                size: (_3) => 24,
                title: feature.name,
                initials: feature.name[0],
                rounded: false,
                imageUrl: feature.avatarUrl
              }) : null, /* @__PURE__ */ jsxs2(Span2, {
                elementDescriptor: descriptors.planDetailFeaturesListItemContent,
                children: [/* @__PURE__ */ jsx2(Text2, {
                  elementDescriptor: descriptors.planDetailFeaturesListItemTitle,
                  colorScheme: "body",
                  sx: (t2) => ({ fontWeight: t2.fontWeights.$medium }),
                  children: feature.name
                }), feature.description ? /* @__PURE__ */ jsx2(Text2, {
                  elementDescriptor: descriptors.planDetailFeaturesListItemDescription,
                  colorScheme: "secondary",
                  sx: (t2) => ({ marginBlockStart: t2.space.$0x25 }),
                  children: feature.description
                }) : null]
              })]
            }, feature.id))
          })] }) : null]
        });
      };
      Header4 = React$163.forwardRef((props, ref) => {
        const { plan, closeSlot, planPeriod, setPlanPeriod } = props;
        const fee = (0, import_react467.useMemo)(() => {
          if (!plan.annualMonthlyFee) return plan.fee;
          return planPeriod === "annual" ? plan.annualMonthlyFee : plan.fee;
        }, [plan, planPeriod]);
        const feeFormatted = React$163.useMemo(() => {
          if (!fee) return "";
          return `${fee.currencySymbol}${normalizeFormatted(fee.amountFormatted)}`;
        }, [fee]);
        return /* @__PURE__ */ jsxs2(Box2, {
          ref,
          elementDescriptor: descriptors.planDetailHeader,
          sx: (t2) => ({
            width: "100%",
            padding: t2.space.$4,
            position: "relative"
          }),
          children: [
            closeSlot ? /* @__PURE__ */ jsx2(Box2, {
              sx: (t2) => ({
                position: "absolute",
                top: t2.space.$2,
                insetInlineEnd: t2.space.$2
              }),
              children: closeSlot
            }) : null,
            /* @__PURE__ */ jsxs2(Col2, {
              gap: 3,
              elementDescriptor: descriptors.planDetailBadgeAvatarTitleDescriptionContainer,
              children: [plan.avatarUrl ? /* @__PURE__ */ jsx2(Avatar, {
                boxElementDescriptor: descriptors.planDetailAvatar,
                size: (_3) => 40,
                title: plan.name,
                initials: plan.name[0],
                rounded: false,
                imageUrl: plan.avatarUrl,
                sx: (t2) => ({ marginBlockEnd: t2.space.$3 })
              }) : null, /* @__PURE__ */ jsxs2(Col2, {
                gap: 1,
                elementDescriptor: descriptors.planDetailTitleDescriptionContainer,
                children: [/* @__PURE__ */ jsx2(Heading2, {
                  elementDescriptor: descriptors.planDetailTitle,
                  as: "h2",
                  textVariant: "h2",
                  children: plan.name
                }), plan.description ? /* @__PURE__ */ jsx2(Text2, {
                  elementDescriptor: descriptors.planDetailDescription,
                  variant: "subtitle",
                  colorScheme: "secondary",
                  children: plan.description
                }) : null]
              })]
            }),
            /* @__PURE__ */ jsx2(Flex2, {
              elementDescriptor: descriptors.planDetailFeeContainer,
              align: "center",
              wrap: "wrap",
              sx: (t2) => ({
                marginTop: t2.space.$3,
                columnGap: t2.space.$1x5
              }),
              children: /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(Text2, {
                elementDescriptor: descriptors.planDetailFee,
                variant: "h1",
                colorScheme: "body",
                children: feeFormatted
              }), /* @__PURE__ */ jsx2(Text2, {
                elementDescriptor: descriptors.planDetailFeePeriod,
                variant: "caption",
                colorScheme: "secondary",
                sx: (t2) => ({
                  textTransform: "lowercase",
                  ":before": {
                    content: '"/"',
                    marginInlineEnd: t2.space.$1
                  }
                }),
                localizationKey: localizationKeys("billing.month")
              })] })
            }),
            /* @__PURE__ */ jsx2(PeriodToggle2, {
              plan,
              planPeriod,
              setPlanPeriod
            })
          ]
        });
      });
      PeriodToggle2 = ({ plan, planPeriod, setPlanPeriod }) => {
        if (plan.fee && plan.annualMonthlyFee) return /* @__PURE__ */ jsx2(Box2, {
          elementDescriptor: descriptors.planDetailPeriodToggle,
          sx: (t2) => ({
            display: "flex",
            marginTop: t2.space.$3
          }),
          children: /* @__PURE__ */ jsx2(Switch2, {
            isChecked: planPeriod === "annual",
            onChange: (checked) => setPlanPeriod(checked ? "annual" : "month"),
            label: localizationKeys("billing.billedAnnually")
          })
        });
        if (plan.annualMonthlyFee) return /* @__PURE__ */ jsx2(Text2, {
          elementDescriptor: descriptors.pricingTableCardFeePeriodNotice,
          variant: "caption",
          colorScheme: "secondary",
          localizationKey: plan.isDefault ? localizationKeys("billing.alwaysFree") : localizationKeys("billing.billedAnnuallyOnly"),
          sx: (t2) => ({
            justifySelf: "flex-start",
            alignSelf: "center",
            marginTop: t2.space.$3
          })
        });
        return /* @__PURE__ */ jsx2(Text2, {
          elementDescriptor: descriptors.pricingTableCardFeePeriodNotice,
          variant: "caption",
          colorScheme: "secondary",
          localizationKey: plan.isDefault ? localizationKeys("billing.alwaysFree") : localizationKeys("billing.billedMonthlyOnly"),
          sx: (t2) => ({
            justifySelf: "flex-start",
            alignSelf: "center",
            marginTop: t2.space.$3
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/SubscriptionDetails.js
  var import_react469, SubscriptionDetailsContext, useSubscriptionDetailsContext;
  var init_SubscriptionDetails = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/SubscriptionDetails.js"() {
      import_react469 = __toESM(require_react(), 1);
      SubscriptionDetailsContext = (0, import_react469.createContext)(null);
      useSubscriptionDetailsContext = () => {
        const context = (0, import_react469.useContext)(SubscriptionDetailsContext);
        if (!context || context.componentName !== "SubscriptionDetails") throw new Error("Clerk: useSubscriptionDetailsContext called outside SubscriptionDetails.");
        const { componentName, ...ctx } = context;
        return {
          ...ctx,
          componentName
        };
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/SubscriptionDetails/index.js
  var SubscriptionDetails_exports = {};
  __export(SubscriptionDetails_exports, {
    SubscriptionDetails: () => SubscriptionDetails
  });
  function useGuessableSubscription(options2) {
    const { subscriptionItems, isLoading } = useSubscription2();
    const activeSubscription = subscriptionItems?.find((sub) => sub.status === "active");
    const upcomingSubscription = subscriptionItems?.find((sub) => sub.status === "upcoming");
    const pastDueSubscription = subscriptionItems?.find((sub) => sub.status === "past_due");
    if (options2?.or === "throw" && !activeSubscription && !pastDueSubscription) throw new Error("No active or past due subscription found");
    return {
      upcomingSubscription,
      pastDueSubscription,
      activeSubscription,
      anySubscription: upcomingSubscription || activeSubscription || pastDueSubscription,
      isLoading
    };
  }
  function SubscriptionDetailsSummary() {
    const { activeSubscription } = useGuessableSubscription({ or: "throw" });
    const { data: subscription } = useSubscription2();
    if (!subscription?.nextPayment || !activeSubscription) return null;
    const { isFreeTrial } = activeSubscription;
    return /* @__PURE__ */ jsxs2(LineItems.Root, { children: [
      /* @__PURE__ */ jsxs2(LineItems.Group, { children: [/* @__PURE__ */ jsx2(LineItems.Title, { description: localizationKeys("billing.subscriptionDetails.currentBillingCycle") }), /* @__PURE__ */ jsx2(LineItems.Description, { text: activeSubscription.planPeriod === "month" ? localizationKeys("billing.monthly") : localizationKeys("billing.annually") })] }),
      /* @__PURE__ */ jsxs2(LineItems.Group, { children: [/* @__PURE__ */ jsx2(LineItems.Title, { description: localizationKeys(`billing.subscriptionDetails.${isFreeTrial ? "firstPaymentOn" : "nextPaymentOn"}`) }), /* @__PURE__ */ jsx2(LineItems.Description, { text: formatDate(subscription.nextPayment.date) })] }),
      /* @__PURE__ */ jsxs2(LineItems.Group, { children: [/* @__PURE__ */ jsx2(LineItems.Title, { description: localizationKeys(`billing.subscriptionDetails.${isFreeTrial ? "firstPaymentAmount" : "nextPaymentAmount"}`) }), /* @__PURE__ */ jsx2(LineItems.Description, {
        prefix: subscription.nextPayment.amount.currency,
        text: `${subscription.nextPayment.amount.currencySymbol}${subscription.nextPayment.amount.amountFormatted}`
      })] })
    ] });
  }
  var React$164, import_react470, isFreePlan2, SubscriptionForCancellationContext, SubscriptionDetails, SubscriptionDetailsInternal, SubscriptionDetailsFooter, SubscriptionCardActions, SubscriptionCard, DetailRow;
  var init_SubscriptionDetails2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/SubscriptionDetails/index.js"() {
      init_localizationKeys();
      init_users();
      init_Gate();
      init_SubscriberType();
      init_Plans();
      init_SubscriptionDetails();
      init_makeLocalizable();
      init_common();
      init_elementDescriptors();
      init_contexts();
      init_Flow();
      init_customizables();
      init_CardAlert();
      init_errorHandler();
      init_Drawer();
      init_LineItems();
      init_formatDate();
      init_badge();
      init_Avatar();
      React$164 = __toESM(require_react(), 1);
      import_react470 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      isFreePlan2 = (plan) => !plan.hasBaseFee;
      SubscriptionForCancellationContext = React$164.createContext({
        confirmationOpen: false,
        setConfirmationOpen: () => {
        },
        subscription: null,
        setSubscription: () => {
        }
      });
      SubscriptionDetails = (props) => {
        return /* @__PURE__ */ jsx2(Flow.Root, {
          flow: "subscriptionDetails",
          children: /* @__PURE__ */ jsx2(Flow.Part, { children: /* @__PURE__ */ jsx2(Drawer.Content, { children: /* @__PURE__ */ jsx2(SubscriptionDetailsContext.Provider, {
            value: {
              componentName: "SubscriptionDetails",
              ...props
            },
            children: /* @__PURE__ */ jsx2(SubscriberTypeContext.Provider, {
              value: props.for,
              children: /* @__PURE__ */ jsx2(SubscriptionDetailsInternal, { ...props })
            })
          }) }) })
        });
      };
      SubscriptionDetailsInternal = (props) => {
        const [subscriptionForCancellation, setSubscriptionForCancellation] = (0, import_react470.useState)(null);
        const [confirmationOpen, setConfirmationOpen] = (0, import_react470.useState)(false);
        const { subscriptionItems, isLoading } = useSubscription2();
        const { activeSubscription, pastDueSubscription } = useGuessableSubscription();
        if (isLoading) return /* @__PURE__ */ jsx2(Spinner, { sx: { margin: "auto" } });
        if (!activeSubscription && !pastDueSubscription) return null;
        return /* @__PURE__ */ jsxs2(SubscriptionForCancellationContext.Provider, {
          value: {
            subscription: subscriptionForCancellation,
            setSubscription: setSubscriptionForCancellation,
            confirmationOpen,
            setConfirmationOpen
          },
          children: [
            /* @__PURE__ */ jsx2(Drawer.Header, { title: localizationKeys("billing.subscriptionDetails.title") }),
            /* @__PURE__ */ jsx2(Drawer.Body, {
              sx: (t2) => ({
                display: "flex",
                flexDirection: "column",
                flex: 1,
                overflowY: "auto",
                padding: t2.space.$4,
                gap: t2.space.$4
              }),
              children: subscriptionItems?.map((subscriptionItem) => /* @__PURE__ */ jsx2(SubscriptionCard, {
                subscription: subscriptionItem,
                ...props
              }, subscriptionItem.id))
            }),
            /* @__PURE__ */ jsx2(SubscriptionDetailsFooter, {})
          ]
        });
      };
      SubscriptionDetailsFooter = withCardStateProvider(() => {
        const subscriberType = useSubscriberTypeContext();
        const { isLoading, error: error2, setError, setLoading, setIdle } = useCardState();
        const { subscription: selectedSubscription, confirmationOpen, setConfirmationOpen } = (0, import_react470.useContext)(SubscriptionForCancellationContext);
        const { data: subscription } = useSubscription2();
        const { setIsOpen } = useDrawerContext();
        const { onSubscriptionCancel } = useSubscriptionDetailsContext();
        const organization = useOrganizationBase();
        const onOpenChange = (0, import_react470.useCallback)((open) => setConfirmationOpen(open), [setConfirmationOpen]);
        const cancelSubscription = (0, import_react470.useCallback)(async () => {
          if (!selectedSubscription) return;
          setError(void 0);
          setLoading();
          await selectedSubscription.cancel({ orgId: subscriberType === "organization" ? organization?.id : void 0 }).then(() => {
            onSubscriptionCancel?.();
            if (setIsOpen) setIsOpen(false);
          }).catch((error$1) => {
            handleError(error$1, [], setError);
          }).finally(() => {
            setIdle();
          });
        }, [
          selectedSubscription,
          setError,
          setLoading,
          subscriberType,
          organization?.id,
          onSubscriptionCancel,
          setIsOpen,
          setIdle
        ]);
        if (!subscription?.nextPayment) return null;
        return /* @__PURE__ */ jsxs2(Drawer.Footer, { children: [/* @__PURE__ */ jsx2(SubscriptionDetailsSummary, {}), /* @__PURE__ */ jsx2(Drawer.Confirmation, {
          open: confirmationOpen,
          onOpenChange,
          actionsSlot: /* @__PURE__ */ jsxs2(Fragment3, { children: [!isLoading && /* @__PURE__ */ jsx2(Button2, {
            variant: "ghost",
            size: "sm",
            textVariant: "buttonLarge",
            onClick: () => {
              setIdle();
              setError(void 0);
              onOpenChange(false);
            },
            localizationKey: selectedSubscription?.isFreeTrial ? localizationKeys("billing.keepFreeTrial") : localizationKeys("billing.keepSubscription")
          }), /* @__PURE__ */ jsx2(Button2, {
            variant: "solid",
            colorScheme: "danger",
            size: "sm",
            textVariant: "buttonLarge",
            isLoading,
            onClick: () => void cancelSubscription(),
            localizationKey: selectedSubscription?.isFreeTrial ? localizationKeys("billing.cancelFreeTrial", { plan: selectedSubscription.plan.name }) : localizationKeys("billing.cancelSubscription")
          })] }),
          children: selectedSubscription ? /* @__PURE__ */ jsxs2(Fragment3, { children: [
            /* @__PURE__ */ jsx2(Heading2, {
              elementDescriptor: descriptors.drawerConfirmationTitle,
              as: "h2",
              textVariant: "h3",
              localizationKey: selectedSubscription?.isFreeTrial ? localizationKeys("billing.cancelFreeTrialTitle", { plan: selectedSubscription.plan.name }) : localizationKeys("billing.cancelSubscriptionTitle", { plan: `${selectedSubscription.status === "upcoming" ? "upcoming " : ""}${selectedSubscription.plan.name}` })
            }),
            /* @__PURE__ */ jsx2(Text2, {
              elementDescriptor: descriptors.drawerConfirmationDescription,
              colorScheme: "secondary",
              localizationKey: selectedSubscription?.isFreeTrial ? localizationKeys("billing.cancelFreeTrialAccessUntil", {
                plan: selectedSubscription.plan.name,
                date: selectedSubscription.periodEnd
              }) : selectedSubscription.status === "upcoming" ? localizationKeys("billing.cancelSubscriptionNoCharge") : selectedSubscription.status === "past_due" ? localizationKeys("billing.cancelSubscriptionPastDue") : localizationKeys("billing.cancelSubscriptionAccessUntil", {
                plan: selectedSubscription.plan.name,
                date: selectedSubscription.periodEnd
              })
            }),
            /* @__PURE__ */ jsx2(CardAlert, { children: error2 })
          ] }) : null
        })] });
      });
      SubscriptionCardActions = ({ subscription }) => {
        const { portalRoot } = useSubscriptionDetailsContext();
        const { __internal_openCheckout } = useClerk();
        const subscriberType = useSubscriberTypeContext();
        const { setIsOpen } = useDrawerContext();
        const { revalidateAll } = usePlansContext();
        const { setSubscription, setConfirmationOpen } = (0, import_react470.useContext)(SubscriptionForCancellationContext);
        const canOrgManageBilling = useProtect((has2) => has2({ permission: "org:sys_billing:manage" }));
        const canManageBilling = subscriberType === "user" || canOrgManageBilling;
        const isSwitchable = (subscription.planPeriod === "month" && Boolean(subscription.plan.annualMonthlyFee) || subscription.planPeriod === "annual" && Boolean(subscription.plan.fee)) && subscription.status !== "past_due" && !subscription.plan.isDefault;
        const isFree = isFreePlan2(subscription.plan);
        const isCancellable = subscription.canceledAt === null && !isFree;
        const isReSubscribable = subscription.canceledAt !== null && !isFree;
        const openCheckout = (0, import_react470.useCallback)((params) => {
          if (setIsOpen) setIsOpen(false);
          __internal_openCheckout({
            ...params,
            onSubscriptionComplete: () => {
              revalidateAll();
            },
            portalRoot
          });
        }, [
          __internal_openCheckout,
          revalidateAll,
          portalRoot,
          setIsOpen
        ]);
        const actions = React$164.useMemo(() => {
          if (!canManageBilling) return [];
          return [
            isSwitchable ? {
              label: subscription.planPeriod === "month" ? localizationKeys("billing.switchToAnnualWithAnnualPrice", {
                price: normalizeFormatted(subscription.plan.annualFee.amountFormatted),
                currency: subscription.plan.annualFee.currencySymbol
              }) : localizationKeys("billing.switchToMonthlyWithPrice", {
                price: normalizeFormatted(subscription.plan.fee.amountFormatted),
                currency: subscription.plan.fee.currencySymbol
              }),
              onClick: () => {
                openCheckout({
                  planId: subscription.plan.id,
                  planPeriod: subscription.planPeriod === "month" ? "annual" : "month",
                  for: subscriberType
                });
              }
            } : null,
            isCancellable ? {
              isDestructive: true,
              label: subscription.isFreeTrial ? localizationKeys("billing.cancelFreeTrial", { plan: subscription.plan.name }) : localizationKeys("billing.cancelSubscription"),
              onClick: () => {
                setSubscription(subscription);
                setConfirmationOpen(true);
              }
            } : null,
            isReSubscribable ? {
              label: localizationKeys("billing.reSubscribe"),
              onClick: () => {
                openCheckout({
                  planId: subscription.plan.id,
                  planPeriod: subscription.planPeriod,
                  for: subscriberType
                });
              }
            } : null
          ].filter((a2) => a2 !== null);
        }, [
          isSwitchable,
          subscription,
          isCancellable,
          openCheckout,
          subscriberType,
          setSubscription,
          canManageBilling,
          isReSubscribable,
          setConfirmationOpen
        ]);
        if (actions.length === 0) return null;
        return /* @__PURE__ */ jsx2(Flex2, {
          elementDescriptor: descriptors.subscriptionDetailsCardActions,
          gap: 2,
          sx: (t2) => ({
            paddingInline: t2.space.$3,
            paddingBlock: t2.space.$3,
            borderBlockStartWidth: t2.borderWidths.$normal,
            borderBlockStartStyle: t2.borderStyles.$solid,
            borderBlockStartColor: t2.colors.$borderAlpha100
          }),
          children: actions.map((action, index3) => /* @__PURE__ */ jsx2(Button2, {
            elementDescriptor: action.isDestructive ? descriptors.subscriptionDetailsCancelButton : descriptors.subscriptionDetailsActionButton,
            variant: action.isDestructive ? "ghost" : "outline",
            colorScheme: action.isDestructive ? "danger" : void 0,
            size: "xs",
            textVariant: "buttonSmall",
            onClick: action.onClick,
            localizationKey: action.label
          }, index3))
        });
      };
      SubscriptionCard = ({ subscription }) => {
        const { t: t2 } = useLocalizations();
        const fee = subscription.planPeriod === "month" ? subscription.plan.fee : subscription.plan.annualFee;
        return /* @__PURE__ */ jsxs2(Col2, {
          elementDescriptor: descriptors.subscriptionDetailsCard,
          sx: (t$1) => ({
            borderRadius: t$1.radii.$md,
            boxShadow: t$1.shadows.$tableBodyShadow,
            overflow: "hidden"
          }),
          children: [
            /* @__PURE__ */ jsx2(Col2, {
              elementDescriptor: descriptors.subscriptionDetailsCardBody,
              gap: 3,
              sx: (t$1) => ({
                padding: t$1.space.$3,
                background: common.mutedBackground(t$1)
              }),
              children: /* @__PURE__ */ jsxs2(Flex2, {
                elementDescriptor: descriptors.subscriptionDetailsCardHeader,
                justify: "between",
                gap: 2,
                children: [
                  subscription.plan.avatarUrl ? /* @__PURE__ */ jsx2(Avatar, {
                    boxElementDescriptor: descriptors.planDetailAvatar,
                    size: (_3) => 40,
                    title: subscription.plan.name,
                    rounded: false,
                    imageUrl: subscription.plan.avatarUrl
                  }) : null,
                  /* @__PURE__ */ jsxs2(Flex2, {
                    direction: "col",
                    justify: "between",
                    children: [/* @__PURE__ */ jsx2(Text2, {
                      elementDescriptor: descriptors.subscriptionDetailsCardTitle,
                      variant: "h2",
                      sx: (t$1) => ({
                        fontSize: t$1.fontSizes.$lg,
                        fontWeight: t$1.fontWeights.$semibold,
                        color: t$1.colors.$colorForeground
                      }),
                      children: subscription.plan.name
                    }), /* @__PURE__ */ jsxs2(Flex2, { children: [/* @__PURE__ */ jsxs2(Text2, {
                      variant: "body",
                      as: "span",
                      sx: (t$1) => ({
                        fontWeight: t$1.fontWeights.$medium,
                        textTransform: "lowercase"
                      }),
                      children: [fee.currencySymbol, fee.amountFormatted]
                    }), /* @__PURE__ */ jsx2(Text2, {
                      variant: "body",
                      as: "span",
                      colorScheme: "secondary",
                      sx: (t$1) => ({
                        fontWeight: t$1.fontWeights.$medium,
                        textTransform: "lowercase",
                        whiteSpace: "pre"
                      }),
                      children: ` / ${t2(localizationKeys(`billing.${subscription.planPeriod === "month" ? "month" : "year"}`))}`
                    })] })]
                  }),
                  /* @__PURE__ */ jsx2(Flex2, {
                    align: "start",
                    children: /* @__PURE__ */ jsx2(SubscriptionBadge, {
                      subscription: subscription.isFreeTrial ? { status: "free_trial" } : subscription,
                      elementDescriptor: descriptors.subscriptionDetailsCardBadge
                    })
                  })
                ]
              })
            }),
            subscription.seats ? /* @__PURE__ */ jsx2(DetailRow, {
              variant: "header",
              labelNode: /* @__PURE__ */ jsxs2(Text2, {
                sx: (t$1) => ({
                  display: "inline-flex",
                  alignItems: "center",
                  gap: t$1.space.$1
                }),
                children: [/* @__PURE__ */ jsx2(Icon, {
                  icon: users_default,
                  size: "md",
                  colorScheme: "neutral"
                }), /* @__PURE__ */ jsx2(Text2, { localizationKey: localizationKeys("billing.seats") })]
              }),
              value: subscription.seats.quantity === null ? localizationKeys("billing.pricingTable.seatCost.unlimitedSeats") : localizationKeys("billing.pricingTable.seatCost.upToSeats", { endsAfterBlock: subscription.seats.quantity })
            }) : null,
            subscription.pastDueAt ? /* @__PURE__ */ jsx2(DetailRow, {
              label: localizationKeys("billing.subscriptionDetails.pastDueAt"),
              value: formatDate(subscription.pastDueAt)
            }) : null,
            subscription.status === "active" ? /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(DetailRow, {
              label: subscription.isFreeTrial ? localizationKeys("billing.subscriptionDetails.trialStartedOn") : localizationKeys("billing.subscriptionDetails.subscribedOn"),
              value: formatDate(subscription.createdAt)
            }), subscription.periodEnd && /* @__PURE__ */ jsx2(DetailRow, {
              label: subscription.canceledAt ? localizationKeys("billing.subscriptionDetails.endsOn") : subscription.isFreeTrial ? localizationKeys("billing.subscriptionDetails.trialEndsOn") : localizationKeys("billing.subscriptionDetails.renewsAt"),
              value: formatDate(subscription.periodEnd)
            })] }) : null,
            subscription.status === "upcoming" ? /* @__PURE__ */ jsx2(DetailRow, {
              label: localizationKeys("billing.subscriptionDetails.beginsOn"),
              value: formatDate(subscription.periodStart)
            }) : null,
            /* @__PURE__ */ jsx2(SubscriptionCardActions, { subscription })
          ]
        });
      };
      DetailRow = ({ label, labelNode, value, variant }) => /* @__PURE__ */ jsxs2(Flex2, {
        elementDescriptor: descriptors.subscriptionDetailsDetailRow,
        justify: "between",
        align: "center",
        sx: (t2) => ({
          paddingInline: t2.space.$3,
          paddingBlock: t2.space.$3,
          borderBlockStartWidth: t2.borderWidths.$normal,
          borderBlockStartStyle: t2.borderStyles.$solid,
          borderBlockStartColor: t2.colors.$borderAlpha100,
          ...variant === "header" ? { background: common.mutedBackground(t2) } : {}
        }),
        children: [
          label ? /* @__PURE__ */ jsx2(Text2, {
            elementDescriptor: descriptors.subscriptionDetailsDetailRowLabel,
            localizationKey: label
          }) : null,
          labelNode ? labelNode : null,
          typeof value === "string" ? /* @__PURE__ */ jsx2(Text2, {
            elementDescriptor: descriptors.subscriptionDetailsDetailRowValue,
            colorScheme: "secondary",
            children: value
          }) : /* @__PURE__ */ jsx2(Text2, {
            localizationKey: value,
            elementDescriptor: descriptors.subscriptionDetailsDetailRowValue,
            colorScheme: "secondary"
          })
        ]
      });
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/components/OAuthConsent.js
  var import_react472, OAuthConsentContext, useOAuthConsentContext;
  var init_OAuthConsent = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/components/OAuthConsent.js"() {
      import_react472 = __toESM(require_react(), 1);
      OAuthConsentContext = (0, import_react472.createContext)(null);
      useOAuthConsentContext = () => {
        const context = (0, import_react472.useContext)(OAuthConsentContext);
        if (context === null) throw new Error("Clerk: useOAuthConsentContext called outside of the mounted OAuthConsent component.");
        return context;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OAuthConsent/InlineAction.js
  function InlineAction({ text, actionText, onClick, tooltipText }) {
    const idx = text.indexOf(actionText);
    if (idx === -1) return /* @__PURE__ */ jsx2(Fragment3, { children: text });
    let before = text.slice(0, idx);
    let after = text.slice(idx + actionText.length);
    let prefix2 = "";
    let suffix = "";
    if (before.endsWith("(")) {
      before = before.slice(0, -1);
      prefix2 = "(";
    }
    if (after.startsWith(")")) {
      after = after.slice(1);
      suffix = ")";
    }
    const actionContent = /* @__PURE__ */ jsxs2(Tooltip.Root, { children: [/* @__PURE__ */ jsx2(Tooltip.Trigger, { children: /* @__PURE__ */ jsx2(Text2, {
      as: "span",
      role: "button",
      tabIndex: 0,
      "aria-label": tooltipText,
      variant: "caption",
      onClick,
      onKeyDown: (e3) => {
        if (e3.key === "Enter" || e3.key === " ") {
          e3.preventDefault();
          onClick();
        }
      },
      sx: (t2) => ({
        textDecoration: "underline",
        textDecorationStyle: "dotted",
        cursor: "pointer",
        outline: "none",
        display: "inline-block",
        "&:focus-visible": {
          outline: "2px solid",
          outlineColor: t2.colors.$colorRing
        }
      }),
      children: actionText
    }) }), /* @__PURE__ */ jsx2(Tooltip.Content, { text: tooltipText })] });
    return /* @__PURE__ */ jsxs2(Fragment3, { children: [
      before,
      prefix2 || suffix ? /* @__PURE__ */ jsxs2(Text2, {
        as: "span",
        sx: { whiteSpace: "nowrap" },
        children: [
          prefix2,
          actionContent,
          suffix
        ]
      }) : actionContent,
      after
    ] });
  }
  var import_react473;
  var init_InlineAction = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OAuthConsent/InlineAction.js"() {
      init_customizables();
      init_Tooltip();
      import_react473 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OAuthConsent/ListGroup.js
  function ListGroup({ children, sx, ...props }) {
    return /* @__PURE__ */ jsx2(Box2, {
      ...props,
      sx: [(t2) => ({
        textAlign: "start",
        borderWidth: t2.borderWidths.$normal,
        borderStyle: t2.borderStyles.$solid,
        borderColor: t2.colors.$borderAlpha100,
        borderRadius: t2.radii.$lg,
        overflow: "hidden"
      }), sx],
      elementDescriptor: descriptors.listGroup,
      children
    });
  }
  function ListGroupHeader({ children, sx, ...props }) {
    return /* @__PURE__ */ jsx2(Box2, {
      ...props,
      sx: [(t2) => ({
        padding: t2.space.$3,
        background: common.mergedColorsBackground(colors$2.setAlpha(t2.colors.$colorBackground, 1), t2.colors.$neutralAlpha50)
      }), sx],
      elementDescriptor: descriptors.listGroupHeader,
      children
    });
  }
  function ListGroupHeaderTitle(props) {
    return /* @__PURE__ */ jsx2(Text2, {
      ...props,
      variant: "subtitle",
      elementDescriptor: descriptors.listGroupHeaderTitle
    });
  }
  function ListGroupContent({ children, sx, ...props }) {
    return /* @__PURE__ */ jsx2(Box2, {
      ...props,
      as: "ul",
      sx: [(t2) => ({
        margin: t2.sizes.$none,
        padding: t2.sizes.$none,
        maxBlockSize: "10.9375rem",
        backgroundColor: t2.colors.$colorBackground,
        overflowY: "auto",
        ...common.unstyledScrollbar(t2),
        "--fade-distance": "2.5rem",
        "&::before, &::after": {
          content: '""',
          display: "block",
          position: "sticky",
          insetInline: 0,
          blockSize: "var(--fade-distance)",
          pointerEvents: "none",
          zIndex: 1,
          opacity: 0
        },
        "&::before": {
          insetBlockStart: 0,
          marginBlockEnd: "calc(var(--fade-distance) * -1)",
          background: `linear-gradient(to bottom, ${t2.colors.$colorBackground}, transparent)`
        },
        "&::after": {
          insetBlockEnd: 0,
          marginBlockStart: "calc(var(--fade-distance) * -1)",
          background: `linear-gradient(to top, ${t2.colors.$colorBackground}, transparent)`
        },
        "@keyframes list-fade-top": {
          from: { opacity: 0 },
          to: { opacity: 1 }
        },
        "@keyframes list-fade-bottom": {
          from: { opacity: 1 },
          to: { opacity: 0 }
        },
        "@supports (animation-timeline: scroll())": {
          "&::before": {
            animationName: "list-fade-top",
            animationDuration: "auto",
            animationTimingFunction: "linear",
            animationFillMode: "both",
            animationTimeline: "scroll(y)",
            animationRange: "0 var(--fade-distance)"
          },
          "&::after": {
            animationName: "list-fade-bottom",
            animationDuration: "auto",
            animationTimingFunction: "linear",
            animationFillMode: "both",
            animationTimeline: "scroll(y)",
            animationRange: "calc(100% - var(--fade-distance)) 100%"
          }
        }
      }), sx],
      elementDescriptor: descriptors.listGroupContent,
      children
    });
  }
  function ListGroupItem({ children, sx, ...props }) {
    return /* @__PURE__ */ jsx2(Box2, {
      ...props,
      as: "li",
      sx: [(t2) => ({
        display: "flex",
        alignItems: "baseline",
        paddingInline: t2.space.$3,
        paddingBlock: t2.space.$2,
        borderTopWidth: t2.borderWidths.$normal,
        borderTopStyle: t2.borderStyles.$solid,
        borderTopColor: t2.colors.$borderAlpha100,
        "&::before": {
          content: '""',
          display: "inline-block",
          width: t2.space.$1,
          height: t2.space.$1,
          background: t2.colors.$colorMutedForeground,
          borderRadius: t2.radii.$circle,
          transform: "translateY(-0.1875rem)",
          marginInlineEnd: t2.space.$2,
          flexShrink: 0
        }
      }), sx],
      elementDescriptor: descriptors.listGroupItem,
      children
    });
  }
  function ListGroupItemLabel(props) {
    return /* @__PURE__ */ jsx2(Text2, {
      ...props,
      variant: "subtitle",
      elementDescriptor: descriptors.listGroupItemLabel
    });
  }
  var init_ListGroup = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OAuthConsent/ListGroup.js"() {
      init_colors();
      init_common();
      init_elementDescriptors();
      init_customizables();
      init_emotion_react_jsx_runtime_browser_esm();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/icons/lock-dotted-circle.js
  function _extends56() {
    return _extends56 = Object.assign ? Object.assign.bind() : function(n3) {
      for (var e3 = 1; e3 < arguments.length; e3++) {
        var t2 = arguments[e3];
        for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n3[r2] = t2[r2]);
      }
      return n3;
    }, _extends56.apply(null, arguments);
  }
  var React$165, _path63, SvgLockDottedCircle, lock_dotted_circle_default;
  var init_lock_dotted_circle = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/icons/lock-dotted-circle.js"() {
      React$165 = __toESM(require_react(), 1);
      SvgLockDottedCircle = function SvgLockDottedCircle$1(props) {
        return /* @__PURE__ */ React$165.createElement("svg", _extends56({
          xmlns: "http://www.w3.org/2000/svg",
          fill: "none",
          viewBox: "0 0 16 16"
        }, props), _path63 || (_path63 = /* @__PURE__ */ React$165.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          d: "M8 3.5q-.301 0-.59.038a.75.75 0 0 1-.196-1.487 6 6 0 0 1 1.572 0 .75.75 0 0 1-.195 1.487A5 5 0 0 0 8 3.5m-2.385-.238a.75.75 0 0 1-.186 1.044c-.287.2-.55.434-.783.694a.75.75 0 1 1-1.118-1 6 6 0 0 1 1.043-.924.75.75 0 0 1 1.044.186m4.77 0a.75.75 0 0 1 1.044-.186q.576.402 1.043.924a.75.75 0 1 1-1.118 1 4.5 4.5 0 0 0-.783-.694.75.75 0 0 1-.186-1.044M8 6.5a1 1 0 0 0-1 1V8h2v-.5a1 1 0 0 0-1-1M10.5 8v-.5a2.5 2.5 0 0 0-5 0V8h-.75a.75.75 0 0 0-.75.75v3.5c0 .966.783 1.75 1.75 1.75h4.5A1.75 1.75 0 0 0 12 12.25v-3.5a.75.75 0 0 0-.75-.75zm0 1.5h-5v2.75c0 .138.112.25.25.25h4.5a.25.25 0 0 0 .25-.25zM3.181 5.781a.75.75 0 0 1 .505.933 4.5 4.5 0 0 0-.166.857.75.75 0 1 1-1.493-.142q.056-.59.222-1.143a.75.75 0 0 1 .932-.505m9.638 0a.75.75 0 0 1 .932.505q.166.553.222 1.143a.75.75 0 0 1-1.493.142 4.5 4.5 0 0 0-.166-.857.75.75 0 0 1 .505-.933",
          clipRule: "evenodd"
        })));
      };
      lock_dotted_circle_default = SvgLockDottedCircle;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OAuthConsent/LogoGroup.js
  function LogoGroup({ children }) {
    return /* @__PURE__ */ jsx2(Flex2, {
      justify: "center",
      align: "center",
      gap: 4,
      sx: (t2) => ({ marginBlockEnd: t2.space.$6 }),
      elementDescriptor: descriptors.logoGroup,
      children
    });
  }
  function LogoGroupItem({ children, sx, ...props }) {
    return /* @__PURE__ */ jsx2(Flex2, {
      ...props,
      sx: [{ flex: 1 }, sx],
      elementDescriptor: descriptors.logoGroupItem,
      children
    });
  }
  function LogoGroupIcon({ size: size5 = "md", sx }) {
    const scale = (t2) => {
      const value = size5 === "sm" ? t2.space.$6 : t2.space.$12;
      return {
        width: value,
        height: value
      };
    };
    return /* @__PURE__ */ jsx2(Box2, {
      sx: (t2) => [
        {
          background: common.mergedColorsBackground(colors$2.setAlpha(t2.colors.$colorBackground, 1), t2.colors.$neutralAlpha50),
          borderRadius: t2.radii.$circle,
          borderWidth: t2.borderWidths.$normal,
          borderStyle: t2.borderStyles.$solid,
          borderColor: t2.colors.$borderAlpha100,
          display: "flex",
          alignItems: "center",
          justifyContent: "center"
        },
        scale,
        sx
      ],
      elementDescriptor: descriptors.logoGroupIcon,
      children: /* @__PURE__ */ jsx2(Icon, {
        icon: lock_dotted_circle_default,
        sx: (t2) => ({ color: t2.colors.$primary500 })
      })
    });
  }
  function LogoGroupSeparator() {
    return /* @__PURE__ */ jsx2(Box2, {
      as: "svg",
      fill: "none",
      viewBox: "0 0 16 2",
      height: 2,
      "aria-hidden": true,
      sx: (t2) => ({ color: t2.colors.$colorMutedForeground }),
      elementDescriptor: descriptors.logoGroupSeparator,
      children: /* @__PURE__ */ jsx2("path", {
        stroke: "currentColor",
        strokeDasharray: "0.1 4",
        strokeLinecap: "round",
        strokeWidth: "2",
        d: "M1 1h14"
      })
    });
  }
  var import_react474;
  var init_LogoGroup = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OAuthConsent/LogoGroup.js"() {
      init_lock_dotted_circle();
      init_colors();
      init_common();
      init_elementDescriptors();
      init_customizables();
      import_react474 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OAuthConsent/OrgSelect.js
  function OrgSelect({ options: options2, value, onChange }) {
    const buttonRef = (0, import_react475.useRef)(null);
    const selected = options2.find((option) => option.value === value);
    return /* @__PURE__ */ jsxs2(Select, {
      options: options2,
      value,
      onChange: (option) => onChange(option.value),
      referenceElement: buttonRef,
      renderOption: (option, _index, isSelected) => /* @__PURE__ */ jsxs2(Box2, {
        as: "span",
        sx: (theme) => ({
          width: "100%",
          display: "grid",
          gridTemplateColumns: `${theme.sizes.$5} 1fr ${theme.sizes.$3}`,
          columnGap: theme.space.$2,
          paddingInlineStart: theme.space.$1,
          paddingInlineEnd: theme.space.$1x5,
          paddingBlock: theme.space.$1,
          alignItems: "center",
          borderRadius: theme.radii.$md,
          '&:hover, &[data-focused="true"]': { background: common.mutedBackground(theme) }
        }),
        children: [
          /* @__PURE__ */ jsx2(Image2, {
            src: option.logoUrl,
            alt: option.label,
            sx: (theme) => ({
              width: theme.sizes.$5,
              height: theme.sizes.$5,
              objectFit: "contain",
              flexShrink: 0,
              borderRadius: theme.radii.$md
            })
          }),
          /* @__PURE__ */ jsx2(Text2, {
            sx: {
              flex: 1,
              textAlign: "start",
              minWidth: 0,
              maxInlineSize: "200px"
            },
            truncate: true,
            as: "span",
            variant: "subtitle",
            children: option.label
          }),
          isSelected && /* @__PURE__ */ jsx2(Icon, {
            icon: check_default,
            size: "sm",
            sx: (theme) => ({ color: theme.colors.$primary500 })
          })
        ]
      }),
      children: [/* @__PURE__ */ jsxs2(SelectButton, {
        ref: buttonRef,
        "aria-haspopup": "listbox",
        sx: (theme) => ({ paddingInline: theme.space.$3 }),
        children: [/* @__PURE__ */ jsx2(Image2, {
          src: selected?.logoUrl || "",
          alt: selected?.label || "",
          sx: (theme) => ({
            width: theme.sizes.$5,
            height: theme.sizes.$5,
            borderRadius: theme.radii.$md,
            objectFit: "contain",
            flexShrink: 0
          })
        }), /* @__PURE__ */ jsx2(Text2, {
          colorScheme: "body",
          as: "span",
          truncate: true,
          sx: {
            flex: 1,
            minWidth: 0,
            textAlign: "start"
          },
          children: selected?.label || "Select an option"
        })]
      }), /* @__PURE__ */ jsx2(SelectOptionList, {})]
    });
  }
  var import_react475;
  var init_OrgSelect = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OAuthConsent/OrgSelect.js"() {
      init_check();
      init_common();
      init_customizables();
      init_Select();
      import_react475 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OAuthConsent/utils.js
  function getRedirectDisplay(url) {
    let hostname;
    try {
      hostname = new URL(url).hostname;
    } catch {
      return "";
    }
    if (!hostname) return "";
    const host = hostname.startsWith("[") && hostname.endsWith("]") ? hostname.slice(1, -1) : hostname;
    if (IPV4_REGEX.test(host)) return host;
    if (host.includes(":")) return `[${host}]`;
    return host.split(".").slice(-2).join(".");
  }
  function getRedirectUriFromSearch() {
    if (!canReadLocation()) return "";
    return new URL(window.location.href).searchParams.get("redirect_uri") ?? "";
  }
  function getOAuthConsentFromSearch() {
    if (!canReadLocation()) return { oauthClientId: "" };
    const sp = new URLSearchParams(window.location.search);
    const oauthClientId = sp.get("client_id") ?? "";
    const scope = sp.get("scope") ?? void 0;
    return scope !== void 0 ? {
      oauthClientId,
      scope
    } : { oauthClientId };
  }
  function getForwardedParams() {
    if (!canReadLocation()) return [];
    return Array.from(new URLSearchParams(window.location.search).entries());
  }
  var canReadLocation, IPV4_REGEX;
  var init_utils15 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OAuthConsent/utils.js"() {
      canReadLocation = () => typeof window !== "undefined" && !!window.location;
      IPV4_REGEX = /^(\d{1,3}\.){3}\d{1,3}$/;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/OAuthConsent/OAuthConsent.js
  var OAuthConsent_exports = {};
  __export(OAuthConsent_exports, {
    OAuthConsent: () => OAuthConsent
  });
  function _OAuthConsent() {
    const ctx = useOAuthConsentContext();
    const clerk2 = useClerk();
    const { user } = useUser();
    const { displayConfig: { applicationName, logoImageUrl }, organizationSettings } = useEnvironment();
    const [isUriModalOpen, setIsUriModalOpen] = (0, import_react476.useState)(false);
    const [selectedOrg, setSelectedOrg] = (0, import_react476.useState)(null);
    const hasContextCallbacks = Boolean(ctx.onAllow || ctx.onDeny);
    const fromUrl = getOAuthConsentFromSearch();
    const oauthClientId = ctx.oauthClientId ?? fromUrl.oauthClientId;
    const { data: data2, isLoading, error: error2 } = useOAuthConsent({
      oauthClientId,
      scope: ctx.scope ?? fromUrl.scope,
      enabled: !hasContextCallbacks
    });
    const mappedHookScopes = data2?.scopes?.map((s2) => ({
      scope: s2.scope,
      description: s2.description,
      requires_consent: s2.requiresConsent
    }));
    const scopes = ctx.scopes ?? mappedHookScopes ?? [];
    const oauthApplicationName = ctx.oauthApplicationName ?? data2?.oauthApplicationName ?? "";
    const oauthApplicationLogoUrl = ctx.oauthApplicationLogoUrl ?? data2?.oauthApplicationLogoUrl;
    const oauthApplicationUrl = ctx.oauthApplicationUrl ?? data2?.oauthApplicationUrl;
    const redirectUrl = ctx.redirectUrl ?? getRedirectUriFromSearch();
    const orgSelectionEnabled = !!((scopes.some((s2) => s2.scope === USER_ORG_READ_SCOPE) || ctx.enableOrgSelection) && organizationSettings.enabled);
    const orgOptions = orgSelectionEnabled ? (user?.organizationMemberships ?? []).map((m2) => ({
      value: m2.organization.id,
      label: m2.organization.name,
      logoUrl: m2.organization.imageUrl
    })) : [];
    const lastActiveOrgId = clerk2.session?.lastActiveOrganizationId;
    const defaultOrg = orgOptions.find((o3) => o3.value === lastActiveOrgId)?.value ?? orgOptions[0]?.value ?? null;
    const effectiveOrg = selectedOrg ?? defaultOrg;
    const { t: t2 } = useLocalizations();
    const domainAction = getRedirectDisplay(redirectUrl);
    const viewFullUrlText = t2(localizationKeys("oauthConsent.viewFullUrl"));
    if (!hasContextCallbacks) {
      const errorMessage = !oauthClientId ? "The client ID is missing." : !redirectUrl ? "The redirect URI is missing." : error2 ? error2.message ?? "Failed to load consent information." : void 0;
      if (errorMessage) return /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsx2(Card.Content, { children: /* @__PURE__ */ jsx2(Card.Alert, { children: errorMessage }) }), /* @__PURE__ */ jsx2(Card.Footer, {})] });
      if (isLoading) return /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsx2(Card.Content, { children: /* @__PURE__ */ jsx2(LoadingCardContainer, {}) }), /* @__PURE__ */ jsx2(Card.Footer, {})] });
    }
    const actionUrl = clerk2.oauthApplication.buildConsentActionUrl({ clientId: oauthClientId });
    const forwardedParams = getForwardedParams();
    const handleSubmit = (e3) => {
      if (!hasContextCallbacks) return;
      e3.preventDefault();
      if (e3.nativeEvent.submitter?.value === "true") ctx.onAllow?.();
      else ctx.onDeny?.();
    };
    const primaryIdentifier = user?.primaryEmailAddress?.emailAddress || user?.primaryPhoneNumber?.phoneNumber;
    const displayedScopes = scopes.filter((item) => ![OFFLINE_ACCESS_SCOPE, USER_ORG_READ_SCOPE].includes(item.scope));
    const hasOfflineAccess = scopes.some((item) => item.scope === OFFLINE_ACCESS_SCOPE);
    return /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsxs2("form", {
      method: "POST",
      action: actionUrl,
      onSubmit: handleSubmit,
      children: [
        /* @__PURE__ */ jsxs2(Card.Root, { children: [/* @__PURE__ */ jsxs2(Card.Content, { children: [
          /* @__PURE__ */ jsxs2(Header.Root, { children: [
            oauthApplicationLogoUrl && logoImageUrl && /* @__PURE__ */ jsxs2(LogoGroup, { children: [
              /* @__PURE__ */ jsx2(LogoGroupItem, {
                justify: "end",
                children: /* @__PURE__ */ jsx2(ApplicationLogo, {
                  src: oauthApplicationLogoUrl,
                  alt: oauthApplicationName,
                  href: oauthApplicationUrl,
                  isExternal: true
                })
              }),
              /* @__PURE__ */ jsx2(LogoGroupSeparator, {}),
              /* @__PURE__ */ jsx2(LogoGroupItem, {
                justify: "start",
                children: /* @__PURE__ */ jsx2(ApplicationLogo, {})
              })
            ] }),
            oauthApplicationLogoUrl && !logoImageUrl && /* @__PURE__ */ jsx2(LogoGroup, { children: /* @__PURE__ */ jsxs2(Box2, {
              sx: { position: "relative" },
              children: [/* @__PURE__ */ jsx2(ApplicationLogo, {
                src: oauthApplicationLogoUrl,
                alt: oauthApplicationName,
                href: oauthApplicationUrl,
                isExternal: true
              }), /* @__PURE__ */ jsx2(LogoGroupIcon, {
                size: "sm",
                sx: (t$1) => ({
                  position: "absolute",
                  bottom: `calc(${t$1.space.$3} * -1)`,
                  insetInlineEnd: `calc(${t$1.space.$3} * -1)`
                })
              })]
            }) }),
            !oauthApplicationLogoUrl && logoImageUrl && /* @__PURE__ */ jsxs2(LogoGroup, { children: [
              /* @__PURE__ */ jsx2(LogoGroupItem, {
                justify: "end",
                children: /* @__PURE__ */ jsx2(LogoGroupIcon, {})
              }),
              /* @__PURE__ */ jsx2(LogoGroupSeparator, {}),
              /* @__PURE__ */ jsx2(LogoGroupItem, {
                justify: "start",
                children: /* @__PURE__ */ jsx2(ApplicationLogo, {})
              })
            ] }),
            !oauthApplicationLogoUrl && !logoImageUrl && /* @__PURE__ */ jsx2(LogoGroup, { children: /* @__PURE__ */ jsx2(LogoGroupIcon, {}) }),
            /* @__PURE__ */ jsx2(Header.Title, { localizationKey: oauthApplicationName }),
            /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("oauthConsent.subtitle", {
              applicationName,
              identifier: primaryIdentifier || ""
            }) })
          ] }),
          orgSelectionEnabled && orgOptions.length > 0 && effectiveOrg && /* @__PURE__ */ jsx2(OrgSelect, {
            options: orgOptions,
            value: effectiveOrg,
            onChange: setSelectedOrg
          }),
          /* @__PURE__ */ jsxs2(ListGroup, { children: [/* @__PURE__ */ jsx2(ListGroupHeader, { children: /* @__PURE__ */ jsx2(ListGroupHeaderTitle, { localizationKey: localizationKeys("oauthConsent.scopeList.title", { applicationName: oauthApplicationName }) }) }), /* @__PURE__ */ jsx2(ListGroupContent, { children: displayedScopes.map((item) => /* @__PURE__ */ jsx2(ListGroupItem, { children: /* @__PURE__ */ jsx2(ListGroupItemLabel, { children: item.description || item.scope || "" }) }, item.scope)) })] }),
          /* @__PURE__ */ jsx2(Alert, {
            colorScheme: "warning",
            children: /* @__PURE__ */ jsx2(Text2, {
              colorScheme: "warning",
              variant: "caption",
              children: /* @__PURE__ */ jsx2(InlineAction, {
                text: t2(localizationKeys("oauthConsent.warning", {
                  applicationName: oauthApplicationName || applicationName,
                  domainAction
                })),
                actionText: domainAction,
                onClick: () => setIsUriModalOpen(true),
                tooltipText: viewFullUrlText
              })
            })
          }),
          /* @__PURE__ */ jsxs2(Grid2, {
            columns: 2,
            gap: 3,
            children: [
              /* @__PURE__ */ jsx2(Button2, {
                type: "submit",
                name: "consented",
                value: "false",
                colorScheme: "secondary",
                variant: "outline",
                localizationKey: localizationKeys("oauthConsent.action__deny")
              }),
              /* @__PURE__ */ jsx2(Button2, {
                type: "submit",
                name: "consented",
                value: "true",
                localizationKey: localizationKeys("oauthConsent.action__allow")
              }),
              /* @__PURE__ */ jsxs2(Text2, {
                sx: { gridColumn: "span 2" },
                colorScheme: "secondary",
                variant: "caption",
                children: [/* @__PURE__ */ jsx2(InlineAction, {
                  text: t2(localizationKeys("oauthConsent.redirectNotice", { domainAction })),
                  actionText: domainAction,
                  onClick: () => setIsUriModalOpen(true),
                  tooltipText: viewFullUrlText
                }), hasOfflineAccess && t2(localizationKeys("oauthConsent.offlineAccessNotice"))]
              })
            ]
          })
        ] }), /* @__PURE__ */ jsx2(Card.Footer, {})] }),
        !hasContextCallbacks && forwardedParams.map(([key, value]) => /* @__PURE__ */ jsx2("input", {
          type: "hidden",
          name: key,
          value
        }, key)),
        !hasContextCallbacks && orgSelectionEnabled && effectiveOrg && /* @__PURE__ */ jsx2("input", {
          type: "hidden",
          name: "organization_id",
          value: effectiveOrg
        })
      ]
    }), /* @__PURE__ */ jsx2(RedirectUriModal, {
      isOpen: isUriModalOpen,
      onOpen: () => setIsUriModalOpen(true),
      onClose: () => setIsUriModalOpen(false),
      redirectUri: redirectUrl,
      oauthApplicationName
    })] });
  }
  function RedirectUriModal({ onOpen, onClose, isOpen, redirectUri, oauthApplicationName }) {
    if (!isOpen) return null;
    return /* @__PURE__ */ jsx2(Modal, {
      handleOpen: onOpen,
      handleClose: onClose,
      children: /* @__PURE__ */ jsx2(Card.Root, { children: /* @__PURE__ */ jsxs2(Card.Content, { children: [/* @__PURE__ */ jsxs2(Header.Root, { children: [/* @__PURE__ */ jsx2(Header.Title, { localizationKey: localizationKeys("oauthConsent.redirectUriModal.title") }), /* @__PURE__ */ jsx2(Header.Subtitle, { localizationKey: localizationKeys("oauthConsent.redirectUriModal.subtitle", { applicationName: oauthApplicationName }) })] }), /* @__PURE__ */ jsx2(Textarea, {
        style: { maxHeight: "none" },
        cols: 50,
        rows: 6,
        defaultValue: redirectUri,
        readOnly: true
      })] }) })
    });
  }
  var import_react476, OFFLINE_ACCESS_SCOPE, USER_ORG_READ_SCOPE, AuthenticatedRoutes5, OAuthConsentInternal, OAuthConsent;
  var init_OAuthConsent2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/OAuthConsent/OAuthConsent.js"() {
      init_CoreUserContext();
      init_EnvironmentContext();
      init_localizationKeys();
      init_Route();
      init_Switch();
      init_OAuthConsent();
      init_makeLocalizable();
      init_Alert();
      init_Input();
      init_contexts();
      init_Flow();
      init_customizables();
      init_Modal();
      init_ApplicationLogo();
      init_Card();
      init_Header();
      init_LoadingCard();
      init_InlineAction();
      init_ListGroup();
      init_LogoGroup();
      init_OrgSelect();
      init_utils15();
      import_react476 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      OFFLINE_ACCESS_SCOPE = "offline_access";
      USER_ORG_READ_SCOPE = "user:org:read";
      AuthenticatedRoutes5 = withCoreUserGuard(withCardStateProvider(_OAuthConsent));
      OAuthConsentInternal = () => {
        return /* @__PURE__ */ jsx2(Flow.Root, {
          flow: "oauthConsent",
          children: /* @__PURE__ */ jsx2(Flow.Part, { children: /* @__PURE__ */ jsx2(Switch, { children: /* @__PURE__ */ jsx2(Route, { children: /* @__PURE__ */ jsx2(AuthenticatedRoutes5, {}) }) }) })
        });
      };
      OAuthConsent = OAuthConsentInternal;
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/devPrompts/EnableOrganizationsPrompt/index.js
  var EnableOrganizationsPrompt_exports = {};
  __export(EnableOrganizationsPrompt_exports, {
    EnableOrganizationsPrompt: () => EnableOrganizationsPrompt
  });
  var import_react478, organizationsDashboardUrl, EnableOrganizationsPromptInternal, EnableOrganizationsPrompt, baseButtonStyles, buttonSolidStyles, buttonVariantStyles, PromptButton, PromptBadge, RadioGroupContext, useRadioGroup, RadioGroup2, RADIO_INDICATOR_SIZE, RADIO_GAP, RadioGroupItem, Link3, CoinFlip;
  var init_EnableOrganizationsPrompt = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/devPrompts/EnableOrganizationsPrompt/index.js"() {
      init_OptionsContext();
      init_EnvironmentContext();
      init_InternalThemeProvider();
      init_customizables();
      init_Modal();
      init_Portal();
      init_shared4();
      import_react478 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_emotion_react_browser_esm();
      organizationsDashboardUrl = "https://dashboard.clerk.com/~/organizations-settings";
      EnableOrganizationsPromptInternal = ({ caller, onSuccess, onClose }) => {
        const clerk2 = useClerk();
        const [isLoading, setIsLoading] = (0, import_react478.useState)(false);
        const [isEnabled2, setIsEnabled] = (0, import_react478.useState)(false);
        const [defaultOrganizationName, setDefaultOrganizationName] = (0, import_react478.useState)(null);
        const [allowPersonalAccount, setAllowPersonalAccount] = (0, import_react478.useState)(false);
        const initialFocusRef = (0, import_react478.useRef)(null);
        const environment = useEnvironment();
        const radioGroupLabelId = (0, import_react478.useId)();
        const options2 = useOptions();
        const claimUrl = options2.__internal_keyless_claimKeylessApplicationUrl;
        const copyKeysUrl = options2.__internal_keyless_copyInstanceKeysUrl;
        const isKeyless = Boolean(claimUrl) && Boolean(copyKeysUrl);
        const isClaimed = environment.authConfig.claimedAt !== null;
        const showKeylessClaimPath = isEnabled2 && isKeyless && !isClaimed;
        const isComponent = !caller.startsWith("use");
        const hasPersonalAccountsEnabled = typeof environment?.organizationSettings.forceOrganizationSelection !== "undefined";
        const handleEnableOrganizations = () => {
          setIsLoading(true);
          const params = { enable_organizations: true };
          if (hasPersonalAccountsEnabled) params.organization_allow_personal_accounts = allowPersonalAccount;
          environment.__internal_enableEnvironmentSetting(params).then(async () => {
            setDefaultOrganizationName((await clerk2.user?.getOrganizationMemberships())?.data[0]?.organization.name ?? null);
            setIsEnabled(true);
            setIsLoading(false);
          }).catch(() => {
            setIsLoading(false);
          });
        };
        return /* @__PURE__ */ jsx2(Portal, { children: /* @__PURE__ */ jsx2(Modal, {
          canCloseModal: false,
          containerSx: () => ({ alignItems: "center" }),
          initialFocusRef,
          children: /* @__PURE__ */ jsxs2(PromptContainer, {
            sx: () => ({
              display: "flex",
              flexDirection: "column",
              width: "30rem",
              maxWidth: "calc(100vw - 2rem)"
            }),
            children: [
              /* @__PURE__ */ jsxs2(Flex2, {
                direction: "col",
                sx: (t2) => ({
                  padding: `${t2.sizes.$4} ${t2.sizes.$6}`,
                  paddingBottom: t2.sizes.$4,
                  gap: t2.sizes.$2
                }),
                children: [
                  /* @__PURE__ */ jsxs2(Flex2, {
                    as: "header",
                    align: "center",
                    sx: (t2) => ({ gap: t2.sizes.$2 }),
                    children: [/* @__PURE__ */ jsx2(CoinFlip, { isEnabled: isEnabled2 }), /* @__PURE__ */ jsx2("h1", {
                      css: [basePromptElementStyles, css`
                    color: white;
                    font-size: 0.875rem;
                    font-weight: 500;
                    outline: none;
                  `],
                      tabIndex: -1,
                      ref: initialFocusRef,
                      children: isEnabled2 ? "Organizations feature enabled" : "Organizations feature required"
                    })]
                  }),
                  /* @__PURE__ */ jsx2(Flex2, {
                    direction: "col",
                    align: "start",
                    sx: (t2) => ({ gap: t2.sizes.$0x5 }),
                    children: isEnabled2 ? /* @__PURE__ */ jsxs2("p", {
                      css: [basePromptElementStyles, css`
                      color: #b4b4b4;
                      font-size: 0.8125rem;
                      font-weight: 400;
                      line-height: 1.3;
                    `],
                      children: [showKeylessClaimPath ? defaultOrganizationName ? `Organizations are now enabled and a default organization named "${defaultOrganizationName}" was created. Claim your application to save this configuration and access the full dashboard.` : "Organizations are now enabled! Claim your application to save this configuration and access the full dashboard." : clerk2.user && defaultOrganizationName ? `The Organizations feature has been enabled for your application. A default organization named "${defaultOrganizationName}" was created automatically. You can manage or rename it in your` : `The Organizations feature has been enabled for your application. You can manage it in your`, !showKeylessClaimPath && /* @__PURE__ */ jsxs2(Fragment3, { children: [
                        " ",
                        /* @__PURE__ */ jsx2(Link3, {
                          href: organizationsDashboardUrl,
                          target: "_blank",
                          rel: "noopener noreferrer",
                          children: "dashboard"
                        }),
                        "."
                      ] })]
                    }) : /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsxs2("p", {
                      id: radioGroupLabelId,
                      css: [basePromptElementStyles, css`
                        color: #b4b4b4;
                        font-size: 0.8125rem;
                        font-weight: 400;
                        line-height: 1.23;
                      `],
                      children: [
                        "Enable Organizations to use",
                        " ",
                        /* @__PURE__ */ jsx2("code", {
                          css: [basePromptElementStyles, css`
                          font-size: 0.75rem;
                          color: white;
                          font-family: monospace;
                          line-height: 1.23;
                        `],
                          children: isComponent ? `<${caller} />` : caller
                        }),
                        " "
                      ]
                    }), /* @__PURE__ */ jsx2(Link3, {
                      href: "https://clerk.com/docs/guides/organizations/overview",
                      target: "_blank",
                      rel: "noopener noreferrer",
                      children: "Learn more"
                    })] })
                  }),
                  hasPersonalAccountsEnabled && !isEnabled2 && /* @__PURE__ */ jsx2(Flex2, {
                    sx: (t2) => ({ marginTop: t2.sizes.$2 }),
                    direction: "col",
                    children: /* @__PURE__ */ jsxs2(RadioGroup2, {
                      value: allowPersonalAccount ? "optional" : "required",
                      onChange: (value) => setAllowPersonalAccount(value === "optional"),
                      labelledBy: radioGroupLabelId,
                      children: [/* @__PURE__ */ jsx2(RadioGroupItem, {
                        value: "required",
                        label: /* @__PURE__ */ jsxs2(Flex2, {
                          wrap: "wrap",
                          sx: (t2) => ({
                            columnGap: t2.sizes.$2,
                            rowGap: t2.sizes.$1
                          }),
                          children: [/* @__PURE__ */ jsx2("span", { children: "Membership required" }), /* @__PURE__ */ jsx2(PromptBadge, { children: "Standard" })]
                        }),
                        description: /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2("span", {
                          className: "block",
                          children: "Users need to belong to at least one organization."
                        }), /* @__PURE__ */ jsx2("span", { children: "Common for most B2B SaaS applications" })] })
                      }), /* @__PURE__ */ jsx2(RadioGroupItem, {
                        value: "optional",
                        label: "Membership optional",
                        description: "Users can work outside of an organization with a personal account"
                      })]
                    })
                  })
                ]
              }),
              /* @__PURE__ */ jsx2("span", { css: css`
              height: 1px;
              display: block;
              width: calc(100% - 2px);
              margin-inline: auto;
              background-color: #151515;
              box-shadow: 0px 1px 0px 0px #424242;
            ` }),
              /* @__PURE__ */ jsx2(Flex2, {
                justify: "center",
                sx: (t2) => ({
                  padding: `${t2.sizes.$4} ${t2.sizes.$6}`,
                  gap: t2.sizes.$3,
                  justifyContent: "flex-end"
                }),
                children: isEnabled2 ? showKeylessClaimPath ? /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(PromptButton, {
                  variant: "outline",
                  onClick: () => {
                    onSuccess?.();
                  },
                  children: clerk2.user ? "Continue" : "I\u2019ll do it later"
                }), /* @__PURE__ */ jsx2(Link3, {
                  href: claimUrl,
                  target: "_blank",
                  rel: "noopener noreferrer",
                  onClick: (e3) => {
                    if (claimUrl) {
                      const url = new URL(claimUrl);
                      url.searchParams.append("return_url", window.location.href);
                      e3.currentTarget.href = url.href;
                    }
                    clerk2.__internal_closeEnableOrganizationsPrompt?.();
                  },
                  css: css`
                      ${baseButtonStyles}
                      ${buttonSolidStyles}
                      color: #fde047;
                      text-decoration: none;
                    `,
                  children: "Claim your application"
                })] }) : /* @__PURE__ */ jsx2(PromptButton, {
                  variant: "solid",
                  onClick: () => {
                    if (!clerk2.user) {
                      clerk2.redirectToSignIn();
                      clerk2.__internal_closeEnableOrganizationsPrompt?.();
                    } else onSuccess?.();
                  },
                  children: clerk2.user ? "Continue" : "Sign in to continue"
                }) : /* @__PURE__ */ jsxs2(Fragment3, { children: [/* @__PURE__ */ jsx2(PromptButton, {
                  variant: "outline",
                  onClick: () => {
                    clerk2?.__internal_closeEnableOrganizationsPrompt?.();
                    onClose?.();
                  },
                  children: "I'll remove it myself"
                }), /* @__PURE__ */ jsx2(PromptButton, {
                  variant: "solid",
                  onClick: handleEnableOrganizations,
                  disabled: isLoading,
                  children: "Enable Organizations"
                })] })
              })
            ]
          })
        }) });
      };
      EnableOrganizationsPrompt = (props) => {
        return /* @__PURE__ */ jsx2(InternalThemeProvider, { children: /* @__PURE__ */ jsx2(EnableOrganizationsPromptInternal, { ...props }) });
      };
      baseButtonStyles = css`
  ${basePromptElementStyles};
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 1.75rem;
  padding: 0.375rem 0.625rem;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.12px;
  color: white;
  text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.32);
  white-space: nowrap;
  user-select: none;
  color: white;
  outline: none;

  &:not(:disabled) {
    transition: 120ms ease-in-out;
    transition-property: background-color, border-color, box-shadow, color;
  }

  &:disabled {
    opacity: 0.6;
    cursor: not-allowed;
  }

  &:focus-visible:not(:disabled) {
    outline: 2px solid white;
    outline-offset: 2px;
  }
`;
      buttonSolidStyles = css`
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30.5%, rgba(0, 0, 0, 0.05) 100%), #454545;
  box-shadow:
    0 0 3px 0 rgba(253, 224, 71, 0) inset,
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 1px 0 0 rgba(255, 255, 255, 0.04) inset,
    0 0 0 1px rgba(0, 0, 0, 0.12),
    0 1.5px 2px 0 rgba(0, 0, 0, 0.48);

  &:hover:not(:disabled) {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30.5%, rgba(0, 0, 0, 0.15) 100%), #5f5f5f;
    box-shadow:
      0 0 3px 0 rgba(253, 224, 71, 0) inset,
      0 0 0 1px rgba(255, 255, 255, 0.04) inset,
      0 1px 0 0 rgba(255, 255, 255, 0.04) inset,
      0 0 0 1px rgba(0, 0, 0, 0.12),
      0 1.5px 2px 0 rgba(0, 0, 0, 0.48);
  }
`;
      buttonVariantStyles = {
        solid: buttonSolidStyles,
        outline: css`
  border: 1px solid rgba(118, 118, 132, 0.25);
  background: rgba(69, 69, 69, 0.1);

  &:hover:not(:disabled) {
    border-color: rgba(118, 118, 132, 0.5);
  }
`
      };
      PromptButton = (0, import_react478.forwardRef)(({ variant = "solid", ...props }, ref) => {
        return /* @__PURE__ */ jsx2("button", {
          ref,
          type: "button",
          css: [baseButtonStyles, buttonVariantStyles[variant]],
          ...props
        });
      });
      PromptBadge = ({ children }) => {
        return /* @__PURE__ */ jsx2("span", {
          css: css`
        ${basePromptElementStyles};
        display: inline-flex;
        align-items: center;
        padding: 0.125rem 0.375rem;
        border-radius: 0.25rem;
        font-size: 0.6875rem;
        font-weight: 500;
        line-height: 1.23;
        background-color: #ebebeb;
        color: #2b2b34;
        white-space: nowrap;
      `,
          children
        });
      };
      [RadioGroupContext, useRadioGroup] = createContextAndHook("RadioGroupContext");
      RadioGroup2 = ({ value, onChange, children, labelledBy }) => {
        const name = (0, import_react478.useId)();
        const contextValue = import_react478.default.useMemo(() => ({ value: {
          name,
          value,
          onChange
        } }), [
          name,
          value,
          onChange
        ]);
        return /* @__PURE__ */ jsx2(RadioGroupContext.Provider, {
          value: contextValue,
          children: /* @__PURE__ */ jsx2(Flex2, {
            role: "radiogroup",
            direction: "col",
            gap: 3,
            "aria-orientation": "vertical",
            "aria-labelledby": labelledBy,
            children
          })
        });
      };
      RADIO_INDICATOR_SIZE = "1rem";
      RADIO_GAP = "0.5rem";
      RadioGroupItem = ({ value, label, description }) => {
        const { name, value: selectedValue, onChange } = useRadioGroup();
        const descriptionId = (0, import_react478.useId)();
        const checked = value === selectedValue;
        return /* @__PURE__ */ jsxs2(Flex2, {
          direction: "col",
          gap: 1,
          children: [/* @__PURE__ */ jsxs2("label", {
            css: css`
          ${basePromptElementStyles};
          display: flex;
          align-items: flex-start;
          gap: ${RADIO_GAP};
          cursor: pointer;
          user-select: none;

          &:has(input:focus-visible) > span:first-of-type {
            outline: 2px solid white;
            outline-offset: 2px;
          }

          &:hover:has(input:not(:checked)) > span:first-of-type {
            background-color: rgba(255, 255, 255, 0.08);
          }

          &:hover:has(input:checked) > span:first-of-type {
            background-color: rgba(108, 71, 255, 0.8);
            background-color: color-mix(in srgb, #6c47ff 80%, transparent);
          }
        `,
            children: [
              /* @__PURE__ */ jsx2("input", {
                type: "radio",
                name,
                value,
                checked,
                onChange: () => onChange(value),
                "aria-describedby": description ? descriptionId : void 0,
                css: css`
            ${basePromptElementStyles};
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border-width: 0;
          `
              }),
              /* @__PURE__ */ jsx2("span", {
                "aria-hidden": "true",
                css: css`
            ${basePromptElementStyles};
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: ${RADIO_INDICATOR_SIZE};
            height: ${RADIO_INDICATOR_SIZE};
            margin-top: 0.125rem;
            flex-shrink: 0;
            border-radius: 50%;
            border: 1px solid rgba(255, 255, 255, 0.3);
            background-color: transparent;
            transition: 120ms ease-in-out;
            transition-property: border-color, background-color, box-shadow;

            ${checked && css`
              border-width: 2px;
              border-color: #6c47ff;
              background-color: #6c47ff;
              background-color: color-mix(in srgb, #6c47ff 100%, transparent);
              box-shadow: 0 0 0 2px rgba(108, 71, 255, 0.2);
            `}

            &::after {
              content: '';
              position: absolute;
              width: 0.375rem;
              height: 0.375rem;
              border-radius: 50%;
              background-color: white;
              opacity: ${checked ? 1 : 0};
              transform: scale(${checked ? 1 : 0});
              transition: 120ms ease-in-out;
              transition-property: opacity, transform;
            }
          `
              }),
              /* @__PURE__ */ jsx2("span", {
                css: [basePromptElementStyles, css`
              font-size: 0.875rem;
              font-weight: 500;
              line-height: 1.25;
              color: white;
            `],
                children: label
              })
            ]
          }), description && /* @__PURE__ */ jsx2("span", {
            id: descriptionId,
            css: [basePromptElementStyles, css`
              padding-inline-start: calc(${RADIO_INDICATOR_SIZE} + ${RADIO_GAP});
              font-size: 0.75rem;
              line-height: 1.33;
              color: #c3c3c6;
              text-wrap: pretty;
            `],
            children: description
          })]
        });
      };
      Link3 = (0, import_react478.forwardRef)(({ children, css: cssProp, ...props }, ref) => {
        return /* @__PURE__ */ jsx2("a", {
          ref,
          ...props,
          css: [
            basePromptElementStyles,
            css`
            color: #a8a8ff;
            font-size: inherit;
            font-weight: 500;
            line-height: 1.3;
            font-size: 0.8125rem;
            min-width: 0;
          `,
            cssProp
          ],
          children
        });
      });
      CoinFlip = ({ isEnabled: isEnabled2 }) => {
        const [rotation, setRotation] = (0, import_react478.useState)(0);
        (0, import_react478.useLayoutEffect)(() => {
          if (isEnabled2) {
            setRotation((r2) => r2 === 0 ? 180 : 0);
            return;
          }
          const interval = setInterval(() => {
            setRotation((r2) => r2 === 0 ? 180 : 0);
          }, 2e3);
          return () => clearInterval(interval);
        }, [isEnabled2]);
        let frontFaceType = "idle";
        let backFaceType = "warning";
        if (isEnabled2) if (rotation === 0) {
          frontFaceType = "success";
          backFaceType = "warning";
        } else {
          backFaceType = "success";
          frontFaceType = "idle";
        }
        const renderContent = (type2) => {
          switch (type2) {
            case "idle":
              return /* @__PURE__ */ jsx2(ClerkLogoIcon, {});
            case "success":
              return /* @__PURE__ */ jsx2(PromptSuccessIcon, { css: css`
              width: 1.25rem;
              height: 1.25rem;
            ` });
            case "warning":
              return /* @__PURE__ */ jsxs2("svg", {
                css: css`
              width: 1.25rem;
              height: 1.25rem;
            `,
                viewBox: "0 0 20 20",
                fill: "none",
                xmlns: "http://www.w3.org/2000/svg",
                children: [
                  /* @__PURE__ */ jsx2("path", {
                    opacity: "0.2",
                    d: "M17.25 10C17.25 14.0041 14.0041 17.25 10 17.25C5.99594 17.25 2.75 14.0041 2.75 10C2.75 5.99594 5.99594 2.75 10 2.75C14.0041 2.75 17.25 5.99594 17.25 10Z",
                    fill: "#EAB308"
                  }),
                  /* @__PURE__ */ jsx2("path", {
                    fillRule: "evenodd",
                    clipRule: "evenodd",
                    d: "M10 3.5C6.41015 3.5 3.5 6.41015 3.5 10C3.5 13.5899 6.41015 16.5 10 16.5C13.5899 16.5 16.5 13.5899 16.5 10C16.5 6.41015 13.5899 3.5 10 3.5ZM2 10C2 5.58172 5.58172 2 10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10Z",
                    fill: "#EAB308"
                  }),
                  /* @__PURE__ */ jsx2("path", {
                    fillRule: "evenodd",
                    clipRule: "evenodd",
                    d: "M10 6C10.5523 6 11 6.44772 11 7V9C11 9.55228 10.5523 10 10 10C9.44772 10 9 9.55228 9 9V7C9 6.44772 9.44772 6 10 6Z",
                    fill: "#EAB308"
                  }),
                  /* @__PURE__ */ jsx2("path", {
                    fillRule: "evenodd",
                    clipRule: "evenodd",
                    d: "M10 12C10.5523 12 11 12.4477 11 13V13.01C11 13.5623 10.5523 14.01 10 14.01C9.44772 14.01 9 13.5623 9 13.01V13C9 12.4477 9.44772 12 10 12Z",
                    fill: "#EAB308"
                  })
                ]
              });
          }
        };
        return /* @__PURE__ */ jsx2("div", {
          css: css`
        perspective: 1000px;
        width: 1.25rem;
        height: 1.25rem;
      `,
          children: /* @__PURE__ */ jsxs2("div", {
            css: css`
          position: relative;
          width: 100%;
          height: 100%;
          transform-style: preserve-3d;
          transition: transform 0.6s ease-in-out;
          transform: rotateY(${rotation}deg);

          @media (prefers-reduced-motion: reduce) {
            transition: none;
          }
        `,
            children: [/* @__PURE__ */ jsx2("span", {
              "aria-hidden": true,
              css: css`
            position: absolute;
            width: 100%;
            height: 100%;
            backface-visibility: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            -webkit-font-smoothing: antialiased;
            transform: rotateY(0deg);
          `,
              children: renderContent(frontFaceType)
            }), /* @__PURE__ */ jsx2("span", {
              "aria-hidden": true,
              css: css`
            position: absolute;
            width: 100%;
            height: 100%;
            backface-visibility: hidden;
            transform: rotateY(180deg);
            display: flex;
            align-items: center;
            justify-content: center;
            -webkit-font-smoothing: antialiased;
          `,
              children: renderContent(backFaceType)
            })]
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/lazyModules/components.js
  var import_react481, componentImportPaths, SignIn2, SignInModal2, GoogleOneTap, UserVerification2, UserVerificationModal2, EnableOrganizationsPrompt2, SignUp2, SignUpModal2, UserAvatar3, UserButton2, UserProfile2, UserProfileModal2, CreateOrganization2, CreateOrganizationModal2, OrganizationProfile2, OrganizationProfileModal2, OrganizationSwitcher2, OrganizationList2, Waitlist2, WaitlistModal2, BlankCaptchaModal2, ImpersonationFab2, KeylessPrompt2, PricingTable2, APIKeys2, Checkout2, TaskChooseOrganization2, TaskResetPassword2, TaskSetupMFA2, PlanDetails2, SubscriptionDetails2, OAuthConsent2, SessionTasks2, preloadComponent, ClerkComponents;
  var init_components = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/lazyModules/components.js"() {
      import_react481 = __toESM(require_react(), 1);
      componentImportPaths = {
        SignIn: () => Promise.resolve().then(() => (init_SignIn2(), SignIn_exports)),
        SignUp: () => Promise.resolve().then(() => (init_SignUp2(), SignUp_exports)),
        UserAvatar: () => Promise.resolve().then(() => (init_UserAvatar3(), UserAvatar_exports)),
        UserButton: () => Promise.resolve().then(() => (init_UserButton2(), UserButton_exports)),
        UserProfile: () => Promise.resolve().then(() => (init_UserProfile2(), UserProfile_exports)),
        CreateOrganization: () => Promise.resolve().then(() => (init_CreateOrganization3(), CreateOrganization_exports)),
        OrganizationProfile: () => Promise.resolve().then(() => (init_OrganizationProfile2(), OrganizationProfile_exports)),
        OrganizationSwitcher: () => Promise.resolve().then(() => (init_OrganizationSwitcher2(), OrganizationSwitcher_exports)),
        OrganizationList: () => Promise.resolve().then(() => (init_OrganizationList2(), OrganizationList_exports)),
        ImpersonationFab: () => Promise.resolve().then(() => (init_ImpersonationFab(), ImpersonationFab_exports)),
        GoogleOneTap: () => Promise.resolve().then(() => (init_GoogleOneTap2(), GoogleOneTap_exports)),
        BlankCaptchaModal: () => Promise.resolve().then(() => (init_BlankCaptchaModal(), BlankCaptchaModal_exports)),
        UserVerification: () => Promise.resolve().then(() => (init_UserVerification2(), UserVerification_exports)),
        Waitlist: () => Promise.resolve().then(() => (init_Waitlist2(), Waitlist_exports)),
        KeylessPrompt: () => Promise.resolve().then(() => (init_KeylessPrompt(), KeylessPrompt_exports)),
        PricingTable: () => Promise.resolve().then(() => (init_PricingTable3(), PricingTable_exports)),
        Checkout: () => Promise.resolve().then(() => (init_Checkout2(), Checkout_exports)),
        SessionTasks: () => Promise.resolve().then(() => (init_SessionTasks2(), SessionTasks_exports)),
        TaskChooseOrganization: () => Promise.resolve().then(() => (init_TaskChooseOrganization(), TaskChooseOrganization_exports)),
        TaskResetPassword: () => Promise.resolve().then(() => (init_TaskResetPassword(), TaskResetPassword_exports)),
        TaskSetupMFA: () => Promise.resolve().then(() => (init_TaskSetupMfa(), TaskSetupMfa_exports)),
        PlanDetails: () => Promise.resolve().then(() => (init_PlanDetails(), PlanDetails_exports)),
        SubscriptionDetails: () => Promise.resolve().then(() => (init_SubscriptionDetails2(), SubscriptionDetails_exports)),
        APIKeys: () => Promise.resolve().then(() => (init_APIKeys2(), APIKeys_exports)),
        OAuthConsent: () => Promise.resolve().then(() => (init_OAuthConsent2(), OAuthConsent_exports)),
        EnableOrganizationsPrompt: () => Promise.resolve().then(() => (init_EnableOrganizationsPrompt(), EnableOrganizationsPrompt_exports))
      };
      SignIn2 = (0, import_react481.lazy)(() => componentImportPaths.SignIn().then((module) => ({ default: module.SignIn })));
      SignInModal2 = (0, import_react481.lazy)(() => componentImportPaths.SignIn().then((module) => ({ default: module.SignInModal })));
      GoogleOneTap = (0, import_react481.lazy)(() => componentImportPaths.GoogleOneTap().then((module) => ({ default: module.OneTap })));
      UserVerification2 = (0, import_react481.lazy)(() => componentImportPaths.UserVerification().then((module) => ({ default: module.UserVerification })));
      UserVerificationModal2 = (0, import_react481.lazy)(() => componentImportPaths.UserVerification().then((module) => ({ default: module.UserVerificationModal })));
      EnableOrganizationsPrompt2 = (0, import_react481.lazy)(() => componentImportPaths.EnableOrganizationsPrompt().then((module) => ({ default: module.EnableOrganizationsPrompt })));
      SignUp2 = (0, import_react481.lazy)(() => componentImportPaths.SignUp().then((module) => ({ default: module.SignUp })));
      SignUpModal2 = (0, import_react481.lazy)(() => componentImportPaths.SignUp().then((module) => ({ default: module.SignUpModal })));
      UserAvatar3 = (0, import_react481.lazy)(() => componentImportPaths.UserAvatar().then((module) => ({ default: module.UserAvatar })));
      UserButton2 = (0, import_react481.lazy)(() => componentImportPaths.UserButton().then((module) => ({ default: module.UserButton })));
      UserProfile2 = (0, import_react481.lazy)(() => componentImportPaths.UserProfile().then((module) => ({ default: module.UserProfile })));
      UserProfileModal2 = (0, import_react481.lazy)(() => componentImportPaths.UserProfile().then((module) => ({ default: module.UserProfileModal })));
      CreateOrganization2 = (0, import_react481.lazy)(() => componentImportPaths.CreateOrganization().then((module) => ({ default: module.CreateOrganization })));
      CreateOrganizationModal2 = (0, import_react481.lazy)(() => componentImportPaths.CreateOrganization().then((module) => ({ default: module.CreateOrganizationModal })));
      OrganizationProfile2 = (0, import_react481.lazy)(() => componentImportPaths.OrganizationProfile().then((module) => ({ default: module.OrganizationProfile })));
      OrganizationProfileModal2 = (0, import_react481.lazy)(() => componentImportPaths.OrganizationProfile().then((module) => ({ default: module.OrganizationProfileModal })));
      OrganizationSwitcher2 = (0, import_react481.lazy)(() => componentImportPaths.OrganizationSwitcher().then((module) => ({ default: module.OrganizationSwitcher })));
      OrganizationList2 = (0, import_react481.lazy)(() => componentImportPaths.OrganizationList().then((module) => ({ default: module.OrganizationList })));
      Waitlist2 = (0, import_react481.lazy)(() => componentImportPaths.Waitlist().then((module) => ({ default: module.Waitlist })));
      WaitlistModal2 = (0, import_react481.lazy)(() => componentImportPaths.Waitlist().then((module) => ({ default: module.WaitlistModal })));
      BlankCaptchaModal2 = (0, import_react481.lazy)(() => componentImportPaths.BlankCaptchaModal().then((module) => ({ default: module.BlankCaptchaModal })));
      ImpersonationFab2 = (0, import_react481.lazy)(() => componentImportPaths.ImpersonationFab().then((module) => ({ default: module.ImpersonationFab })));
      KeylessPrompt2 = (0, import_react481.lazy)(() => componentImportPaths.KeylessPrompt().then((module) => ({ default: module.KeylessPrompt })));
      PricingTable2 = (0, import_react481.lazy)(() => componentImportPaths.PricingTable().then((module) => ({ default: module.PricingTable })));
      APIKeys2 = (0, import_react481.lazy)(() => componentImportPaths.APIKeys().then((module) => ({ default: module.APIKeys })));
      Checkout2 = (0, import_react481.lazy)(() => componentImportPaths.Checkout().then((module) => ({ default: module.Checkout })));
      TaskChooseOrganization2 = (0, import_react481.lazy)(() => componentImportPaths.TaskChooseOrganization().then((module) => ({ default: module.TaskChooseOrganization })));
      TaskResetPassword2 = (0, import_react481.lazy)(() => componentImportPaths.TaskResetPassword().then((module) => ({ default: module.TaskResetPassword })));
      TaskSetupMFA2 = (0, import_react481.lazy)(() => componentImportPaths.TaskSetupMFA().then((module) => ({ default: module.TaskSetupMFA })));
      PlanDetails2 = (0, import_react481.lazy)(() => componentImportPaths.PlanDetails().then((module) => ({ default: module.PlanDetails })));
      SubscriptionDetails2 = (0, import_react481.lazy)(() => componentImportPaths.SubscriptionDetails().then((module) => ({ default: module.SubscriptionDetails })));
      OAuthConsent2 = (0, import_react481.lazy)(() => componentImportPaths.OAuthConsent().then((module) => ({ default: module.OAuthConsent })));
      SessionTasks2 = (0, import_react481.lazy)(() => componentImportPaths.SessionTasks().then((module) => ({ default: module.SessionTasks })));
      preloadComponent = async (component) => {
        return componentImportPaths[component]?.();
      };
      ClerkComponents = {
        SignIn: SignIn2,
        SignUp: SignUp2,
        UserAvatar: UserAvatar3,
        UserButton: UserButton2,
        UserProfile: UserProfile2,
        UserVerification: UserVerification2,
        EnableOrganizationsPrompt: EnableOrganizationsPrompt2,
        OrganizationSwitcher: OrganizationSwitcher2,
        OrganizationList: OrganizationList2,
        OrganizationProfile: OrganizationProfile2,
        CreateOrganization: CreateOrganization2,
        SignInModal: SignInModal2,
        SignUpModal: SignUpModal2,
        UserProfileModal: UserProfileModal2,
        OrganizationProfileModal: OrganizationProfileModal2,
        CreateOrganizationModal: CreateOrganizationModal2,
        UserVerificationModal: UserVerificationModal2,
        GoogleOneTap,
        Waitlist: Waitlist2,
        WaitlistModal: WaitlistModal2,
        BlankCaptchaModal: BlankCaptchaModal2,
        PricingTable: PricingTable2,
        Checkout: Checkout2,
        PlanDetails: PlanDetails2,
        APIKeys: APIKeys2,
        OAuthConsent: OAuthConsent2,
        SubscriptionDetails: SubscriptionDetails2,
        TaskChooseOrganization: TaskChooseOrganization2,
        TaskResetPassword: TaskResetPassword2,
        TaskSetupMFA: TaskSetupMFA2
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/deprecated--jK9xTNh.mjs
  var displayedWarnings, deprecated;
  var init_deprecated_jK9xTNh = __esm({
    "node_modules/@clerk/shared/dist/runtime/deprecated--jK9xTNh.mjs"() {
      init_runtimeEnvironment_D1yr0yUs();
      displayedWarnings = /* @__PURE__ */ new Set();
      deprecated = (fnName, warning, key) => {
        const hideWarning = isTestEnvironment() || isProductionEnvironment();
        const messageId = key ?? fnName;
        if (displayedWarnings.has(messageId) || hideWarning) return;
        displayedWarnings.add(messageId);
        console.warn(`Clerk - DEPRECATION WARNING: "${fnName}" is deprecated and will be removed in the next major release.
${warning}`);
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/deprecated.mjs
  var init_deprecated = __esm({
    "node_modules/@clerk/shared/dist/runtime/deprecated.mjs"() {
      init_runtimeEnvironment_D1yr0yUs();
      init_deprecated_jK9xTNh();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/ClerkUIComponentsContext.js
  function ComponentContextProvider({ componentName, props, children }) {
    switch (componentName) {
      case "SignIn":
        return /* @__PURE__ */ jsx2(SignInContext.Provider, {
          value: {
            componentName,
            ...props
          },
          children
        });
      case "SignUp":
        return /* @__PURE__ */ jsx2(SignUpContext.Provider, {
          value: {
            componentName,
            ...props
          },
          children
        });
      case "UserProfile":
        return /* @__PURE__ */ jsx2(UserProfileContext.Provider, {
          value: {
            componentName,
            ...props
          },
          children
        });
      case "UserVerification":
        return /* @__PURE__ */ jsx2(UserVerificationContext.Provider, {
          value: {
            componentName,
            ...props
          },
          children
        });
      case "UserAvatar":
        return /* @__PURE__ */ jsx2(UserAvatarContext.Provider, {
          value: {
            componentName,
            ...props
          },
          children
        });
      case "UserButton":
        return /* @__PURE__ */ jsx2(UserButtonContext.Provider, {
          value: {
            componentName,
            ...props
          },
          children
        });
      case "OrganizationSwitcher":
        return /* @__PURE__ */ jsx2(OrganizationSwitcherContext.Provider, {
          value: {
            componentName,
            ...props
          },
          children
        });
      case "OrganizationList":
        return /* @__PURE__ */ jsx2(OrganizationListContext.Provider, {
          value: {
            componentName,
            ...props
          },
          children
        });
      case "OrganizationProfile":
        return /* @__PURE__ */ jsx2(OrganizationProfileContext.Provider, {
          value: {
            componentName,
            ...props
          },
          children
        });
      case "CreateOrganization":
        return /* @__PURE__ */ jsx2(CreateOrganizationContext.Provider, {
          value: {
            componentName,
            ...props
          },
          children
        });
      case "GoogleOneTap":
        return /* @__PURE__ */ jsx2(GoogleOneTapContext.Provider, {
          value: {
            componentName,
            ...props
          },
          children
        });
      case "Waitlist":
        return /* @__PURE__ */ jsx2(WaitlistContext.Provider, {
          value: {
            componentName,
            ...props
          },
          children
        });
      case "PricingTable":
        return /* @__PURE__ */ jsx2(SubscriberTypeContext.Provider, {
          value: props.for || "user",
          children: /* @__PURE__ */ jsx2(PricingTableContext.Provider, {
            value: {
              componentName,
              ...props
            },
            children
          })
        });
      case "APIKeys":
        return /* @__PURE__ */ jsx2(APIKeysContext.Provider, {
          value: {
            componentName,
            ...props
          },
          children
        });
      case "OAuthConsent": {
        const p2 = props;
        return /* @__PURE__ */ jsx2(OAuthConsentContext.Provider, {
          value: {
            componentName,
            oauthClientId: p2.oauthClientId,
            scope: p2.scope,
            scopes: p2.scopes,
            oauthApplicationName: p2.oAuthApplicationName,
            oauthApplicationLogoUrl: p2.oAuthApplicationLogoUrl,
            oauthApplicationUrl: p2.oAuthApplicationUrl,
            redirectUrl: p2.redirectUrl,
            onAllow: p2.onAllow,
            onDeny: p2.onDeny,
            appearance: p2.appearance,
            enableOrgSelection: p2.__internal_enableOrgSelection === true
          },
          children
        });
      }
      case "TaskChooseOrganization":
        return /* @__PURE__ */ jsx2(TaskChooseOrganizationContext.Provider, {
          value: {
            componentName: "TaskChooseOrganization",
            ...props
          },
          children: /* @__PURE__ */ jsx2(SessionTasksContext.Provider, {
            value: { ...props },
            children
          })
        });
      case "TaskResetPassword":
        return /* @__PURE__ */ jsx2(TaskResetPasswordContext.Provider, {
          value: {
            componentName: "TaskResetPassword",
            ...props
          },
          children: /* @__PURE__ */ jsx2(SessionTasksContext.Provider, {
            value: { ...props },
            children
          })
        });
      case "TaskSetupMFA":
        return /* @__PURE__ */ jsx2(TaskSetupMFAContext.Provider, {
          value: {
            componentName: "TaskSetupMFA",
            ...props
          },
          children: /* @__PURE__ */ jsx2(SessionTasksContext.Provider, {
            value: { ...props },
            children
          })
        });
      default:
        throw new Error(`Unknown component context: ${componentName}`);
    }
  }
  var init_ClerkUIComponentsContext = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/ClerkUIComponentsContext.js"() {
      init_APIKeys();
      init_CreateOrganization();
      init_GoogleOneTap();
      init_OAuthConsent();
      init_OrganizationList();
      init_SubscriberType();
      init_OrganizationProfile();
      init_OrganizationSwitcher();
      init_PricingTable();
      init_SignIn();
      init_SignUp();
      init_UserAvatar2();
      init_UserButton();
      init_UserProfile();
      init_UserVerification();
      init_Waitlist();
      init_SessionTasks();
      init_emotion_react_jsx_runtime_browser_esm();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/contexts/index.js
  var contexts_exports2 = {};
  __export(contexts_exports2, {
    ClerkContextProvider: () => ClerkContextProvider,
    EnvironmentProvider: () => EnvironmentProvider,
    ModuleManagerProvider: () => ModuleManagerProvider,
    OptionsProvider: () => OptionsProvider
  });
  var init_contexts2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/contexts/index.js"() {
      init_OptionsContext();
      init_EnvironmentContext();
      init_ModuleManagerContext();
      init_react();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/router/HashRouter.js
  var import_react483, hashRouterBase, HASH_REFRESH_EVENTS, HashRouter;
  var init_HashRouter = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/router/HashRouter.js"() {
      init_BaseRouter();
      import_react483 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      init_url();
      hashRouterBase = "CLERK-ROUTER/HASH";
      HASH_REFRESH_EVENTS = [
        "pushstate",
        "replacestate",
        "popstate",
        "hashchange"
      ];
      HashRouter = ({ preservedParams, children }) => {
        const internalNavigate = async (toURL2) => {
          if (!toURL2) return;
          window.location.hash = stripOrigin(toURL2).substring(18);
          return Promise.resolve();
        };
        const fakeUrl = () => {
          if (hasUrlInFragment(window.location.hash)) return new URL(window.location.origin + window.location.hash.substring(1));
          else return new URL(window.location.origin);
        };
        const getPath = () => {
          return fakeUrl().pathname === "/" ? "/" + hashRouterBase : "/" + hashRouterBase + fakeUrl().pathname;
        };
        const getQueryString = () => {
          return fakeUrl().search;
        };
        return /* @__PURE__ */ jsx2(BaseRouter, {
          getPath,
          basePath: hashRouterBase,
          startPath: "",
          getQueryString,
          internalNavigate,
          refreshEvents: HASH_REFRESH_EVENTS,
          preservedParams,
          children
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/router/PathRouter.js
  var import_react484, PATH_REFRESH_EVENTS, PathRouter;
  var init_PathRouter = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/router/PathRouter.js"() {
      init_BaseRouter();
      import_react484 = __toESM(require_react(), 1);
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      init_url();
      PATH_REFRESH_EVENTS = [
        "pushstate",
        "replacestate",
        "popstate"
      ];
      PathRouter = ({ basePath, preservedParams, children }) => {
        const { navigate } = useClerk();
        const [stripped, setStripped] = import_react484.default.useState(false);
        if (!navigate) throw new Error("Clerk: Missing navigate option.");
        const internalNavigate = (toURL2, options2) => {
          if (!toURL2) return;
          return navigate(stripOrigin(toURL2), options2);
        };
        const getPath = () => {
          return window.location.pathname;
        };
        const getQueryString = () => {
          return window.location.search;
        };
        import_react484.default.useEffect(() => {
          const convertHashToPath = async () => {
            if (hasUrlInFragment(window.location.hash)) {
              await internalNavigate(mergeFragmentIntoUrl(new URL(window.location.href)).href, { replace: true });
              setStripped(true);
            }
          };
          convertHashToPath();
        }, [
          setStripped,
          navigate,
          window.location.hash
        ]);
        if (hasUrlInFragment(window.location.hash) && !stripped) return null;
        return /* @__PURE__ */ jsx2(BaseRouter, {
          basePath: basePath.substring(1),
          startPath: "",
          getPath,
          getQueryString,
          internalNavigate,
          refreshEvents: PATH_REFRESH_EVENTS,
          preservedParams,
          children
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/router/index.js
  var router_exports = {};
  __export(router_exports, {
    VirtualRouter: () => VirtualRouter
  });
  var init_router = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/router/index.js"() {
      init_VirtualRouter();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/styledSystem/index.js
  var styledSystem_exports = {};
  __export(styledSystem_exports, {
    InternalThemeProvider: () => InternalThemeProvider
  });
  var init_styledSystem = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/styledSystem/index.js"() {
      init_InternalThemeProvider();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/styledSystem/StyleCacheProvider.js
  var StyleCacheProvider_exports = {};
  __export(StyleCacheProvider_exports, {
    StyleCacheProvider: () => StyleCacheProvider
  });
  var import_react486, el, StyleCacheProvider;
  var init_StyleCacheProvider = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/styledSystem/StyleCacheProvider.js"() {
      import_react486 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      init_emotion_react_browser_esm();
      init_emotion_cache_browser_esm();
      el = document.querySelector("style#cl-style-insertion-point");
      StyleCacheProvider = (props) => {
        return /* @__PURE__ */ jsx2(CacheProvider, {
          value: (0, import_react486.useMemo)(() => {
            const emotionCache = createCache({
              key: "cl-internal",
              prepend: props.cssLayerName ? false : !el,
              insertionPoint: el ? el : void 0,
              nonce: props.nonce
            });
            if (props.cssLayerName) {
              const prevInsert = emotionCache.insert.bind(emotionCache);
              emotionCache.insert = (selector, serialized, sheet, shouldCache) => {
                if (serialized && typeof serialized.styles === "string" && !serialized.styles.startsWith("@layer")) {
                  const newSerialized = { ...serialized };
                  newSerialized.styles = `@layer ${props.cssLayerName} {${serialized.styles}}`;
                  return prevInsert(selector, newSerialized, sheet, shouldCache);
                }
                return prevInsert(selector, serialized, sheet, shouldCache);
              };
            }
            return emotionCache;
          }, [props.nonce, props.cssLayerName]),
          children: props.children
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/portal/index.js
  var portal_exports = {};
  __export(portal_exports, {
    Portal: () => Portal2,
    VirtualBodyRootPortal: () => VirtualBodyRootPortal
  });
  function Portal2({ props, component, componentName, node: node2 }) {
    const normalizedProps = {
      ...props,
      ...normalizeRoutingOptions({
        routing: props?.routing,
        path: props?.path
      })
    };
    const el2 = /* @__PURE__ */ jsx2(ComponentContextProvider, {
      componentName,
      props: normalizedProps,
      children: /* @__PURE__ */ jsx2(import_react488.Suspense, {
        fallback: "",
        children: import_react488.default.createElement(component, normalizedProps)
      })
    });
    if (normalizedProps?.routing === "path") {
      if (!normalizedProps?.path) clerkErrorPathRouterMissingPath(componentName);
      return import_react_dom5.default.createPortal(/* @__PURE__ */ jsx2(PathRouter, {
        preservedParams: PRESERVED_QUERYSTRING_PARAMS,
        basePath: normalizedProps.path,
        children: el2
      }), node2);
    }
    return import_react_dom5.default.createPortal(/* @__PURE__ */ jsx2(HashRouter, {
      preservedParams: PRESERVED_QUERYSTRING_PARAMS,
      children: el2
    }), node2);
  }
  var import_react488, import_react_dom5, VirtualBodyRootPortal;
  var init_portal = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/portal/index.js"() {
      init_HashRouter();
      init_PathRouter();
      init_VirtualRouter();
      init_ClerkUIComponentsContext();
      init_normalizeRoutingOptions();
      init_errors();
      import_react488 = __toESM(require_react(), 1);
      init_constants();
      init_emotion_react_jsx_runtime_browser_esm();
      import_react_dom5 = __toESM(require_react_dom(), 1);
      VirtualBodyRootPortal = class extends import_react488.default.PureComponent {
        elRef = document.createElement("div");
        componentDidMount() {
          document.body.appendChild(this.elRef);
        }
        componentWillUnmount() {
          document.body.removeChild(this.elRef);
        }
        render() {
          const { props, startPath, component, componentName } = this.props;
          return import_react_dom5.default.createPortal(/* @__PURE__ */ jsx2(VirtualRouter, {
            startPath,
            children: /* @__PURE__ */ jsx2(ComponentContextProvider, {
              componentName,
              props: props ?? {},
              children: /* @__PURE__ */ jsx2(import_react488.Suspense, {
                fallback: "",
                children: import_react488.default.createElement(component, props)
              })
            })
          }), this.elRef);
        }
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/components/prefetch-organization-list.js
  var prefetch_organization_list_exports = {};
  __export(prefetch_organization_list_exports, {
    OrganizationSwitcherPrefetch: () => OrganizationSwitcherPrefetch
  });
  function OrganizationSwitcherPrefetch() {
    useOrganizationList(organizationListParams);
    return null;
  }
  var init_prefetch_organization_list = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/components/prefetch-organization-list.js"() {
      init_utils5();
      init_react();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/lazyModules/providers.js
  var import_react490, ClerkContextProvider2, EnvironmentProvider2, OptionsProvider2, ModuleManagerProvider2, AppearanceProvider2, VirtualRouter2, InternalThemeProvider2, StyleCacheProvider2, Portal3, VirtualBodyRootPortal2, FlowMetadataProvider2, Modal2, DrawerRoot, DrawerOverlay, OrganizationSwitcherPrefetch2, LazyProviders, LazyComponentRenderer, LazyModalRenderer, LazyDrawerRenderer, LazyImpersonationFabProvider, LazyEnableOrganizationsPromptProvider, LazyOneTapRenderer;
  var init_providers = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/lazyModules/providers.js"() {
      init_components();
      import_react490 = __toESM(require_react(), 1);
      init_deprecated();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
      ClerkContextProvider2 = (0, import_react490.lazy)(() => Promise.resolve().then(() => (init_contexts2(), contexts_exports2)).then((m2) => ({ default: m2.ClerkContextProvider })));
      EnvironmentProvider2 = (0, import_react490.lazy)(() => Promise.resolve().then(() => (init_contexts2(), contexts_exports2)).then((m2) => ({ default: m2.EnvironmentProvider })));
      OptionsProvider2 = (0, import_react490.lazy)(() => Promise.resolve().then(() => (init_contexts2(), contexts_exports2)).then((m2) => ({ default: m2.OptionsProvider })));
      ModuleManagerProvider2 = (0, import_react490.lazy)(() => Promise.resolve().then(() => (init_contexts2(), contexts_exports2)).then((m2) => ({ default: m2.ModuleManagerProvider })));
      AppearanceProvider2 = (0, import_react490.lazy)(() => Promise.resolve().then(() => (init_customizables(), customizables_exports)).then((m2) => ({ default: m2.AppearanceProvider })));
      VirtualRouter2 = (0, import_react490.lazy)(() => Promise.resolve().then(() => (init_router(), router_exports)).then((m2) => ({ default: m2.VirtualRouter })));
      InternalThemeProvider2 = (0, import_react490.lazy)(() => Promise.resolve().then(() => (init_styledSystem(), styledSystem_exports)).then((m2) => ({ default: m2.InternalThemeProvider })));
      StyleCacheProvider2 = (0, import_react490.lazy)(() => Promise.resolve().then(() => (init_StyleCacheProvider(), StyleCacheProvider_exports)).then((m2) => ({ default: m2.StyleCacheProvider })));
      Portal3 = (0, import_react490.lazy)(() => Promise.resolve().then(() => (init_portal(), portal_exports)).then((m2) => ({ default: m2.Portal })));
      VirtualBodyRootPortal2 = (0, import_react490.lazy)(() => Promise.resolve().then(() => (init_portal(), portal_exports)).then((m2) => ({ default: m2.VirtualBodyRootPortal })));
      FlowMetadataProvider2 = (0, import_react490.lazy)(() => Promise.resolve().then(() => (init_contexts(), contexts_exports)).then((m2) => ({ default: m2.FlowMetadataProvider })));
      Modal2 = (0, import_react490.lazy)(() => Promise.resolve().then(() => (init_Modal(), Modal_exports)).then((m2) => ({ default: m2.Modal })));
      DrawerRoot = (0, import_react490.lazy)(() => Promise.resolve().then(() => (init_Drawer(), Drawer_exports)).then((m2) => ({ default: m2.Drawer.Root })));
      DrawerOverlay = (0, import_react490.lazy)(() => Promise.resolve().then(() => (init_Drawer(), Drawer_exports)).then((m2) => ({ default: m2.Drawer.Overlay })));
      OrganizationSwitcherPrefetch2 = (0, import_react490.lazy)(() => Promise.resolve().then(() => (init_prefetch_organization_list(), prefetch_organization_list_exports)).then((m2) => ({ default: m2.OrganizationSwitcherPrefetch })));
      LazyProviders = (props) => {
        return /* @__PURE__ */ jsx2(StyleCacheProvider2, {
          nonce: props.options.nonce,
          cssLayerName: props.options.appearance?.cssLayerName,
          children: /* @__PURE__ */ jsx2(ModuleManagerProvider2, {
            moduleManager: props.moduleManager,
            children: /* @__PURE__ */ jsx2(ClerkContextProvider2, {
              clerk: props.clerk,
              children: /* @__PURE__ */ jsx2(EnvironmentProvider2, {
                value: props.environment,
                children: /* @__PURE__ */ jsx2(OptionsProvider2, {
                  value: props.options,
                  children: props.children
                })
              })
            })
          })
        });
      };
      LazyComponentRenderer = (props) => {
        if (props?.componentProps?.routing === "virtual") deprecated('routing="virtual"', 'Use routing="hash" instead.');
        return /* @__PURE__ */ jsx2(AppearanceProvider2, {
          globalAppearance: props.globalAppearance,
          appearanceKey: props.appearanceKey,
          appearance: props.componentAppearance,
          children: /* @__PURE__ */ jsx2(UNSAFE_PortalProvider, {
            getContainer: props?.componentProps?.getContainer,
            children: /* @__PURE__ */ jsx2(Portal3, {
              node: props.node,
              component: ClerkComponents[props.componentName],
              props: props.componentProps,
              componentName: props.componentName
            })
          })
        });
      };
      LazyModalRenderer = (props) => {
        return /* @__PURE__ */ jsx2(import_react490.Suspense, {
          fallback: "",
          children: /* @__PURE__ */ jsx2(AppearanceProvider2, {
            globalAppearance: props.globalAppearance,
            appearanceKey: props.appearanceKey,
            appearance: props.componentAppearance,
            children: /* @__PURE__ */ jsx2(FlowMetadataProvider2, {
              flow: props.flowName || "",
              children: /* @__PURE__ */ jsx2(InternalThemeProvider2, { children: /* @__PURE__ */ jsx2(UNSAFE_PortalProvider, {
                getContainer: props.getContainer,
                children: /* @__PURE__ */ jsx2(Modal2, {
                  id: props.modalId,
                  style: props.modalStyle,
                  handleClose: props.onClose,
                  containerSx: props.modalContainerSx,
                  contentSx: props.modalContentSx,
                  canCloseModal: props.canCloseModal,
                  children: props.startPath ? /* @__PURE__ */ jsx2(import_react490.Suspense, { children: /* @__PURE__ */ jsx2(VirtualRouter2, {
                    startPath: props.startPath,
                    onExternalNavigate: props.onExternalNavigate,
                    children: props.children
                  }) }) : props.children
                })
              }) })
            })
          })
        });
      };
      LazyDrawerRenderer = (props) => {
        return /* @__PURE__ */ jsx2(import_react490.Suspense, {
          fallback: "",
          children: /* @__PURE__ */ jsx2(VirtualRouter2, {
            startPath: "",
            children: /* @__PURE__ */ jsx2(AppearanceProvider2, {
              globalAppearance: props.globalAppearance,
              appearanceKey: props.appearanceKey,
              appearance: props.componentAppearance,
              children: /* @__PURE__ */ jsx2(FlowMetadataProvider2, {
                flow: props.flowName || "",
                children: /* @__PURE__ */ jsx2(InternalThemeProvider2, { children: /* @__PURE__ */ jsxs2(DrawerRoot, {
                  open: props.open,
                  onOpenChange: props.onOpenChange,
                  strategy: props.portalId || props.portalRoot ? "absolute" : "fixed",
                  portalProps: {
                    id: props.portalId ? props.portalId : void 0,
                    root: props.portalRoot ? props.portalRoot : void 0
                  },
                  children: [/* @__PURE__ */ jsx2(DrawerOverlay, {}), props.children]
                }) })
              })
            })
          })
        });
      };
      LazyImpersonationFabProvider = (props) => {
        return /* @__PURE__ */ jsx2(import_react490.Suspense, { children: /* @__PURE__ */ jsx2(VirtualRouter2, {
          startPath: "",
          children: /* @__PURE__ */ jsx2(AppearanceProvider2, {
            globalAppearance: props.globalAppearance,
            appearanceKey: "impersonationFab",
            children: props.children
          })
        }) });
      };
      LazyEnableOrganizationsPromptProvider = (props) => {
        return /* @__PURE__ */ jsx2(import_react490.Suspense, { children: /* @__PURE__ */ jsx2(VirtualRouter2, {
          startPath: "",
          children: /* @__PURE__ */ jsx2(AppearanceProvider2, {
            globalAppearance: props.globalAppearance,
            appearanceKey: "enableOrganizationsPrompt",
            children: props.children
          })
        }) });
      };
      LazyOneTapRenderer = (props) => {
        return /* @__PURE__ */ jsx2(AppearanceProvider2, {
          globalAppearance: props.globalAppearance,
          appearanceKey: "oneTap",
          appearance: props.componentAppearance,
          children: /* @__PURE__ */ jsx2(VirtualBodyRootPortal2, {
            startPath: props.startPath,
            component: ClerkComponents["GoogleOneTap"],
            props: props.componentProps,
            componentName: "GoogleOneTap"
          })
        });
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/lazyModules/MountedCheckoutDrawer.js
  var MountedCheckoutDrawer_exports = {};
  __export(MountedCheckoutDrawer_exports, {
    MountedCheckoutDrawer: () => MountedCheckoutDrawer
  });
  function MountedCheckoutDrawer({ appearance, checkoutDrawer, onOpenChange }) {
    const { user } = useUser();
    if (!checkoutDrawer.props) return null;
    return /* @__PURE__ */ jsx2(LazyDrawerRenderer, {
      globalAppearance: appearance,
      appearanceKey: "checkout",
      componentAppearance: checkoutDrawer.props.appearance || {},
      flowName: "checkout",
      open: checkoutDrawer.open,
      onOpenChange,
      componentName: "Checkout",
      portalId: checkoutDrawer.props?.portalId,
      portalRoot: checkoutDrawer.props?.portalRoot,
      children: checkoutDrawer.props && /* @__PURE__ */ jsx2(Checkout2, {
        planId: checkoutDrawer.props.planId,
        planPeriod: checkoutDrawer.props.planPeriod,
        for: checkoutDrawer.props.for,
        onSubscriptionComplete: checkoutDrawer.props.onSubscriptionComplete,
        portalRoot: checkoutDrawer.props.portalRoot,
        appearance: checkoutDrawer.props.appearance,
        newSubscriptionRedirectUrl: checkoutDrawer.props.newSubscriptionRedirectUrl
      })
    }, user?.id);
  }
  var init_MountedCheckoutDrawer = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/lazyModules/MountedCheckoutDrawer.js"() {
      init_components();
      init_providers();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/lazyModules/MountedPlanDetailDrawer.js
  var MountedPlanDetailDrawer_exports = {};
  __export(MountedPlanDetailDrawer_exports, {
    MountedPlanDetailDrawer: () => MountedPlanDetailDrawer
  });
  function MountedPlanDetailDrawer({ appearance, planDetailsDrawer, onOpenChange }) {
    const { user } = useUser();
    if (!planDetailsDrawer.props) return null;
    return /* @__PURE__ */ jsx2(LazyDrawerRenderer, {
      globalAppearance: appearance,
      appearanceKey: "planDetails",
      componentAppearance: planDetailsDrawer.props.appearance || {},
      flowName: "planDetails",
      open: planDetailsDrawer.open,
      onOpenChange,
      componentName: "PlanDetails",
      portalId: planDetailsDrawer.props.portalId,
      portalRoot: planDetailsDrawer.props.portalRoot,
      children: /* @__PURE__ */ jsx2(PlanDetails2, { ...planDetailsDrawer.props })
    }, user?.id);
  }
  var init_MountedPlanDetailDrawer = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/lazyModules/MountedPlanDetailDrawer.js"() {
      init_components();
      init_providers();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/lazyModules/MountedSubscriptionDetailDrawer.js
  var MountedSubscriptionDetailDrawer_exports = {};
  __export(MountedSubscriptionDetailDrawer_exports, {
    MountedSubscriptionDetailDrawer: () => MountedSubscriptionDetailDrawer
  });
  function MountedSubscriptionDetailDrawer({ appearance, subscriptionDetailsDrawer, onOpenChange }) {
    const { user } = useUser();
    if (!subscriptionDetailsDrawer.props) return null;
    return /* @__PURE__ */ jsx2(LazyDrawerRenderer, {
      globalAppearance: appearance,
      appearanceKey: "subscriptionDetails",
      componentAppearance: subscriptionDetailsDrawer.props.appearance || {},
      flowName: "subscriptionDetails",
      open: subscriptionDetailsDrawer.open,
      onOpenChange,
      componentName: "SubscriptionDetails",
      portalId: subscriptionDetailsDrawer.props.portalId,
      portalRoot: subscriptionDetailsDrawer.props.portalRoot,
      children: /* @__PURE__ */ jsx2(SubscriptionDetails, { ...subscriptionDetailsDrawer.props })
    }, user?.id);
  }
  var init_MountedSubscriptionDetailDrawer = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/lazyModules/MountedSubscriptionDetailDrawer.js"() {
      init_providers();
      init_SubscriptionDetails2();
      init_react();
      init_emotion_react_jsx_runtime_browser_esm();
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/lazyModules/drawers.js
  var import_react495, MountedCheckoutDrawer2, MountedPlanDetailDrawer2, MountedSubscriptionDetailDrawer2;
  var init_drawers = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/lazyModules/drawers.js"() {
      import_react495 = __toESM(require_react(), 1);
      MountedCheckoutDrawer2 = (0, import_react495.lazy)(() => Promise.resolve().then(() => (init_MountedCheckoutDrawer(), MountedCheckoutDrawer_exports)).then((module) => ({ default: module.MountedCheckoutDrawer })));
      MountedPlanDetailDrawer2 = (0, import_react495.lazy)(() => Promise.resolve().then(() => (init_MountedPlanDetailDrawer(), MountedPlanDetailDrawer_exports)).then((module) => ({ default: module.MountedPlanDetailDrawer })));
      MountedSubscriptionDetailDrawer2 = (0, import_react495.lazy)(() => Promise.resolve().then(() => (init_MountedSubscriptionDetailDrawer(), MountedSubscriptionDetailDrawer_exports)).then((module) => ({ default: module.MountedSubscriptionDetailDrawer })));
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/buildVirtualRouterUrl.js
  var buildVirtualRouterUrl;
  var init_buildVirtualRouterUrl = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/buildVirtualRouterUrl.js"() {
      buildVirtualRouterUrl = ({ base: base2, path }) => {
        if (!path) return base2;
        return base2 + path;
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/disambiguateRedirectOptions.js
  function disambiguateRedirectOptions(props, flow) {
    if (!props) return {};
    const prefix2 = flow === "signin" ? "signIn" : "signUp";
    const prefixedOptions = {
      [`${prefix2}ForceRedirectUrl`]: props.forceRedirectUrl,
      [`${prefix2}FallbackRedirectUrl`]: props.fallbackRedirectUrl
    };
    const result = {
      ...props,
      ...prefixedOptions
    };
    delete result.forceRedirectUrl;
    delete result.fallbackRedirectUrl;
    return result;
  }
  var init_disambiguateRedirectOptions = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/disambiguateRedirectOptions.js"() {
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/utils/extractCssLayerNameFromAppearance.js
  function extractCssLayerNameFromAppearance(appearance) {
    if (!appearance || typeof appearance !== "object") return appearance;
    const themeProperty = appearance.theme;
    if (!themeProperty) return appearance;
    let cssLayerNameFromTheme;
    if (Array.isArray(themeProperty)) {
      themeProperty.forEach((theme) => {
        if (!cssLayerNameFromTheme && typeof theme === "object" && theme.cssLayerName) cssLayerNameFromTheme = theme.cssLayerName;
      });
      const processedThemeArray = themeProperty.map((theme) => {
        if (typeof theme === "string") return theme;
        const { cssLayerName, ...rest } = theme;
        return rest;
      });
      const finalCssLayerName = appearance.cssLayerName || cssLayerNameFromTheme;
      const result = {
        ...appearance,
        theme: processedThemeArray
      };
      if (finalCssLayerName) result.cssLayerName = finalCssLayerName;
      return result;
    } else {
      let cssLayerNameFromSingleTheme;
      if (typeof themeProperty === "object" && themeProperty.cssLayerName) cssLayerNameFromSingleTheme = themeProperty.cssLayerName;
      const processedTheme = typeof themeProperty === "string" ? themeProperty : (() => {
        const { cssLayerName, ...rest } = themeProperty;
        return rest;
      })();
      const finalCssLayerName = appearance.cssLayerName || cssLayerNameFromSingleTheme;
      const result = {
        ...appearance,
        theme: processedTheme
      };
      if (finalCssLayerName) result.cssLayerName = finalCssLayerName;
      return result;
    }
  }
  var init_extractCssLayerNameFromAppearance = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/utils/extractCssLayerNameFromAppearance.js"() {
    }
  });

  // node_modules/scheduler/cjs/scheduler.development.js
  var require_scheduler_development = __commonJS({
    "node_modules/scheduler/cjs/scheduler.development.js"(exports) {
      "use strict";
      (function() {
        function performWorkUntilDeadline() {
          needsPaint = false;
          if (isMessageLoopRunning) {
            var currentTime = exports.unstable_now();
            startTime = currentTime;
            var hasMoreWork = true;
            try {
              a: {
                isHostCallbackScheduled = false;
                isHostTimeoutScheduled && (isHostTimeoutScheduled = false, localClearTimeout(taskTimeoutID), taskTimeoutID = -1);
                isPerformingWork = true;
                var previousPriorityLevel = currentPriorityLevel;
                try {
                  b: {
                    advanceTimers(currentTime);
                    for (currentTask = peek2(taskQueue); null !== currentTask && !(currentTask.expirationTime > currentTime && shouldYieldToHost()); ) {
                      var callback = currentTask.callback;
                      if ("function" === typeof callback) {
                        currentTask.callback = null;
                        currentPriorityLevel = currentTask.priorityLevel;
                        var continuationCallback = callback(
                          currentTask.expirationTime <= currentTime
                        );
                        currentTime = exports.unstable_now();
                        if ("function" === typeof continuationCallback) {
                          currentTask.callback = continuationCallback;
                          advanceTimers(currentTime);
                          hasMoreWork = true;
                          break b;
                        }
                        currentTask === peek2(taskQueue) && pop(taskQueue);
                        advanceTimers(currentTime);
                      } else pop(taskQueue);
                      currentTask = peek2(taskQueue);
                    }
                    if (null !== currentTask) hasMoreWork = true;
                    else {
                      var firstTimer = peek2(timerQueue);
                      null !== firstTimer && requestHostTimeout(
                        handleTimeout,
                        firstTimer.startTime - currentTime
                      );
                      hasMoreWork = false;
                    }
                  }
                  break a;
                } finally {
                  currentTask = null, currentPriorityLevel = previousPriorityLevel, isPerformingWork = false;
                }
                hasMoreWork = void 0;
              }
            } finally {
              hasMoreWork ? schedulePerformWorkUntilDeadline() : isMessageLoopRunning = false;
            }
          }
        }
        function push(heap, node2) {
          var index3 = heap.length;
          heap.push(node2);
          a: for (; 0 < index3; ) {
            var parentIndex = index3 - 1 >>> 1, parent = heap[parentIndex];
            if (0 < compare(parent, node2))
              heap[parentIndex] = node2, heap[index3] = parent, index3 = parentIndex;
            else break a;
          }
        }
        function peek2(heap) {
          return 0 === heap.length ? null : heap[0];
        }
        function pop(heap) {
          if (0 === heap.length) return null;
          var first = heap[0], last = heap.pop();
          if (last !== first) {
            heap[0] = last;
            a: for (var index3 = 0, length2 = heap.length, halfLength = length2 >>> 1; index3 < halfLength; ) {
              var leftIndex = 2 * (index3 + 1) - 1, left = heap[leftIndex], rightIndex = leftIndex + 1, right = heap[rightIndex];
              if (0 > compare(left, last))
                rightIndex < length2 && 0 > compare(right, left) ? (heap[index3] = right, heap[rightIndex] = last, index3 = rightIndex) : (heap[index3] = left, heap[leftIndex] = last, index3 = leftIndex);
              else if (rightIndex < length2 && 0 > compare(right, last))
                heap[index3] = right, heap[rightIndex] = last, index3 = rightIndex;
              else break a;
            }
          }
          return first;
        }
        function compare(a2, b2) {
          var diff = a2.sortIndex - b2.sortIndex;
          return 0 !== diff ? diff : a2.id - b2.id;
        }
        function advanceTimers(currentTime) {
          for (var timer = peek2(timerQueue); null !== timer; ) {
            if (null === timer.callback) pop(timerQueue);
            else if (timer.startTime <= currentTime)
              pop(timerQueue), timer.sortIndex = timer.expirationTime, push(taskQueue, timer);
            else break;
            timer = peek2(timerQueue);
          }
        }
        function handleTimeout(currentTime) {
          isHostTimeoutScheduled = false;
          advanceTimers(currentTime);
          if (!isHostCallbackScheduled)
            if (null !== peek2(taskQueue))
              isHostCallbackScheduled = true, isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline());
            else {
              var firstTimer = peek2(timerQueue);
              null !== firstTimer && requestHostTimeout(
                handleTimeout,
                firstTimer.startTime - currentTime
              );
            }
        }
        function shouldYieldToHost() {
          return needsPaint ? true : exports.unstable_now() - startTime < frameInterval ? false : true;
        }
        function requestHostTimeout(callback, ms) {
          taskTimeoutID = localSetTimeout(function() {
            callback(exports.unstable_now());
          }, ms);
        }
        "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
        exports.unstable_now = void 0;
        if ("object" === typeof performance && "function" === typeof performance.now) {
          var localPerformance = performance;
          exports.unstable_now = function() {
            return localPerformance.now();
          };
        } else {
          var localDate = Date, initialTime = localDate.now();
          exports.unstable_now = function() {
            return localDate.now() - initialTime;
          };
        }
        var taskQueue = [], timerQueue = [], taskIdCounter = 1, currentTask = null, currentPriorityLevel = 3, isPerformingWork = false, isHostCallbackScheduled = false, isHostTimeoutScheduled = false, needsPaint = false, localSetTimeout = "function" === typeof setTimeout ? setTimeout : null, localClearTimeout = "function" === typeof clearTimeout ? clearTimeout : null, localSetImmediate = "undefined" !== typeof setImmediate ? setImmediate : null, isMessageLoopRunning = false, taskTimeoutID = -1, frameInterval = 5, startTime = -1;
        if ("function" === typeof localSetImmediate)
          var schedulePerformWorkUntilDeadline = function() {
            localSetImmediate(performWorkUntilDeadline);
          };
        else if ("undefined" !== typeof MessageChannel) {
          var channel = new MessageChannel(), port = channel.port2;
          channel.port1.onmessage = performWorkUntilDeadline;
          schedulePerformWorkUntilDeadline = function() {
            port.postMessage(null);
          };
        } else
          schedulePerformWorkUntilDeadline = function() {
            localSetTimeout(performWorkUntilDeadline, 0);
          };
        exports.unstable_IdlePriority = 5;
        exports.unstable_ImmediatePriority = 1;
        exports.unstable_LowPriority = 4;
        exports.unstable_NormalPriority = 3;
        exports.unstable_Profiling = null;
        exports.unstable_UserBlockingPriority = 2;
        exports.unstable_cancelCallback = function(task) {
          task.callback = null;
        };
        exports.unstable_forceFrameRate = function(fps) {
          0 > fps || 125 < fps ? console.error(
            "forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"
          ) : frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5;
        };
        exports.unstable_getCurrentPriorityLevel = function() {
          return currentPriorityLevel;
        };
        exports.unstable_next = function(eventHandler) {
          switch (currentPriorityLevel) {
            case 1:
            case 2:
            case 3:
              var priorityLevel = 3;
              break;
            default:
              priorityLevel = currentPriorityLevel;
          }
          var previousPriorityLevel = currentPriorityLevel;
          currentPriorityLevel = priorityLevel;
          try {
            return eventHandler();
          } finally {
            currentPriorityLevel = previousPriorityLevel;
          }
        };
        exports.unstable_requestPaint = function() {
          needsPaint = true;
        };
        exports.unstable_runWithPriority = function(priorityLevel, eventHandler) {
          switch (priorityLevel) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
              break;
            default:
              priorityLevel = 3;
          }
          var previousPriorityLevel = currentPriorityLevel;
          currentPriorityLevel = priorityLevel;
          try {
            return eventHandler();
          } finally {
            currentPriorityLevel = previousPriorityLevel;
          }
        };
        exports.unstable_scheduleCallback = function(priorityLevel, callback, options2) {
          var currentTime = exports.unstable_now();
          "object" === typeof options2 && null !== options2 ? (options2 = options2.delay, options2 = "number" === typeof options2 && 0 < options2 ? currentTime + options2 : currentTime) : options2 = currentTime;
          switch (priorityLevel) {
            case 1:
              var timeout = -1;
              break;
            case 2:
              timeout = 250;
              break;
            case 5:
              timeout = 1073741823;
              break;
            case 4:
              timeout = 1e4;
              break;
            default:
              timeout = 5e3;
          }
          timeout = options2 + timeout;
          priorityLevel = {
            id: taskIdCounter++,
            callback,
            priorityLevel,
            startTime: options2,
            expirationTime: timeout,
            sortIndex: -1
          };
          options2 > currentTime ? (priorityLevel.sortIndex = options2, push(timerQueue, priorityLevel), null === peek2(taskQueue) && priorityLevel === peek2(timerQueue) && (isHostTimeoutScheduled ? (localClearTimeout(taskTimeoutID), taskTimeoutID = -1) : isHostTimeoutScheduled = true, requestHostTimeout(handleTimeout, options2 - currentTime))) : (priorityLevel.sortIndex = timeout, push(taskQueue, priorityLevel), isHostCallbackScheduled || isPerformingWork || (isHostCallbackScheduled = true, isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline())));
          return priorityLevel;
        };
        exports.unstable_shouldYield = shouldYieldToHost;
        exports.unstable_wrapCallback = function(callback) {
          var parentPriorityLevel = currentPriorityLevel;
          return function() {
            var previousPriorityLevel = currentPriorityLevel;
            currentPriorityLevel = parentPriorityLevel;
            try {
              return callback.apply(this, arguments);
            } finally {
              currentPriorityLevel = previousPriorityLevel;
            }
          };
        };
        "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
      })();
    }
  });

  // node_modules/scheduler/index.js
  var require_scheduler = __commonJS({
    "node_modules/scheduler/index.js"(exports, module) {
      "use strict";
      if (false) {
        module.exports = null;
      } else {
        module.exports = require_scheduler_development();
      }
    }
  });

  // node_modules/react-dom/cjs/react-dom-client.development.js
  var require_react_dom_client_development = __commonJS({
    "node_modules/react-dom/cjs/react-dom-client.development.js"(exports) {
      "use strict";
      (function() {
        function findHook(fiber, id) {
          for (fiber = fiber.memoizedState; null !== fiber && 0 < id; )
            fiber = fiber.next, id--;
          return fiber;
        }
        function copyWithSetImpl(obj, path, index3, value) {
          if (index3 >= path.length) return value;
          var key = path[index3], updated = isArrayImpl(obj) ? obj.slice() : assign2({}, obj);
          updated[key] = copyWithSetImpl(obj[key], path, index3 + 1, value);
          return updated;
        }
        function copyWithRename(obj, oldPath, newPath) {
          if (oldPath.length !== newPath.length)
            console.warn("copyWithRename() expects paths of the same length");
          else {
            for (var i2 = 0; i2 < newPath.length - 1; i2++)
              if (oldPath[i2] !== newPath[i2]) {
                console.warn(
                  "copyWithRename() expects paths to be the same except for the deepest key"
                );
                return;
              }
            return copyWithRenameImpl(obj, oldPath, newPath, 0);
          }
        }
        function copyWithRenameImpl(obj, oldPath, newPath, index3) {
          var oldKey = oldPath[index3], updated = isArrayImpl(obj) ? obj.slice() : assign2({}, obj);
          index3 + 1 === oldPath.length ? (updated[newPath[index3]] = updated[oldKey], isArrayImpl(updated) ? updated.splice(oldKey, 1) : delete updated[oldKey]) : updated[oldKey] = copyWithRenameImpl(
            obj[oldKey],
            oldPath,
            newPath,
            index3 + 1
          );
          return updated;
        }
        function copyWithDeleteImpl(obj, path, index3) {
          var key = path[index3], updated = isArrayImpl(obj) ? obj.slice() : assign2({}, obj);
          if (index3 + 1 === path.length)
            return isArrayImpl(updated) ? updated.splice(key, 1) : delete updated[key], updated;
          updated[key] = copyWithDeleteImpl(obj[key], path, index3 + 1);
          return updated;
        }
        function shouldSuspendImpl() {
          return false;
        }
        function shouldErrorImpl() {
          return null;
        }
        function warnInvalidHookAccess() {
          console.error(
            "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://react.dev/link/rules-of-hooks"
          );
        }
        function warnInvalidContextAccess() {
          console.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()."
          );
        }
        function noop7() {
        }
        function warnForMissingKey() {
        }
        function setToSortedString(set) {
          var array2 = [];
          set.forEach(function(value) {
            array2.push(value);
          });
          return array2.sort().join(", ");
        }
        function createFiber(tag, pendingProps, key, mode) {
          return new FiberNode(tag, pendingProps, key, mode);
        }
        function scheduleRoot(root3, element) {
          root3.context === emptyContextObject && (updateContainerImpl(root3.current, 2, element, root3, null, null), flushSyncWork$1());
        }
        function scheduleRefresh(root3, update) {
          if (null !== resolveFamily) {
            var staleFamilies = update.staleFamilies;
            update = update.updatedFamilies;
            flushPendingEffects();
            scheduleFibersWithFamiliesRecursively(
              root3.current,
              update,
              staleFamilies
            );
            flushSyncWork$1();
          }
        }
        function setRefreshHandler(handler) {
          resolveFamily = handler;
        }
        function isValidContainer(node2) {
          return !(!node2 || 1 !== node2.nodeType && 9 !== node2.nodeType && 11 !== node2.nodeType);
        }
        function getNearestMountedFiber(fiber) {
          var node2 = fiber, nearestMounted = fiber;
          if (fiber.alternate) for (; node2.return; ) node2 = node2.return;
          else {
            fiber = node2;
            do
              node2 = fiber, 0 !== (node2.flags & 4098) && (nearestMounted = node2.return), fiber = node2.return;
            while (fiber);
          }
          return 3 === node2.tag ? nearestMounted : null;
        }
        function getSuspenseInstanceFromFiber(fiber) {
          if (13 === fiber.tag) {
            var suspenseState = fiber.memoizedState;
            null === suspenseState && (fiber = fiber.alternate, null !== fiber && (suspenseState = fiber.memoizedState));
            if (null !== suspenseState) return suspenseState.dehydrated;
          }
          return null;
        }
        function getActivityInstanceFromFiber(fiber) {
          if (31 === fiber.tag) {
            var activityState = fiber.memoizedState;
            null === activityState && (fiber = fiber.alternate, null !== fiber && (activityState = fiber.memoizedState));
            if (null !== activityState) return activityState.dehydrated;
          }
          return null;
        }
        function assertIsMounted(fiber) {
          if (getNearestMountedFiber(fiber) !== fiber)
            throw Error("Unable to find node on an unmounted component.");
        }
        function findCurrentFiberUsingSlowPath(fiber) {
          var alternate = fiber.alternate;
          if (!alternate) {
            alternate = getNearestMountedFiber(fiber);
            if (null === alternate)
              throw Error("Unable to find node on an unmounted component.");
            return alternate !== fiber ? null : fiber;
          }
          for (var a2 = fiber, b2 = alternate; ; ) {
            var parentA = a2.return;
            if (null === parentA) break;
            var parentB = parentA.alternate;
            if (null === parentB) {
              b2 = parentA.return;
              if (null !== b2) {
                a2 = b2;
                continue;
              }
              break;
            }
            if (parentA.child === parentB.child) {
              for (parentB = parentA.child; parentB; ) {
                if (parentB === a2) return assertIsMounted(parentA), fiber;
                if (parentB === b2) return assertIsMounted(parentA), alternate;
                parentB = parentB.sibling;
              }
              throw Error("Unable to find node on an unmounted component.");
            }
            if (a2.return !== b2.return) a2 = parentA, b2 = parentB;
            else {
              for (var didFindChild = false, _child = parentA.child; _child; ) {
                if (_child === a2) {
                  didFindChild = true;
                  a2 = parentA;
                  b2 = parentB;
                  break;
                }
                if (_child === b2) {
                  didFindChild = true;
                  b2 = parentA;
                  a2 = parentB;
                  break;
                }
                _child = _child.sibling;
              }
              if (!didFindChild) {
                for (_child = parentB.child; _child; ) {
                  if (_child === a2) {
                    didFindChild = true;
                    a2 = parentB;
                    b2 = parentA;
                    break;
                  }
                  if (_child === b2) {
                    didFindChild = true;
                    b2 = parentB;
                    a2 = parentA;
                    break;
                  }
                  _child = _child.sibling;
                }
                if (!didFindChild)
                  throw 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 (a2.alternate !== b2)
              throw Error(
                "Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue."
              );
          }
          if (3 !== a2.tag)
            throw Error("Unable to find node on an unmounted component.");
          return a2.stateNode.current === a2 ? fiber : alternate;
        }
        function findCurrentHostFiberImpl(node2) {
          var tag = node2.tag;
          if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node2;
          for (node2 = node2.child; null !== node2; ) {
            tag = findCurrentHostFiberImpl(node2);
            if (null !== tag) return tag;
            node2 = node2.sibling;
          }
          return null;
        }
        function getIteratorFn(maybeIterable) {
          if (null === maybeIterable || "object" !== typeof maybeIterable)
            return null;
          maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"];
          return "function" === typeof maybeIterable ? maybeIterable : null;
        }
        function getComponentNameFromType(type2) {
          if (null == type2) return null;
          if ("function" === typeof type2)
            return type2.$$typeof === REACT_CLIENT_REFERENCE ? null : type2.displayName || type2.name || null;
          if ("string" === typeof type2) return type2;
          switch (type2) {
            case REACT_FRAGMENT_TYPE:
              return "Fragment";
            case REACT_PROFILER_TYPE:
              return "Profiler";
            case REACT_STRICT_MODE_TYPE:
              return "StrictMode";
            case REACT_SUSPENSE_TYPE:
              return "Suspense";
            case REACT_SUSPENSE_LIST_TYPE:
              return "SuspenseList";
            case REACT_ACTIVITY_TYPE:
              return "Activity";
          }
          if ("object" === typeof type2)
            switch ("number" === typeof type2.tag && console.error(
              "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
            ), type2.$$typeof) {
              case REACT_PORTAL_TYPE:
                return "Portal";
              case REACT_CONTEXT_TYPE:
                return type2.displayName || "Context";
              case REACT_CONSUMER_TYPE:
                return (type2._context.displayName || "Context") + ".Consumer";
              case REACT_FORWARD_REF_TYPE:
                var innerType = type2.render;
                type2 = type2.displayName;
                type2 || (type2 = innerType.displayName || innerType.name || "", type2 = "" !== type2 ? "ForwardRef(" + type2 + ")" : "ForwardRef");
                return type2;
              case REACT_MEMO_TYPE:
                return innerType = type2.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type2.type) || "Memo";
              case REACT_LAZY_TYPE:
                innerType = type2._payload;
                type2 = type2._init;
                try {
                  return getComponentNameFromType(type2(innerType));
                } catch (x) {
                }
            }
          return null;
        }
        function getComponentNameFromOwner(owner) {
          return "number" === typeof owner.tag ? getComponentNameFromFiber(owner) : "string" === typeof owner.name ? owner.name : null;
        }
        function getComponentNameFromFiber(fiber) {
          var type2 = fiber.type;
          switch (fiber.tag) {
            case 31:
              return "Activity";
            case 24:
              return "Cache";
            case 9:
              return (type2._context.displayName || "Context") + ".Consumer";
            case 10:
              return type2.displayName || "Context";
            case 18:
              return "DehydratedFragment";
            case 11:
              return fiber = type2.render, fiber = fiber.displayName || fiber.name || "", type2.displayName || ("" !== fiber ? "ForwardRef(" + fiber + ")" : "ForwardRef");
            case 7:
              return "Fragment";
            case 26:
            case 27:
            case 5:
              return type2;
            case 4:
              return "Portal";
            case 3:
              return "Root";
            case 6:
              return "Text";
            case 16:
              return getComponentNameFromType(type2);
            case 8:
              return type2 === REACT_STRICT_MODE_TYPE ? "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 14:
            case 15:
              if ("function" === typeof type2)
                return type2.displayName || type2.name || null;
              if ("string" === typeof type2) return type2;
              break;
            case 29:
              type2 = fiber._debugInfo;
              if (null != type2) {
                for (var i2 = type2.length - 1; 0 <= i2; i2--)
                  if ("string" === typeof type2[i2].name) return type2[i2].name;
              }
              if (null !== fiber.return)
                return getComponentNameFromFiber(fiber.return);
          }
          return null;
        }
        function createCursor(defaultValue) {
          return { current: defaultValue };
        }
        function pop(cursor2, fiber) {
          0 > index$jscomp$0 ? console.error("Unexpected pop.") : (fiber !== fiberStack[index$jscomp$0] && console.error("Unexpected Fiber popped."), cursor2.current = valueStack[index$jscomp$0], valueStack[index$jscomp$0] = null, fiberStack[index$jscomp$0] = null, index$jscomp$0--);
        }
        function push(cursor2, value, fiber) {
          index$jscomp$0++;
          valueStack[index$jscomp$0] = cursor2.current;
          fiberStack[index$jscomp$0] = fiber;
          cursor2.current = value;
        }
        function requiredContext(c2) {
          null === c2 && console.error(
            "Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."
          );
          return c2;
        }
        function pushHostContainer(fiber, nextRootInstance) {
          push(rootInstanceStackCursor, nextRootInstance, fiber);
          push(contextFiberStackCursor, fiber, fiber);
          push(contextStackCursor, null, fiber);
          var nextRootContext = nextRootInstance.nodeType;
          switch (nextRootContext) {
            case 9:
            case 11:
              nextRootContext = 9 === nextRootContext ? "#document" : "#fragment";
              nextRootInstance = (nextRootInstance = nextRootInstance.documentElement) ? (nextRootInstance = nextRootInstance.namespaceURI) ? getOwnHostContext(nextRootInstance) : HostContextNamespaceNone : HostContextNamespaceNone;
              break;
            default:
              if (nextRootContext = nextRootInstance.tagName, nextRootInstance = nextRootInstance.namespaceURI)
                nextRootInstance = getOwnHostContext(nextRootInstance), nextRootInstance = getChildHostContextProd(
                  nextRootInstance,
                  nextRootContext
                );
              else
                switch (nextRootContext) {
                  case "svg":
                    nextRootInstance = HostContextNamespaceSvg;
                    break;
                  case "math":
                    nextRootInstance = HostContextNamespaceMath;
                    break;
                  default:
                    nextRootInstance = HostContextNamespaceNone;
                }
          }
          nextRootContext = nextRootContext.toLowerCase();
          nextRootContext = updatedAncestorInfoDev(null, nextRootContext);
          nextRootContext = {
            context: nextRootInstance,
            ancestorInfo: nextRootContext
          };
          pop(contextStackCursor, fiber);
          push(contextStackCursor, nextRootContext, fiber);
        }
        function popHostContainer(fiber) {
          pop(contextStackCursor, fiber);
          pop(contextFiberStackCursor, fiber);
          pop(rootInstanceStackCursor, fiber);
        }
        function getHostContext() {
          return requiredContext(contextStackCursor.current);
        }
        function pushHostContext(fiber) {
          null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber, fiber);
          var context = requiredContext(contextStackCursor.current);
          var type2 = fiber.type;
          var nextContext = getChildHostContextProd(context.context, type2);
          type2 = updatedAncestorInfoDev(context.ancestorInfo, type2);
          nextContext = { context: nextContext, ancestorInfo: type2 };
          context !== nextContext && (push(contextFiberStackCursor, fiber, fiber), push(contextStackCursor, nextContext, fiber));
        }
        function popHostContext(fiber) {
          contextFiberStackCursor.current === fiber && (pop(contextStackCursor, fiber), pop(contextFiberStackCursor, fiber));
          hostTransitionProviderCursor.current === fiber && (pop(hostTransitionProviderCursor, fiber), HostTransitionContext._currentValue = NotPendingTransition);
        }
        function disabledLog() {
        }
        function disableLogs() {
          if (0 === disabledDepth) {
            prevLog = console.log;
            prevInfo = console.info;
            prevWarn = console.warn;
            prevError = console.error;
            prevGroup = console.group;
            prevGroupCollapsed = console.groupCollapsed;
            prevGroupEnd = console.groupEnd;
            var props = {
              configurable: true,
              enumerable: true,
              value: disabledLog,
              writable: true
            };
            Object.defineProperties(console, {
              info: props,
              log: props,
              warn: props,
              error: props,
              group: props,
              groupCollapsed: props,
              groupEnd: props
            });
          }
          disabledDepth++;
        }
        function reenableLogs() {
          disabledDepth--;
          if (0 === disabledDepth) {
            var props = { configurable: true, enumerable: true, writable: true };
            Object.defineProperties(console, {
              log: assign2({}, props, { value: prevLog }),
              info: assign2({}, props, { value: prevInfo }),
              warn: assign2({}, props, { value: prevWarn }),
              error: assign2({}, props, { value: prevError }),
              group: assign2({}, props, { value: prevGroup }),
              groupCollapsed: assign2({}, props, { value: prevGroupCollapsed }),
              groupEnd: assign2({}, props, { value: prevGroupEnd })
            });
          }
          0 > disabledDepth && console.error(
            "disabledDepth fell below zero. This is a bug in React. Please file an issue."
          );
        }
        function formatOwnerStack(error2) {
          var prevPrepareStackTrace = Error.prepareStackTrace;
          Error.prepareStackTrace = void 0;
          error2 = error2.stack;
          Error.prepareStackTrace = prevPrepareStackTrace;
          error2.startsWith("Error: react-stack-top-frame\n") && (error2 = error2.slice(29));
          prevPrepareStackTrace = error2.indexOf("\n");
          -1 !== prevPrepareStackTrace && (error2 = error2.slice(prevPrepareStackTrace + 1));
          prevPrepareStackTrace = error2.indexOf("react_stack_bottom_frame");
          -1 !== prevPrepareStackTrace && (prevPrepareStackTrace = error2.lastIndexOf(
            "\n",
            prevPrepareStackTrace
          ));
          if (-1 !== prevPrepareStackTrace)
            error2 = error2.slice(0, prevPrepareStackTrace);
          else return "";
          return error2;
        }
        function describeBuiltInComponentFrame(name) {
          if (void 0 === prefix2)
            try {
              throw Error();
            } catch (x) {
              var match3 = x.stack.trim().match(/\n( *(at )?)/);
              prefix2 = match3 && match3[1] || "";
              suffix = -1 < x.stack.indexOf("\n    at") ? " (<anonymous>)" : -1 < x.stack.indexOf("@") ? "@unknown:0:0" : "";
            }
          return "\n" + prefix2 + name + suffix;
        }
        function describeNativeComponentFrame(fn, construct) {
          if (!fn || reentry) return "";
          var frame = componentFrameCache.get(fn);
          if (void 0 !== frame) return frame;
          reentry = true;
          frame = Error.prepareStackTrace;
          Error.prepareStackTrace = void 0;
          var previousDispatcher2 = null;
          previousDispatcher2 = ReactSharedInternals.H;
          ReactSharedInternals.H = null;
          disableLogs();
          try {
            var RunInRootFrame = {
              DetermineComponentFrameRoot: function() {
                try {
                  if (construct) {
                    var Fake = function() {
                      throw Error();
                    };
                    Object.defineProperty(Fake.prototype, "props", {
                      set: function() {
                        throw Error();
                      }
                    });
                    if ("object" === typeof Reflect && Reflect.construct) {
                      try {
                        Reflect.construct(Fake, []);
                      } catch (x) {
                        var control = x;
                      }
                      Reflect.construct(fn, [], Fake);
                    } else {
                      try {
                        Fake.call();
                      } catch (x$0) {
                        control = x$0;
                      }
                      fn.call(Fake.prototype);
                    }
                  } else {
                    try {
                      throw Error();
                    } catch (x$1) {
                      control = x$1;
                    }
                    (Fake = fn()) && "function" === typeof Fake.catch && Fake.catch(function() {
                    });
                  }
                } catch (sample) {
                  if (sample && control && "string" === typeof sample.stack)
                    return [sample.stack, control.stack];
                }
                return [null, null];
              }
            };
            RunInRootFrame.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot";
            var namePropDescriptor = Object.getOwnPropertyDescriptor(
              RunInRootFrame.DetermineComponentFrameRoot,
              "name"
            );
            namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty(
              RunInRootFrame.DetermineComponentFrameRoot,
              "name",
              { value: "DetermineComponentFrameRoot" }
            );
            var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1];
            if (sampleStack && controlStack) {
              var sampleLines = sampleStack.split("\n"), controlLines = controlStack.split("\n");
              for (_RunInRootFrame$Deter = namePropDescriptor = 0; namePropDescriptor < sampleLines.length && !sampleLines[namePropDescriptor].includes(
                "DetermineComponentFrameRoot"
              ); )
                namePropDescriptor++;
              for (; _RunInRootFrame$Deter < controlLines.length && !controlLines[_RunInRootFrame$Deter].includes(
                "DetermineComponentFrameRoot"
              ); )
                _RunInRootFrame$Deter++;
              if (namePropDescriptor === sampleLines.length || _RunInRootFrame$Deter === controlLines.length)
                for (namePropDescriptor = sampleLines.length - 1, _RunInRootFrame$Deter = controlLines.length - 1; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter && sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]; )
                  _RunInRootFrame$Deter--;
              for (; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter; namePropDescriptor--, _RunInRootFrame$Deter--)
                if (sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) {
                  if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) {
                    do
                      if (namePropDescriptor--, _RunInRootFrame$Deter--, 0 > _RunInRootFrame$Deter || sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) {
                        var _frame2 = "\n" + sampleLines[namePropDescriptor].replace(
                          " at new ",
                          " at "
                        );
                        fn.displayName && _frame2.includes("<anonymous>") && (_frame2 = _frame2.replace("<anonymous>", fn.displayName));
                        "function" === typeof fn && componentFrameCache.set(fn, _frame2);
                        return _frame2;
                      }
                    while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter);
                  }
                  break;
                }
            }
          } finally {
            reentry = false, ReactSharedInternals.H = previousDispatcher2, reenableLogs(), Error.prepareStackTrace = frame;
          }
          sampleLines = (sampleLines = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(sampleLines) : "";
          "function" === typeof fn && componentFrameCache.set(fn, sampleLines);
          return sampleLines;
        }
        function describeFiber(fiber, childFiber) {
          switch (fiber.tag) {
            case 26:
            case 27:
            case 5:
              return describeBuiltInComponentFrame(fiber.type);
            case 16:
              return describeBuiltInComponentFrame("Lazy");
            case 13:
              return fiber.child !== childFiber && null !== childFiber ? describeBuiltInComponentFrame("Suspense Fallback") : describeBuiltInComponentFrame("Suspense");
            case 19:
              return describeBuiltInComponentFrame("SuspenseList");
            case 0:
            case 15:
              return describeNativeComponentFrame(fiber.type, false);
            case 11:
              return describeNativeComponentFrame(fiber.type.render, false);
            case 1:
              return describeNativeComponentFrame(fiber.type, true);
            case 31:
              return describeBuiltInComponentFrame("Activity");
            default:
              return "";
          }
        }
        function getStackByFiberInDevAndProd(workInProgress2) {
          try {
            var info = "", previous = null;
            do {
              info += describeFiber(workInProgress2, previous);
              var debugInfo = workInProgress2._debugInfo;
              if (debugInfo)
                for (var i2 = debugInfo.length - 1; 0 <= i2; i2--) {
                  var entry = debugInfo[i2];
                  if ("string" === typeof entry.name) {
                    var JSCompiler_temp_const = info;
                    a: {
                      var name = entry.name, env = entry.env, location = entry.debugLocation;
                      if (null != location) {
                        var childStack = formatOwnerStack(location), idx = childStack.lastIndexOf("\n"), lastLine = -1 === idx ? childStack : childStack.slice(idx + 1);
                        if (-1 !== lastLine.indexOf(name)) {
                          var JSCompiler_inline_result = "\n" + lastLine;
                          break a;
                        }
                      }
                      JSCompiler_inline_result = describeBuiltInComponentFrame(
                        name + (env ? " [" + env + "]" : "")
                      );
                    }
                    info = JSCompiler_temp_const + JSCompiler_inline_result;
                  }
                }
              previous = workInProgress2;
              workInProgress2 = workInProgress2.return;
            } while (workInProgress2);
            return info;
          } catch (x) {
            return "\nError generating stack: " + x.message + "\n" + x.stack;
          }
        }
        function describeFunctionComponentFrameWithoutLineNumber(fn) {
          return (fn = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(fn) : "";
        }
        function getCurrentFiberOwnerNameInDevOrNull() {
          if (null === current) return null;
          var owner = current._debugOwner;
          return null != owner ? getComponentNameFromOwner(owner) : null;
        }
        function getCurrentFiberStackInDev() {
          if (null === current) return "";
          var workInProgress2 = current;
          try {
            var info = "";
            6 === workInProgress2.tag && (workInProgress2 = workInProgress2.return);
            switch (workInProgress2.tag) {
              case 26:
              case 27:
              case 5:
                info += describeBuiltInComponentFrame(workInProgress2.type);
                break;
              case 13:
                info += describeBuiltInComponentFrame("Suspense");
                break;
              case 19:
                info += describeBuiltInComponentFrame("SuspenseList");
                break;
              case 31:
                info += describeBuiltInComponentFrame("Activity");
                break;
              case 30:
              case 0:
              case 15:
              case 1:
                workInProgress2._debugOwner || "" !== info || (info += describeFunctionComponentFrameWithoutLineNumber(
                  workInProgress2.type
                ));
                break;
              case 11:
                workInProgress2._debugOwner || "" !== info || (info += describeFunctionComponentFrameWithoutLineNumber(
                  workInProgress2.type.render
                ));
            }
            for (; workInProgress2; )
              if ("number" === typeof workInProgress2.tag) {
                var fiber = workInProgress2;
                workInProgress2 = fiber._debugOwner;
                var debugStack = fiber._debugStack;
                if (workInProgress2 && debugStack) {
                  var formattedStack = formatOwnerStack(debugStack);
                  "" !== formattedStack && (info += "\n" + formattedStack);
                }
              } else if (null != workInProgress2.debugStack) {
                var ownerStack = workInProgress2.debugStack;
                (workInProgress2 = workInProgress2.owner) && ownerStack && (info += "\n" + formatOwnerStack(ownerStack));
              } else break;
            var JSCompiler_inline_result = info;
          } catch (x) {
            JSCompiler_inline_result = "\nError generating stack: " + x.message + "\n" + x.stack;
          }
          return JSCompiler_inline_result;
        }
        function runWithFiberInDEV(fiber, callback, arg0, arg1, arg2, arg3, arg4) {
          var previousFiber = current;
          setCurrentFiber(fiber);
          try {
            return null !== fiber && fiber._debugTask ? fiber._debugTask.run(
              callback.bind(null, arg0, arg1, arg2, arg3, arg4)
            ) : callback(arg0, arg1, arg2, arg3, arg4);
          } finally {
            setCurrentFiber(previousFiber);
          }
          throw Error(
            "runWithFiberInDEV should never be called in production. This is a bug in React."
          );
        }
        function setCurrentFiber(fiber) {
          ReactSharedInternals.getCurrentStack = null === fiber ? null : getCurrentFiberStackInDev;
          isRendering = false;
          current = fiber;
        }
        function typeName(value) {
          return "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
        }
        function willCoercionThrow(value) {
          try {
            return testStringCoercion(value), false;
          } catch (e3) {
            return true;
          }
        }
        function testStringCoercion(value) {
          return "" + value;
        }
        function checkAttributeStringCoercion(value, attributeName) {
          if (willCoercionThrow(value))
            return console.error(
              "The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.",
              attributeName,
              typeName(value)
            ), testStringCoercion(value);
        }
        function checkCSSPropertyStringCoercion(value, propName) {
          if (willCoercionThrow(value))
            return console.error(
              "The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.",
              propName,
              typeName(value)
            ), testStringCoercion(value);
        }
        function checkFormFieldValueStringCoercion(value) {
          if (willCoercionThrow(value))
            return console.error(
              "Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before using it here.",
              typeName(value)
            ), testStringCoercion(value);
        }
        function injectInternals(internals) {
          if ("undefined" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return false;
          var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;
          if (hook.isDisabled) return true;
          if (!hook.supportsFiber)
            return console.error(
              "The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://react.dev/link/react-devtools"
            ), true;
          try {
            rendererID = hook.inject(internals), injectedHook = hook;
          } catch (err) {
            console.error("React instrumentation encountered an error: %o.", err);
          }
          return hook.checkDCE ? true : false;
        }
        function setIsStrictModeForDevtools(newIsStrictMode) {
          "function" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);
          if (injectedHook && "function" === typeof injectedHook.setStrictMode)
            try {
              injectedHook.setStrictMode(rendererID, newIsStrictMode);
            } catch (err) {
              hasLoggedError || (hasLoggedError = true, console.error(
                "React instrumentation encountered an error: %o",
                err
              ));
            }
        }
        function clz32Fallback(x) {
          x >>>= 0;
          return 0 === x ? 32 : 31 - (log(x) / LN2 | 0) | 0;
        }
        function getHighestPriorityLanes(lanes) {
          var pendingSyncLanes = lanes & 42;
          if (0 !== pendingSyncLanes) return pendingSyncLanes;
          switch (lanes & -lanes) {
            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:
              return 64;
            case 128:
              return 128;
            case 256:
            case 512:
            case 1024:
            case 2048:
            case 4096:
            case 8192:
            case 16384:
            case 32768:
            case 65536:
            case 131072:
              return lanes & 261888;
            case 262144:
            case 524288:
            case 1048576:
            case 2097152:
              return lanes & 3932160;
            case 4194304:
            case 8388608:
            case 16777216:
            case 33554432:
              return lanes & 62914560;
            case 67108864:
              return 67108864;
            case 134217728:
              return 134217728;
            case 268435456:
              return 268435456;
            case 536870912:
              return 536870912;
            case 1073741824:
              return 0;
            default:
              return console.error(
                "Should have found matching lanes. This is a bug in React."
              ), lanes;
          }
        }
        function getNextLanes(root3, wipLanes, rootHasPendingCommit) {
          var pendingLanes = root3.pendingLanes;
          if (0 === pendingLanes) return 0;
          var nextLanes = 0, suspendedLanes = root3.suspendedLanes, pingedLanes = root3.pingedLanes;
          root3 = root3.warmLanes;
          var nonIdlePendingLanes = pendingLanes & 134217727;
          0 !== nonIdlePendingLanes ? (pendingLanes = nonIdlePendingLanes & ~suspendedLanes, 0 !== pendingLanes ? nextLanes = getHighestPriorityLanes(pendingLanes) : (pingedLanes &= nonIdlePendingLanes, 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : rootHasPendingCommit || (rootHasPendingCommit = nonIdlePendingLanes & ~root3, 0 !== rootHasPendingCommit && (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))))) : (nonIdlePendingLanes = pendingLanes & ~suspendedLanes, 0 !== nonIdlePendingLanes ? nextLanes = getHighestPriorityLanes(nonIdlePendingLanes) : 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : rootHasPendingCommit || (rootHasPendingCommit = pendingLanes & ~root3, 0 !== rootHasPendingCommit && (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))));
          return 0 === nextLanes ? 0 : 0 !== wipLanes && wipLanes !== nextLanes && 0 === (wipLanes & suspendedLanes) && (suspendedLanes = nextLanes & -nextLanes, rootHasPendingCommit = wipLanes & -wipLanes, suspendedLanes >= rootHasPendingCommit || 32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048)) ? wipLanes : nextLanes;
        }
        function checkIfRootIsPrerendering(root3, renderLanes2) {
          return 0 === (root3.pendingLanes & ~(root3.suspendedLanes & ~root3.pingedLanes) & renderLanes2);
        }
        function computeExpirationTime(lane, currentTime) {
          switch (lane) {
            case 1:
            case 2:
            case 4:
            case 8:
            case 64:
              return currentTime + 250;
            case 16:
            case 32:
            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 currentTime + 5e3;
            case 4194304:
            case 8388608:
            case 16777216:
            case 33554432:
              return -1;
            case 67108864:
            case 134217728:
            case 268435456:
            case 536870912:
            case 1073741824:
              return -1;
            default:
              return console.error(
                "Should have found matching lanes. This is a bug in React."
              ), -1;
          }
        }
        function claimNextRetryLane() {
          var lane = nextRetryLane;
          nextRetryLane <<= 1;
          0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);
          return lane;
        }
        function createLaneMap(initial) {
          for (var laneMap = [], i2 = 0; 31 > i2; i2++) laneMap.push(initial);
          return laneMap;
        }
        function markRootUpdated$1(root3, updateLane) {
          root3.pendingLanes |= updateLane;
          268435456 !== updateLane && (root3.suspendedLanes = 0, root3.pingedLanes = 0, root3.warmLanes = 0);
        }
        function markRootFinished(root3, finishedLanes, remainingLanes, spawnedLane, updatedLanes, suspendedRetryLanes) {
          var previouslyPendingLanes = root3.pendingLanes;
          root3.pendingLanes = remainingLanes;
          root3.suspendedLanes = 0;
          root3.pingedLanes = 0;
          root3.warmLanes = 0;
          root3.expiredLanes &= remainingLanes;
          root3.entangledLanes &= remainingLanes;
          root3.errorRecoveryDisabledLanes &= remainingLanes;
          root3.shellSuspendCounter = 0;
          var entanglements = root3.entanglements, expirationTimes = root3.expirationTimes, hiddenUpdates = root3.hiddenUpdates;
          for (remainingLanes = previouslyPendingLanes & ~remainingLanes; 0 < remainingLanes; ) {
            var index3 = 31 - clz32(remainingLanes), lane = 1 << index3;
            entanglements[index3] = 0;
            expirationTimes[index3] = -1;
            var hiddenUpdatesForLane = hiddenUpdates[index3];
            if (null !== hiddenUpdatesForLane)
              for (hiddenUpdates[index3] = null, index3 = 0; index3 < hiddenUpdatesForLane.length; index3++) {
                var update = hiddenUpdatesForLane[index3];
                null !== update && (update.lane &= -536870913);
              }
            remainingLanes &= ~lane;
          }
          0 !== spawnedLane && markSpawnedDeferredLane(root3, spawnedLane, 0);
          0 !== suspendedRetryLanes && 0 === updatedLanes && 0 !== root3.tag && (root3.suspendedLanes |= suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));
        }
        function markSpawnedDeferredLane(root3, spawnedLane, entangledLanes) {
          root3.pendingLanes |= spawnedLane;
          root3.suspendedLanes &= ~spawnedLane;
          var spawnedLaneIndex = 31 - clz32(spawnedLane);
          root3.entangledLanes |= spawnedLane;
          root3.entanglements[spawnedLaneIndex] = root3.entanglements[spawnedLaneIndex] | 1073741824 | entangledLanes & 261930;
        }
        function markRootEntangled(root3, entangledLanes) {
          var rootEntangledLanes = root3.entangledLanes |= entangledLanes;
          for (root3 = root3.entanglements; rootEntangledLanes; ) {
            var index3 = 31 - clz32(rootEntangledLanes), lane = 1 << index3;
            lane & entangledLanes | root3[index3] & entangledLanes && (root3[index3] |= entangledLanes);
            rootEntangledLanes &= ~lane;
          }
        }
        function getBumpedLaneForHydration(root3, renderLanes2) {
          var renderLane = renderLanes2 & -renderLanes2;
          renderLane = 0 !== (renderLane & 42) ? 1 : getBumpedLaneForHydrationByLane(renderLane);
          return 0 !== (renderLane & (root3.suspendedLanes | renderLanes2)) ? 0 : renderLane;
        }
        function getBumpedLaneForHydrationByLane(lane) {
          switch (lane) {
            case 2:
              lane = 1;
              break;
            case 8:
              lane = 4;
              break;
            case 32:
              lane = 16;
              break;
            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:
              lane = 128;
              break;
            case 268435456:
              lane = 134217728;
              break;
            default:
              lane = 0;
          }
          return lane;
        }
        function addFiberToLanesMap(root3, fiber, lanes) {
          if (isDevToolsPresent)
            for (root3 = root3.pendingUpdatersLaneMap; 0 < lanes; ) {
              var index3 = 31 - clz32(lanes), lane = 1 << index3;
              root3[index3].add(fiber);
              lanes &= ~lane;
            }
        }
        function movePendingFibersToMemoized(root3, lanes) {
          if (isDevToolsPresent)
            for (var pendingUpdatersLaneMap = root3.pendingUpdatersLaneMap, memoizedUpdaters = root3.memoizedUpdaters; 0 < lanes; ) {
              var index3 = 31 - clz32(lanes);
              root3 = 1 << index3;
              index3 = pendingUpdatersLaneMap[index3];
              0 < index3.size && (index3.forEach(function(fiber) {
                var alternate = fiber.alternate;
                null !== alternate && memoizedUpdaters.has(alternate) || memoizedUpdaters.add(fiber);
              }), index3.clear());
              lanes &= ~root3;
            }
        }
        function lanesToEventPriority(lanes) {
          lanes &= -lanes;
          return 0 !== DiscreteEventPriority && DiscreteEventPriority < lanes ? 0 !== ContinuousEventPriority && ContinuousEventPriority < lanes ? 0 !== (lanes & 134217727) ? DefaultEventPriority : IdleEventPriority : ContinuousEventPriority : DiscreteEventPriority;
        }
        function resolveUpdatePriority() {
          var updatePriority = ReactDOMSharedInternals.p;
          if (0 !== updatePriority) return updatePriority;
          updatePriority = window.event;
          return void 0 === updatePriority ? DefaultEventPriority : getEventPriority(updatePriority.type);
        }
        function runWithPriority(priority, fn) {
          var previousPriority = ReactDOMSharedInternals.p;
          try {
            return ReactDOMSharedInternals.p = priority, fn();
          } finally {
            ReactDOMSharedInternals.p = previousPriority;
          }
        }
        function detachDeletedInstance(node2) {
          delete node2[internalInstanceKey];
          delete node2[internalPropsKey];
          delete node2[internalEventHandlersKey];
          delete node2[internalEventHandlerListenersKey];
          delete node2[internalEventHandlesSetKey];
        }
        function getClosestInstanceFromNode(targetNode) {
          var targetInst = targetNode[internalInstanceKey];
          if (targetInst) return targetInst;
          for (var parentNode = targetNode.parentNode; parentNode; ) {
            if (targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey]) {
              parentNode = targetInst.alternate;
              if (null !== targetInst.child || null !== parentNode && null !== parentNode.child)
                for (targetNode = getParentHydrationBoundary(targetNode); null !== targetNode; ) {
                  if (parentNode = targetNode[internalInstanceKey])
                    return parentNode;
                  targetNode = getParentHydrationBoundary(targetNode);
                }
              return targetInst;
            }
            targetNode = parentNode;
            parentNode = targetNode.parentNode;
          }
          return null;
        }
        function getInstanceFromNode(node2) {
          if (node2 = node2[internalInstanceKey] || node2[internalContainerInstanceKey]) {
            var tag = node2.tag;
            if (5 === tag || 6 === tag || 13 === tag || 31 === tag || 26 === tag || 27 === tag || 3 === tag)
              return node2;
          }
          return null;
        }
        function getNodeFromInstance(inst) {
          var tag = inst.tag;
          if (5 === tag || 26 === tag || 27 === tag || 6 === tag)
            return inst.stateNode;
          throw Error("getNodeFromInstance: Invalid argument.");
        }
        function getResourcesFromRoot(root3) {
          var resources = root3[internalRootNodeResourcesKey];
          resources || (resources = root3[internalRootNodeResourcesKey] = { hoistableStyles: /* @__PURE__ */ new Map(), hoistableScripts: /* @__PURE__ */ new Map() });
          return resources;
        }
        function markNodeAsHoistable(node2) {
          node2[internalHoistableMarker] = true;
        }
        function registerTwoPhaseEvent(registrationName, dependencies) {
          registerDirectEvent(registrationName, dependencies);
          registerDirectEvent(registrationName + "Capture", dependencies);
        }
        function registerDirectEvent(registrationName, dependencies) {
          registrationNameDependencies[registrationName] && console.error(
            "EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.",
            registrationName
          );
          registrationNameDependencies[registrationName] = dependencies;
          var lowerCasedName = registrationName.toLowerCase();
          possibleRegistrationNames[lowerCasedName] = registrationName;
          "onDoubleClick" === registrationName && (possibleRegistrationNames.ondblclick = registrationName);
          for (registrationName = 0; registrationName < dependencies.length; registrationName++)
            allNativeEvents.add(dependencies[registrationName]);
        }
        function checkControlledValueProps(tagName, props) {
          hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || null == props.value || ("select" === tagName ? console.error(
            "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 `onChange`."
          ) : console.error(
            "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`."
          ));
          props.onChange || props.readOnly || props.disabled || null == props.checked || console.error(
            "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 isAttributeNameSafe(attributeName) {
          if (hasOwnProperty2.call(validatedAttributeNameCache, attributeName))
            return true;
          if (hasOwnProperty2.call(illegalAttributeNameCache, attributeName))
            return false;
          if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))
            return validatedAttributeNameCache[attributeName] = true;
          illegalAttributeNameCache[attributeName] = true;
          console.error("Invalid attribute name: `%s`", attributeName);
          return false;
        }
        function getValueForAttributeOnCustomComponent(node2, name, expected) {
          if (isAttributeNameSafe(name)) {
            if (!node2.hasAttribute(name)) {
              switch (typeof expected) {
                case "symbol":
                case "object":
                  return expected;
                case "function":
                  return expected;
                case "boolean":
                  if (false === expected) return expected;
              }
              return void 0 === expected ? void 0 : null;
            }
            node2 = node2.getAttribute(name);
            if ("" === node2 && true === expected) return true;
            checkAttributeStringCoercion(expected, name);
            return node2 === "" + expected ? expected : node2;
          }
        }
        function setValueForAttribute(node2, name, value) {
          if (isAttributeNameSafe(name))
            if (null === value) node2.removeAttribute(name);
            else {
              switch (typeof value) {
                case "undefined":
                case "function":
                case "symbol":
                  node2.removeAttribute(name);
                  return;
                case "boolean":
                  var prefix3 = name.toLowerCase().slice(0, 5);
                  if ("data-" !== prefix3 && "aria-" !== prefix3) {
                    node2.removeAttribute(name);
                    return;
                  }
              }
              checkAttributeStringCoercion(value, name);
              node2.setAttribute(name, "" + value);
            }
        }
        function setValueForKnownAttribute(node2, name, value) {
          if (null === value) node2.removeAttribute(name);
          else {
            switch (typeof value) {
              case "undefined":
              case "function":
              case "symbol":
              case "boolean":
                node2.removeAttribute(name);
                return;
            }
            checkAttributeStringCoercion(value, name);
            node2.setAttribute(name, "" + value);
          }
        }
        function setValueForNamespacedAttribute(node2, namespace, name, value) {
          if (null === value) node2.removeAttribute(name);
          else {
            switch (typeof value) {
              case "undefined":
              case "function":
              case "symbol":
              case "boolean":
                node2.removeAttribute(name);
                return;
            }
            checkAttributeStringCoercion(value, name);
            node2.setAttributeNS(namespace, name, "" + value);
          }
        }
        function getToStringValue(value) {
          switch (typeof value) {
            case "bigint":
            case "boolean":
            case "number":
            case "string":
            case "undefined":
              return value;
            case "object":
              return checkFormFieldValueStringCoercion(value), value;
            default:
              return "";
          }
        }
        function isCheckable(elem) {
          var type2 = elem.type;
          return (elem = elem.nodeName) && "input" === elem.toLowerCase() && ("checkbox" === type2 || "radio" === type2);
        }
        function trackValueOnNode(node2, valueField, currentValue) {
          var descriptor = Object.getOwnPropertyDescriptor(
            node2.constructor.prototype,
            valueField
          );
          if (!node2.hasOwnProperty(valueField) && "undefined" !== typeof descriptor && "function" === typeof descriptor.get && "function" === typeof descriptor.set) {
            var get3 = descriptor.get, set = descriptor.set;
            Object.defineProperty(node2, valueField, {
              configurable: true,
              get: function() {
                return get3.call(this);
              },
              set: function(value) {
                checkFormFieldValueStringCoercion(value);
                currentValue = "" + value;
                set.call(this, value);
              }
            });
            Object.defineProperty(node2, valueField, {
              enumerable: descriptor.enumerable
            });
            return {
              getValue: function() {
                return currentValue;
              },
              setValue: function(value) {
                checkFormFieldValueStringCoercion(value);
                currentValue = "" + value;
              },
              stopTracking: function() {
                node2._valueTracker = null;
                delete node2[valueField];
              }
            };
          }
        }
        function track(node2) {
          if (!node2._valueTracker) {
            var valueField = isCheckable(node2) ? "checked" : "value";
            node2._valueTracker = trackValueOnNode(
              node2,
              valueField,
              "" + node2[valueField]
            );
          }
        }
        function updateValueIfChanged(node2) {
          if (!node2) return false;
          var tracker = node2._valueTracker;
          if (!tracker) return true;
          var lastValue = tracker.getValue();
          var value = "";
          node2 && (value = isCheckable(node2) ? node2.checked ? "true" : "false" : node2.value);
          node2 = value;
          return node2 !== lastValue ? (tracker.setValue(node2), true) : false;
        }
        function getActiveElement(doc) {
          doc = doc || ("undefined" !== typeof document ? document : void 0);
          if ("undefined" === typeof doc) return null;
          try {
            return doc.activeElement || doc.body;
          } catch (e3) {
            return doc.body;
          }
        }
        function escapeSelectorAttributeValueInsideDoubleQuotes(value) {
          return value.replace(
            escapeSelectorAttributeValueInsideDoubleQuotesRegex,
            function(ch) {
              return "\\" + ch.charCodeAt(0).toString(16) + " ";
            }
          );
        }
        function validateInputProps(element, props) {
          void 0 === props.checked || void 0 === props.defaultChecked || didWarnCheckedDefaultChecked || (console.error(
            "%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://react.dev/link/controlled-components",
            getCurrentFiberOwnerNameInDevOrNull() || "A component",
            props.type
          ), didWarnCheckedDefaultChecked = true);
          void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue$1 || (console.error(
            "%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://react.dev/link/controlled-components",
            getCurrentFiberOwnerNameInDevOrNull() || "A component",
            props.type
          ), didWarnValueDefaultValue$1 = true);
        }
        function updateInput(element, value, defaultValue, lastDefaultValue, checked, defaultChecked, type2, name) {
          element.name = "";
          null != type2 && "function" !== typeof type2 && "symbol" !== typeof type2 && "boolean" !== typeof type2 ? (checkAttributeStringCoercion(type2, "type"), element.type = type2) : element.removeAttribute("type");
          if (null != value)
            if ("number" === type2) {
              if (0 === value && "" === element.value || element.value != value)
                element.value = "" + getToStringValue(value);
            } else
              element.value !== "" + getToStringValue(value) && (element.value = "" + getToStringValue(value));
          else
            "submit" !== type2 && "reset" !== type2 || element.removeAttribute("value");
          null != value ? setDefaultValue(element, type2, getToStringValue(value)) : null != defaultValue ? setDefaultValue(element, type2, getToStringValue(defaultValue)) : null != lastDefaultValue && element.removeAttribute("value");
          null == checked && null != defaultChecked && (element.defaultChecked = !!defaultChecked);
          null != checked && (element.checked = checked && "function" !== typeof checked && "symbol" !== typeof checked);
          null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name ? (checkAttributeStringCoercion(name, "name"), element.name = "" + getToStringValue(name)) : element.removeAttribute("name");
        }
        function initInput(element, value, defaultValue, checked, defaultChecked, type2, name, isHydrating2) {
          null != type2 && "function" !== typeof type2 && "symbol" !== typeof type2 && "boolean" !== typeof type2 && (checkAttributeStringCoercion(type2, "type"), element.type = type2);
          if (null != value || null != defaultValue) {
            if (!("submit" !== type2 && "reset" !== type2 || void 0 !== value && null !== value)) {
              track(element);
              return;
            }
            defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : "";
            value = null != value ? "" + getToStringValue(value) : defaultValue;
            isHydrating2 || value === element.value || (element.value = value);
            element.defaultValue = value;
          }
          checked = null != checked ? checked : defaultChecked;
          checked = "function" !== typeof checked && "symbol" !== typeof checked && !!checked;
          element.checked = isHydrating2 ? element.checked : !!checked;
          element.defaultChecked = !!checked;
          null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name && (checkAttributeStringCoercion(name, "name"), element.name = name);
          track(element);
        }
        function setDefaultValue(node2, type2, value) {
          "number" === type2 && getActiveElement(node2.ownerDocument) === node2 || node2.defaultValue === "" + value || (node2.defaultValue = "" + value);
        }
        function validateOptionProps(element, props) {
          null == props.value && ("object" === typeof props.children && null !== props.children ? React198.Children.forEach(props.children, function(child) {
            null == child || "string" === typeof child || "number" === typeof child || "bigint" === typeof child || didWarnInvalidChild || (didWarnInvalidChild = true, console.error(
              "Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to <option>."
            ));
          }) : null == props.dangerouslySetInnerHTML || didWarnInvalidInnerHTML || (didWarnInvalidInnerHTML = true, console.error(
            "Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected."
          )));
          null == props.selected || didWarnSelectedSetOnOption || (console.error(
            "Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>."
          ), didWarnSelectedSetOnOption = true);
        }
        function getDeclarationErrorAddendum() {
          var ownerName = getCurrentFiberOwnerNameInDevOrNull();
          return ownerName ? "\n\nCheck the render method of `" + ownerName + "`." : "";
        }
        function updateOptions(node2, multiple, propValue, setDefaultSelected) {
          node2 = node2.options;
          if (multiple) {
            multiple = {};
            for (var i2 = 0; i2 < propValue.length; i2++)
              multiple["$" + propValue[i2]] = true;
            for (propValue = 0; propValue < node2.length; propValue++)
              i2 = multiple.hasOwnProperty("$" + node2[propValue].value), node2[propValue].selected !== i2 && (node2[propValue].selected = i2), i2 && setDefaultSelected && (node2[propValue].defaultSelected = true);
          } else {
            propValue = "" + getToStringValue(propValue);
            multiple = null;
            for (i2 = 0; i2 < node2.length; i2++) {
              if (node2[i2].value === propValue) {
                node2[i2].selected = true;
                setDefaultSelected && (node2[i2].defaultSelected = true);
                return;
              }
              null !== multiple || node2[i2].disabled || (multiple = node2[i2]);
            }
            null !== multiple && (multiple.selected = true);
          }
        }
        function validateSelectProps(element, props) {
          for (element = 0; element < valuePropNames.length; element++) {
            var propName = valuePropNames[element];
            if (null != props[propName]) {
              var propNameIsArray = isArrayImpl(props[propName]);
              props.multiple && !propNameIsArray ? console.error(
                "The `%s` prop supplied to <select> must be an array if `multiple` is true.%s",
                propName,
                getDeclarationErrorAddendum()
              ) : !props.multiple && propNameIsArray && console.error(
                "The `%s` prop supplied to <select> must be a scalar value if `multiple` is false.%s",
                propName,
                getDeclarationErrorAddendum()
              );
            }
          }
          void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue || (console.error(
            "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://react.dev/link/controlled-components"
          ), didWarnValueDefaultValue = true);
        }
        function validateTextareaProps(element, props) {
          void 0 === props.value || void 0 === props.defaultValue || didWarnValDefaultVal || (console.error(
            "%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://react.dev/link/controlled-components",
            getCurrentFiberOwnerNameInDevOrNull() || "A component"
          ), didWarnValDefaultVal = true);
          null != props.children && null == props.value && console.error(
            "Use the `defaultValue` or `value` props instead of setting children on <textarea>."
          );
        }
        function updateTextarea(element, value, defaultValue) {
          if (null != value && (value = "" + getToStringValue(value), value !== element.value && (element.value = value), null == defaultValue)) {
            element.defaultValue !== value && (element.defaultValue = value);
            return;
          }
          element.defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : "";
        }
        function initTextarea(element, value, defaultValue, children) {
          if (null == value) {
            if (null != children) {
              if (null != defaultValue)
                throw Error(
                  "If you supply `defaultValue` on a <textarea>, do not pass children."
                );
              if (isArrayImpl(children)) {
                if (1 < children.length)
                  throw Error("<textarea> can only have at most one child.");
                children = children[0];
              }
              defaultValue = children;
            }
            null == defaultValue && (defaultValue = "");
            value = defaultValue;
          }
          defaultValue = getToStringValue(value);
          element.defaultValue = defaultValue;
          children = element.textContent;
          children === defaultValue && "" !== children && null !== children && (element.value = children);
          track(element);
        }
        function findNotableNode(node2, indent) {
          return void 0 === node2.serverProps && 0 === node2.serverTail.length && 1 === node2.children.length && 3 < node2.distanceFromLeaf && node2.distanceFromLeaf > 15 - indent ? findNotableNode(node2.children[0], indent) : node2;
        }
        function indentation(indent) {
          return "  " + "  ".repeat(indent);
        }
        function added(indent) {
          return "+ " + "  ".repeat(indent);
        }
        function removed(indent) {
          return "- " + "  ".repeat(indent);
        }
        function describeFiberType(fiber) {
          switch (fiber.tag) {
            case 26:
            case 27:
            case 5:
              return fiber.type;
            case 16:
              return "Lazy";
            case 31:
              return "Activity";
            case 13:
              return "Suspense";
            case 19:
              return "SuspenseList";
            case 0:
            case 15:
              return fiber = fiber.type, fiber.displayName || fiber.name || null;
            case 11:
              return fiber = fiber.type.render, fiber.displayName || fiber.name || null;
            case 1:
              return fiber = fiber.type, fiber.displayName || fiber.name || null;
            default:
              return null;
          }
        }
        function describeTextNode(content, maxLength) {
          return needsEscaping.test(content) ? (content = JSON.stringify(content), content.length > maxLength - 2 ? 8 > maxLength ? '{"..."}' : "{" + content.slice(0, maxLength - 7) + '..."}' : "{" + content + "}") : content.length > maxLength ? 5 > maxLength ? '{"..."}' : content.slice(0, maxLength - 3) + "..." : content;
        }
        function describeTextDiff(clientText, serverProps, indent) {
          var maxLength = 120 - 2 * indent;
          if (null === serverProps)
            return added(indent) + describeTextNode(clientText, maxLength) + "\n";
          if ("string" === typeof serverProps) {
            for (var firstDiff = 0; firstDiff < serverProps.length && firstDiff < clientText.length && serverProps.charCodeAt(firstDiff) === clientText.charCodeAt(firstDiff); firstDiff++) ;
            firstDiff > maxLength - 8 && 10 < firstDiff && (clientText = "..." + clientText.slice(firstDiff - 8), serverProps = "..." + serverProps.slice(firstDiff - 8));
            return added(indent) + describeTextNode(clientText, maxLength) + "\n" + removed(indent) + describeTextNode(serverProps, maxLength) + "\n";
          }
          return indentation(indent) + describeTextNode(clientText, maxLength) + "\n";
        }
        function objectName(object) {
          return Object.prototype.toString.call(object).replace(/^\[object (.*)\]$/, function(m2, p0) {
            return p0;
          });
        }
        function describeValue(value, maxLength) {
          switch (typeof value) {
            case "string":
              return value = JSON.stringify(value), value.length > maxLength ? 5 > maxLength ? '"..."' : value.slice(0, maxLength - 4) + '..."' : value;
            case "object":
              if (null === value) return "null";
              if (isArrayImpl(value)) return "[...]";
              if (value.$$typeof === REACT_ELEMENT_TYPE)
                return (maxLength = getComponentNameFromType(value.type)) ? "<" + maxLength + ">" : "<...>";
              var name = objectName(value);
              if ("Object" === name) {
                name = "";
                maxLength -= 2;
                for (var propName in value)
                  if (value.hasOwnProperty(propName)) {
                    var jsonPropName = JSON.stringify(propName);
                    jsonPropName !== '"' + propName + '"' && (propName = jsonPropName);
                    maxLength -= propName.length - 2;
                    jsonPropName = describeValue(
                      value[propName],
                      15 > maxLength ? maxLength : 15
                    );
                    maxLength -= jsonPropName.length;
                    if (0 > maxLength) {
                      name += "" === name ? "..." : ", ...";
                      break;
                    }
                    name += ("" === name ? "" : ",") + propName + ":" + jsonPropName;
                  }
                return "{" + name + "}";
              }
              return name;
            case "function":
              return (maxLength = value.displayName || value.name) ? "function " + maxLength : "function";
            default:
              return String(value);
          }
        }
        function describePropValue(value, maxLength) {
          return "string" !== typeof value || needsEscaping.test(value) ? "{" + describeValue(value, maxLength - 2) + "}" : value.length > maxLength - 2 ? 5 > maxLength ? '"..."' : '"' + value.slice(0, maxLength - 5) + '..."' : '"' + value + '"';
        }
        function describeExpandedElement(type2, props, rowPrefix) {
          var remainingRowLength = 120 - rowPrefix.length - type2.length, properties = [], propName;
          for (propName in props)
            if (props.hasOwnProperty(propName) && "children" !== propName) {
              var propValue = describePropValue(
                props[propName],
                120 - rowPrefix.length - propName.length - 1
              );
              remainingRowLength -= propName.length + propValue.length + 2;
              properties.push(propName + "=" + propValue);
            }
          return 0 === properties.length ? rowPrefix + "<" + type2 + ">\n" : 0 < remainingRowLength ? rowPrefix + "<" + type2 + " " + properties.join(" ") + ">\n" : rowPrefix + "<" + type2 + "\n" + rowPrefix + "  " + properties.join("\n" + rowPrefix + "  ") + "\n" + rowPrefix + ">\n";
        }
        function describePropertiesDiff(clientObject, serverObject, indent) {
          var properties = "", remainingServerProperties = assign2({}, serverObject), propName;
          for (propName in clientObject)
            if (clientObject.hasOwnProperty(propName)) {
              delete remainingServerProperties[propName];
              var maxLength = 120 - 2 * indent - propName.length - 2, clientPropValue = describeValue(clientObject[propName], maxLength);
              serverObject.hasOwnProperty(propName) ? (maxLength = describeValue(serverObject[propName], maxLength), properties += added(indent) + propName + ": " + clientPropValue + "\n", properties += removed(indent) + propName + ": " + maxLength + "\n") : properties += added(indent) + propName + ": " + clientPropValue + "\n";
            }
          for (var _propName in remainingServerProperties)
            remainingServerProperties.hasOwnProperty(_propName) && (clientObject = describeValue(
              remainingServerProperties[_propName],
              120 - 2 * indent - _propName.length - 2
            ), properties += removed(indent) + _propName + ": " + clientObject + "\n");
          return properties;
        }
        function describeElementDiff(type2, clientProps, serverProps, indent) {
          var content = "", serverPropNames = /* @__PURE__ */ new Map();
          for (propName$jscomp$0 in serverProps)
            serverProps.hasOwnProperty(propName$jscomp$0) && serverPropNames.set(
              propName$jscomp$0.toLowerCase(),
              propName$jscomp$0
            );
          if (1 === serverPropNames.size && serverPropNames.has("children"))
            content += describeExpandedElement(
              type2,
              clientProps,
              indentation(indent)
            );
          else {
            for (var _propName2 in clientProps)
              if (clientProps.hasOwnProperty(_propName2) && "children" !== _propName2) {
                var maxLength$jscomp$0 = 120 - 2 * (indent + 1) - _propName2.length - 1, serverPropName = serverPropNames.get(_propName2.toLowerCase());
                if (void 0 !== serverPropName) {
                  serverPropNames.delete(_propName2.toLowerCase());
                  var propName$jscomp$0 = clientProps[_propName2];
                  serverPropName = serverProps[serverPropName];
                  var clientPropValue = describePropValue(
                    propName$jscomp$0,
                    maxLength$jscomp$0
                  );
                  maxLength$jscomp$0 = describePropValue(
                    serverPropName,
                    maxLength$jscomp$0
                  );
                  "object" === typeof propName$jscomp$0 && null !== propName$jscomp$0 && "object" === typeof serverPropName && null !== serverPropName && "Object" === objectName(propName$jscomp$0) && "Object" === objectName(serverPropName) && (2 < Object.keys(propName$jscomp$0).length || 2 < Object.keys(serverPropName).length || -1 < clientPropValue.indexOf("...") || -1 < maxLength$jscomp$0.indexOf("...")) ? content += indentation(indent + 1) + _propName2 + "={{\n" + describePropertiesDiff(
                    propName$jscomp$0,
                    serverPropName,
                    indent + 2
                  ) + indentation(indent + 1) + "}}\n" : (content += added(indent + 1) + _propName2 + "=" + clientPropValue + "\n", content += removed(indent + 1) + _propName2 + "=" + maxLength$jscomp$0 + "\n");
                } else
                  content += indentation(indent + 1) + _propName2 + "=" + describePropValue(clientProps[_propName2], maxLength$jscomp$0) + "\n";
              }
            serverPropNames.forEach(function(propName) {
              if ("children" !== propName) {
                var maxLength = 120 - 2 * (indent + 1) - propName.length - 1;
                content += removed(indent + 1) + propName + "=" + describePropValue(serverProps[propName], maxLength) + "\n";
              }
            });
            content = "" === content ? indentation(indent) + "<" + type2 + ">\n" : indentation(indent) + "<" + type2 + "\n" + content + indentation(indent) + ">\n";
          }
          type2 = serverProps.children;
          clientProps = clientProps.children;
          if ("string" === typeof type2 || "number" === typeof type2 || "bigint" === typeof type2) {
            serverPropNames = "";
            if ("string" === typeof clientProps || "number" === typeof clientProps || "bigint" === typeof clientProps)
              serverPropNames = "" + clientProps;
            content += describeTextDiff(serverPropNames, "" + type2, indent + 1);
          } else if ("string" === typeof clientProps || "number" === typeof clientProps || "bigint" === typeof clientProps)
            content = null == type2 ? content + describeTextDiff("" + clientProps, null, indent + 1) : content + describeTextDiff("" + clientProps, void 0, indent + 1);
          return content;
        }
        function describeSiblingFiber(fiber, indent) {
          var type2 = describeFiberType(fiber);
          if (null === type2) {
            type2 = "";
            for (fiber = fiber.child; fiber; )
              type2 += describeSiblingFiber(fiber, indent), fiber = fiber.sibling;
            return type2;
          }
          return indentation(indent) + "<" + type2 + ">\n";
        }
        function describeNode(node2, indent) {
          var skipToNode = findNotableNode(node2, indent);
          if (skipToNode !== node2 && (1 !== node2.children.length || node2.children[0] !== skipToNode))
            return indentation(indent) + "...\n" + describeNode(skipToNode, indent + 1);
          skipToNode = "";
          var debugInfo = node2.fiber._debugInfo;
          if (debugInfo)
            for (var i2 = 0; i2 < debugInfo.length; i2++) {
              var serverComponentName = debugInfo[i2].name;
              "string" === typeof serverComponentName && (skipToNode += indentation(indent) + "<" + serverComponentName + ">\n", indent++);
            }
          debugInfo = "";
          i2 = node2.fiber.pendingProps;
          if (6 === node2.fiber.tag)
            debugInfo = describeTextDiff(i2, node2.serverProps, indent), indent++;
          else if (serverComponentName = describeFiberType(node2.fiber), null !== serverComponentName)
            if (void 0 === node2.serverProps) {
              debugInfo = indent;
              var maxLength = 120 - 2 * debugInfo - serverComponentName.length - 2, content = "";
              for (propName in i2)
                if (i2.hasOwnProperty(propName) && "children" !== propName) {
                  var propValue = describePropValue(i2[propName], 15);
                  maxLength -= propName.length + propValue.length + 2;
                  if (0 > maxLength) {
                    content += " ...";
                    break;
                  }
                  content += " " + propName + "=" + propValue;
                }
              debugInfo = indentation(debugInfo) + "<" + serverComponentName + content + ">\n";
              indent++;
            } else
              null === node2.serverProps ? (debugInfo = describeExpandedElement(
                serverComponentName,
                i2,
                added(indent)
              ), indent++) : "string" === typeof node2.serverProps ? console.error(
                "Should not have matched a non HostText fiber to a Text node. This is a bug in React."
              ) : (debugInfo = describeElementDiff(
                serverComponentName,
                i2,
                node2.serverProps,
                indent
              ), indent++);
          var propName = "";
          i2 = node2.fiber.child;
          for (serverComponentName = 0; i2 && serverComponentName < node2.children.length; )
            maxLength = node2.children[serverComponentName], maxLength.fiber === i2 ? (propName += describeNode(maxLength, indent), serverComponentName++) : propName += describeSiblingFiber(i2, indent), i2 = i2.sibling;
          i2 && 0 < node2.children.length && (propName += indentation(indent) + "...\n");
          i2 = node2.serverTail;
          null === node2.serverProps && indent--;
          for (node2 = 0; node2 < i2.length; node2++)
            serverComponentName = i2[node2], propName = "string" === typeof serverComponentName ? propName + (removed(indent) + describeTextNode(serverComponentName, 120 - 2 * indent) + "\n") : propName + describeExpandedElement(
              serverComponentName.type,
              serverComponentName.props,
              removed(indent)
            );
          return skipToNode + debugInfo + propName;
        }
        function describeDiff(rootNode) {
          try {
            return "\n\n" + describeNode(rootNode, 0);
          } catch (x) {
            return "";
          }
        }
        function describeAncestors(ancestor, child, props) {
          for (var fiber = child, node2 = null, distanceFromLeaf = 0; fiber; )
            fiber === ancestor && (distanceFromLeaf = 0), node2 = {
              fiber,
              children: null !== node2 ? [node2] : [],
              serverProps: fiber === child ? props : fiber === ancestor ? null : void 0,
              serverTail: [],
              distanceFromLeaf
            }, distanceFromLeaf++, fiber = fiber.return;
          return null !== node2 ? describeDiff(node2).replaceAll(/^[+-]/gm, ">") : "";
        }
        function updatedAncestorInfoDev(oldInfo, tag) {
          var ancestorInfo = assign2({}, oldInfo || emptyAncestorInfoDev), info = { tag };
          -1 !== inScopeTags.indexOf(tag) && (ancestorInfo.aTagInScope = null, ancestorInfo.buttonTagInScope = null, ancestorInfo.nobrTagInScope = null);
          -1 !== buttonScopeTags.indexOf(tag) && (ancestorInfo.pTagInButtonScope = null);
          -1 !== specialTags.indexOf(tag) && "address" !== tag && "div" !== tag && "p" !== tag && (ancestorInfo.listItemTagAutoclosing = null, ancestorInfo.dlItemTagAutoclosing = null);
          ancestorInfo.current = info;
          "form" === tag && (ancestorInfo.formTag = info);
          "a" === tag && (ancestorInfo.aTagInScope = info);
          "button" === tag && (ancestorInfo.buttonTagInScope = info);
          "nobr" === tag && (ancestorInfo.nobrTagInScope = info);
          "p" === tag && (ancestorInfo.pTagInButtonScope = info);
          "li" === tag && (ancestorInfo.listItemTagAutoclosing = info);
          if ("dd" === tag || "dt" === tag)
            ancestorInfo.dlItemTagAutoclosing = info;
          "#document" === tag || "html" === tag ? ancestorInfo.containerTagInScope = null : ancestorInfo.containerTagInScope || (ancestorInfo.containerTagInScope = info);
          null !== oldInfo || "#document" !== tag && "html" !== tag && "body" !== tag ? true === ancestorInfo.implicitRootScope && (ancestorInfo.implicitRootScope = false) : ancestorInfo.implicitRootScope = true;
          return ancestorInfo;
        }
        function isTagValidWithParent(tag, parentTag, implicitRootScope) {
          switch (parentTag) {
            case "select":
              return "hr" === tag || "option" === tag || "optgroup" === tag || "script" === tag || "template" === tag || "#text" === tag;
            case "optgroup":
              return "option" === tag || "#text" === tag;
            case "option":
              return "#text" === tag;
            case "tr":
              return "th" === tag || "td" === tag || "style" === tag || "script" === tag || "template" === tag;
            case "tbody":
            case "thead":
            case "tfoot":
              return "tr" === tag || "style" === tag || "script" === tag || "template" === tag;
            case "colgroup":
              return "col" === tag || "template" === tag;
            case "table":
              return "caption" === tag || "colgroup" === tag || "tbody" === tag || "tfoot" === tag || "thead" === tag || "style" === tag || "script" === tag || "template" === tag;
            case "head":
              return "base" === tag || "basefont" === tag || "bgsound" === tag || "link" === tag || "meta" === tag || "title" === tag || "noscript" === tag || "noframes" === tag || "style" === tag || "script" === tag || "template" === tag;
            case "html":
              if (implicitRootScope) break;
              return "head" === tag || "body" === tag || "frameset" === tag;
            case "frameset":
              return "frame" === tag;
            case "#document":
              if (!implicitRootScope) return "html" === tag;
          }
          switch (tag) {
            case "h1":
            case "h2":
            case "h3":
            case "h4":
            case "h5":
            case "h6":
              return "h1" !== parentTag && "h2" !== parentTag && "h3" !== parentTag && "h4" !== parentTag && "h5" !== parentTag && "h6" !== parentTag;
            case "rp":
            case "rt":
              return -1 === impliedEndTags.indexOf(parentTag);
            case "caption":
            case "col":
            case "colgroup":
            case "frameset":
            case "frame":
            case "tbody":
            case "td":
            case "tfoot":
            case "th":
            case "thead":
            case "tr":
              return null == parentTag;
            case "head":
              return implicitRootScope || null === parentTag;
            case "html":
              return implicitRootScope && "#document" === parentTag || null === parentTag;
            case "body":
              return implicitRootScope && ("#document" === parentTag || "html" === parentTag) || null === parentTag;
          }
          return true;
        }
        function findInvalidAncestorForTag(tag, ancestorInfo) {
          switch (tag) {
            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 ancestorInfo.pTagInButtonScope;
            case "form":
              return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;
            case "li":
              return ancestorInfo.listItemTagAutoclosing;
            case "dd":
            case "dt":
              return ancestorInfo.dlItemTagAutoclosing;
            case "button":
              return ancestorInfo.buttonTagInScope;
            case "a":
              return ancestorInfo.aTagInScope;
            case "nobr":
              return ancestorInfo.nobrTagInScope;
          }
          return null;
        }
        function findAncestor(parent, tagName) {
          for (; parent; ) {
            switch (parent.tag) {
              case 5:
              case 26:
              case 27:
                if (parent.type === tagName) return parent;
            }
            parent = parent.return;
          }
          return null;
        }
        function validateDOMNesting(childTag, ancestorInfo) {
          ancestorInfo = ancestorInfo || emptyAncestorInfoDev;
          var parentInfo = ancestorInfo.current;
          ancestorInfo = (parentInfo = isTagValidWithParent(
            childTag,
            parentInfo && parentInfo.tag,
            ancestorInfo.implicitRootScope
          ) ? null : parentInfo) ? null : findInvalidAncestorForTag(childTag, ancestorInfo);
          ancestorInfo = parentInfo || ancestorInfo;
          if (!ancestorInfo) return true;
          var ancestorTag = ancestorInfo.tag;
          ancestorInfo = String(!!parentInfo) + "|" + childTag + "|" + ancestorTag;
          if (didWarn[ancestorInfo]) return false;
          didWarn[ancestorInfo] = true;
          var ancestor = (ancestorInfo = current) ? findAncestor(ancestorInfo.return, ancestorTag) : null, ancestorDescription = null !== ancestorInfo && null !== ancestor ? describeAncestors(ancestor, ancestorInfo, null) : "", tagDisplayName = "<" + childTag + ">";
          parentInfo ? (parentInfo = "", "table" === ancestorTag && "tr" === childTag && (parentInfo += " Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by the browser."), console.error(
            "In HTML, %s cannot be a child of <%s>.%s\nThis will cause a hydration error.%s",
            tagDisplayName,
            ancestorTag,
            parentInfo,
            ancestorDescription
          )) : console.error(
            "In HTML, %s cannot be a descendant of <%s>.\nThis will cause a hydration error.%s",
            tagDisplayName,
            ancestorTag,
            ancestorDescription
          );
          ancestorInfo && (childTag = ancestorInfo.return, null === ancestor || null === childTag || ancestor === childTag && childTag._debugOwner === ancestorInfo._debugOwner || runWithFiberInDEV(ancestor, function() {
            console.error(
              "<%s> cannot contain a nested %s.\nSee this log for the ancestor stack trace.",
              ancestorTag,
              tagDisplayName
            );
          }));
          return false;
        }
        function validateTextNesting(childText, parentTag, implicitRootScope) {
          if (implicitRootScope || isTagValidWithParent("#text", parentTag, false))
            return true;
          implicitRootScope = "#text|" + parentTag;
          if (didWarn[implicitRootScope]) return false;
          didWarn[implicitRootScope] = true;
          var ancestor = (implicitRootScope = current) ? findAncestor(implicitRootScope, parentTag) : null;
          implicitRootScope = null !== implicitRootScope && null !== ancestor ? describeAncestors(
            ancestor,
            implicitRootScope,
            6 !== implicitRootScope.tag ? { children: null } : null
          ) : "";
          /\S/.test(childText) ? console.error(
            "In HTML, text nodes cannot be a child of <%s>.\nThis will cause a hydration error.%s",
            parentTag,
            implicitRootScope
          ) : console.error(
            "In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\nThis will cause a hydration error.%s",
            parentTag,
            implicitRootScope
          );
          return false;
        }
        function setTextContent(node2, text) {
          if (text) {
            var firstChild = node2.firstChild;
            if (firstChild && firstChild === node2.lastChild && 3 === firstChild.nodeType) {
              firstChild.nodeValue = text;
              return;
            }
          }
          node2.textContent = text;
        }
        function camelize2(string2) {
          return string2.replace(hyphenPattern, function(_3, character2) {
            return character2.toUpperCase();
          });
        }
        function setValueForStyle(style2, styleName, value) {
          var isCustomProperty3 = 0 === styleName.indexOf("--");
          isCustomProperty3 || (-1 < styleName.indexOf("-") ? warnedStyleNames.hasOwnProperty(styleName) && warnedStyleNames[styleName] || (warnedStyleNames[styleName] = true, console.error(
            "Unsupported style property %s. Did you mean %s?",
            styleName,
            camelize2(styleName.replace(msPattern, "ms-"))
          )) : badVendoredStyleNamePattern.test(styleName) ? warnedStyleNames.hasOwnProperty(styleName) && warnedStyleNames[styleName] || (warnedStyleNames[styleName] = true, console.error(
            "Unsupported vendor-prefixed style property %s. Did you mean %s?",
            styleName,
            styleName.charAt(0).toUpperCase() + styleName.slice(1)
          )) : !badStyleValueWithSemicolonPattern.test(value) || warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value] || (warnedStyleValues[value] = true, console.error(
            `Style property values shouldn't contain a semicolon. Try "%s: %s" instead.`,
            styleName,
            value.replace(badStyleValueWithSemicolonPattern, "")
          )), "number" === typeof value && (isNaN(value) ? warnedForNaNValue || (warnedForNaNValue = true, console.error(
            "`NaN` is an invalid value for the `%s` css style property.",
            styleName
          )) : isFinite(value) || warnedForInfinityValue || (warnedForInfinityValue = true, console.error(
            "`Infinity` is an invalid value for the `%s` css style property.",
            styleName
          ))));
          null == value || "boolean" === typeof value || "" === value ? isCustomProperty3 ? style2.setProperty(styleName, "") : "float" === styleName ? style2.cssFloat = "" : style2[styleName] = "" : isCustomProperty3 ? style2.setProperty(styleName, value) : "number" !== typeof value || 0 === value || unitlessNumbers.has(styleName) ? "float" === styleName ? style2.cssFloat = value : (checkCSSPropertyStringCoercion(value, styleName), style2[styleName] = ("" + value).trim()) : style2[styleName] = value + "px";
        }
        function setValueForStyles(node2, styles2, prevStyles) {
          if (null != styles2 && "object" !== typeof styles2)
            throw Error(
              "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX."
            );
          styles2 && Object.freeze(styles2);
          node2 = node2.style;
          if (null != prevStyles) {
            if (styles2) {
              var expandedUpdates = {};
              if (prevStyles) {
                for (var key in prevStyles)
                  if (prevStyles.hasOwnProperty(key) && !styles2.hasOwnProperty(key))
                    for (var longhands = shorthandToLonghand[key] || [key], i2 = 0; i2 < longhands.length; i2++)
                      expandedUpdates[longhands[i2]] = key;
              }
              for (var _key in styles2)
                if (styles2.hasOwnProperty(_key) && (!prevStyles || prevStyles[_key] !== styles2[_key]))
                  for (key = shorthandToLonghand[_key] || [_key], longhands = 0; longhands < key.length; longhands++)
                    expandedUpdates[key[longhands]] = _key;
              _key = {};
              for (var key$jscomp$0 in styles2)
                for (key = shorthandToLonghand[key$jscomp$0] || [key$jscomp$0], longhands = 0; longhands < key.length; longhands++)
                  _key[key[longhands]] = key$jscomp$0;
              key$jscomp$0 = {};
              for (var _key2 in expandedUpdates)
                if (key = expandedUpdates[_key2], (longhands = _key[_key2]) && key !== longhands && (i2 = key + "," + longhands, !key$jscomp$0[i2])) {
                  key$jscomp$0[i2] = true;
                  i2 = console;
                  var value = styles2[key];
                  i2.error.call(
                    i2,
                    "%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.",
                    null == value || "boolean" === typeof value || "" === value ? "Removing" : "Updating",
                    key,
                    longhands
                  );
                }
            }
            for (var styleName in prevStyles)
              !prevStyles.hasOwnProperty(styleName) || null != styles2 && styles2.hasOwnProperty(styleName) || (0 === styleName.indexOf("--") ? node2.setProperty(styleName, "") : "float" === styleName ? node2.cssFloat = "" : node2[styleName] = "");
            for (var _styleName in styles2)
              _key2 = styles2[_styleName], styles2.hasOwnProperty(_styleName) && prevStyles[_styleName] !== _key2 && setValueForStyle(node2, _styleName, _key2);
          } else
            for (expandedUpdates in styles2)
              styles2.hasOwnProperty(expandedUpdates) && setValueForStyle(node2, expandedUpdates, styles2[expandedUpdates]);
        }
        function isCustomElement(tagName) {
          if (-1 === tagName.indexOf("-")) return false;
          switch (tagName) {
            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 false;
            default:
              return true;
          }
        }
        function getAttributeAlias(name) {
          return aliases.get(name) || name;
        }
        function validateProperty$1(tagName, name) {
          if (hasOwnProperty2.call(warnedProperties$1, name) && warnedProperties$1[name])
            return true;
          if (rARIACamel$1.test(name)) {
            tagName = "aria-" + name.slice(4).toLowerCase();
            tagName = ariaProperties.hasOwnProperty(tagName) ? tagName : null;
            if (null == tagName)
              return console.error(
                "Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.",
                name
              ), warnedProperties$1[name] = true;
            if (name !== tagName)
              return console.error(
                "Invalid ARIA attribute `%s`. Did you mean `%s`?",
                name,
                tagName
              ), warnedProperties$1[name] = true;
          }
          if (rARIA$1.test(name)) {
            tagName = name.toLowerCase();
            tagName = ariaProperties.hasOwnProperty(tagName) ? tagName : null;
            if (null == tagName) return warnedProperties$1[name] = true, false;
            name !== tagName && (console.error(
              "Unknown ARIA attribute `%s`. Did you mean `%s`?",
              name,
              tagName
            ), warnedProperties$1[name] = true);
          }
          return true;
        }
        function validateProperties$2(type2, props) {
          var invalidProps = [], key;
          for (key in props)
            validateProperty$1(type2, key) || invalidProps.push(key);
          props = invalidProps.map(function(prop) {
            return "`" + prop + "`";
          }).join(", ");
          1 === invalidProps.length ? console.error(
            "Invalid aria prop %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props",
            props,
            type2
          ) : 1 < invalidProps.length && console.error(
            "Invalid aria props %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props",
            props,
            type2
          );
        }
        function validateProperty(tagName, name, value, eventRegistry) {
          if (hasOwnProperty2.call(warnedProperties, name) && warnedProperties[name])
            return true;
          var lowerCasedName = name.toLowerCase();
          if ("onfocusin" === lowerCasedName || "onfocusout" === lowerCasedName)
            return console.error(
              "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."
            ), warnedProperties[name] = true;
          if ("function" === typeof value && ("form" === tagName && "action" === name || "input" === tagName && "formAction" === name || "button" === tagName && "formAction" === name))
            return true;
          if (null != eventRegistry) {
            tagName = eventRegistry.possibleRegistrationNames;
            if (eventRegistry.registrationNameDependencies.hasOwnProperty(name))
              return true;
            eventRegistry = tagName.hasOwnProperty(lowerCasedName) ? tagName[lowerCasedName] : null;
            if (null != eventRegistry)
              return console.error(
                "Invalid event handler property `%s`. Did you mean `%s`?",
                name,
                eventRegistry
              ), warnedProperties[name] = true;
            if (EVENT_NAME_REGEX.test(name))
              return console.error(
                "Unknown event handler property `%s`. It will be ignored.",
                name
              ), warnedProperties[name] = true;
          } else if (EVENT_NAME_REGEX.test(name))
            return INVALID_EVENT_NAME_REGEX.test(name) && console.error(
              "Invalid event handler property `%s`. React events use the camelCase naming convention, for example `onClick`.",
              name
            ), warnedProperties[name] = true;
          if (rARIA.test(name) || rARIACamel.test(name)) return true;
          if ("innerhtml" === lowerCasedName)
            return console.error(
              "Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`."
            ), warnedProperties[name] = true;
          if ("aria" === lowerCasedName)
            return console.error(
              "The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead."
            ), warnedProperties[name] = true;
          if ("is" === lowerCasedName && null !== value && void 0 !== value && "string" !== typeof value)
            return console.error(
              "Received a `%s` for a string attribute `is`. If this is expected, cast the value to a string.",
              typeof value
            ), warnedProperties[name] = true;
          if ("number" === typeof value && isNaN(value))
            return console.error(
              "Received NaN for the `%s` attribute. If this is expected, cast the value to a string.",
              name
            ), warnedProperties[name] = true;
          if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {
            if (lowerCasedName = possibleStandardNames[lowerCasedName], lowerCasedName !== name)
              return console.error(
                "Invalid DOM property `%s`. Did you mean `%s`?",
                name,
                lowerCasedName
              ), warnedProperties[name] = true;
          } else if (name !== lowerCasedName)
            return console.error(
              "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.",
              name,
              lowerCasedName
            ), warnedProperties[name] = true;
          switch (name) {
            case "dangerouslySetInnerHTML":
            case "children":
            case "style":
            case "suppressContentEditableWarning":
            case "suppressHydrationWarning":
            case "defaultValue":
            case "defaultChecked":
            case "innerHTML":
            case "ref":
              return true;
            case "innerText":
            case "textContent":
              return true;
          }
          switch (typeof value) {
            case "boolean":
              switch (name) {
                case "autoFocus":
                case "checked":
                case "multiple":
                case "muted":
                case "selected":
                case "contentEditable":
                case "spellCheck":
                case "draggable":
                case "value":
                case "autoReverse":
                case "externalResourcesRequired":
                case "focusable":
                case "preserveAlpha":
                case "allowFullScreen":
                case "async":
                case "autoPlay":
                case "controls":
                case "default":
                case "defer":
                case "disabled":
                case "disablePictureInPicture":
                case "disableRemotePlayback":
                case "formNoValidate":
                case "hidden":
                case "loop":
                case "noModule":
                case "noValidate":
                case "open":
                case "playsInline":
                case "readOnly":
                case "required":
                case "reversed":
                case "scoped":
                case "seamless":
                case "itemScope":
                case "capture":
                case "download":
                case "inert":
                  return true;
                default:
                  lowerCasedName = name.toLowerCase().slice(0, 5);
                  if ("data-" === lowerCasedName || "aria-" === lowerCasedName)
                    return true;
                  value ? console.error(
                    '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()}.',
                    value,
                    name,
                    name,
                    value,
                    name
                  ) : console.error(
                    '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.',
                    value,
                    name,
                    name,
                    value,
                    name,
                    name,
                    name
                  );
                  return warnedProperties[name] = true;
              }
            case "function":
            case "symbol":
              return warnedProperties[name] = true, false;
            case "string":
              if ("false" === value || "true" === value) {
                switch (name) {
                  case "checked":
                  case "selected":
                  case "multiple":
                  case "muted":
                  case "allowFullScreen":
                  case "async":
                  case "autoPlay":
                  case "controls":
                  case "default":
                  case "defer":
                  case "disabled":
                  case "disablePictureInPicture":
                  case "disableRemotePlayback":
                  case "formNoValidate":
                  case "hidden":
                  case "loop":
                  case "noModule":
                  case "noValidate":
                  case "open":
                  case "playsInline":
                  case "readOnly":
                  case "required":
                  case "reversed":
                  case "scoped":
                  case "seamless":
                  case "itemScope":
                  case "inert":
                    break;
                  default:
                    return true;
                }
                console.error(
                  "Received the string `%s` for the boolean attribute `%s`. %s Did you mean %s={%s}?",
                  value,
                  name,
                  "false" === value ? "The browser will interpret it as a truthy value." : 'Although this works, it will not work as expected if you pass the string "false".',
                  name,
                  value
                );
                warnedProperties[name] = true;
              }
          }
          return true;
        }
        function warnUnknownProperties(type2, props, eventRegistry) {
          var unknownProps = [], key;
          for (key in props)
            validateProperty(type2, key, props[key], eventRegistry) || unknownProps.push(key);
          props = unknownProps.map(function(prop) {
            return "`" + prop + "`";
          }).join(", ");
          1 === unknownProps.length ? console.error(
            "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://react.dev/link/attribute-behavior ",
            props,
            type2
          ) : 1 < unknownProps.length && console.error(
            "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://react.dev/link/attribute-behavior ",
            props,
            type2
          );
        }
        function sanitizeURL(url) {
          return isJavaScriptProtocol.test("" + url) ? "javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')" : url;
        }
        function noop$1() {
        }
        function getEventTarget(nativeEvent) {
          nativeEvent = nativeEvent.target || nativeEvent.srcElement || window;
          nativeEvent.correspondingUseElement && (nativeEvent = nativeEvent.correspondingUseElement);
          return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent;
        }
        function restoreStateOfTarget(target2) {
          var internalInstance = getInstanceFromNode(target2);
          if (internalInstance && (target2 = internalInstance.stateNode)) {
            var props = target2[internalPropsKey] || null;
            a: switch (target2 = internalInstance.stateNode, internalInstance.type) {
              case "input":
                updateInput(
                  target2,
                  props.value,
                  props.defaultValue,
                  props.defaultValue,
                  props.checked,
                  props.defaultChecked,
                  props.type,
                  props.name
                );
                internalInstance = props.name;
                if ("radio" === props.type && null != internalInstance) {
                  for (props = target2; props.parentNode; ) props = props.parentNode;
                  checkAttributeStringCoercion(internalInstance, "name");
                  props = props.querySelectorAll(
                    'input[name="' + escapeSelectorAttributeValueInsideDoubleQuotes(
                      "" + internalInstance
                    ) + '"][type="radio"]'
                  );
                  for (internalInstance = 0; internalInstance < props.length; internalInstance++) {
                    var otherNode = props[internalInstance];
                    if (otherNode !== target2 && otherNode.form === target2.form) {
                      var otherProps = otherNode[internalPropsKey] || null;
                      if (!otherProps)
                        throw Error(
                          "ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported."
                        );
                      updateInput(
                        otherNode,
                        otherProps.value,
                        otherProps.defaultValue,
                        otherProps.defaultValue,
                        otherProps.checked,
                        otherProps.defaultChecked,
                        otherProps.type,
                        otherProps.name
                      );
                    }
                  }
                  for (internalInstance = 0; internalInstance < props.length; internalInstance++)
                    otherNode = props[internalInstance], otherNode.form === target2.form && updateValueIfChanged(otherNode);
                }
                break a;
              case "textarea":
                updateTextarea(target2, props.value, props.defaultValue);
                break a;
              case "select":
                internalInstance = props.value, null != internalInstance && updateOptions(target2, !!props.multiple, internalInstance, false);
            }
          }
        }
        function batchedUpdates$1(fn, a2, b2) {
          if (isInsideEventHandler) return fn(a2, b2);
          isInsideEventHandler = true;
          try {
            var JSCompiler_inline_result = fn(a2);
            return JSCompiler_inline_result;
          } finally {
            if (isInsideEventHandler = false, null !== restoreTarget || null !== restoreQueue) {
              if (flushSyncWork$1(), restoreTarget && (a2 = restoreTarget, fn = restoreQueue, restoreQueue = restoreTarget = null, restoreStateOfTarget(a2), fn))
                for (a2 = 0; a2 < fn.length; a2++) restoreStateOfTarget(fn[a2]);
            }
          }
        }
        function getListener(inst, registrationName) {
          var stateNode = inst.stateNode;
          if (null === stateNode) return null;
          var props = stateNode[internalPropsKey] || null;
          if (null === props) return null;
          stateNode = props[registrationName];
          a: switch (registrationName) {
            case "onClick":
            case "onClickCapture":
            case "onDoubleClick":
            case "onDoubleClickCapture":
            case "onMouseDown":
            case "onMouseDownCapture":
            case "onMouseMove":
            case "onMouseMoveCapture":
            case "onMouseUp":
            case "onMouseUpCapture":
            case "onMouseEnter":
              (props = !props.disabled) || (inst = inst.type, props = !("button" === inst || "input" === inst || "select" === inst || "textarea" === inst));
              inst = !props;
              break a;
            default:
              inst = false;
          }
          if (inst) return null;
          if (stateNode && "function" !== typeof stateNode)
            throw Error(
              "Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof stateNode + "` type."
            );
          return stateNode;
        }
        function getData() {
          if (fallbackText) return fallbackText;
          var start, startValue = startText, startLength = startValue.length, end, endValue = "value" in root2 ? root2.value : root2.textContent, endLength = endValue.length;
          for (start = 0; start < startLength && startValue[start] === endValue[start]; start++) ;
          var minEnd = startLength - start;
          for (end = 1; end <= minEnd && startValue[startLength - end] === endValue[endLength - end]; end++) ;
          return fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0);
        }
        function getEventCharCode(nativeEvent) {
          var keyCode = nativeEvent.keyCode;
          "charCode" in nativeEvent ? (nativeEvent = nativeEvent.charCode, 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13)) : nativeEvent = keyCode;
          10 === nativeEvent && (nativeEvent = 13);
          return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0;
        }
        function functionThatReturnsTrue() {
          return true;
        }
        function functionThatReturnsFalse() {
          return false;
        }
        function createSyntheticEvent(Interface) {
          function SyntheticBaseEvent(reactName, reactEventType, targetInst, nativeEvent, nativeEventTarget) {
            this._reactName = reactName;
            this._targetInst = targetInst;
            this.type = reactEventType;
            this.nativeEvent = nativeEvent;
            this.target = nativeEventTarget;
            this.currentTarget = null;
            for (var propName in Interface)
              Interface.hasOwnProperty(propName) && (reactName = Interface[propName], this[propName] = reactName ? reactName(nativeEvent) : nativeEvent[propName]);
            this.isDefaultPrevented = (null != nativeEvent.defaultPrevented ? nativeEvent.defaultPrevented : false === nativeEvent.returnValue) ? functionThatReturnsTrue : functionThatReturnsFalse;
            this.isPropagationStopped = functionThatReturnsFalse;
            return this;
          }
          assign2(SyntheticBaseEvent.prototype, {
            preventDefault: function() {
              this.defaultPrevented = true;
              var event = this.nativeEvent;
              event && (event.preventDefault ? event.preventDefault() : "unknown" !== typeof event.returnValue && (event.returnValue = false), this.isDefaultPrevented = functionThatReturnsTrue);
            },
            stopPropagation: function() {
              var event = this.nativeEvent;
              event && (event.stopPropagation ? event.stopPropagation() : "unknown" !== typeof event.cancelBubble && (event.cancelBubble = true), this.isPropagationStopped = functionThatReturnsTrue);
            },
            persist: function() {
            },
            isPersistent: functionThatReturnsTrue
          });
          return SyntheticBaseEvent;
        }
        function modifierStateGetter(keyArg) {
          var nativeEvent = this.nativeEvent;
          return nativeEvent.getModifierState ? nativeEvent.getModifierState(keyArg) : (keyArg = modifierKeyToProp[keyArg]) ? !!nativeEvent[keyArg] : false;
        }
        function getEventModifierState() {
          return modifierStateGetter;
        }
        function isFallbackCompositionEnd(domEventName, nativeEvent) {
          switch (domEventName) {
            case "keyup":
              return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode);
            case "keydown":
              return nativeEvent.keyCode !== START_KEYCODE;
            case "keypress":
            case "mousedown":
            case "focusout":
              return true;
            default:
              return false;
          }
        }
        function getDataFromCustomEvent(nativeEvent) {
          nativeEvent = nativeEvent.detail;
          return "object" === typeof nativeEvent && "data" in nativeEvent ? nativeEvent.data : null;
        }
        function getNativeBeforeInputChars(domEventName, nativeEvent) {
          switch (domEventName) {
            case "compositionend":
              return getDataFromCustomEvent(nativeEvent);
            case "keypress":
              if (nativeEvent.which !== SPACEBAR_CODE) return null;
              hasSpaceKeypress = true;
              return SPACEBAR_CHAR;
            case "textInput":
              return domEventName = nativeEvent.data, domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName;
            default:
              return null;
          }
        }
        function getFallbackBeforeInputChars(domEventName, nativeEvent) {
          if (isComposing)
            return "compositionend" === domEventName || !canUseCompositionEvent && isFallbackCompositionEnd(domEventName, nativeEvent) ? (domEventName = getData(), fallbackText = startText = root2 = null, isComposing = false, domEventName) : null;
          switch (domEventName) {
            case "paste":
              return null;
            case "keypress":
              if (!(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) || nativeEvent.ctrlKey && nativeEvent.altKey) {
                if (nativeEvent.char && 1 < nativeEvent.char.length)
                  return nativeEvent.char;
                if (nativeEvent.which)
                  return String.fromCharCode(nativeEvent.which);
              }
              return null;
            case "compositionend":
              return useFallbackCompositionData && "ko" !== nativeEvent.locale ? null : nativeEvent.data;
            default:
              return null;
          }
        }
        function isTextInputElement(elem) {
          var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
          return "input" === nodeName ? !!supportedInputTypes[elem.type] : "textarea" === nodeName ? true : false;
        }
        function isEventSupported(eventNameSuffix) {
          if (!canUseDOM) return false;
          eventNameSuffix = "on" + eventNameSuffix;
          var isSupported = eventNameSuffix in document;
          isSupported || (isSupported = document.createElement("div"), isSupported.setAttribute(eventNameSuffix, "return;"), isSupported = "function" === typeof isSupported[eventNameSuffix]);
          return isSupported;
        }
        function createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, target2) {
          restoreTarget ? restoreQueue ? restoreQueue.push(target2) : restoreQueue = [target2] : restoreTarget = target2;
          inst = accumulateTwoPhaseListeners(inst, "onChange");
          0 < inst.length && (nativeEvent = new SyntheticEvent(
            "onChange",
            "change",
            null,
            nativeEvent,
            target2
          ), dispatchQueue.push({ event: nativeEvent, listeners: inst }));
        }
        function runEventInBatch(dispatchQueue) {
          processDispatchQueue(dispatchQueue, 0);
        }
        function getInstIfValueChanged(targetInst) {
          var targetNode = getNodeFromInstance(targetInst);
          if (updateValueIfChanged(targetNode)) return targetInst;
        }
        function getTargetInstForChangeEvent(domEventName, targetInst) {
          if ("change" === domEventName) return targetInst;
        }
        function stopWatchingForValueChange() {
          activeElement$1 && (activeElement$1.detachEvent("onpropertychange", handlePropertyChange), activeElementInst$1 = activeElement$1 = null);
        }
        function handlePropertyChange(nativeEvent) {
          if ("value" === nativeEvent.propertyName && getInstIfValueChanged(activeElementInst$1)) {
            var dispatchQueue = [];
            createAndAccumulateChangeEvent(
              dispatchQueue,
              activeElementInst$1,
              nativeEvent,
              getEventTarget(nativeEvent)
            );
            batchedUpdates$1(runEventInBatch, dispatchQueue);
          }
        }
        function handleEventsForInputEventPolyfill(domEventName, target2, targetInst) {
          "focusin" === domEventName ? (stopWatchingForValueChange(), activeElement$1 = target2, activeElementInst$1 = targetInst, activeElement$1.attachEvent("onpropertychange", handlePropertyChange)) : "focusout" === domEventName && stopWatchingForValueChange();
        }
        function getTargetInstForInputEventPolyfill(domEventName) {
          if ("selectionchange" === domEventName || "keyup" === domEventName || "keydown" === domEventName)
            return getInstIfValueChanged(activeElementInst$1);
        }
        function getTargetInstForClickEvent(domEventName, targetInst) {
          if ("click" === domEventName) return getInstIfValueChanged(targetInst);
        }
        function getTargetInstForInputOrChangeEvent(domEventName, targetInst) {
          if ("input" === domEventName || "change" === domEventName)
            return getInstIfValueChanged(targetInst);
        }
        function is2(x, y) {
          return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
        }
        function shallowEqual(objA, objB) {
          if (objectIs(objA, objB)) return true;
          if ("object" !== typeof objA || null === objA || "object" !== typeof objB || null === objB)
            return false;
          var keysA = Object.keys(objA), keysB = Object.keys(objB);
          if (keysA.length !== keysB.length) return false;
          for (keysB = 0; keysB < keysA.length; keysB++) {
            var currentKey = keysA[keysB];
            if (!hasOwnProperty2.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey]))
              return false;
          }
          return true;
        }
        function getLeafNode(node2) {
          for (; node2 && node2.firstChild; ) node2 = node2.firstChild;
          return node2;
        }
        function getNodeForCharacterOffset(root3, offset5) {
          var node2 = getLeafNode(root3);
          root3 = 0;
          for (var nodeEnd; node2; ) {
            if (3 === node2.nodeType) {
              nodeEnd = root3 + node2.textContent.length;
              if (root3 <= offset5 && nodeEnd >= offset5)
                return { node: node2, offset: offset5 - root3 };
              root3 = nodeEnd;
            }
            a: {
              for (; node2; ) {
                if (node2.nextSibling) {
                  node2 = node2.nextSibling;
                  break a;
                }
                node2 = node2.parentNode;
              }
              node2 = void 0;
            }
            node2 = getLeafNode(node2);
          }
        }
        function containsNode(outerNode, innerNode) {
          return outerNode && innerNode ? outerNode === innerNode ? true : outerNode && 3 === outerNode.nodeType ? false : innerNode && 3 === innerNode.nodeType ? containsNode(outerNode, innerNode.parentNode) : "contains" in outerNode ? outerNode.contains(innerNode) : outerNode.compareDocumentPosition ? !!(outerNode.compareDocumentPosition(innerNode) & 16) : false : false;
        }
        function getActiveElementDeep(containerInfo) {
          containerInfo = null != containerInfo && null != containerInfo.ownerDocument && null != containerInfo.ownerDocument.defaultView ? containerInfo.ownerDocument.defaultView : window;
          for (var element = getActiveElement(containerInfo.document); element instanceof containerInfo.HTMLIFrameElement; ) {
            try {
              var JSCompiler_inline_result = "string" === typeof element.contentWindow.location.href;
            } catch (err) {
              JSCompiler_inline_result = false;
            }
            if (JSCompiler_inline_result) containerInfo = element.contentWindow;
            else break;
            element = getActiveElement(containerInfo.document);
          }
          return element;
        }
        function hasSelectionCapabilities(elem) {
          var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
          return nodeName && ("input" === nodeName && ("text" === elem.type || "search" === elem.type || "tel" === elem.type || "url" === elem.type || "password" === elem.type) || "textarea" === nodeName || "true" === elem.contentEditable);
        }
        function constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {
          var doc = nativeEventTarget.window === nativeEventTarget ? nativeEventTarget.document : 9 === nativeEventTarget.nodeType ? nativeEventTarget : nativeEventTarget.ownerDocument;
          mouseDown || null == activeElement2 || activeElement2 !== getActiveElement(doc) || (doc = activeElement2, "selectionStart" in doc && hasSelectionCapabilities(doc) ? doc = { start: doc.selectionStart, end: doc.selectionEnd } : (doc = (doc.ownerDocument && doc.ownerDocument.defaultView || window).getSelection(), doc = {
            anchorNode: doc.anchorNode,
            anchorOffset: doc.anchorOffset,
            focusNode: doc.focusNode,
            focusOffset: doc.focusOffset
          }), lastSelection && shallowEqual(lastSelection, doc) || (lastSelection = doc, doc = accumulateTwoPhaseListeners(activeElementInst, "onSelect"), 0 < doc.length && (nativeEvent = new SyntheticEvent(
            "onSelect",
            "select",
            null,
            nativeEvent,
            nativeEventTarget
          ), dispatchQueue.push({ event: nativeEvent, listeners: doc }), nativeEvent.target = activeElement2)));
        }
        function makePrefixMap(styleProp, eventName) {
          var prefixes = {};
          prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();
          prefixes["Webkit" + styleProp] = "webkit" + eventName;
          prefixes["Moz" + styleProp] = "moz" + eventName;
          return prefixes;
        }
        function getVendorPrefixedEventName(eventName) {
          if (prefixedEventNames[eventName]) return prefixedEventNames[eventName];
          if (!vendorPrefixes[eventName]) return eventName;
          var prefixMap = vendorPrefixes[eventName], styleProp;
          for (styleProp in prefixMap)
            if (prefixMap.hasOwnProperty(styleProp) && styleProp in style)
              return prefixedEventNames[eventName] = prefixMap[styleProp];
          return eventName;
        }
        function registerSimpleEvent(domEventName, reactName) {
          topLevelEventsToReactNames.set(domEventName, reactName);
          registerTwoPhaseEvent(reactName, [domEventName]);
        }
        function getArrayKind(array2) {
          for (var kind = EMPTY_ARRAY2, i2 = 0; i2 < array2.length; i2++) {
            var value = array2[i2];
            if ("object" === typeof value && null !== value)
              if (isArrayImpl(value) && 2 === value.length && "string" === typeof value[0]) {
                if (kind !== EMPTY_ARRAY2 && kind !== ENTRIES_ARRAY)
                  return COMPLEX_ARRAY;
                kind = ENTRIES_ARRAY;
              } else return COMPLEX_ARRAY;
            else {
              if ("function" === typeof value || "string" === typeof value && 50 < value.length || kind !== EMPTY_ARRAY2 && kind !== PRIMITIVE_ARRAY)
                return COMPLEX_ARRAY;
              kind = PRIMITIVE_ARRAY;
            }
          }
          return kind;
        }
        function addObjectToProperties(object, properties, indent, prefix3) {
          for (var key in object)
            hasOwnProperty2.call(object, key) && "_" !== key[0] && addValueToProperties(key, object[key], properties, indent, prefix3);
        }
        function addValueToProperties(propertyName, value, properties, indent, prefix3) {
          switch (typeof value) {
            case "object":
              if (null === value) {
                value = "null";
                break;
              } else {
                if (value.$$typeof === REACT_ELEMENT_TYPE) {
                  var typeName2 = getComponentNameFromType(value.type) || "\u2026", key = value.key;
                  value = value.props;
                  var propsKeys = Object.keys(value), propsLength = propsKeys.length;
                  if (null == key && 0 === propsLength) {
                    value = "<" + typeName2 + " />";
                    break;
                  }
                  if (3 > indent || 1 === propsLength && "children" === propsKeys[0] && null == key) {
                    value = "<" + typeName2 + " \u2026 />";
                    break;
                  }
                  properties.push([
                    prefix3 + "\xA0\xA0".repeat(indent) + propertyName,
                    "<" + typeName2
                  ]);
                  null !== key && addValueToProperties(
                    "key",
                    key,
                    properties,
                    indent + 1,
                    prefix3
                  );
                  propertyName = false;
                  for (var propKey in value)
                    "children" === propKey ? null != value.children && (!isArrayImpl(value.children) || 0 < value.children.length) && (propertyName = true) : hasOwnProperty2.call(value, propKey) && "_" !== propKey[0] && addValueToProperties(
                      propKey,
                      value[propKey],
                      properties,
                      indent + 1,
                      prefix3
                    );
                  properties.push([
                    "",
                    propertyName ? ">\u2026</" + typeName2 + ">" : "/>"
                  ]);
                  return;
                }
                typeName2 = Object.prototype.toString.call(value);
                typeName2 = typeName2.slice(8, typeName2.length - 1);
                if ("Array" === typeName2) {
                  if (propKey = getArrayKind(value), propKey === PRIMITIVE_ARRAY || propKey === EMPTY_ARRAY2) {
                    value = JSON.stringify(value);
                    break;
                  } else if (propKey === ENTRIES_ARRAY) {
                    properties.push([
                      prefix3 + "\xA0\xA0".repeat(indent) + propertyName,
                      ""
                    ]);
                    for (propertyName = 0; propertyName < value.length; propertyName++)
                      typeName2 = value[propertyName], addValueToProperties(
                        typeName2[0],
                        typeName2[1],
                        properties,
                        indent + 1,
                        prefix3
                      );
                    return;
                  }
                }
                if ("Promise" === typeName2) {
                  if ("fulfilled" === value.status) {
                    if (typeName2 = properties.length, addValueToProperties(
                      propertyName,
                      value.value,
                      properties,
                      indent,
                      prefix3
                    ), properties.length > typeName2) {
                      properties = properties[typeName2];
                      properties[1] = "Promise<" + (properties[1] || "Object") + ">";
                      return;
                    }
                  } else if ("rejected" === value.status && (typeName2 = properties.length, addValueToProperties(
                    propertyName,
                    value.reason,
                    properties,
                    indent,
                    prefix3
                  ), properties.length > typeName2)) {
                    properties = properties[typeName2];
                    properties[1] = "Rejected Promise<" + properties[1] + ">";
                    return;
                  }
                  properties.push([
                    "\xA0\xA0".repeat(indent) + propertyName,
                    "Promise"
                  ]);
                  return;
                }
                "Object" === typeName2 && (propKey = Object.getPrototypeOf(value)) && "function" === typeof propKey.constructor && (typeName2 = propKey.constructor.name);
                properties.push([
                  prefix3 + "\xA0\xA0".repeat(indent) + propertyName,
                  "Object" === typeName2 ? 3 > indent ? "" : "\u2026" : typeName2
                ]);
                3 > indent && addObjectToProperties(value, properties, indent + 1, prefix3);
                return;
              }
            case "function":
              value = "" === value.name ? "() => {}" : value.name + "() {}";
              break;
            case "string":
              value = value === OMITTED_PROP_ERROR ? "\u2026" : JSON.stringify(value);
              break;
            case "undefined":
              value = "undefined";
              break;
            case "boolean":
              value = value ? "true" : "false";
              break;
            default:
              value = String(value);
          }
          properties.push([
            prefix3 + "\xA0\xA0".repeat(indent) + propertyName,
            value
          ]);
        }
        function addObjectDiffToProperties(prev3, next2, properties, indent) {
          var isDeeplyEqual = true;
          for (key in prev3)
            key in next2 || (properties.push([
              REMOVED + "\xA0\xA0".repeat(indent) + key,
              "\u2026"
            ]), isDeeplyEqual = false);
          for (var _key in next2)
            if (_key in prev3) {
              var key = prev3[_key];
              var nextValue = next2[_key];
              if (key !== nextValue) {
                if (0 === indent && "children" === _key)
                  isDeeplyEqual = "\xA0\xA0".repeat(indent) + _key, properties.push(
                    [REMOVED + isDeeplyEqual, "\u2026"],
                    [ADDED + isDeeplyEqual, "\u2026"]
                  );
                else {
                  if (!(3 <= indent)) {
                    if ("object" === typeof key && "object" === typeof nextValue && null !== key && null !== nextValue && key.$$typeof === nextValue.$$typeof)
                      if (nextValue.$$typeof === REACT_ELEMENT_TYPE) {
                        if (key.type === nextValue.type && key.key === nextValue.key) {
                          key = getComponentNameFromType(nextValue.type) || "\u2026";
                          isDeeplyEqual = "\xA0\xA0".repeat(indent) + _key;
                          key = "<" + key + " \u2026 />";
                          properties.push(
                            [REMOVED + isDeeplyEqual, key],
                            [ADDED + isDeeplyEqual, key]
                          );
                          isDeeplyEqual = false;
                          continue;
                        }
                      } else {
                        var prevKind = Object.prototype.toString.call(key), nextKind = Object.prototype.toString.call(nextValue);
                        if (prevKind === nextKind && ("[object Object]" === nextKind || "[object Array]" === nextKind)) {
                          prevKind = [
                            UNCHANGED + "\xA0\xA0".repeat(indent) + _key,
                            "[object Array]" === nextKind ? "Array" : ""
                          ];
                          properties.push(prevKind);
                          nextKind = properties.length;
                          addObjectDiffToProperties(
                            key,
                            nextValue,
                            properties,
                            indent + 1
                          ) ? nextKind === properties.length && (prevKind[1] = "Referentially unequal but deeply equal objects. Consider memoization.") : isDeeplyEqual = false;
                          continue;
                        }
                      }
                    else if ("function" === typeof key && "function" === typeof nextValue && key.name === nextValue.name && key.length === nextValue.length && (prevKind = Function.prototype.toString.call(key), nextKind = Function.prototype.toString.call(nextValue), prevKind === nextKind)) {
                      key = "" === nextValue.name ? "() => {}" : nextValue.name + "() {}";
                      properties.push([
                        UNCHANGED + "\xA0\xA0".repeat(indent) + _key,
                        key + " Referentially unequal function closure. Consider memoization."
                      ]);
                      continue;
                    }
                  }
                  addValueToProperties(_key, key, properties, indent, REMOVED);
                  addValueToProperties(_key, nextValue, properties, indent, ADDED);
                }
                isDeeplyEqual = false;
              }
            } else
              properties.push([
                ADDED + "\xA0\xA0".repeat(indent) + _key,
                "\u2026"
              ]), isDeeplyEqual = false;
          return isDeeplyEqual;
        }
        function setCurrentTrackFromLanes(lanes) {
          currentTrack = lanes & 63 ? "Blocking" : lanes & 64 ? "Gesture" : lanes & 4194176 ? "Transition" : lanes & 62914560 ? "Suspense" : lanes & 2080374784 ? "Idle" : "Other";
        }
        function logComponentTrigger(fiber, startTime, endTime, trigger) {
          supportsUserTiming && (reusableComponentOptions.start = startTime, reusableComponentOptions.end = endTime, reusableComponentDevToolDetails.color = "warning", reusableComponentDevToolDetails.tooltipText = trigger, reusableComponentDevToolDetails.properties = null, (fiber = fiber._debugTask) ? fiber.run(
            performance.measure.bind(
              performance,
              trigger,
              reusableComponentOptions
            )
          ) : performance.measure(trigger, reusableComponentOptions));
        }
        function logComponentReappeared(fiber, startTime, endTime) {
          logComponentTrigger(fiber, startTime, endTime, "Reconnect");
        }
        function logComponentRender(fiber, startTime, endTime, wasHydrated, committedLanes) {
          var name = getComponentNameFromFiber(fiber);
          if (null !== name && supportsUserTiming) {
            var alternate = fiber.alternate, selfTime = fiber.actualDuration;
            if (null === alternate || alternate.child !== fiber.child)
              for (var child = fiber.child; null !== child; child = child.sibling)
                selfTime -= child.actualDuration;
            wasHydrated = 0.5 > selfTime ? wasHydrated ? "tertiary-light" : "primary-light" : 10 > selfTime ? wasHydrated ? "tertiary" : "primary" : 100 > selfTime ? wasHydrated ? "tertiary-dark" : "primary-dark" : "error";
            var props = fiber.memoizedProps;
            selfTime = fiber._debugTask;
            null !== props && null !== alternate && alternate.memoizedProps !== props ? (child = [resuableChangedPropsEntry], props = addObjectDiffToProperties(
              alternate.memoizedProps,
              props,
              child,
              0
            ), 1 < child.length && (props && !alreadyWarnedForDeepEquality && 0 === (alternate.lanes & committedLanes) && 100 < fiber.actualDuration ? (alreadyWarnedForDeepEquality = true, child[0] = reusableDeeplyEqualPropsEntry, reusableComponentDevToolDetails.color = "warning", reusableComponentDevToolDetails.tooltipText = DEEP_EQUALITY_WARNING) : (reusableComponentDevToolDetails.color = wasHydrated, reusableComponentDevToolDetails.tooltipText = name), reusableComponentDevToolDetails.properties = child, reusableComponentOptions.start = startTime, reusableComponentOptions.end = endTime, null != selfTime ? selfTime.run(
              performance.measure.bind(
                performance,
                "\u200B" + name,
                reusableComponentOptions
              )
            ) : performance.measure(
              "\u200B" + name,
              reusableComponentOptions
            ))) : null != selfTime ? selfTime.run(
              console.timeStamp.bind(
                console,
                name,
                startTime,
                endTime,
                COMPONENTS_TRACK,
                void 0,
                wasHydrated
              )
            ) : console.timeStamp(
              name,
              startTime,
              endTime,
              COMPONENTS_TRACK,
              void 0,
              wasHydrated
            );
          }
        }
        function logComponentErrored(fiber, startTime, endTime, errors) {
          if (supportsUserTiming) {
            var name = getComponentNameFromFiber(fiber);
            if (null !== name) {
              for (var debugTask = null, properties = [], i2 = 0; i2 < errors.length; i2++) {
                var capturedValue = errors[i2];
                null == debugTask && null !== capturedValue.source && (debugTask = capturedValue.source._debugTask);
                capturedValue = capturedValue.value;
                properties.push([
                  "Error",
                  "object" === typeof capturedValue && null !== capturedValue && "string" === typeof capturedValue.message ? String(capturedValue.message) : String(capturedValue)
                ]);
              }
              null !== fiber.key && addValueToProperties("key", fiber.key, properties, 0, "");
              null !== fiber.memoizedProps && addObjectToProperties(fiber.memoizedProps, properties, 0, "");
              null == debugTask && (debugTask = fiber._debugTask);
              fiber = {
                start: startTime,
                end: endTime,
                detail: {
                  devtools: {
                    color: "error",
                    track: COMPONENTS_TRACK,
                    tooltipText: 13 === fiber.tag ? "Hydration failed" : "Error boundary caught an error",
                    properties
                  }
                }
              };
              debugTask ? debugTask.run(
                performance.measure.bind(performance, "\u200B" + name, fiber)
              ) : performance.measure("\u200B" + name, fiber);
            }
          }
        }
        function logComponentEffect(fiber, startTime, endTime, selfTime, errors) {
          if (null !== errors) {
            if (supportsUserTiming) {
              var name = getComponentNameFromFiber(fiber);
              if (null !== name) {
                selfTime = [];
                for (var i2 = 0; i2 < errors.length; i2++) {
                  var error2 = errors[i2].value;
                  selfTime.push([
                    "Error",
                    "object" === typeof error2 && null !== error2 && "string" === typeof error2.message ? String(error2.message) : String(error2)
                  ]);
                }
                null !== fiber.key && addValueToProperties("key", fiber.key, selfTime, 0, "");
                null !== fiber.memoizedProps && addObjectToProperties(fiber.memoizedProps, selfTime, 0, "");
                startTime = {
                  start: startTime,
                  end: endTime,
                  detail: {
                    devtools: {
                      color: "error",
                      track: COMPONENTS_TRACK,
                      tooltipText: "A lifecycle or effect errored",
                      properties: selfTime
                    }
                  }
                };
                (fiber = fiber._debugTask) ? fiber.run(
                  performance.measure.bind(
                    performance,
                    "\u200B" + name,
                    startTime
                  )
                ) : performance.measure("\u200B" + name, startTime);
              }
            }
          } else
            name = getComponentNameFromFiber(fiber), null !== name && supportsUserTiming && (errors = 1 > selfTime ? "secondary-light" : 100 > selfTime ? "secondary" : 500 > selfTime ? "secondary-dark" : "error", (fiber = fiber._debugTask) ? fiber.run(
              console.timeStamp.bind(
                console,
                name,
                startTime,
                endTime,
                COMPONENTS_TRACK,
                void 0,
                errors
              )
            ) : console.timeStamp(
              name,
              startTime,
              endTime,
              COMPONENTS_TRACK,
              void 0,
              errors
            ));
        }
        function logRenderPhase(startTime, endTime, lanes, debugTask) {
          if (supportsUserTiming && !(endTime <= startTime)) {
            var color = (lanes & 738197653) === lanes ? "tertiary-dark" : "primary-dark";
            lanes = (lanes & 536870912) === lanes ? "Prepared" : (lanes & 201326741) === lanes ? "Hydrated" : "Render";
            debugTask ? debugTask.run(
              console.timeStamp.bind(
                console,
                lanes,
                startTime,
                endTime,
                currentTrack,
                LANES_TRACK_GROUP,
                color
              )
            ) : console.timeStamp(
              lanes,
              startTime,
              endTime,
              currentTrack,
              LANES_TRACK_GROUP,
              color
            );
          }
        }
        function logSuspendedRenderPhase(startTime, endTime, lanes, debugTask) {
          !supportsUserTiming || endTime <= startTime || (lanes = (lanes & 738197653) === lanes ? "tertiary-dark" : "primary-dark", debugTask ? debugTask.run(
            console.timeStamp.bind(
              console,
              "Prewarm",
              startTime,
              endTime,
              currentTrack,
              LANES_TRACK_GROUP,
              lanes
            )
          ) : console.timeStamp(
            "Prewarm",
            startTime,
            endTime,
            currentTrack,
            LANES_TRACK_GROUP,
            lanes
          ));
        }
        function logSuspendedWithDelayPhase(startTime, endTime, lanes, debugTask) {
          !supportsUserTiming || endTime <= startTime || (lanes = (lanes & 738197653) === lanes ? "tertiary-dark" : "primary-dark", debugTask ? debugTask.run(
            console.timeStamp.bind(
              console,
              "Suspended",
              startTime,
              endTime,
              currentTrack,
              LANES_TRACK_GROUP,
              lanes
            )
          ) : console.timeStamp(
            "Suspended",
            startTime,
            endTime,
            currentTrack,
            LANES_TRACK_GROUP,
            lanes
          ));
        }
        function logRecoveredRenderPhase(startTime, endTime, lanes, recoverableErrors, hydrationFailed, debugTask) {
          if (supportsUserTiming && !(endTime <= startTime)) {
            lanes = [];
            for (var i2 = 0; i2 < recoverableErrors.length; i2++) {
              var error2 = recoverableErrors[i2].value;
              lanes.push([
                "Recoverable Error",
                "object" === typeof error2 && null !== error2 && "string" === typeof error2.message ? String(error2.message) : String(error2)
              ]);
            }
            startTime = {
              start: startTime,
              end: endTime,
              detail: {
                devtools: {
                  color: "primary-dark",
                  track: currentTrack,
                  trackGroup: LANES_TRACK_GROUP,
                  tooltipText: hydrationFailed ? "Hydration Failed" : "Recovered after Error",
                  properties: lanes
                }
              }
            };
            debugTask ? debugTask.run(
              performance.measure.bind(performance, "Recovered", startTime)
            ) : performance.measure("Recovered", startTime);
          }
        }
        function logErroredRenderPhase(startTime, endTime, lanes, debugTask) {
          !supportsUserTiming || endTime <= startTime || (debugTask ? debugTask.run(
            console.timeStamp.bind(
              console,
              "Errored",
              startTime,
              endTime,
              currentTrack,
              LANES_TRACK_GROUP,
              "error"
            )
          ) : console.timeStamp(
            "Errored",
            startTime,
            endTime,
            currentTrack,
            LANES_TRACK_GROUP,
            "error"
          ));
        }
        function logSuspendedCommitPhase(startTime, endTime, reason, debugTask) {
          !supportsUserTiming || endTime <= startTime || (debugTask ? debugTask.run(
            console.timeStamp.bind(
              console,
              reason,
              startTime,
              endTime,
              currentTrack,
              LANES_TRACK_GROUP,
              "secondary-light"
            )
          ) : console.timeStamp(
            reason,
            startTime,
            endTime,
            currentTrack,
            LANES_TRACK_GROUP,
            "secondary-light"
          ));
        }
        function logCommitErrored(startTime, endTime, errors, passive, debugTask) {
          if (supportsUserTiming && !(endTime <= startTime)) {
            for (var properties = [], i2 = 0; i2 < errors.length; i2++) {
              var error2 = errors[i2].value;
              properties.push([
                "Error",
                "object" === typeof error2 && null !== error2 && "string" === typeof error2.message ? String(error2.message) : String(error2)
              ]);
            }
            startTime = {
              start: startTime,
              end: endTime,
              detail: {
                devtools: {
                  color: "error",
                  track: currentTrack,
                  trackGroup: LANES_TRACK_GROUP,
                  tooltipText: passive ? "Remaining Effects Errored" : "Commit Errored",
                  properties
                }
              }
            };
            debugTask ? debugTask.run(
              performance.measure.bind(performance, "Errored", startTime)
            ) : performance.measure("Errored", startTime);
          }
        }
        function logAnimatingPhase(startTime, endTime, debugTask) {
          !supportsUserTiming || endTime <= startTime || (debugTask ? debugTask.run(
            console.timeStamp.bind(
              console,
              "Animating",
              startTime,
              endTime,
              currentTrack,
              LANES_TRACK_GROUP,
              "secondary-dark"
            )
          ) : console.timeStamp(
            "Animating",
            startTime,
            endTime,
            currentTrack,
            LANES_TRACK_GROUP,
            "secondary-dark"
          ));
        }
        function finishQueueingConcurrentUpdates() {
          for (var endIndex = concurrentQueuesIndex, i2 = concurrentlyUpdatedLanes = concurrentQueuesIndex = 0; i2 < endIndex; ) {
            var fiber = concurrentQueues[i2];
            concurrentQueues[i2++] = null;
            var queue = concurrentQueues[i2];
            concurrentQueues[i2++] = null;
            var update = concurrentQueues[i2];
            concurrentQueues[i2++] = null;
            var lane = concurrentQueues[i2];
            concurrentQueues[i2++] = null;
            if (null !== queue && null !== update) {
              var pending = queue.pending;
              null === pending ? update.next = update : (update.next = pending.next, pending.next = update);
              queue.pending = update;
            }
            0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);
          }
        }
        function enqueueUpdate$1(fiber, queue, update, lane) {
          concurrentQueues[concurrentQueuesIndex++] = fiber;
          concurrentQueues[concurrentQueuesIndex++] = queue;
          concurrentQueues[concurrentQueuesIndex++] = update;
          concurrentQueues[concurrentQueuesIndex++] = lane;
          concurrentlyUpdatedLanes |= lane;
          fiber.lanes |= lane;
          fiber = fiber.alternate;
          null !== fiber && (fiber.lanes |= lane);
        }
        function enqueueConcurrentHookUpdate(fiber, queue, update, lane) {
          enqueueUpdate$1(fiber, queue, update, lane);
          return getRootForUpdatedFiber(fiber);
        }
        function enqueueConcurrentRenderForLane(fiber, lane) {
          enqueueUpdate$1(fiber, null, null, lane);
          return getRootForUpdatedFiber(fiber);
        }
        function markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {
          sourceFiber.lanes |= lane;
          var alternate = sourceFiber.alternate;
          null !== alternate && (alternate.lanes |= lane);
          for (var isHidden3 = false, parent = sourceFiber.return; null !== parent; )
            parent.childLanes |= lane, alternate = parent.alternate, null !== alternate && (alternate.childLanes |= lane), 22 === parent.tag && (sourceFiber = parent.stateNode, null === sourceFiber || sourceFiber._visibility & OffscreenVisible || (isHidden3 = true)), sourceFiber = parent, parent = parent.return;
          return 3 === sourceFiber.tag ? (parent = sourceFiber.stateNode, isHidden3 && null !== update && (isHidden3 = 31 - clz32(lane), sourceFiber = parent.hiddenUpdates, alternate = sourceFiber[isHidden3], null === alternate ? sourceFiber[isHidden3] = [update] : alternate.push(update), update.lane = lane | 536870912), parent) : null;
        }
        function getRootForUpdatedFiber(sourceFiber) {
          if (nestedUpdateCount > NESTED_UPDATE_LIMIT)
            throw nestedPassiveUpdateCount = nestedUpdateCount = 0, rootWithPassiveNestedUpdates = rootWithNestedUpdates = null, 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."
            );
          nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT && (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, console.error(
            "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."
          ));
          null === sourceFiber.alternate && 0 !== (sourceFiber.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);
          for (var node2 = sourceFiber, parent = node2.return; null !== parent; )
            null === node2.alternate && 0 !== (node2.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber), node2 = parent, parent = node2.return;
          return 3 === node2.tag ? node2.stateNode : null;
        }
        function resolveFunctionForHotReloading(type2) {
          if (null === resolveFamily) return type2;
          var family = resolveFamily(type2);
          return void 0 === family ? type2 : family.current;
        }
        function resolveForwardRefForHotReloading(type2) {
          if (null === resolveFamily) return type2;
          var family = resolveFamily(type2);
          return void 0 === family ? null !== type2 && void 0 !== type2 && "function" === typeof type2.render && (family = resolveFunctionForHotReloading(type2.render), type2.render !== family) ? (family = { $$typeof: REACT_FORWARD_REF_TYPE, render: family }, void 0 !== type2.displayName && (family.displayName = type2.displayName), family) : type2 : family.current;
        }
        function isCompatibleFamilyForHotReloading(fiber, element) {
          if (null === resolveFamily) return false;
          var prevType = fiber.elementType;
          element = element.type;
          var needsCompareFamilies = false, $$typeofNextType = "object" === typeof element && null !== element ? element.$$typeof : null;
          switch (fiber.tag) {
            case 1:
              "function" === typeof element && (needsCompareFamilies = true);
              break;
            case 0:
              "function" === typeof element ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true);
              break;
            case 11:
              $$typeofNextType === REACT_FORWARD_REF_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true);
              break;
            case 14:
            case 15:
              $$typeofNextType === REACT_MEMO_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true);
              break;
            default:
              return false;
          }
          return needsCompareFamilies && (fiber = resolveFamily(prevType), void 0 !== fiber && fiber === resolveFamily(element)) ? true : false;
        }
        function markFailedErrorBoundaryForHotReloading(fiber) {
          null !== resolveFamily && "function" === typeof WeakSet && (null === failedBoundaries && (failedBoundaries = /* @__PURE__ */ new WeakSet()), failedBoundaries.add(fiber));
        }
        function scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) {
          do {
            var _fiber = fiber, alternate = _fiber.alternate, child = _fiber.child, sibling = _fiber.sibling, tag = _fiber.tag;
            _fiber = _fiber.type;
            var candidateType = null;
            switch (tag) {
              case 0:
              case 15:
              case 1:
                candidateType = _fiber;
                break;
              case 11:
                candidateType = _fiber.render;
            }
            if (null === resolveFamily)
              throw Error("Expected resolveFamily to be set during hot reload.");
            var needsRender = false;
            _fiber = false;
            null !== candidateType && (candidateType = resolveFamily(candidateType), void 0 !== candidateType && (staleFamilies.has(candidateType) ? _fiber = true : updatedFamilies.has(candidateType) && (1 === tag ? _fiber = true : needsRender = true)));
            null !== failedBoundaries && (failedBoundaries.has(fiber) || null !== alternate && failedBoundaries.has(alternate)) && (_fiber = true);
            _fiber && (fiber._debugNeedsRemount = true);
            if (_fiber || needsRender)
              alternate = enqueueConcurrentRenderForLane(fiber, 2), null !== alternate && scheduleUpdateOnFiber(alternate, fiber, 2);
            null === child || _fiber || scheduleFibersWithFamiliesRecursively(
              child,
              updatedFamilies,
              staleFamilies
            );
            if (null === sibling) break;
            fiber = sibling;
          } while (1);
        }
        function FiberNode(tag, pendingProps, key, mode) {
          this.tag = tag;
          this.key = key;
          this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null;
          this.index = 0;
          this.refCleanup = this.ref = null;
          this.pendingProps = pendingProps;
          this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null;
          this.mode = mode;
          this.subtreeFlags = this.flags = 0;
          this.deletions = null;
          this.childLanes = this.lanes = 0;
          this.alternate = null;
          this.actualDuration = -0;
          this.actualStartTime = -1.1;
          this.treeBaseDuration = this.selfBaseDuration = -0;
          this._debugTask = this._debugStack = this._debugOwner = this._debugInfo = null;
          this._debugNeedsRemount = false;
          this._debugHookTypes = null;
          hasBadMapPolyfill || "function" !== typeof Object.preventExtensions || Object.preventExtensions(this);
        }
        function shouldConstruct(Component) {
          Component = Component.prototype;
          return !(!Component || !Component.isReactComponent);
        }
        function createWorkInProgress(current2, pendingProps) {
          var workInProgress2 = current2.alternate;
          null === workInProgress2 ? (workInProgress2 = createFiber(
            current2.tag,
            pendingProps,
            current2.key,
            current2.mode
          ), workInProgress2.elementType = current2.elementType, workInProgress2.type = current2.type, workInProgress2.stateNode = current2.stateNode, workInProgress2._debugOwner = current2._debugOwner, workInProgress2._debugStack = current2._debugStack, workInProgress2._debugTask = current2._debugTask, workInProgress2._debugHookTypes = current2._debugHookTypes, workInProgress2.alternate = current2, current2.alternate = workInProgress2) : (workInProgress2.pendingProps = pendingProps, workInProgress2.type = current2.type, workInProgress2.flags = 0, workInProgress2.subtreeFlags = 0, workInProgress2.deletions = null, workInProgress2.actualDuration = -0, workInProgress2.actualStartTime = -1.1);
          workInProgress2.flags = current2.flags & 65011712;
          workInProgress2.childLanes = current2.childLanes;
          workInProgress2.lanes = current2.lanes;
          workInProgress2.child = current2.child;
          workInProgress2.memoizedProps = current2.memoizedProps;
          workInProgress2.memoizedState = current2.memoizedState;
          workInProgress2.updateQueue = current2.updateQueue;
          pendingProps = current2.dependencies;
          workInProgress2.dependencies = null === pendingProps ? null : {
            lanes: pendingProps.lanes,
            firstContext: pendingProps.firstContext,
            _debugThenableState: pendingProps._debugThenableState
          };
          workInProgress2.sibling = current2.sibling;
          workInProgress2.index = current2.index;
          workInProgress2.ref = current2.ref;
          workInProgress2.refCleanup = current2.refCleanup;
          workInProgress2.selfBaseDuration = current2.selfBaseDuration;
          workInProgress2.treeBaseDuration = current2.treeBaseDuration;
          workInProgress2._debugInfo = current2._debugInfo;
          workInProgress2._debugNeedsRemount = current2._debugNeedsRemount;
          switch (workInProgress2.tag) {
            case 0:
            case 15:
              workInProgress2.type = resolveFunctionForHotReloading(current2.type);
              break;
            case 1:
              workInProgress2.type = resolveFunctionForHotReloading(current2.type);
              break;
            case 11:
              workInProgress2.type = resolveForwardRefForHotReloading(current2.type);
          }
          return workInProgress2;
        }
        function resetWorkInProgress(workInProgress2, renderLanes2) {
          workInProgress2.flags &= 65011714;
          var current2 = workInProgress2.alternate;
          null === current2 ? (workInProgress2.childLanes = 0, workInProgress2.lanes = renderLanes2, workInProgress2.child = null, workInProgress2.subtreeFlags = 0, workInProgress2.memoizedProps = null, workInProgress2.memoizedState = null, workInProgress2.updateQueue = null, workInProgress2.dependencies = null, workInProgress2.stateNode = null, workInProgress2.selfBaseDuration = 0, workInProgress2.treeBaseDuration = 0) : (workInProgress2.childLanes = current2.childLanes, workInProgress2.lanes = current2.lanes, workInProgress2.child = current2.child, workInProgress2.subtreeFlags = 0, workInProgress2.deletions = null, workInProgress2.memoizedProps = current2.memoizedProps, workInProgress2.memoizedState = current2.memoizedState, workInProgress2.updateQueue = current2.updateQueue, workInProgress2.type = current2.type, renderLanes2 = current2.dependencies, workInProgress2.dependencies = null === renderLanes2 ? null : {
            lanes: renderLanes2.lanes,
            firstContext: renderLanes2.firstContext,
            _debugThenableState: renderLanes2._debugThenableState
          }, workInProgress2.selfBaseDuration = current2.selfBaseDuration, workInProgress2.treeBaseDuration = current2.treeBaseDuration);
          return workInProgress2;
        }
        function createFiberFromTypeAndProps(type2, key, pendingProps, owner, mode, lanes) {
          var fiberTag = 0, resolvedType = type2;
          if ("function" === typeof type2)
            shouldConstruct(type2) && (fiberTag = 1), resolvedType = resolveFunctionForHotReloading(resolvedType);
          else if ("string" === typeof type2)
            fiberTag = getHostContext(), fiberTag = isHostHoistableType(type2, pendingProps, fiberTag) ? 26 : "html" === type2 || "head" === type2 || "body" === type2 ? 27 : 5;
          else
            a: switch (type2) {
              case REACT_ACTIVITY_TYPE:
                return key = createFiber(31, pendingProps, key, mode), key.elementType = REACT_ACTIVITY_TYPE, key.lanes = lanes, key;
              case REACT_FRAGMENT_TYPE:
                return createFiberFromFragment(
                  pendingProps.children,
                  mode,
                  lanes,
                  key
                );
              case REACT_STRICT_MODE_TYPE:
                fiberTag = 8;
                mode |= StrictLegacyMode;
                mode |= StrictEffectsMode;
                break;
              case REACT_PROFILER_TYPE:
                return type2 = pendingProps, owner = mode, "string" !== typeof type2.id && console.error(
                  'Profiler must specify an "id" of type `string` as a prop. Received the type `%s` instead.',
                  typeof type2.id
                ), key = createFiber(12, type2, key, owner | ProfileMode), key.elementType = REACT_PROFILER_TYPE, key.lanes = lanes, key.stateNode = { effectDuration: 0, passiveEffectDuration: 0 }, key;
              case REACT_SUSPENSE_TYPE:
                return key = createFiber(13, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_TYPE, key.lanes = lanes, key;
              case REACT_SUSPENSE_LIST_TYPE:
                return key = createFiber(19, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_LIST_TYPE, key.lanes = lanes, key;
              default:
                if ("object" === typeof type2 && null !== type2)
                  switch (type2.$$typeof) {
                    case REACT_CONTEXT_TYPE:
                      fiberTag = 10;
                      break a;
                    case REACT_CONSUMER_TYPE:
                      fiberTag = 9;
                      break a;
                    case REACT_FORWARD_REF_TYPE:
                      fiberTag = 11;
                      resolvedType = resolveForwardRefForHotReloading(resolvedType);
                      break a;
                    case REACT_MEMO_TYPE:
                      fiberTag = 14;
                      break a;
                    case REACT_LAZY_TYPE:
                      fiberTag = 16;
                      resolvedType = null;
                      break a;
                  }
                resolvedType = "";
                if (void 0 === type2 || "object" === typeof type2 && null !== type2 && 0 === Object.keys(type2).length)
                  resolvedType += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.";
                null === type2 ? pendingProps = "null" : isArrayImpl(type2) ? pendingProps = "array" : void 0 !== type2 && type2.$$typeof === REACT_ELEMENT_TYPE ? (pendingProps = "<" + (getComponentNameFromType(type2.type) || "Unknown") + " />", resolvedType = " Did you accidentally export a JSX literal instead of a component?") : pendingProps = typeof type2;
                (fiberTag = owner ? getComponentNameFromOwner(owner) : null) && (resolvedType += "\n\nCheck the render method of `" + fiberTag + "`.");
                fiberTag = 29;
                pendingProps = Error(
                  "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (pendingProps + "." + resolvedType)
                );
                resolvedType = null;
            }
          key = createFiber(fiberTag, pendingProps, key, mode);
          key.elementType = type2;
          key.type = resolvedType;
          key.lanes = lanes;
          key._debugOwner = owner;
          return key;
        }
        function createFiberFromElement(element, mode, lanes) {
          mode = createFiberFromTypeAndProps(
            element.type,
            element.key,
            element.props,
            element._owner,
            mode,
            lanes
          );
          mode._debugOwner = element._owner;
          mode._debugStack = element._debugStack;
          mode._debugTask = element._debugTask;
          return mode;
        }
        function createFiberFromFragment(elements, mode, lanes, key) {
          elements = createFiber(7, elements, key, mode);
          elements.lanes = lanes;
          return elements;
        }
        function createFiberFromText(content, mode, lanes) {
          content = createFiber(6, content, null, mode);
          content.lanes = lanes;
          return content;
        }
        function createFiberFromDehydratedFragment(dehydratedNode) {
          var fiber = createFiber(18, null, null, NoMode);
          fiber.stateNode = dehydratedNode;
          return fiber;
        }
        function createFiberFromPortal(portal, mode, lanes) {
          mode = createFiber(
            4,
            null !== portal.children ? portal.children : [],
            portal.key,
            mode
          );
          mode.lanes = lanes;
          mode.stateNode = {
            containerInfo: portal.containerInfo,
            pendingChildren: null,
            implementation: portal.implementation
          };
          return mode;
        }
        function createCapturedValueAtFiber(value, source) {
          if ("object" === typeof value && null !== value) {
            var existing = CapturedStacks.get(value);
            if (void 0 !== existing) return existing;
            source = {
              value,
              source,
              stack: getStackByFiberInDevAndProd(source)
            };
            CapturedStacks.set(value, source);
            return source;
          }
          return {
            value,
            source,
            stack: getStackByFiberInDevAndProd(source)
          };
        }
        function pushTreeFork(workInProgress2, totalChildren) {
          warnIfNotHydrating();
          forkStack[forkStackIndex++] = treeForkCount;
          forkStack[forkStackIndex++] = treeForkProvider;
          treeForkProvider = workInProgress2;
          treeForkCount = totalChildren;
        }
        function pushTreeId(workInProgress2, totalChildren, index3) {
          warnIfNotHydrating();
          idStack[idStackIndex++] = treeContextId;
          idStack[idStackIndex++] = treeContextOverflow;
          idStack[idStackIndex++] = treeContextProvider;
          treeContextProvider = workInProgress2;
          var baseIdWithLeadingBit = treeContextId;
          workInProgress2 = treeContextOverflow;
          var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;
          baseIdWithLeadingBit &= ~(1 << baseLength);
          index3 += 1;
          var length2 = 32 - clz32(totalChildren) + baseLength;
          if (30 < length2) {
            var numberOfOverflowBits = baseLength - baseLength % 5;
            length2 = (baseIdWithLeadingBit & (1 << numberOfOverflowBits) - 1).toString(32);
            baseIdWithLeadingBit >>= numberOfOverflowBits;
            baseLength -= numberOfOverflowBits;
            treeContextId = 1 << 32 - clz32(totalChildren) + baseLength | index3 << baseLength | baseIdWithLeadingBit;
            treeContextOverflow = length2 + workInProgress2;
          } else
            treeContextId = 1 << length2 | index3 << baseLength | baseIdWithLeadingBit, treeContextOverflow = workInProgress2;
        }
        function pushMaterializedTreeId(workInProgress2) {
          warnIfNotHydrating();
          null !== workInProgress2.return && (pushTreeFork(workInProgress2, 1), pushTreeId(workInProgress2, 1, 0));
        }
        function popTreeContext(workInProgress2) {
          for (; workInProgress2 === treeForkProvider; )
            treeForkProvider = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null, treeForkCount = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null;
          for (; workInProgress2 === treeContextProvider; )
            treeContextProvider = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextOverflow = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextId = idStack[--idStackIndex], idStack[idStackIndex] = null;
        }
        function getSuspendedTreeContext() {
          warnIfNotHydrating();
          return null !== treeContextProvider ? { id: treeContextId, overflow: treeContextOverflow } : null;
        }
        function restoreSuspendedTreeContext(workInProgress2, suspendedContext) {
          warnIfNotHydrating();
          idStack[idStackIndex++] = treeContextId;
          idStack[idStackIndex++] = treeContextOverflow;
          idStack[idStackIndex++] = treeContextProvider;
          treeContextId = suspendedContext.id;
          treeContextOverflow = suspendedContext.overflow;
          treeContextProvider = workInProgress2;
        }
        function warnIfNotHydrating() {
          isHydrating || console.error(
            "Expected to be hydrating. This is a bug in React. Please file an issue."
          );
        }
        function buildHydrationDiffNode(fiber, distanceFromLeaf) {
          if (null === fiber.return) {
            if (null === hydrationDiffRootDEV)
              hydrationDiffRootDEV = {
                fiber,
                children: [],
                serverProps: void 0,
                serverTail: [],
                distanceFromLeaf
              };
            else {
              if (hydrationDiffRootDEV.fiber !== fiber)
                throw Error(
                  "Saw multiple hydration diff roots in a pass. This is a bug in React."
                );
              hydrationDiffRootDEV.distanceFromLeaf > distanceFromLeaf && (hydrationDiffRootDEV.distanceFromLeaf = distanceFromLeaf);
            }
            return hydrationDiffRootDEV;
          }
          var siblings2 = buildHydrationDiffNode(
            fiber.return,
            distanceFromLeaf + 1
          ).children;
          if (0 < siblings2.length && siblings2[siblings2.length - 1].fiber === fiber)
            return siblings2 = siblings2[siblings2.length - 1], siblings2.distanceFromLeaf > distanceFromLeaf && (siblings2.distanceFromLeaf = distanceFromLeaf), siblings2;
          distanceFromLeaf = {
            fiber,
            children: [],
            serverProps: void 0,
            serverTail: [],
            distanceFromLeaf
          };
          siblings2.push(distanceFromLeaf);
          return distanceFromLeaf;
        }
        function warnIfHydrating() {
          isHydrating && console.error(
            "We should not be hydrating here. This is a bug in React. Please file a bug."
          );
        }
        function warnNonHydratedInstance(fiber, rejectedCandidate) {
          didSuspendOrErrorDEV || (fiber = buildHydrationDiffNode(fiber, 0), fiber.serverProps = null, null !== rejectedCandidate && (rejectedCandidate = describeHydratableInstanceForDevWarnings(rejectedCandidate), fiber.serverTail.push(rejectedCandidate)));
        }
        function throwOnHydrationMismatch(fiber) {
          var fromText = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : false, diff = "", diffRoot = hydrationDiffRootDEV;
          null !== diffRoot && (hydrationDiffRootDEV = null, diff = describeDiff(diffRoot));
          queueHydrationError(
            createCapturedValueAtFiber(
              Error(
                "Hydration failed because the server rendered " + (fromText ? "text" : "HTML") + " didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:\n\n- A server/client branch `if (typeof window !== 'undefined')`.\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\n- Date formatting in a user's locale which doesn't match the server.\n- External changing data without sending a snapshot of it along with the HTML.\n- Invalid HTML tag nesting.\n\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\n\nhttps://react.dev/link/hydration-mismatch" + diff
              ),
              fiber
            )
          );
          throw HydrationMismatchException;
        }
        function prepareToHydrateHostInstance(fiber) {
          var didHydrate = fiber.stateNode;
          var type2 = fiber.type, props = fiber.memoizedProps;
          didHydrate[internalInstanceKey] = fiber;
          didHydrate[internalPropsKey] = props;
          validatePropertiesInDevelopment(type2, props);
          switch (type2) {
            case "dialog":
              listenToNonDelegatedEvent("cancel", didHydrate);
              listenToNonDelegatedEvent("close", didHydrate);
              break;
            case "iframe":
            case "object":
            case "embed":
              listenToNonDelegatedEvent("load", didHydrate);
              break;
            case "video":
            case "audio":
              for (type2 = 0; type2 < mediaEventTypes.length; type2++)
                listenToNonDelegatedEvent(mediaEventTypes[type2], didHydrate);
              break;
            case "source":
              listenToNonDelegatedEvent("error", didHydrate);
              break;
            case "img":
            case "image":
            case "link":
              listenToNonDelegatedEvent("error", didHydrate);
              listenToNonDelegatedEvent("load", didHydrate);
              break;
            case "details":
              listenToNonDelegatedEvent("toggle", didHydrate);
              break;
            case "input":
              checkControlledValueProps("input", props);
              listenToNonDelegatedEvent("invalid", didHydrate);
              validateInputProps(didHydrate, props);
              initInput(
                didHydrate,
                props.value,
                props.defaultValue,
                props.checked,
                props.defaultChecked,
                props.type,
                props.name,
                true
              );
              break;
            case "option":
              validateOptionProps(didHydrate, props);
              break;
            case "select":
              checkControlledValueProps("select", props);
              listenToNonDelegatedEvent("invalid", didHydrate);
              validateSelectProps(didHydrate, props);
              break;
            case "textarea":
              checkControlledValueProps("textarea", props), listenToNonDelegatedEvent("invalid", didHydrate), validateTextareaProps(didHydrate, props), initTextarea(
                didHydrate,
                props.value,
                props.defaultValue,
                props.children
              );
          }
          type2 = props.children;
          "string" !== typeof type2 && "number" !== typeof type2 && "bigint" !== typeof type2 || didHydrate.textContent === "" + type2 || true === props.suppressHydrationWarning || checkForUnmatchedText(didHydrate.textContent, type2) ? (null != props.popover && (listenToNonDelegatedEvent("beforetoggle", didHydrate), listenToNonDelegatedEvent("toggle", didHydrate)), null != props.onScroll && listenToNonDelegatedEvent("scroll", didHydrate), null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", didHydrate), null != props.onClick && (didHydrate.onclick = noop$1), didHydrate = true) : didHydrate = false;
          didHydrate || throwOnHydrationMismatch(fiber, true);
        }
        function popToNextHostParent(fiber) {
          for (hydrationParentFiber = fiber.return; hydrationParentFiber; )
            switch (hydrationParentFiber.tag) {
              case 5:
              case 31:
              case 13:
                rootOrSingletonContext = false;
                return;
              case 27:
              case 3:
                rootOrSingletonContext = true;
                return;
              default:
                hydrationParentFiber = hydrationParentFiber.return;
            }
        }
        function popHydrationState(fiber) {
          if (fiber !== hydrationParentFiber) return false;
          if (!isHydrating)
            return popToNextHostParent(fiber), isHydrating = true, false;
          var tag = fiber.tag, JSCompiler_temp;
          if (JSCompiler_temp = 3 !== tag && 27 !== tag) {
            if (JSCompiler_temp = 5 === tag)
              JSCompiler_temp = fiber.type, JSCompiler_temp = !("form" !== JSCompiler_temp && "button" !== JSCompiler_temp) || shouldSetTextContent(fiber.type, fiber.memoizedProps);
            JSCompiler_temp = !JSCompiler_temp;
          }
          if (JSCompiler_temp && nextHydratableInstance) {
            for (JSCompiler_temp = nextHydratableInstance; JSCompiler_temp; ) {
              var diffNode = buildHydrationDiffNode(fiber, 0), description = describeHydratableInstanceForDevWarnings(JSCompiler_temp);
              diffNode.serverTail.push(description);
              JSCompiler_temp = "Suspense" === description.type ? getNextHydratableInstanceAfterHydrationBoundary(JSCompiler_temp) : getNextHydratable(JSCompiler_temp.nextSibling);
            }
            throwOnHydrationMismatch(fiber);
          }
          popToNextHostParent(fiber);
          if (13 === tag) {
            fiber = fiber.memoizedState;
            fiber = null !== fiber ? fiber.dehydrated : null;
            if (!fiber)
              throw Error(
                "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue."
              );
            nextHydratableInstance = getNextHydratableInstanceAfterHydrationBoundary(fiber);
          } else if (31 === tag) {
            fiber = fiber.memoizedState;
            fiber = null !== fiber ? fiber.dehydrated : null;
            if (!fiber)
              throw Error(
                "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue."
              );
            nextHydratableInstance = getNextHydratableInstanceAfterHydrationBoundary(fiber);
          } else
            27 === tag ? (tag = nextHydratableInstance, isSingletonScope(fiber.type) ? (fiber = previousHydratableOnEnteringScopedSingleton, previousHydratableOnEnteringScopedSingleton = null, nextHydratableInstance = fiber) : nextHydratableInstance = tag) : nextHydratableInstance = hydrationParentFiber ? getNextHydratable(fiber.stateNode.nextSibling) : null;
          return true;
        }
        function resetHydrationState() {
          nextHydratableInstance = hydrationParentFiber = null;
          didSuspendOrErrorDEV = isHydrating = false;
        }
        function upgradeHydrationErrorsToRecoverable() {
          var queuedErrors = hydrationErrors;
          null !== queuedErrors && (null === workInProgressRootRecoverableErrors ? workInProgressRootRecoverableErrors = queuedErrors : workInProgressRootRecoverableErrors.push.apply(
            workInProgressRootRecoverableErrors,
            queuedErrors
          ), hydrationErrors = null);
          return queuedErrors;
        }
        function queueHydrationError(error2) {
          null === hydrationErrors ? hydrationErrors = [error2] : hydrationErrors.push(error2);
        }
        function emitPendingHydrationWarnings() {
          var diffRoot = hydrationDiffRootDEV;
          if (null !== diffRoot) {
            hydrationDiffRootDEV = null;
            for (var diff = describeDiff(diffRoot); 0 < diffRoot.children.length; )
              diffRoot = diffRoot.children[0];
            runWithFiberInDEV(diffRoot.fiber, function() {
              console.error(
                "A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:\n\n- A server/client branch `if (typeof window !== 'undefined')`.\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\n- Date formatting in a user's locale which doesn't match the server.\n- External changing data without sending a snapshot of it along with the HTML.\n- Invalid HTML tag nesting.\n\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\n\n%s%s",
                "https://react.dev/link/hydration-mismatch",
                diff
              );
            });
          }
        }
        function resetContextDependencies() {
          lastContextDependency = currentlyRenderingFiber$1 = null;
          isDisallowedContextReadInDEV = false;
        }
        function pushProvider(providerFiber, context, nextValue) {
          push(valueCursor, context._currentValue, providerFiber);
          context._currentValue = nextValue;
          push(rendererCursorDEV, context._currentRenderer, providerFiber);
          void 0 !== context._currentRenderer && null !== context._currentRenderer && context._currentRenderer !== rendererSigil && console.error(
            "Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."
          );
          context._currentRenderer = rendererSigil;
        }
        function popProvider(context, providerFiber) {
          context._currentValue = valueCursor.current;
          var currentRenderer = rendererCursorDEV.current;
          pop(rendererCursorDEV, providerFiber);
          context._currentRenderer = currentRenderer;
          pop(valueCursor, providerFiber);
        }
        function scheduleContextWorkOnParentPath(parent, renderLanes2, propagationRoot) {
          for (; null !== parent; ) {
            var alternate = parent.alternate;
            (parent.childLanes & renderLanes2) !== renderLanes2 ? (parent.childLanes |= renderLanes2, null !== alternate && (alternate.childLanes |= renderLanes2)) : null !== alternate && (alternate.childLanes & renderLanes2) !== renderLanes2 && (alternate.childLanes |= renderLanes2);
            if (parent === propagationRoot) break;
            parent = parent.return;
          }
          parent !== propagationRoot && console.error(
            "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 propagateContextChanges(workInProgress2, contexts, renderLanes2, forcePropagateEntireTree) {
          var fiber = workInProgress2.child;
          null !== fiber && (fiber.return = workInProgress2);
          for (; null !== fiber; ) {
            var list = fiber.dependencies;
            if (null !== list) {
              var nextFiber = fiber.child;
              list = list.firstContext;
              a: for (; null !== list; ) {
                var dependency = list;
                list = fiber;
                for (var i2 = 0; i2 < contexts.length; i2++)
                  if (dependency.context === contexts[i2]) {
                    list.lanes |= renderLanes2;
                    dependency = list.alternate;
                    null !== dependency && (dependency.lanes |= renderLanes2);
                    scheduleContextWorkOnParentPath(
                      list.return,
                      renderLanes2,
                      workInProgress2
                    );
                    forcePropagateEntireTree || (nextFiber = null);
                    break a;
                  }
                list = dependency.next;
              }
            } else if (18 === fiber.tag) {
              nextFiber = fiber.return;
              if (null === nextFiber)
                throw Error(
                  "We just came from a parent so we must have had a parent. This is a bug in React."
                );
              nextFiber.lanes |= renderLanes2;
              list = nextFiber.alternate;
              null !== list && (list.lanes |= renderLanes2);
              scheduleContextWorkOnParentPath(
                nextFiber,
                renderLanes2,
                workInProgress2
              );
              nextFiber = null;
            } else nextFiber = fiber.child;
            if (null !== nextFiber) nextFiber.return = fiber;
            else
              for (nextFiber = fiber; null !== nextFiber; ) {
                if (nextFiber === workInProgress2) {
                  nextFiber = null;
                  break;
                }
                fiber = nextFiber.sibling;
                if (null !== fiber) {
                  fiber.return = nextFiber.return;
                  nextFiber = fiber;
                  break;
                }
                nextFiber = nextFiber.return;
              }
            fiber = nextFiber;
          }
        }
        function propagateParentContextChanges(current2, workInProgress2, renderLanes2, forcePropagateEntireTree) {
          current2 = null;
          for (var parent = workInProgress2, isInsidePropagationBailout = false; null !== parent; ) {
            if (!isInsidePropagationBailout) {
              if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = true;
              else if (0 !== (parent.flags & 262144)) break;
            }
            if (10 === parent.tag) {
              var currentParent = parent.alternate;
              if (null === currentParent)
                throw Error("Should have a current fiber. This is a bug in React.");
              currentParent = currentParent.memoizedProps;
              if (null !== currentParent) {
                var context = parent.type;
                objectIs(parent.pendingProps.value, currentParent.value) || (null !== current2 ? current2.push(context) : current2 = [context]);
              }
            } else if (parent === hostTransitionProviderCursor.current) {
              currentParent = parent.alternate;
              if (null === currentParent)
                throw Error("Should have a current fiber. This is a bug in React.");
              currentParent.memoizedState.memoizedState !== parent.memoizedState.memoizedState && (null !== current2 ? current2.push(HostTransitionContext) : current2 = [HostTransitionContext]);
            }
            parent = parent.return;
          }
          null !== current2 && propagateContextChanges(
            workInProgress2,
            current2,
            renderLanes2,
            forcePropagateEntireTree
          );
          workInProgress2.flags |= 262144;
        }
        function checkIfContextChanged(currentDependencies) {
          for (currentDependencies = currentDependencies.firstContext; null !== currentDependencies; ) {
            if (!objectIs(
              currentDependencies.context._currentValue,
              currentDependencies.memoizedValue
            ))
              return true;
            currentDependencies = currentDependencies.next;
          }
          return false;
        }
        function prepareToReadContext(workInProgress2) {
          currentlyRenderingFiber$1 = workInProgress2;
          lastContextDependency = null;
          workInProgress2 = workInProgress2.dependencies;
          null !== workInProgress2 && (workInProgress2.firstContext = null);
        }
        function readContext(context) {
          isDisallowedContextReadInDEV && console.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()."
          );
          return readContextForConsumer(currentlyRenderingFiber$1, context);
        }
        function readContextDuringReconciliation(consumer, context) {
          null === currentlyRenderingFiber$1 && prepareToReadContext(consumer);
          return readContextForConsumer(consumer, context);
        }
        function readContextForConsumer(consumer, context) {
          var value = context._currentValue;
          context = { context, memoizedValue: value, next: null };
          if (null === lastContextDependency) {
            if (null === consumer)
              throw 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()."
              );
            lastContextDependency = context;
            consumer.dependencies = {
              lanes: 0,
              firstContext: context,
              _debugThenableState: null
            };
            consumer.flags |= 524288;
          } else lastContextDependency = lastContextDependency.next = context;
          return value;
        }
        function createCache3() {
          return {
            controller: new AbortControllerLocal(),
            data: /* @__PURE__ */ new Map(),
            refCount: 0
          };
        }
        function retainCache(cache2) {
          cache2.controller.signal.aborted && console.warn(
            "A cache instance was retained after it was already freed. This likely indicates a bug in React."
          );
          cache2.refCount++;
        }
        function releaseCache(cache2) {
          cache2.refCount--;
          0 > cache2.refCount && console.warn(
            "A cache instance was released after it was already freed. This likely indicates a bug in React."
          );
          0 === cache2.refCount && scheduleCallback$2(NormalPriority, function() {
            cache2.controller.abort();
          });
        }
        function startUpdateTimerByLane(lane, method, fiber) {
          if (0 !== (lane & 127))
            0 > blockingUpdateTime && (blockingUpdateTime = now(), blockingUpdateTask = createTask(method), blockingUpdateMethodName = method, null != fiber && (blockingUpdateComponentName = getComponentNameFromFiber(fiber)), (executionContext & (RenderContext | CommitContext)) !== NoContext && (componentEffectSpawnedUpdate = true, blockingUpdateType = SPAWNED_UPDATE), lane = resolveEventTimeStamp(), method = resolveEventType(), lane !== blockingEventRepeatTime || method !== blockingEventType ? blockingEventRepeatTime = -1.1 : null !== method && (blockingUpdateType = SPAWNED_UPDATE), blockingEventTime = lane, blockingEventType = method);
          else if (0 !== (lane & 4194048) && 0 > transitionUpdateTime && (transitionUpdateTime = now(), transitionUpdateTask = createTask(method), transitionUpdateMethodName = method, null != fiber && (transitionUpdateComponentName = getComponentNameFromFiber(fiber)), 0 > transitionStartTime)) {
            lane = resolveEventTimeStamp();
            method = resolveEventType();
            if (lane !== transitionEventRepeatTime || method !== transitionEventType)
              transitionEventRepeatTime = -1.1;
            transitionEventTime = lane;
            transitionEventType = method;
          }
        }
        function startHostActionTimer(fiber) {
          if (0 > blockingUpdateTime) {
            blockingUpdateTime = now();
            blockingUpdateTask = null != fiber._debugTask ? fiber._debugTask : null;
            (executionContext & (RenderContext | CommitContext)) !== NoContext && (blockingUpdateType = SPAWNED_UPDATE);
            var newEventTime = resolveEventTimeStamp(), newEventType = resolveEventType();
            newEventTime !== blockingEventRepeatTime || newEventType !== blockingEventType ? blockingEventRepeatTime = -1.1 : null !== newEventType && (blockingUpdateType = SPAWNED_UPDATE);
            blockingEventTime = newEventTime;
            blockingEventType = newEventType;
          }
          if (0 > transitionUpdateTime && (transitionUpdateTime = now(), transitionUpdateTask = null != fiber._debugTask ? fiber._debugTask : null, 0 > transitionStartTime)) {
            fiber = resolveEventTimeStamp();
            newEventTime = resolveEventType();
            if (fiber !== transitionEventRepeatTime || newEventTime !== transitionEventType)
              transitionEventRepeatTime = -1.1;
            transitionEventTime = fiber;
            transitionEventType = newEventTime;
          }
        }
        function pushNestedEffectDurations() {
          var prevEffectDuration = profilerEffectDuration;
          profilerEffectDuration = 0;
          return prevEffectDuration;
        }
        function popNestedEffectDurations(prevEffectDuration) {
          var elapsedTime = profilerEffectDuration;
          profilerEffectDuration = prevEffectDuration;
          return elapsedTime;
        }
        function bubbleNestedEffectDurations(prevEffectDuration) {
          var elapsedTime = profilerEffectDuration;
          profilerEffectDuration += prevEffectDuration;
          return elapsedTime;
        }
        function resetComponentEffectTimers() {
          componentEffectEndTime = componentEffectStartTime = -1.1;
        }
        function pushComponentEffectStart() {
          var prevEffectStart = componentEffectStartTime;
          componentEffectStartTime = -1.1;
          return prevEffectStart;
        }
        function popComponentEffectStart(prevEffectStart) {
          0 <= prevEffectStart && (componentEffectStartTime = prevEffectStart);
        }
        function pushComponentEffectDuration() {
          var prevEffectDuration = componentEffectDuration;
          componentEffectDuration = -0;
          return prevEffectDuration;
        }
        function popComponentEffectDuration(prevEffectDuration) {
          0 <= prevEffectDuration && (componentEffectDuration = prevEffectDuration);
        }
        function pushComponentEffectErrors() {
          var prevErrors = componentEffectErrors;
          componentEffectErrors = null;
          return prevErrors;
        }
        function pushComponentEffectDidSpawnUpdate() {
          var prev3 = componentEffectSpawnedUpdate;
          componentEffectSpawnedUpdate = false;
          return prev3;
        }
        function startProfilerTimer(fiber) {
          profilerStartTime = now();
          0 > fiber.actualStartTime && (fiber.actualStartTime = profilerStartTime);
        }
        function stopProfilerTimerIfRunningAndRecordDuration(fiber) {
          if (0 <= profilerStartTime) {
            var elapsedTime = now() - profilerStartTime;
            fiber.actualDuration += elapsedTime;
            fiber.selfBaseDuration = elapsedTime;
            profilerStartTime = -1;
          }
        }
        function stopProfilerTimerIfRunningAndRecordIncompleteDuration(fiber) {
          if (0 <= profilerStartTime) {
            var elapsedTime = now() - profilerStartTime;
            fiber.actualDuration += elapsedTime;
            profilerStartTime = -1;
          }
        }
        function recordEffectDuration() {
          if (0 <= profilerStartTime) {
            var endTime = now(), elapsedTime = endTime - profilerStartTime;
            profilerStartTime = -1;
            profilerEffectDuration += elapsedTime;
            componentEffectDuration += elapsedTime;
            componentEffectEndTime = endTime;
          }
        }
        function recordEffectError(errorInfo) {
          null === componentEffectErrors && (componentEffectErrors = []);
          componentEffectErrors.push(errorInfo);
          null === commitErrors && (commitErrors = []);
          commitErrors.push(errorInfo);
        }
        function startEffectTimer() {
          profilerStartTime = now();
          0 > componentEffectStartTime && (componentEffectStartTime = profilerStartTime);
        }
        function transferActualDuration(fiber) {
          for (var child = fiber.child; child; )
            fiber.actualDuration += child.actualDuration, child = child.sibling;
        }
        function entangleAsyncAction(transition, thenable) {
          if (null === currentEntangledListeners) {
            var entangledListeners = currentEntangledListeners = [];
            currentEntangledPendingCount = 0;
            currentEntangledLane = requestTransitionLane();
            currentEntangledActionThenable = {
              status: "pending",
              value: void 0,
              then: function(resolve) {
                entangledListeners.push(resolve);
              }
            };
          }
          currentEntangledPendingCount++;
          thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);
          return thenable;
        }
        function pingEngtangledActionScope() {
          if (0 === --currentEntangledPendingCount && (-1 < transitionUpdateTime || (transitionStartTime = -1.1), null !== currentEntangledListeners)) {
            null !== currentEntangledActionThenable && (currentEntangledActionThenable.status = "fulfilled");
            var listeners3 = currentEntangledListeners;
            currentEntangledListeners = null;
            currentEntangledLane = 0;
            currentEntangledActionThenable = null;
            for (var i2 = 0; i2 < listeners3.length; i2++) (0, listeners3[i2])();
          }
        }
        function chainThenableValue(thenable, result) {
          var listeners3 = [], thenableWithOverride = {
            status: "pending",
            value: null,
            reason: null,
            then: function(resolve) {
              listeners3.push(resolve);
            }
          };
          thenable.then(
            function() {
              thenableWithOverride.status = "fulfilled";
              thenableWithOverride.value = result;
              for (var i2 = 0; i2 < listeners3.length; i2++) (0, listeners3[i2])(result);
            },
            function(error2) {
              thenableWithOverride.status = "rejected";
              thenableWithOverride.reason = error2;
              for (error2 = 0; error2 < listeners3.length; error2++)
                (0, listeners3[error2])(void 0);
            }
          );
          return thenableWithOverride;
        }
        function peekCacheFromPool() {
          var cacheResumedFromPreviousRender = resumedCache.current;
          return null !== cacheResumedFromPreviousRender ? cacheResumedFromPreviousRender : workInProgressRoot.pooledCache;
        }
        function pushTransition(offscreenWorkInProgress, prevCachePool) {
          null === prevCachePool ? push(resumedCache, resumedCache.current, offscreenWorkInProgress) : push(resumedCache, prevCachePool.pool, offscreenWorkInProgress);
        }
        function getSuspendedCache() {
          var cacheFromPool = peekCacheFromPool();
          return null === cacheFromPool ? null : { parent: CacheContext._currentValue, pool: cacheFromPool };
        }
        function createThenableState() {
          return { didWarnAboutUncachedPromise: false, thenables: [] };
        }
        function isThenableResolved(thenable) {
          thenable = thenable.status;
          return "fulfilled" === thenable || "rejected" === thenable;
        }
        function trackUsedThenable(thenableState2, thenable, index3) {
          null !== ReactSharedInternals.actQueue && (ReactSharedInternals.didUsePromise = true);
          var trackedThenables = thenableState2.thenables;
          index3 = trackedThenables[index3];
          void 0 === index3 ? trackedThenables.push(thenable) : index3 !== thenable && (thenableState2.didWarnAboutUncachedPromise || (thenableState2.didWarnAboutUncachedPromise = true, console.error(
            "A component was suspended by an uncached promise. Creating promises inside a Client Component or hook is not yet supported, except via a Suspense-compatible library or framework."
          )), thenable.then(noop$1, noop$1), thenable = index3);
          if (void 0 === thenable._debugInfo) {
            thenableState2 = performance.now();
            trackedThenables = thenable.displayName;
            var ioInfo = {
              name: "string" === typeof trackedThenables ? trackedThenables : "Promise",
              start: thenableState2,
              end: thenableState2,
              value: thenable
            };
            thenable._debugInfo = [{ awaited: ioInfo }];
            "fulfilled" !== thenable.status && "rejected" !== thenable.status && (thenableState2 = function() {
              ioInfo.end = performance.now();
            }, thenable.then(thenableState2, thenableState2));
          }
          switch (thenable.status) {
            case "fulfilled":
              return thenable.value;
            case "rejected":
              throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2;
            default:
              if ("string" === typeof thenable.status)
                thenable.then(noop$1, noop$1);
              else {
                thenableState2 = workInProgressRoot;
                if (null !== thenableState2 && 100 < thenableState2.shellSuspendCounter)
                  throw Error(
                    "An unknown Component is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server."
                  );
                thenableState2 = thenable;
                thenableState2.status = "pending";
                thenableState2.then(
                  function(fulfilledValue) {
                    if ("pending" === thenable.status) {
                      var fulfilledThenable = thenable;
                      fulfilledThenable.status = "fulfilled";
                      fulfilledThenable.value = fulfilledValue;
                    }
                  },
                  function(error2) {
                    if ("pending" === thenable.status) {
                      var rejectedThenable = thenable;
                      rejectedThenable.status = "rejected";
                      rejectedThenable.reason = error2;
                    }
                  }
                );
              }
              switch (thenable.status) {
                case "fulfilled":
                  return thenable.value;
                case "rejected":
                  throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2;
              }
              suspendedThenable = thenable;
              needsToResetSuspendedThenableDEV = true;
              throw SuspenseException;
          }
        }
        function resolveLazy(lazyType) {
          try {
            return callLazyInitInDEV(lazyType);
          } catch (x) {
            if (null !== x && "object" === typeof x && "function" === typeof x.then)
              throw suspendedThenable = x, needsToResetSuspendedThenableDEV = true, SuspenseException;
            throw x;
          }
        }
        function getSuspendedThenable() {
          if (null === suspendedThenable)
            throw Error(
              "Expected a suspended thenable. This is a bug in React. Please file an issue."
            );
          var thenable = suspendedThenable;
          suspendedThenable = null;
          needsToResetSuspendedThenableDEV = false;
          return thenable;
        }
        function checkIfUseWrappedInAsyncCatch(rejectedReason) {
          if (rejectedReason === SuspenseException || rejectedReason === SuspenseActionException)
            throw Error(
              "Hooks are not supported inside an async component. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server."
            );
        }
        function pushDebugInfo(debugInfo) {
          var previousDebugInfo = currentDebugInfo;
          null != debugInfo && (currentDebugInfo = null === previousDebugInfo ? debugInfo : previousDebugInfo.concat(debugInfo));
          return previousDebugInfo;
        }
        function getCurrentDebugTask() {
          var debugInfo = currentDebugInfo;
          if (null != debugInfo) {
            for (var i2 = debugInfo.length - 1; 0 <= i2; i2--)
              if (null != debugInfo[i2].name) {
                var debugTask = debugInfo[i2].debugTask;
                if (null != debugTask) return debugTask;
              }
          }
          return null;
        }
        function validateFragmentProps(element, fiber, returnFiber) {
          for (var keys2 = Object.keys(element.props), i2 = 0; i2 < keys2.length; i2++) {
            var key = keys2[i2];
            if ("children" !== key && "key" !== key) {
              null === fiber && (fiber = createFiberFromElement(element, returnFiber.mode, 0), fiber._debugInfo = currentDebugInfo, fiber.return = returnFiber);
              runWithFiberInDEV(
                fiber,
                function(erroredKey) {
                  console.error(
                    "Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",
                    erroredKey
                  );
                },
                key
              );
              break;
            }
          }
        }
        function unwrapThenable(thenable) {
          var index3 = thenableIndexCounter$1;
          thenableIndexCounter$1 += 1;
          null === thenableState$1 && (thenableState$1 = createThenableState());
          return trackUsedThenable(thenableState$1, thenable, index3);
        }
        function coerceRef(workInProgress2, element) {
          element = element.props.ref;
          workInProgress2.ref = void 0 !== element ? element : null;
        }
        function throwOnInvalidObjectTypeImpl(returnFiber, newChild) {
          if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)
            throw Error(
              'A React Element from an older version of React was rendered. This is not supported. It can happen if:\n- Multiple copies of the "react" package is used.\n- A library pre-bundled an old copy of "react" or "react/jsx-runtime".\n- A compiler tries to "inline" JSX instead of using the runtime.'
            );
          returnFiber = Object.prototype.toString.call(newChild);
          throw Error(
            "Objects are not valid as a React child (found: " + ("[object Object]" === returnFiber ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : returnFiber) + "). If you meant to render a collection of children, use an array instead."
          );
        }
        function throwOnInvalidObjectType(returnFiber, newChild) {
          var debugTask = getCurrentDebugTask();
          null !== debugTask ? debugTask.run(
            throwOnInvalidObjectTypeImpl.bind(null, returnFiber, newChild)
          ) : throwOnInvalidObjectTypeImpl(returnFiber, newChild);
        }
        function warnOnFunctionTypeImpl(returnFiber, invalidChild) {
          var parentName = getComponentNameFromFiber(returnFiber) || "Component";
          ownerHasFunctionTypeWarning[parentName] || (ownerHasFunctionTypeWarning[parentName] = true, invalidChild = invalidChild.displayName || invalidChild.name || "Component", 3 === returnFiber.tag ? console.error(
            "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\n  root.render(%s)",
            invalidChild,
            invalidChild,
            invalidChild
          ) : console.error(
            "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\n  <%s>{%s}</%s>",
            invalidChild,
            invalidChild,
            parentName,
            invalidChild,
            parentName
          ));
        }
        function warnOnFunctionType(returnFiber, invalidChild) {
          var debugTask = getCurrentDebugTask();
          null !== debugTask ? debugTask.run(
            warnOnFunctionTypeImpl.bind(null, returnFiber, invalidChild)
          ) : warnOnFunctionTypeImpl(returnFiber, invalidChild);
        }
        function warnOnSymbolTypeImpl(returnFiber, invalidChild) {
          var parentName = getComponentNameFromFiber(returnFiber) || "Component";
          ownerHasSymbolTypeWarning[parentName] || (ownerHasSymbolTypeWarning[parentName] = true, invalidChild = String(invalidChild), 3 === returnFiber.tag ? console.error(
            "Symbols are not valid as a React child.\n  root.render(%s)",
            invalidChild
          ) : console.error(
            "Symbols are not valid as a React child.\n  <%s>%s</%s>",
            parentName,
            invalidChild,
            parentName
          ));
        }
        function warnOnSymbolType(returnFiber, invalidChild) {
          var debugTask = getCurrentDebugTask();
          null !== debugTask ? debugTask.run(
            warnOnSymbolTypeImpl.bind(null, returnFiber, invalidChild)
          ) : warnOnSymbolTypeImpl(returnFiber, invalidChild);
        }
        function createChildReconciler(shouldTrackSideEffects) {
          function deleteChild(returnFiber, childToDelete) {
            if (shouldTrackSideEffects) {
              var deletions = returnFiber.deletions;
              null === deletions ? (returnFiber.deletions = [childToDelete], returnFiber.flags |= 16) : deletions.push(childToDelete);
            }
          }
          function deleteRemainingChildren(returnFiber, currentFirstChild) {
            if (!shouldTrackSideEffects) return null;
            for (; null !== currentFirstChild; )
              deleteChild(returnFiber, currentFirstChild), currentFirstChild = currentFirstChild.sibling;
            return null;
          }
          function mapRemainingChildren(currentFirstChild) {
            for (var existingChildren = /* @__PURE__ */ new Map(); null !== currentFirstChild; )
              null !== currentFirstChild.key ? existingChildren.set(currentFirstChild.key, currentFirstChild) : existingChildren.set(currentFirstChild.index, currentFirstChild), currentFirstChild = currentFirstChild.sibling;
            return existingChildren;
          }
          function useFiber(fiber, pendingProps) {
            fiber = createWorkInProgress(fiber, pendingProps);
            fiber.index = 0;
            fiber.sibling = null;
            return fiber;
          }
          function placeChild(newFiber, lastPlacedIndex, newIndex) {
            newFiber.index = newIndex;
            if (!shouldTrackSideEffects)
              return newFiber.flags |= 1048576, lastPlacedIndex;
            newIndex = newFiber.alternate;
            if (null !== newIndex)
              return newIndex = newIndex.index, newIndex < lastPlacedIndex ? (newFiber.flags |= 67108866, lastPlacedIndex) : newIndex;
            newFiber.flags |= 67108866;
            return lastPlacedIndex;
          }
          function placeSingleChild(newFiber) {
            shouldTrackSideEffects && null === newFiber.alternate && (newFiber.flags |= 67108866);
            return newFiber;
          }
          function updateTextNode(returnFiber, current2, textContent, lanes) {
            if (null === current2 || 6 !== current2.tag)
              return current2 = createFiberFromText(
                textContent,
                returnFiber.mode,
                lanes
              ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugTask = returnFiber._debugTask, current2._debugInfo = currentDebugInfo, current2;
            current2 = useFiber(current2, textContent);
            current2.return = returnFiber;
            current2._debugInfo = currentDebugInfo;
            return current2;
          }
          function updateElement(returnFiber, current2, element, lanes) {
            var elementType = element.type;
            if (elementType === REACT_FRAGMENT_TYPE)
              return current2 = updateFragment(
                returnFiber,
                current2,
                element.props.children,
                lanes,
                element.key
              ), validateFragmentProps(element, current2, returnFiber), current2;
            if (null !== current2 && (current2.elementType === elementType || isCompatibleFamilyForHotReloading(current2, element) || "object" === typeof elementType && null !== elementType && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === current2.type))
              return current2 = useFiber(current2, element.props), coerceRef(current2, element), current2.return = returnFiber, current2._debugOwner = element._owner, current2._debugInfo = currentDebugInfo, current2;
            current2 = createFiberFromElement(element, returnFiber.mode, lanes);
            coerceRef(current2, element);
            current2.return = returnFiber;
            current2._debugInfo = currentDebugInfo;
            return current2;
          }
          function updatePortal(returnFiber, current2, portal, lanes) {
            if (null === current2 || 4 !== current2.tag || current2.stateNode.containerInfo !== portal.containerInfo || current2.stateNode.implementation !== portal.implementation)
              return current2 = createFiberFromPortal(portal, returnFiber.mode, lanes), current2.return = returnFiber, current2._debugInfo = currentDebugInfo, current2;
            current2 = useFiber(current2, portal.children || []);
            current2.return = returnFiber;
            current2._debugInfo = currentDebugInfo;
            return current2;
          }
          function updateFragment(returnFiber, current2, fragment, lanes, key) {
            if (null === current2 || 7 !== current2.tag)
              return current2 = createFiberFromFragment(
                fragment,
                returnFiber.mode,
                lanes,
                key
              ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugTask = returnFiber._debugTask, current2._debugInfo = currentDebugInfo, current2;
            current2 = useFiber(current2, fragment);
            current2.return = returnFiber;
            current2._debugInfo = currentDebugInfo;
            return current2;
          }
          function createChild(returnFiber, newChild, lanes) {
            if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild)
              return newChild = createFiberFromText(
                "" + newChild,
                returnFiber.mode,
                lanes
              ), newChild.return = returnFiber, newChild._debugOwner = returnFiber, newChild._debugTask = returnFiber._debugTask, newChild._debugInfo = currentDebugInfo, newChild;
            if ("object" === typeof newChild && null !== newChild) {
              switch (newChild.$$typeof) {
                case REACT_ELEMENT_TYPE:
                  return lanes = createFiberFromElement(
                    newChild,
                    returnFiber.mode,
                    lanes
                  ), coerceRef(lanes, newChild), lanes.return = returnFiber, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes;
                case REACT_PORTAL_TYPE:
                  return newChild = createFiberFromPortal(
                    newChild,
                    returnFiber.mode,
                    lanes
                  ), newChild.return = returnFiber, newChild._debugInfo = currentDebugInfo, newChild;
                case REACT_LAZY_TYPE:
                  var _prevDebugInfo = pushDebugInfo(newChild._debugInfo);
                  newChild = resolveLazy(newChild);
                  returnFiber = createChild(returnFiber, newChild, lanes);
                  currentDebugInfo = _prevDebugInfo;
                  return returnFiber;
              }
              if (isArrayImpl(newChild) || getIteratorFn(newChild))
                return lanes = createFiberFromFragment(
                  newChild,
                  returnFiber.mode,
                  lanes,
                  null
                ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes;
              if ("function" === typeof newChild.then)
                return _prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = createChild(
                  returnFiber,
                  unwrapThenable(newChild),
                  lanes
                ), currentDebugInfo = _prevDebugInfo, returnFiber;
              if (newChild.$$typeof === REACT_CONTEXT_TYPE)
                return createChild(
                  returnFiber,
                  readContextDuringReconciliation(returnFiber, newChild),
                  lanes
                );
              throwOnInvalidObjectType(returnFiber, newChild);
            }
            "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild);
            "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild);
            return null;
          }
          function updateSlot(returnFiber, oldFiber, newChild, lanes) {
            var key = null !== oldFiber ? oldFiber.key : null;
            if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild)
              return null !== key ? null : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes);
            if ("object" === typeof newChild && null !== newChild) {
              switch (newChild.$$typeof) {
                case REACT_ELEMENT_TYPE:
                  return newChild.key === key ? (key = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement(
                    returnFiber,
                    oldFiber,
                    newChild,
                    lanes
                  ), currentDebugInfo = key, returnFiber) : null;
                case REACT_PORTAL_TYPE:
                  return newChild.key === key ? updatePortal(returnFiber, oldFiber, newChild, lanes) : null;
                case REACT_LAZY_TYPE:
                  return key = pushDebugInfo(newChild._debugInfo), newChild = resolveLazy(newChild), returnFiber = updateSlot(
                    returnFiber,
                    oldFiber,
                    newChild,
                    lanes
                  ), currentDebugInfo = key, returnFiber;
              }
              if (isArrayImpl(newChild) || getIteratorFn(newChild)) {
                if (null !== key) return null;
                key = pushDebugInfo(newChild._debugInfo);
                returnFiber = updateFragment(
                  returnFiber,
                  oldFiber,
                  newChild,
                  lanes,
                  null
                );
                currentDebugInfo = key;
                return returnFiber;
              }
              if ("function" === typeof newChild.then)
                return key = pushDebugInfo(newChild._debugInfo), returnFiber = updateSlot(
                  returnFiber,
                  oldFiber,
                  unwrapThenable(newChild),
                  lanes
                ), currentDebugInfo = key, returnFiber;
              if (newChild.$$typeof === REACT_CONTEXT_TYPE)
                return updateSlot(
                  returnFiber,
                  oldFiber,
                  readContextDuringReconciliation(returnFiber, newChild),
                  lanes
                );
              throwOnInvalidObjectType(returnFiber, newChild);
            }
            "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild);
            "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild);
            return null;
          }
          function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) {
            if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild)
              return existingChildren = existingChildren.get(newIdx) || null, updateTextNode(returnFiber, existingChildren, "" + newChild, lanes);
            if ("object" === typeof newChild && null !== newChild) {
              switch (newChild.$$typeof) {
                case REACT_ELEMENT_TYPE:
                  return newIdx = existingChildren.get(
                    null === newChild.key ? newIdx : newChild.key
                  ) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement(
                    returnFiber,
                    newIdx,
                    newChild,
                    lanes
                  ), currentDebugInfo = existingChildren, returnFiber;
                case REACT_PORTAL_TYPE:
                  return existingChildren = existingChildren.get(
                    null === newChild.key ? newIdx : newChild.key
                  ) || null, updatePortal(returnFiber, existingChildren, newChild, lanes);
                case REACT_LAZY_TYPE:
                  var _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo);
                  newChild = resolveLazy(newChild);
                  returnFiber = updateFromMap(
                    existingChildren,
                    returnFiber,
                    newIdx,
                    newChild,
                    lanes
                  );
                  currentDebugInfo = _prevDebugInfo7;
                  return returnFiber;
              }
              if (isArrayImpl(newChild) || getIteratorFn(newChild))
                return newIdx = existingChildren.get(newIdx) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateFragment(
                  returnFiber,
                  newIdx,
                  newChild,
                  lanes,
                  null
                ), currentDebugInfo = existingChildren, returnFiber;
              if ("function" === typeof newChild.then)
                return _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo), returnFiber = updateFromMap(
                  existingChildren,
                  returnFiber,
                  newIdx,
                  unwrapThenable(newChild),
                  lanes
                ), currentDebugInfo = _prevDebugInfo7, returnFiber;
              if (newChild.$$typeof === REACT_CONTEXT_TYPE)
                return updateFromMap(
                  existingChildren,
                  returnFiber,
                  newIdx,
                  readContextDuringReconciliation(returnFiber, newChild),
                  lanes
                );
              throwOnInvalidObjectType(returnFiber, newChild);
            }
            "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild);
            "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild);
            return null;
          }
          function warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys) {
            if ("object" !== typeof child || null === child) return knownKeys;
            switch (child.$$typeof) {
              case REACT_ELEMENT_TYPE:
              case REACT_PORTAL_TYPE:
                warnForMissingKey(returnFiber, workInProgress2, child);
                var key = child.key;
                if ("string" !== typeof key) break;
                if (null === knownKeys) {
                  knownKeys = /* @__PURE__ */ new Set();
                  knownKeys.add(key);
                  break;
                }
                if (!knownKeys.has(key)) {
                  knownKeys.add(key);
                  break;
                }
                runWithFiberInDEV(workInProgress2, function() {
                  console.error(
                    "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 \u2014 the behavior is unsupported and could change in a future version.",
                    key
                  );
                });
                break;
              case REACT_LAZY_TYPE:
                child = resolveLazy(child), warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys);
            }
            return knownKeys;
          }
          function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) {
            for (var knownKeys = null, resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null; null !== oldFiber && newIdx < newChildren.length; newIdx++) {
              oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling;
              var newFiber = updateSlot(
                returnFiber,
                oldFiber,
                newChildren[newIdx],
                lanes
              );
              if (null === newFiber) {
                null === oldFiber && (oldFiber = nextOldFiber);
                break;
              }
              knownKeys = warnOnInvalidKey(
                returnFiber,
                newFiber,
                newChildren[newIdx],
                knownKeys
              );
              shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber);
              currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);
              null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber;
              previousNewFiber = newFiber;
              oldFiber = nextOldFiber;
            }
            if (newIdx === newChildren.length)
              return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild;
            if (null === oldFiber) {
              for (; newIdx < newChildren.length; newIdx++)
                oldFiber = createChild(returnFiber, newChildren[newIdx], lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey(
                  returnFiber,
                  oldFiber,
                  newChildren[newIdx],
                  knownKeys
                ), currentFirstChild = placeChild(
                  oldFiber,
                  currentFirstChild,
                  newIdx
                ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber);
              isHydrating && pushTreeFork(returnFiber, newIdx);
              return resultingFirstChild;
            }
            for (oldFiber = mapRemainingChildren(oldFiber); newIdx < newChildren.length; newIdx++)
              nextOldFiber = updateFromMap(
                oldFiber,
                returnFiber,
                newIdx,
                newChildren[newIdx],
                lanes
              ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey(
                returnFiber,
                nextOldFiber,
                newChildren[newIdx],
                knownKeys
              ), shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete(
                null === nextOldFiber.key ? newIdx : nextOldFiber.key
              ), currentFirstChild = placeChild(
                nextOldFiber,
                currentFirstChild,
                newIdx
              ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber);
            shouldTrackSideEffects && oldFiber.forEach(function(child) {
              return deleteChild(returnFiber, child);
            });
            isHydrating && pushTreeFork(returnFiber, newIdx);
            return resultingFirstChild;
          }
          function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildren, lanes) {
            if (null == newChildren)
              throw Error("An iterable object provided no iterator.");
            for (var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null, knownKeys = null, step = newChildren.next(); null !== oldFiber && !step.done; newIdx++, step = newChildren.next()) {
              oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling;
              var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);
              if (null === newFiber) {
                null === oldFiber && (oldFiber = nextOldFiber);
                break;
              }
              knownKeys = warnOnInvalidKey(
                returnFiber,
                newFiber,
                step.value,
                knownKeys
              );
              shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber);
              currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);
              null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber;
              previousNewFiber = newFiber;
              oldFiber = nextOldFiber;
            }
            if (step.done)
              return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild;
            if (null === oldFiber) {
              for (; !step.done; newIdx++, step = newChildren.next())
                oldFiber = createChild(returnFiber, step.value, lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey(
                  returnFiber,
                  oldFiber,
                  step.value,
                  knownKeys
                ), currentFirstChild = placeChild(
                  oldFiber,
                  currentFirstChild,
                  newIdx
                ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber);
              isHydrating && pushTreeFork(returnFiber, newIdx);
              return resultingFirstChild;
            }
            for (oldFiber = mapRemainingChildren(oldFiber); !step.done; newIdx++, step = newChildren.next())
              nextOldFiber = updateFromMap(
                oldFiber,
                returnFiber,
                newIdx,
                step.value,
                lanes
              ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey(
                returnFiber,
                nextOldFiber,
                step.value,
                knownKeys
              ), shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete(
                null === nextOldFiber.key ? newIdx : nextOldFiber.key
              ), currentFirstChild = placeChild(
                nextOldFiber,
                currentFirstChild,
                newIdx
              ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber);
            shouldTrackSideEffects && oldFiber.forEach(function(child) {
              return deleteChild(returnFiber, child);
            });
            isHydrating && pushTreeFork(returnFiber, newIdx);
            return resultingFirstChild;
          }
          function reconcileChildFibersImpl(returnFiber, currentFirstChild, newChild, lanes) {
            "object" === typeof newChild && null !== newChild && newChild.type === REACT_FRAGMENT_TYPE && null === newChild.key && (validateFragmentProps(newChild, null, returnFiber), newChild = newChild.props.children);
            if ("object" === typeof newChild && null !== newChild) {
              switch (newChild.$$typeof) {
                case REACT_ELEMENT_TYPE:
                  var prevDebugInfo = pushDebugInfo(newChild._debugInfo);
                  a: {
                    for (var key = newChild.key; null !== currentFirstChild; ) {
                      if (currentFirstChild.key === key) {
                        key = newChild.type;
                        if (key === REACT_FRAGMENT_TYPE) {
                          if (7 === currentFirstChild.tag) {
                            deleteRemainingChildren(
                              returnFiber,
                              currentFirstChild.sibling
                            );
                            lanes = useFiber(
                              currentFirstChild,
                              newChild.props.children
                            );
                            lanes.return = returnFiber;
                            lanes._debugOwner = newChild._owner;
                            lanes._debugInfo = currentDebugInfo;
                            validateFragmentProps(newChild, lanes, returnFiber);
                            returnFiber = lanes;
                            break a;
                          }
                        } else if (currentFirstChild.elementType === key || isCompatibleFamilyForHotReloading(
                          currentFirstChild,
                          newChild
                        ) || "object" === typeof key && null !== key && key.$$typeof === REACT_LAZY_TYPE && resolveLazy(key) === currentFirstChild.type) {
                          deleteRemainingChildren(
                            returnFiber,
                            currentFirstChild.sibling
                          );
                          lanes = useFiber(currentFirstChild, newChild.props);
                          coerceRef(lanes, newChild);
                          lanes.return = returnFiber;
                          lanes._debugOwner = newChild._owner;
                          lanes._debugInfo = currentDebugInfo;
                          returnFiber = lanes;
                          break a;
                        }
                        deleteRemainingChildren(returnFiber, currentFirstChild);
                        break;
                      } else deleteChild(returnFiber, currentFirstChild);
                      currentFirstChild = currentFirstChild.sibling;
                    }
                    newChild.type === REACT_FRAGMENT_TYPE ? (lanes = createFiberFromFragment(
                      newChild.props.children,
                      returnFiber.mode,
                      lanes,
                      newChild.key
                    ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, lanes._debugInfo = currentDebugInfo, validateFragmentProps(newChild, lanes, returnFiber), returnFiber = lanes) : (lanes = createFiberFromElement(
                      newChild,
                      returnFiber.mode,
                      lanes
                    ), coerceRef(lanes, newChild), lanes.return = returnFiber, lanes._debugInfo = currentDebugInfo, returnFiber = lanes);
                  }
                  returnFiber = placeSingleChild(returnFiber);
                  currentDebugInfo = prevDebugInfo;
                  return returnFiber;
                case REACT_PORTAL_TYPE:
                  a: {
                    prevDebugInfo = newChild;
                    for (newChild = prevDebugInfo.key; null !== currentFirstChild; ) {
                      if (currentFirstChild.key === newChild)
                        if (4 === currentFirstChild.tag && currentFirstChild.stateNode.containerInfo === prevDebugInfo.containerInfo && currentFirstChild.stateNode.implementation === prevDebugInfo.implementation) {
                          deleteRemainingChildren(
                            returnFiber,
                            currentFirstChild.sibling
                          );
                          lanes = useFiber(
                            currentFirstChild,
                            prevDebugInfo.children || []
                          );
                          lanes.return = returnFiber;
                          returnFiber = lanes;
                          break a;
                        } else {
                          deleteRemainingChildren(returnFiber, currentFirstChild);
                          break;
                        }
                      else deleteChild(returnFiber, currentFirstChild);
                      currentFirstChild = currentFirstChild.sibling;
                    }
                    lanes = createFiberFromPortal(
                      prevDebugInfo,
                      returnFiber.mode,
                      lanes
                    );
                    lanes.return = returnFiber;
                    returnFiber = lanes;
                  }
                  return placeSingleChild(returnFiber);
                case REACT_LAZY_TYPE:
                  return prevDebugInfo = pushDebugInfo(newChild._debugInfo), newChild = resolveLazy(newChild), returnFiber = reconcileChildFibersImpl(
                    returnFiber,
                    currentFirstChild,
                    newChild,
                    lanes
                  ), currentDebugInfo = prevDebugInfo, returnFiber;
              }
              if (isArrayImpl(newChild))
                return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildrenArray(
                  returnFiber,
                  currentFirstChild,
                  newChild,
                  lanes
                ), currentDebugInfo = prevDebugInfo, returnFiber;
              if (getIteratorFn(newChild)) {
                prevDebugInfo = pushDebugInfo(newChild._debugInfo);
                key = getIteratorFn(newChild);
                if ("function" !== typeof key)
                  throw Error(
                    "An object is not an iterable. This error is likely caused by a bug in React. Please file an issue."
                  );
                var newChildren = key.call(newChild);
                if (newChildren === newChild) {
                  if (0 !== returnFiber.tag || "[object GeneratorFunction]" !== Object.prototype.toString.call(returnFiber.type) || "[object Generator]" !== Object.prototype.toString.call(newChildren))
                    didWarnAboutGenerators || console.error(
                      "Using Iterators 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. You can also use an Iterable that can iterate multiple times over the same items."
                    ), didWarnAboutGenerators = true;
                } else
                  newChild.entries !== key || didWarnAboutMaps || (console.error(
                    "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
                  ), didWarnAboutMaps = true);
                returnFiber = reconcileChildrenIterator(
                  returnFiber,
                  currentFirstChild,
                  newChildren,
                  lanes
                );
                currentDebugInfo = prevDebugInfo;
                return returnFiber;
              }
              if ("function" === typeof newChild.then)
                return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildFibersImpl(
                  returnFiber,
                  currentFirstChild,
                  unwrapThenable(newChild),
                  lanes
                ), currentDebugInfo = prevDebugInfo, returnFiber;
              if (newChild.$$typeof === REACT_CONTEXT_TYPE)
                return reconcileChildFibersImpl(
                  returnFiber,
                  currentFirstChild,
                  readContextDuringReconciliation(returnFiber, newChild),
                  lanes
                );
              throwOnInvalidObjectType(returnFiber, newChild);
            }
            if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild)
              return prevDebugInfo = "" + newChild, null !== currentFirstChild && 6 === currentFirstChild.tag ? (deleteRemainingChildren(
                returnFiber,
                currentFirstChild.sibling
              ), lanes = useFiber(currentFirstChild, prevDebugInfo), lanes.return = returnFiber, returnFiber = lanes) : (deleteRemainingChildren(returnFiber, currentFirstChild), lanes = createFiberFromText(
                prevDebugInfo,
                returnFiber.mode,
                lanes
              ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, lanes._debugInfo = currentDebugInfo, returnFiber = lanes), placeSingleChild(returnFiber);
            "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild);
            "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild);
            return deleteRemainingChildren(returnFiber, currentFirstChild);
          }
          return function(returnFiber, currentFirstChild, newChild, lanes) {
            var prevDebugInfo = currentDebugInfo;
            currentDebugInfo = null;
            try {
              thenableIndexCounter$1 = 0;
              var firstChildFiber = reconcileChildFibersImpl(
                returnFiber,
                currentFirstChild,
                newChild,
                lanes
              );
              thenableState$1 = null;
              return firstChildFiber;
            } catch (x) {
              if (x === SuspenseException || x === SuspenseActionException) throw x;
              var fiber = createFiber(29, x, null, returnFiber.mode);
              fiber.lanes = lanes;
              fiber.return = returnFiber;
              var debugInfo = fiber._debugInfo = currentDebugInfo;
              fiber._debugOwner = returnFiber._debugOwner;
              fiber._debugTask = returnFiber._debugTask;
              if (null != debugInfo) {
                for (var i2 = debugInfo.length - 1; 0 <= i2; i2--)
                  if ("string" === typeof debugInfo[i2].stack) {
                    fiber._debugOwner = debugInfo[i2];
                    fiber._debugTask = debugInfo[i2].debugTask;
                    break;
                  }
              }
              return fiber;
            } finally {
              currentDebugInfo = prevDebugInfo;
            }
          };
        }
        function validateSuspenseListNestedChild(childSlot, index3) {
          var isAnArray = isArrayImpl(childSlot);
          childSlot = !isAnArray && "function" === typeof getIteratorFn(childSlot);
          return isAnArray || childSlot ? (isAnArray = isAnArray ? "array" : "iterable", console.error(
            "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>",
            isAnArray,
            index3,
            isAnArray
          ), false) : true;
        }
        function initializeUpdateQueue(fiber) {
          fiber.updateQueue = {
            baseState: fiber.memoizedState,
            firstBaseUpdate: null,
            lastBaseUpdate: null,
            shared: { pending: null, lanes: 0, hiddenCallbacks: null },
            callbacks: null
          };
        }
        function cloneUpdateQueue(current2, workInProgress2) {
          current2 = current2.updateQueue;
          workInProgress2.updateQueue === current2 && (workInProgress2.updateQueue = {
            baseState: current2.baseState,
            firstBaseUpdate: current2.firstBaseUpdate,
            lastBaseUpdate: current2.lastBaseUpdate,
            shared: current2.shared,
            callbacks: null
          });
        }
        function createUpdate(lane) {
          return {
            lane,
            tag: UpdateState,
            payload: null,
            callback: null,
            next: null
          };
        }
        function enqueueUpdate(fiber, update, lane) {
          var updateQueue = fiber.updateQueue;
          if (null === updateQueue) return null;
          updateQueue = updateQueue.shared;
          if (currentlyProcessingQueue === updateQueue && !didWarnUpdateInsideUpdate) {
            var componentName2 = getComponentNameFromFiber(fiber);
            console.error(
              "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.\n\nPlease update the following component: %s",
              componentName2
            );
            didWarnUpdateInsideUpdate = true;
          }
          if ((executionContext & RenderContext) !== NoContext)
            return componentName2 = updateQueue.pending, null === componentName2 ? update.next = update : (update.next = componentName2.next, componentName2.next = update), updateQueue.pending = update, update = getRootForUpdatedFiber(fiber), markUpdateLaneFromFiberToRoot(fiber, null, lane), update;
          enqueueUpdate$1(fiber, updateQueue, update, lane);
          return getRootForUpdatedFiber(fiber);
        }
        function entangleTransitions(root3, fiber, lane) {
          fiber = fiber.updateQueue;
          if (null !== fiber && (fiber = fiber.shared, 0 !== (lane & 4194048))) {
            var queueLanes = fiber.lanes;
            queueLanes &= root3.pendingLanes;
            lane |= queueLanes;
            fiber.lanes = lane;
            markRootEntangled(root3, lane);
          }
        }
        function enqueueCapturedUpdate(workInProgress2, capturedUpdate) {
          var queue = workInProgress2.updateQueue, current2 = workInProgress2.alternate;
          if (null !== current2 && (current2 = current2.updateQueue, queue === current2)) {
            var newFirst = null, newLast = null;
            queue = queue.firstBaseUpdate;
            if (null !== queue) {
              do {
                var clone = {
                  lane: queue.lane,
                  tag: queue.tag,
                  payload: queue.payload,
                  callback: null,
                  next: null
                };
                null === newLast ? newFirst = newLast = clone : newLast = newLast.next = clone;
                queue = queue.next;
              } while (null !== queue);
              null === newLast ? newFirst = newLast = capturedUpdate : newLast = newLast.next = capturedUpdate;
            } else newFirst = newLast = capturedUpdate;
            queue = {
              baseState: current2.baseState,
              firstBaseUpdate: newFirst,
              lastBaseUpdate: newLast,
              shared: current2.shared,
              callbacks: current2.callbacks
            };
            workInProgress2.updateQueue = queue;
            return;
          }
          workInProgress2 = queue.lastBaseUpdate;
          null === workInProgress2 ? queue.firstBaseUpdate = capturedUpdate : workInProgress2.next = capturedUpdate;
          queue.lastBaseUpdate = capturedUpdate;
        }
        function suspendIfUpdateReadFromEntangledAsyncAction() {
          if (didReadFromEntangledAsyncAction) {
            var entangledActionThenable = currentEntangledActionThenable;
            if (null !== entangledActionThenable) throw entangledActionThenable;
          }
        }
        function processUpdateQueue(workInProgress2, props, instance$jscomp$0, renderLanes2) {
          didReadFromEntangledAsyncAction = false;
          var queue = workInProgress2.updateQueue;
          hasForceUpdate = false;
          currentlyProcessingQueue = queue.shared;
          var firstBaseUpdate = queue.firstBaseUpdate, lastBaseUpdate = queue.lastBaseUpdate, pendingQueue = queue.shared.pending;
          if (null !== pendingQueue) {
            queue.shared.pending = null;
            var lastPendingUpdate = pendingQueue, firstPendingUpdate = lastPendingUpdate.next;
            lastPendingUpdate.next = null;
            null === lastBaseUpdate ? firstBaseUpdate = firstPendingUpdate : lastBaseUpdate.next = firstPendingUpdate;
            lastBaseUpdate = lastPendingUpdate;
            var current2 = workInProgress2.alternate;
            null !== current2 && (current2 = current2.updateQueue, pendingQueue = current2.lastBaseUpdate, pendingQueue !== lastBaseUpdate && (null === pendingQueue ? current2.firstBaseUpdate = firstPendingUpdate : pendingQueue.next = firstPendingUpdate, current2.lastBaseUpdate = lastPendingUpdate));
          }
          if (null !== firstBaseUpdate) {
            var newState = queue.baseState;
            lastBaseUpdate = 0;
            current2 = firstPendingUpdate = lastPendingUpdate = null;
            pendingQueue = firstBaseUpdate;
            do {
              var updateLane = pendingQueue.lane & -536870913, isHiddenUpdate = updateLane !== pendingQueue.lane;
              if (isHiddenUpdate ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes2 & updateLane) === updateLane) {
                0 !== updateLane && updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction = true);
                null !== current2 && (current2 = current2.next = {
                  lane: 0,
                  tag: pendingQueue.tag,
                  payload: pendingQueue.payload,
                  callback: null,
                  next: null
                });
                a: {
                  updateLane = workInProgress2;
                  var partialState = pendingQueue;
                  var nextProps = props, instance2 = instance$jscomp$0;
                  switch (partialState.tag) {
                    case ReplaceState:
                      partialState = partialState.payload;
                      if ("function" === typeof partialState) {
                        isDisallowedContextReadInDEV = true;
                        var nextState = partialState.call(
                          instance2,
                          newState,
                          nextProps
                        );
                        if (updateLane.mode & StrictLegacyMode) {
                          setIsStrictModeForDevtools(true);
                          try {
                            partialState.call(instance2, newState, nextProps);
                          } finally {
                            setIsStrictModeForDevtools(false);
                          }
                        }
                        isDisallowedContextReadInDEV = false;
                        newState = nextState;
                        break a;
                      }
                      newState = partialState;
                      break a;
                    case CaptureUpdate:
                      updateLane.flags = updateLane.flags & -65537 | 128;
                    case UpdateState:
                      nextState = partialState.payload;
                      if ("function" === typeof nextState) {
                        isDisallowedContextReadInDEV = true;
                        partialState = nextState.call(
                          instance2,
                          newState,
                          nextProps
                        );
                        if (updateLane.mode & StrictLegacyMode) {
                          setIsStrictModeForDevtools(true);
                          try {
                            nextState.call(instance2, newState, nextProps);
                          } finally {
                            setIsStrictModeForDevtools(false);
                          }
                        }
                        isDisallowedContextReadInDEV = false;
                      } else partialState = nextState;
                      if (null === partialState || void 0 === partialState) break a;
                      newState = assign2({}, newState, partialState);
                      break a;
                    case ForceUpdate:
                      hasForceUpdate = true;
                  }
                }
                updateLane = pendingQueue.callback;
                null !== updateLane && (workInProgress2.flags |= 64, isHiddenUpdate && (workInProgress2.flags |= 8192), isHiddenUpdate = queue.callbacks, null === isHiddenUpdate ? queue.callbacks = [updateLane] : isHiddenUpdate.push(updateLane));
              } else
                isHiddenUpdate = {
                  lane: updateLane,
                  tag: pendingQueue.tag,
                  payload: pendingQueue.payload,
                  callback: pendingQueue.callback,
                  next: null
                }, null === current2 ? (firstPendingUpdate = current2 = isHiddenUpdate, lastPendingUpdate = newState) : current2 = current2.next = isHiddenUpdate, lastBaseUpdate |= updateLane;
              pendingQueue = pendingQueue.next;
              if (null === pendingQueue)
                if (pendingQueue = queue.shared.pending, null === pendingQueue)
                  break;
                else
                  isHiddenUpdate = pendingQueue, pendingQueue = isHiddenUpdate.next, isHiddenUpdate.next = null, queue.lastBaseUpdate = isHiddenUpdate, queue.shared.pending = null;
            } while (1);
            null === current2 && (lastPendingUpdate = newState);
            queue.baseState = lastPendingUpdate;
            queue.firstBaseUpdate = firstPendingUpdate;
            queue.lastBaseUpdate = current2;
            null === firstBaseUpdate && (queue.shared.lanes = 0);
            workInProgressRootSkippedLanes |= lastBaseUpdate;
            workInProgress2.lanes = lastBaseUpdate;
            workInProgress2.memoizedState = newState;
          }
          currentlyProcessingQueue = null;
        }
        function callCallback(callback, context) {
          if ("function" !== typeof callback)
            throw Error(
              "Invalid argument passed as callback. Expected a function. Instead received: " + callback
            );
          callback.call(context);
        }
        function commitHiddenCallbacks(updateQueue, context) {
          var hiddenCallbacks = updateQueue.shared.hiddenCallbacks;
          if (null !== hiddenCallbacks)
            for (updateQueue.shared.hiddenCallbacks = null, updateQueue = 0; updateQueue < hiddenCallbacks.length; updateQueue++)
              callCallback(hiddenCallbacks[updateQueue], context);
        }
        function commitCallbacks(updateQueue, context) {
          var callbacks = updateQueue.callbacks;
          if (null !== callbacks)
            for (updateQueue.callbacks = null, updateQueue = 0; updateQueue < callbacks.length; updateQueue++)
              callCallback(callbacks[updateQueue], context);
        }
        function pushHiddenContext(fiber, context) {
          var prevEntangledRenderLanes = entangledRenderLanes;
          push(prevEntangledRenderLanesCursor, prevEntangledRenderLanes, fiber);
          push(currentTreeHiddenStackCursor, context, fiber);
          entangledRenderLanes = prevEntangledRenderLanes | context.baseLanes;
        }
        function reuseHiddenContextOnStack(fiber) {
          push(prevEntangledRenderLanesCursor, entangledRenderLanes, fiber);
          push(
            currentTreeHiddenStackCursor,
            currentTreeHiddenStackCursor.current,
            fiber
          );
        }
        function popHiddenContext(fiber) {
          entangledRenderLanes = prevEntangledRenderLanesCursor.current;
          pop(currentTreeHiddenStackCursor, fiber);
          pop(prevEntangledRenderLanesCursor, fiber);
        }
        function pushPrimaryTreeSuspenseHandler(handler) {
          var current2 = handler.alternate;
          push(
            suspenseStackCursor,
            suspenseStackCursor.current & SubtreeSuspenseContextMask,
            handler
          );
          push(suspenseHandlerStackCursor, handler, handler);
          null === shellBoundary && (null === current2 || null !== currentTreeHiddenStackCursor.current ? shellBoundary = handler : null !== current2.memoizedState && (shellBoundary = handler));
        }
        function pushDehydratedActivitySuspenseHandler(fiber) {
          push(suspenseStackCursor, suspenseStackCursor.current, fiber);
          push(suspenseHandlerStackCursor, fiber, fiber);
          null === shellBoundary && (shellBoundary = fiber);
        }
        function pushOffscreenSuspenseHandler(fiber) {
          22 === fiber.tag ? (push(suspenseStackCursor, suspenseStackCursor.current, fiber), push(suspenseHandlerStackCursor, fiber, fiber), null === shellBoundary && (shellBoundary = fiber)) : reuseSuspenseHandlerOnStack(fiber);
        }
        function reuseSuspenseHandlerOnStack(fiber) {
          push(suspenseStackCursor, suspenseStackCursor.current, fiber);
          push(
            suspenseHandlerStackCursor,
            suspenseHandlerStackCursor.current,
            fiber
          );
        }
        function popSuspenseHandler(fiber) {
          pop(suspenseHandlerStackCursor, fiber);
          shellBoundary === fiber && (shellBoundary = null);
          pop(suspenseStackCursor, fiber);
        }
        function findFirstSuspended(row) {
          for (var node2 = row; null !== node2; ) {
            if (13 === node2.tag) {
              var state = node2.memoizedState;
              if (null !== state && (state = state.dehydrated, null === state || isSuspenseInstancePending(state) || isSuspenseInstanceFallback(state)))
                return node2;
            } else if (19 === node2.tag && ("forwards" === node2.memoizedProps.revealOrder || "backwards" === node2.memoizedProps.revealOrder || "unstable_legacy-backwards" === node2.memoizedProps.revealOrder || "together" === node2.memoizedProps.revealOrder)) {
              if (0 !== (node2.flags & 128)) return node2;
            } else if (null !== node2.child) {
              node2.child.return = node2;
              node2 = node2.child;
              continue;
            }
            if (node2 === row) break;
            for (; null === node2.sibling; ) {
              if (null === node2.return || node2.return === row) return null;
              node2 = node2.return;
            }
            node2.sibling.return = node2.return;
            node2 = node2.sibling;
          }
          return null;
        }
        function mountHookTypesDev() {
          var hookName2 = currentHookNameInDev;
          null === hookTypesDev ? hookTypesDev = [hookName2] : hookTypesDev.push(hookName2);
        }
        function updateHookTypesDev() {
          var hookName2 = currentHookNameInDev;
          if (null !== hookTypesDev && (hookTypesUpdateIndexDev++, hookTypesDev[hookTypesUpdateIndexDev] !== hookName2)) {
            var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber);
            if (!didWarnAboutMismatchedHooksForComponent.has(componentName2) && (didWarnAboutMismatchedHooksForComponent.add(componentName2), null !== hookTypesDev)) {
              for (var table = "", i2 = 0; i2 <= hookTypesUpdateIndexDev; i2++) {
                var oldHookName = hookTypesDev[i2], newHookName = i2 === hookTypesUpdateIndexDev ? hookName2 : oldHookName;
                for (oldHookName = i2 + 1 + ". " + oldHookName; 30 > oldHookName.length; )
                  oldHookName += " ";
                oldHookName += newHookName + "\n";
                table += oldHookName;
              }
              console.error(
                "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://react.dev/link/rules-of-hooks\n\n   Previous render            Next render\n   ------------------------------------------------------\n%s   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
                componentName2,
                table
              );
            }
          }
        }
        function checkDepsAreArrayDev(deps) {
          void 0 === deps || null === deps || isArrayImpl(deps) || console.error(
            "%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.",
            currentHookNameInDev,
            typeof deps
          );
        }
        function warnOnUseFormStateInDev() {
          var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber);
          didWarnAboutUseFormState.has(componentName2) || (didWarnAboutUseFormState.add(componentName2), console.error(
            "ReactDOM.useFormState has been renamed to React.useActionState. Please update %s to use React.useActionState.",
            componentName2
          ));
        }
        function throwInvalidHookError() {
          throw 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:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem."
          );
        }
        function areHookInputsEqual(nextDeps, prevDeps) {
          if (ignorePreviousDependencies) return false;
          if (null === prevDeps)
            return console.error(
              "%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.",
              currentHookNameInDev
            ), false;
          nextDeps.length !== prevDeps.length && console.error(
            "The final argument passed to %s changed size between renders. The order and size of this array must remain constant.\n\nPrevious: %s\nIncoming: %s",
            currentHookNameInDev,
            "[" + prevDeps.join(", ") + "]",
            "[" + nextDeps.join(", ") + "]"
          );
          for (var i2 = 0; i2 < prevDeps.length && i2 < nextDeps.length; i2++)
            if (!objectIs(nextDeps[i2], prevDeps[i2])) return false;
          return true;
        }
        function renderWithHooks(current2, workInProgress2, Component, props, secondArg, nextRenderLanes) {
          renderLanes = nextRenderLanes;
          currentlyRenderingFiber = workInProgress2;
          hookTypesDev = null !== current2 ? current2._debugHookTypes : null;
          hookTypesUpdateIndexDev = -1;
          ignorePreviousDependencies = null !== current2 && current2.type !== workInProgress2.type;
          if ("[object AsyncFunction]" === Object.prototype.toString.call(Component) || "[object AsyncGeneratorFunction]" === Object.prototype.toString.call(Component))
            nextRenderLanes = getComponentNameFromFiber(currentlyRenderingFiber), didWarnAboutAsyncClientComponent.has(nextRenderLanes) || (didWarnAboutAsyncClientComponent.add(nextRenderLanes), console.error(
              "%s is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.",
              null === nextRenderLanes ? "An unknown Component" : "<" + nextRenderLanes + ">"
            ));
          workInProgress2.memoizedState = null;
          workInProgress2.updateQueue = null;
          workInProgress2.lanes = 0;
          ReactSharedInternals.H = null !== current2 && null !== current2.memoizedState ? HooksDispatcherOnUpdateInDEV : null !== hookTypesDev ? HooksDispatcherOnMountWithHookTypesInDEV : HooksDispatcherOnMountInDEV;
          shouldDoubleInvokeUserFnsInHooksDEV = nextRenderLanes = (workInProgress2.mode & StrictLegacyMode) !== NoMode;
          var children = callComponentInDEV(Component, props, secondArg);
          shouldDoubleInvokeUserFnsInHooksDEV = false;
          didScheduleRenderPhaseUpdateDuringThisPass && (children = renderWithHooksAgain(
            workInProgress2,
            Component,
            props,
            secondArg
          ));
          if (nextRenderLanes) {
            setIsStrictModeForDevtools(true);
            try {
              children = renderWithHooksAgain(
                workInProgress2,
                Component,
                props,
                secondArg
              );
            } finally {
              setIsStrictModeForDevtools(false);
            }
          }
          finishRenderingHooks(current2, workInProgress2);
          return children;
        }
        function finishRenderingHooks(current2, workInProgress2) {
          workInProgress2._debugHookTypes = hookTypesDev;
          null === workInProgress2.dependencies ? null !== thenableState && (workInProgress2.dependencies = {
            lanes: 0,
            firstContext: null,
            _debugThenableState: thenableState
          }) : workInProgress2.dependencies._debugThenableState = thenableState;
          ReactSharedInternals.H = ContextOnlyDispatcher;
          var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next;
          renderLanes = 0;
          hookTypesDev = currentHookNameInDev = workInProgressHook = currentHook = currentlyRenderingFiber = null;
          hookTypesUpdateIndexDev = -1;
          null !== current2 && (current2.flags & 65011712) !== (workInProgress2.flags & 65011712) && console.error(
            "Internal React error: Expected static flag was missing. Please notify the React team."
          );
          didScheduleRenderPhaseUpdate = false;
          thenableIndexCounter = 0;
          thenableState = null;
          if (didRenderTooFewHooks)
            throw Error(
              "Rendered fewer hooks than expected. This may be caused by an accidental early return statement."
            );
          null === current2 || didReceiveUpdate || (current2 = current2.dependencies, null !== current2 && checkIfContextChanged(current2) && (didReceiveUpdate = true));
          needsToResetSuspendedThenableDEV ? (needsToResetSuspendedThenableDEV = false, current2 = true) : current2 = false;
          current2 && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Unknown", didWarnAboutUseWrappedInTryCatch.has(workInProgress2) || didWarnAboutAsyncClientComponent.has(workInProgress2) || (didWarnAboutUseWrappedInTryCatch.add(workInProgress2), console.error(
            "`use` was called from inside a try/catch block. This is not allowed and can lead to unexpected behavior. To handle errors triggered by `use`, wrap your component in a error boundary."
          )));
        }
        function renderWithHooksAgain(workInProgress2, Component, props, secondArg) {
          currentlyRenderingFiber = workInProgress2;
          var numberOfReRenders = 0;
          do {
            didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null);
            thenableIndexCounter = 0;
            didScheduleRenderPhaseUpdateDuringThisPass = false;
            if (numberOfReRenders >= RE_RENDER_LIMIT)
              throw Error(
                "Too many re-renders. React limits the number of renders to prevent an infinite loop."
              );
            numberOfReRenders += 1;
            ignorePreviousDependencies = false;
            workInProgressHook = currentHook = null;
            if (null != workInProgress2.updateQueue) {
              var children = workInProgress2.updateQueue;
              children.lastEffect = null;
              children.events = null;
              children.stores = null;
              null != children.memoCache && (children.memoCache.index = 0);
            }
            hookTypesUpdateIndexDev = -1;
            ReactSharedInternals.H = HooksDispatcherOnRerenderInDEV;
            children = callComponentInDEV(Component, props, secondArg);
          } while (didScheduleRenderPhaseUpdateDuringThisPass);
          return children;
        }
        function TransitionAwareHostComponent() {
          var dispatcher = ReactSharedInternals.H, maybeThenable = dispatcher.useState()[0];
          maybeThenable = "function" === typeof maybeThenable.then ? useThenable(maybeThenable) : maybeThenable;
          dispatcher = dispatcher.useState()[0];
          (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher && (currentlyRenderingFiber.flags |= 1024);
          return maybeThenable;
        }
        function checkDidRenderIdHook() {
          var didRenderIdHook = 0 !== localIdCounter;
          localIdCounter = 0;
          return didRenderIdHook;
        }
        function bailoutHooks(current2, workInProgress2, lanes) {
          workInProgress2.updateQueue = current2.updateQueue;
          workInProgress2.flags = (workInProgress2.mode & StrictEffectsMode) !== NoMode ? workInProgress2.flags & -402655237 : workInProgress2.flags & -2053;
          current2.lanes &= ~lanes;
        }
        function resetHooksOnUnwind(workInProgress2) {
          if (didScheduleRenderPhaseUpdate) {
            for (workInProgress2 = workInProgress2.memoizedState; null !== workInProgress2; ) {
              var queue = workInProgress2.queue;
              null !== queue && (queue.pending = null);
              workInProgress2 = workInProgress2.next;
            }
            didScheduleRenderPhaseUpdate = false;
          }
          renderLanes = 0;
          hookTypesDev = workInProgressHook = currentHook = currentlyRenderingFiber = null;
          hookTypesUpdateIndexDev = -1;
          currentHookNameInDev = null;
          didScheduleRenderPhaseUpdateDuringThisPass = false;
          thenableIndexCounter = localIdCounter = 0;
          thenableState = null;
        }
        function mountWorkInProgressHook() {
          var hook = {
            memoizedState: null,
            baseState: null,
            baseQueue: null,
            queue: null,
            next: null
          };
          null === workInProgressHook ? currentlyRenderingFiber.memoizedState = workInProgressHook = hook : workInProgressHook = workInProgressHook.next = hook;
          return workInProgressHook;
        }
        function updateWorkInProgressHook() {
          if (null === currentHook) {
            var nextCurrentHook = currentlyRenderingFiber.alternate;
            nextCurrentHook = null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;
          } else nextCurrentHook = currentHook.next;
          var nextWorkInProgressHook = null === workInProgressHook ? currentlyRenderingFiber.memoizedState : workInProgressHook.next;
          if (null !== nextWorkInProgressHook)
            workInProgressHook = nextWorkInProgressHook, currentHook = nextCurrentHook;
          else {
            if (null === nextCurrentHook) {
              if (null === currentlyRenderingFiber.alternate)
                throw Error(
                  "Update hook called on initial render. This is likely a bug in React. Please file an issue."
                );
              throw Error("Rendered more hooks than during the previous render.");
            }
            currentHook = nextCurrentHook;
            nextCurrentHook = {
              memoizedState: currentHook.memoizedState,
              baseState: currentHook.baseState,
              baseQueue: currentHook.baseQueue,
              queue: currentHook.queue,
              next: null
            };
            null === workInProgressHook ? currentlyRenderingFiber.memoizedState = workInProgressHook = nextCurrentHook : workInProgressHook = workInProgressHook.next = nextCurrentHook;
          }
          return workInProgressHook;
        }
        function createFunctionComponentUpdateQueue() {
          return { lastEffect: null, events: null, stores: null, memoCache: null };
        }
        function useThenable(thenable) {
          var index3 = thenableIndexCounter;
          thenableIndexCounter += 1;
          null === thenableState && (thenableState = createThenableState());
          thenable = trackUsedThenable(thenableState, thenable, index3);
          index3 = currentlyRenderingFiber;
          null === (null === workInProgressHook ? index3.memoizedState : workInProgressHook.next) && (index3 = index3.alternate, ReactSharedInternals.H = null !== index3 && null !== index3.memoizedState ? HooksDispatcherOnUpdateInDEV : HooksDispatcherOnMountInDEV);
          return thenable;
        }
        function use(usable) {
          if (null !== usable && "object" === typeof usable) {
            if ("function" === typeof usable.then) return useThenable(usable);
            if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);
          }
          throw Error("An unsupported type was passed to use(): " + String(usable));
        }
        function useMemoCache(size5) {
          var memoCache = null, updateQueue = currentlyRenderingFiber.updateQueue;
          null !== updateQueue && (memoCache = updateQueue.memoCache);
          if (null == memoCache) {
            var current2 = currentlyRenderingFiber.alternate;
            null !== current2 && (current2 = current2.updateQueue, null !== current2 && (current2 = current2.memoCache, null != current2 && (memoCache = {
              data: current2.data.map(function(array2) {
                return array2.slice();
              }),
              index: 0
            })));
          }
          null == memoCache && (memoCache = { data: [], index: 0 });
          null === updateQueue && (updateQueue = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = updateQueue);
          updateQueue.memoCache = memoCache;
          updateQueue = memoCache.data[memoCache.index];
          if (void 0 === updateQueue || ignorePreviousDependencies)
            for (updateQueue = memoCache.data[memoCache.index] = Array(size5), current2 = 0; current2 < size5; current2++)
              updateQueue[current2] = REACT_MEMO_CACHE_SENTINEL;
          else
            updateQueue.length !== size5 && console.error(
              "Expected a constant size argument for each invocation of useMemoCache. The previous cache was allocated with size %s but size %s was requested.",
              updateQueue.length,
              size5
            );
          memoCache.index++;
          return updateQueue;
        }
        function basicStateReducer(state, action) {
          return "function" === typeof action ? action(state) : action;
        }
        function mountReducer(reducer, initialArg, init) {
          var hook = mountWorkInProgressHook();
          if (void 0 !== init) {
            var initialState = init(initialArg);
            if (shouldDoubleInvokeUserFnsInHooksDEV) {
              setIsStrictModeForDevtools(true);
              try {
                init(initialArg);
              } finally {
                setIsStrictModeForDevtools(false);
              }
            }
          } else initialState = initialArg;
          hook.memoizedState = hook.baseState = initialState;
          reducer = {
            pending: null,
            lanes: 0,
            dispatch: null,
            lastRenderedReducer: reducer,
            lastRenderedState: initialState
          };
          hook.queue = reducer;
          reducer = reducer.dispatch = dispatchReducerAction.bind(
            null,
            currentlyRenderingFiber,
            reducer
          );
          return [hook.memoizedState, reducer];
        }
        function updateReducer(reducer) {
          var hook = updateWorkInProgressHook();
          return updateReducerImpl(hook, currentHook, reducer);
        }
        function updateReducerImpl(hook, current2, reducer) {
          var queue = hook.queue;
          if (null === queue)
            throw Error(
              "Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)"
            );
          queue.lastRenderedReducer = reducer;
          var baseQueue = hook.baseQueue, pendingQueue = queue.pending;
          if (null !== pendingQueue) {
            if (null !== baseQueue) {
              var baseFirst = baseQueue.next;
              baseQueue.next = pendingQueue.next;
              pendingQueue.next = baseFirst;
            }
            current2.baseQueue !== baseQueue && console.error(
              "Internal error: Expected work-in-progress queue to be a clone. This is a bug in React."
            );
            current2.baseQueue = baseQueue = pendingQueue;
            queue.pending = null;
          }
          pendingQueue = hook.baseState;
          if (null === baseQueue) hook.memoizedState = pendingQueue;
          else {
            current2 = baseQueue.next;
            var newBaseQueueFirst = baseFirst = null, newBaseQueueLast = null, update = current2, didReadFromEntangledAsyncAction2 = false;
            do {
              var updateLane = update.lane & -536870913;
              if (updateLane !== update.lane ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes & updateLane) === updateLane) {
                var revertLane = update.revertLane;
                if (0 === revertLane)
                  null !== newBaseQueueLast && (newBaseQueueLast = newBaseQueueLast.next = {
                    lane: 0,
                    revertLane: 0,
                    gesture: null,
                    action: update.action,
                    hasEagerState: update.hasEagerState,
                    eagerState: update.eagerState,
                    next: null
                  }), updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true);
                else if ((renderLanes & revertLane) === revertLane) {
                  update = update.next;
                  revertLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true);
                  continue;
                } else
                  updateLane = {
                    lane: 0,
                    revertLane: update.revertLane,
                    gesture: null,
                    action: update.action,
                    hasEagerState: update.hasEagerState,
                    eagerState: update.eagerState,
                    next: null
                  }, null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = updateLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = updateLane, currentlyRenderingFiber.lanes |= revertLane, workInProgressRootSkippedLanes |= revertLane;
                updateLane = update.action;
                shouldDoubleInvokeUserFnsInHooksDEV && reducer(pendingQueue, updateLane);
                pendingQueue = update.hasEagerState ? update.eagerState : reducer(pendingQueue, updateLane);
              } else
                revertLane = {
                  lane: updateLane,
                  revertLane: update.revertLane,
                  gesture: update.gesture,
                  action: update.action,
                  hasEagerState: update.hasEagerState,
                  eagerState: update.eagerState,
                  next: null
                }, null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = revertLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = revertLane, currentlyRenderingFiber.lanes |= updateLane, workInProgressRootSkippedLanes |= updateLane;
              update = update.next;
            } while (null !== update && update !== current2);
            null === newBaseQueueLast ? baseFirst = pendingQueue : newBaseQueueLast.next = newBaseQueueFirst;
            if (!objectIs(pendingQueue, hook.memoizedState) && (didReceiveUpdate = true, didReadFromEntangledAsyncAction2 && (reducer = currentEntangledActionThenable, null !== reducer)))
              throw reducer;
            hook.memoizedState = pendingQueue;
            hook.baseState = baseFirst;
            hook.baseQueue = newBaseQueueLast;
            queue.lastRenderedState = pendingQueue;
          }
          null === baseQueue && (queue.lanes = 0);
          return [hook.memoizedState, queue.dispatch];
        }
        function rerenderReducer(reducer) {
          var hook = updateWorkInProgressHook(), queue = hook.queue;
          if (null === queue)
            throw Error(
              "Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)"
            );
          queue.lastRenderedReducer = reducer;
          var dispatch = queue.dispatch, lastRenderPhaseUpdate = queue.pending, newState = hook.memoizedState;
          if (null !== lastRenderPhaseUpdate) {
            queue.pending = null;
            var update = lastRenderPhaseUpdate = lastRenderPhaseUpdate.next;
            do
              newState = reducer(newState, update.action), update = update.next;
            while (update !== lastRenderPhaseUpdate);
            objectIs(newState, hook.memoizedState) || (didReceiveUpdate = true);
            hook.memoizedState = newState;
            null === hook.baseQueue && (hook.baseState = newState);
            queue.lastRenderedState = newState;
          }
          return [newState, dispatch];
        }
        function mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {
          var fiber = currentlyRenderingFiber, hook = mountWorkInProgressHook();
          if (isHydrating) {
            if (void 0 === getServerSnapshot)
              throw Error(
                "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering."
              );
            var nextSnapshot = getServerSnapshot();
            didWarnUncachedGetSnapshot || nextSnapshot === getServerSnapshot() || (console.error(
              "The result of getServerSnapshot should be cached to avoid an infinite loop"
            ), didWarnUncachedGetSnapshot = true);
          } else {
            nextSnapshot = getSnapshot();
            didWarnUncachedGetSnapshot || (getServerSnapshot = getSnapshot(), objectIs(nextSnapshot, getServerSnapshot) || (console.error(
              "The result of getSnapshot should be cached to avoid an infinite loop"
            ), didWarnUncachedGetSnapshot = true));
            if (null === workInProgressRoot)
              throw Error(
                "Expected a work-in-progress root. This is a bug in React. Please file an issue."
              );
            0 !== (workInProgressRootRenderLanes & 127) || pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);
          }
          hook.memoizedState = nextSnapshot;
          getServerSnapshot = { value: nextSnapshot, getSnapshot };
          hook.queue = getServerSnapshot;
          mountEffect(
            subscribeToStore.bind(null, fiber, getServerSnapshot, subscribe),
            [subscribe]
          );
          fiber.flags |= 2048;
          pushSimpleEffect(
            HasEffect | Passive,
            { destroy: void 0 },
            updateStoreInstance.bind(
              null,
              fiber,
              getServerSnapshot,
              nextSnapshot,
              getSnapshot
            ),
            null
          );
          return nextSnapshot;
        }
        function updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {
          var fiber = currentlyRenderingFiber, hook = updateWorkInProgressHook(), isHydrating$jscomp$0 = isHydrating;
          if (isHydrating$jscomp$0) {
            if (void 0 === getServerSnapshot)
              throw Error(
                "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering."
              );
            getServerSnapshot = getServerSnapshot();
          } else if (getServerSnapshot = getSnapshot(), !didWarnUncachedGetSnapshot) {
            var cachedSnapshot = getSnapshot();
            objectIs(getServerSnapshot, cachedSnapshot) || (console.error(
              "The result of getSnapshot should be cached to avoid an infinite loop"
            ), didWarnUncachedGetSnapshot = true);
          }
          if (cachedSnapshot = !objectIs(
            (currentHook || hook).memoizedState,
            getServerSnapshot
          ))
            hook.memoizedState = getServerSnapshot, didReceiveUpdate = true;
          hook = hook.queue;
          var create2 = subscribeToStore.bind(null, fiber, hook, subscribe);
          updateEffectImpl(2048, Passive, create2, [subscribe]);
          if (hook.getSnapshot !== getSnapshot || cachedSnapshot || null !== workInProgressHook && workInProgressHook.memoizedState.tag & HasEffect) {
            fiber.flags |= 2048;
            pushSimpleEffect(
              HasEffect | Passive,
              { destroy: void 0 },
              updateStoreInstance.bind(
                null,
                fiber,
                hook,
                getServerSnapshot,
                getSnapshot
              ),
              null
            );
            if (null === workInProgressRoot)
              throw Error(
                "Expected a work-in-progress root. This is a bug in React. Please file an issue."
              );
            isHydrating$jscomp$0 || 0 !== (renderLanes & 127) || pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);
          }
          return getServerSnapshot;
        }
        function pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {
          fiber.flags |= 16384;
          fiber = { getSnapshot, value: renderedSnapshot };
          getSnapshot = currentlyRenderingFiber.updateQueue;
          null === getSnapshot ? (getSnapshot = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = getSnapshot, getSnapshot.stores = [fiber]) : (renderedSnapshot = getSnapshot.stores, null === renderedSnapshot ? getSnapshot.stores = [fiber] : renderedSnapshot.push(fiber));
        }
        function updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {
          inst.value = nextSnapshot;
          inst.getSnapshot = getSnapshot;
          checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);
        }
        function subscribeToStore(fiber, inst, subscribe) {
          return subscribe(function() {
            checkIfSnapshotChanged(inst) && (startUpdateTimerByLane(2, "updateSyncExternalStore()", fiber), forceStoreRerender(fiber));
          });
        }
        function checkIfSnapshotChanged(inst) {
          var latestGetSnapshot = inst.getSnapshot;
          inst = inst.value;
          try {
            var nextValue = latestGetSnapshot();
            return !objectIs(inst, nextValue);
          } catch (error2) {
            return true;
          }
        }
        function forceStoreRerender(fiber) {
          var root3 = enqueueConcurrentRenderForLane(fiber, 2);
          null !== root3 && scheduleUpdateOnFiber(root3, fiber, 2);
        }
        function mountStateImpl(initialState) {
          var hook = mountWorkInProgressHook();
          if ("function" === typeof initialState) {
            var initialStateInitializer = initialState;
            initialState = initialStateInitializer();
            if (shouldDoubleInvokeUserFnsInHooksDEV) {
              setIsStrictModeForDevtools(true);
              try {
                initialStateInitializer();
              } finally {
                setIsStrictModeForDevtools(false);
              }
            }
          }
          hook.memoizedState = hook.baseState = initialState;
          hook.queue = {
            pending: null,
            lanes: 0,
            dispatch: null,
            lastRenderedReducer: basicStateReducer,
            lastRenderedState: initialState
          };
          return hook;
        }
        function mountState(initialState) {
          initialState = mountStateImpl(initialState);
          var queue = initialState.queue, dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue);
          queue.dispatch = dispatch;
          return [initialState.memoizedState, dispatch];
        }
        function mountOptimistic(passthrough) {
          var hook = mountWorkInProgressHook();
          hook.memoizedState = hook.baseState = passthrough;
          var queue = {
            pending: null,
            lanes: 0,
            dispatch: null,
            lastRenderedReducer: null,
            lastRenderedState: null
          };
          hook.queue = queue;
          hook = dispatchOptimisticSetState.bind(
            null,
            currentlyRenderingFiber,
            true,
            queue
          );
          queue.dispatch = hook;
          return [passthrough, hook];
        }
        function updateOptimistic(passthrough, reducer) {
          var hook = updateWorkInProgressHook();
          return updateOptimisticImpl(hook, currentHook, passthrough, reducer);
        }
        function updateOptimisticImpl(hook, current2, passthrough, reducer) {
          hook.baseState = passthrough;
          return updateReducerImpl(
            hook,
            currentHook,
            "function" === typeof reducer ? reducer : basicStateReducer
          );
        }
        function rerenderOptimistic(passthrough, reducer) {
          var hook = updateWorkInProgressHook();
          if (null !== currentHook)
            return updateOptimisticImpl(hook, currentHook, passthrough, reducer);
          hook.baseState = passthrough;
          return [passthrough, hook.queue.dispatch];
        }
        function dispatchActionState(fiber, actionQueue, setPendingState, setState, payload) {
          if (isRenderPhaseUpdate(fiber))
            throw Error("Cannot update form state while rendering.");
          fiber = actionQueue.action;
          if (null !== fiber) {
            var actionNode = {
              payload,
              action: fiber,
              next: null,
              isTransition: true,
              status: "pending",
              value: null,
              reason: null,
              listeners: [],
              then: function(listener) {
                actionNode.listeners.push(listener);
              }
            };
            null !== ReactSharedInternals.T ? setPendingState(true) : actionNode.isTransition = false;
            setState(actionNode);
            setPendingState = actionQueue.pending;
            null === setPendingState ? (actionNode.next = actionQueue.pending = actionNode, runActionStateAction(actionQueue, actionNode)) : (actionNode.next = setPendingState.next, actionQueue.pending = setPendingState.next = actionNode);
          }
        }
        function runActionStateAction(actionQueue, node2) {
          var action = node2.action, payload = node2.payload, prevState = actionQueue.state;
          if (node2.isTransition) {
            var prevTransition = ReactSharedInternals.T, currentTransition = {};
            currentTransition._updatedFibers = /* @__PURE__ */ new Set();
            ReactSharedInternals.T = currentTransition;
            try {
              var returnValue = action(prevState, payload), onStartTransitionFinish = ReactSharedInternals.S;
              null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue);
              handleActionReturnValue(actionQueue, node2, returnValue);
            } catch (error2) {
              onActionError(actionQueue, node2, error2);
            } finally {
              null !== prevTransition && null !== currentTransition.types && (null !== prevTransition.types && prevTransition.types !== currentTransition.types && console.error(
                "We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React."
              ), prevTransition.types = currentTransition.types), ReactSharedInternals.T = prevTransition, null === prevTransition && currentTransition._updatedFibers && (actionQueue = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < actionQueue && console.warn(
                "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."
              ));
            }
          } else
            try {
              currentTransition = action(prevState, payload), handleActionReturnValue(actionQueue, node2, currentTransition);
            } catch (error$4) {
              onActionError(actionQueue, node2, error$4);
            }
        }
        function handleActionReturnValue(actionQueue, node2, returnValue) {
          null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then ? (ReactSharedInternals.asyncTransitions++, returnValue.then(releaseAsyncTransition, releaseAsyncTransition), returnValue.then(
            function(nextState) {
              onActionSuccess(actionQueue, node2, nextState);
            },
            function(error2) {
              return onActionError(actionQueue, node2, error2);
            }
          ), node2.isTransition || console.error(
            "An async function with useActionState was called outside of a transition. This is likely not what you intended (for example, isPending will not update correctly). Either call the returned function inside startTransition, or pass it to an `action` or `formAction` prop."
          )) : onActionSuccess(actionQueue, node2, returnValue);
        }
        function onActionSuccess(actionQueue, actionNode, nextState) {
          actionNode.status = "fulfilled";
          actionNode.value = nextState;
          notifyActionListeners(actionNode);
          actionQueue.state = nextState;
          actionNode = actionQueue.pending;
          null !== actionNode && (nextState = actionNode.next, nextState === actionNode ? actionQueue.pending = null : (nextState = nextState.next, actionNode.next = nextState, runActionStateAction(actionQueue, nextState)));
        }
        function onActionError(actionQueue, actionNode, error2) {
          var last = actionQueue.pending;
          actionQueue.pending = null;
          if (null !== last) {
            last = last.next;
            do
              actionNode.status = "rejected", actionNode.reason = error2, notifyActionListeners(actionNode), actionNode = actionNode.next;
            while (actionNode !== last);
          }
          actionQueue.action = null;
        }
        function notifyActionListeners(actionNode) {
          actionNode = actionNode.listeners;
          for (var i2 = 0; i2 < actionNode.length; i2++) (0, actionNode[i2])();
        }
        function actionStateReducer(oldState, newState) {
          return newState;
        }
        function mountActionState(action, initialStateProp) {
          if (isHydrating) {
            var ssrFormState = workInProgressRoot.formState;
            if (null !== ssrFormState) {
              a: {
                var isMatching = currentlyRenderingFiber;
                if (isHydrating) {
                  if (nextHydratableInstance) {
                    b: {
                      var markerInstance = nextHydratableInstance;
                      for (var inRootOrSingleton = rootOrSingletonContext; 8 !== markerInstance.nodeType; ) {
                        if (!inRootOrSingleton) {
                          markerInstance = null;
                          break b;
                        }
                        markerInstance = getNextHydratable(
                          markerInstance.nextSibling
                        );
                        if (null === markerInstance) {
                          markerInstance = null;
                          break b;
                        }
                      }
                      inRootOrSingleton = markerInstance.data;
                      markerInstance = inRootOrSingleton === FORM_STATE_IS_MATCHING || inRootOrSingleton === FORM_STATE_IS_NOT_MATCHING ? markerInstance : null;
                    }
                    if (markerInstance) {
                      nextHydratableInstance = getNextHydratable(
                        markerInstance.nextSibling
                      );
                      isMatching = markerInstance.data === FORM_STATE_IS_MATCHING;
                      break a;
                    }
                  }
                  throwOnHydrationMismatch(isMatching);
                }
                isMatching = false;
              }
              isMatching && (initialStateProp = ssrFormState[0]);
            }
          }
          ssrFormState = mountWorkInProgressHook();
          ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;
          isMatching = {
            pending: null,
            lanes: 0,
            dispatch: null,
            lastRenderedReducer: actionStateReducer,
            lastRenderedState: initialStateProp
          };
          ssrFormState.queue = isMatching;
          ssrFormState = dispatchSetState.bind(
            null,
            currentlyRenderingFiber,
            isMatching
          );
          isMatching.dispatch = ssrFormState;
          isMatching = mountStateImpl(false);
          inRootOrSingleton = dispatchOptimisticSetState.bind(
            null,
            currentlyRenderingFiber,
            false,
            isMatching.queue
          );
          isMatching = mountWorkInProgressHook();
          markerInstance = {
            state: initialStateProp,
            dispatch: null,
            action,
            pending: null
          };
          isMatching.queue = markerInstance;
          ssrFormState = dispatchActionState.bind(
            null,
            currentlyRenderingFiber,
            markerInstance,
            inRootOrSingleton,
            ssrFormState
          );
          markerInstance.dispatch = ssrFormState;
          isMatching.memoizedState = action;
          return [initialStateProp, ssrFormState, false];
        }
        function updateActionState(action) {
          var stateHook = updateWorkInProgressHook();
          return updateActionStateImpl(stateHook, currentHook, action);
        }
        function updateActionStateImpl(stateHook, currentStateHook, action) {
          currentStateHook = updateReducerImpl(
            stateHook,
            currentStateHook,
            actionStateReducer
          )[0];
          stateHook = updateReducer(basicStateReducer)[0];
          if ("object" === typeof currentStateHook && null !== currentStateHook && "function" === typeof currentStateHook.then)
            try {
              var state = useThenable(currentStateHook);
            } catch (x) {
              if (x === SuspenseException) throw SuspenseActionException;
              throw x;
            }
          else state = currentStateHook;
          currentStateHook = updateWorkInProgressHook();
          var actionQueue = currentStateHook.queue, dispatch = actionQueue.dispatch;
          action !== currentStateHook.memoizedState && (currentlyRenderingFiber.flags |= 2048, pushSimpleEffect(
            HasEffect | Passive,
            { destroy: void 0 },
            actionStateActionEffect.bind(null, actionQueue, action),
            null
          ));
          return [state, dispatch, stateHook];
        }
        function actionStateActionEffect(actionQueue, action) {
          actionQueue.action = action;
        }
        function rerenderActionState(action) {
          var stateHook = updateWorkInProgressHook(), currentStateHook = currentHook;
          if (null !== currentStateHook)
            return updateActionStateImpl(stateHook, currentStateHook, action);
          updateWorkInProgressHook();
          stateHook = stateHook.memoizedState;
          currentStateHook = updateWorkInProgressHook();
          var dispatch = currentStateHook.queue.dispatch;
          currentStateHook.memoizedState = action;
          return [stateHook, dispatch, false];
        }
        function pushSimpleEffect(tag, inst, create2, deps) {
          tag = { tag, create: create2, deps, inst, next: null };
          inst = currentlyRenderingFiber.updateQueue;
          null === inst && (inst = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = inst);
          create2 = inst.lastEffect;
          null === create2 ? inst.lastEffect = tag.next = tag : (deps = create2.next, create2.next = tag, tag.next = deps, inst.lastEffect = tag);
          return tag;
        }
        function mountRef(initialValue) {
          var hook = mountWorkInProgressHook();
          initialValue = { current: initialValue };
          return hook.memoizedState = initialValue;
        }
        function mountEffectImpl(fiberFlags, hookFlags, create2, deps) {
          var hook = mountWorkInProgressHook();
          currentlyRenderingFiber.flags |= fiberFlags;
          hook.memoizedState = pushSimpleEffect(
            HasEffect | hookFlags,
            { destroy: void 0 },
            create2,
            void 0 === deps ? null : deps
          );
        }
        function updateEffectImpl(fiberFlags, hookFlags, create2, deps) {
          var hook = updateWorkInProgressHook();
          deps = void 0 === deps ? null : deps;
          var inst = hook.memoizedState.inst;
          null !== currentHook && null !== deps && areHookInputsEqual(deps, currentHook.memoizedState.deps) ? hook.memoizedState = pushSimpleEffect(hookFlags, inst, create2, deps) : (currentlyRenderingFiber.flags |= fiberFlags, hook.memoizedState = pushSimpleEffect(
            HasEffect | hookFlags,
            inst,
            create2,
            deps
          ));
        }
        function mountEffect(create2, deps) {
          (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode ? mountEffectImpl(276826112, Passive, create2, deps) : mountEffectImpl(8390656, Passive, create2, deps);
        }
        function useEffectEventImpl(payload) {
          currentlyRenderingFiber.flags |= 4;
          var componentUpdateQueue = currentlyRenderingFiber.updateQueue;
          if (null === componentUpdateQueue)
            componentUpdateQueue = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = componentUpdateQueue, componentUpdateQueue.events = [payload];
          else {
            var events = componentUpdateQueue.events;
            null === events ? componentUpdateQueue.events = [payload] : events.push(payload);
          }
        }
        function mountEvent(callback) {
          var hook = mountWorkInProgressHook(), ref = { impl: callback };
          hook.memoizedState = ref;
          return function() {
            if ((executionContext & RenderContext) !== NoContext)
              throw Error(
                "A function wrapped in useEffectEvent can't be called during rendering."
              );
            return ref.impl.apply(void 0, arguments);
          };
        }
        function updateEvent(callback) {
          var ref = updateWorkInProgressHook().memoizedState;
          useEffectEventImpl({ ref, nextImpl: callback });
          return function() {
            if ((executionContext & RenderContext) !== NoContext)
              throw Error(
                "A function wrapped in useEffectEvent can't be called during rendering."
              );
            return ref.impl.apply(void 0, arguments);
          };
        }
        function mountLayoutEffect(create2, deps) {
          var fiberFlags = 4194308;
          (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (fiberFlags |= 134217728);
          return mountEffectImpl(fiberFlags, Layout, create2, deps);
        }
        function imperativeHandleEffect(create2, ref) {
          if ("function" === typeof ref) {
            create2 = create2();
            var refCleanup = ref(create2);
            return function() {
              "function" === typeof refCleanup ? refCleanup() : ref(null);
            };
          }
          if (null !== ref && void 0 !== ref)
            return ref.hasOwnProperty("current") || console.error(
              "Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.",
              "an object with keys {" + Object.keys(ref).join(", ") + "}"
            ), create2 = create2(), ref.current = create2, function() {
              ref.current = null;
            };
        }
        function mountImperativeHandle(ref, create2, deps) {
          "function" !== typeof create2 && console.error(
            "Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",
            null !== create2 ? typeof create2 : "null"
          );
          deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;
          var fiberFlags = 4194308;
          (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (fiberFlags |= 134217728);
          mountEffectImpl(
            fiberFlags,
            Layout,
            imperativeHandleEffect.bind(null, create2, ref),
            deps
          );
        }
        function updateImperativeHandle(ref, create2, deps) {
          "function" !== typeof create2 && console.error(
            "Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",
            null !== create2 ? typeof create2 : "null"
          );
          deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;
          updateEffectImpl(
            4,
            Layout,
            imperativeHandleEffect.bind(null, create2, ref),
            deps
          );
        }
        function mountCallback(callback, deps) {
          mountWorkInProgressHook().memoizedState = [
            callback,
            void 0 === deps ? null : deps
          ];
          return callback;
        }
        function updateCallback(callback, deps) {
          var hook = updateWorkInProgressHook();
          deps = void 0 === deps ? null : deps;
          var prevState = hook.memoizedState;
          if (null !== deps && areHookInputsEqual(deps, prevState[1]))
            return prevState[0];
          hook.memoizedState = [callback, deps];
          return callback;
        }
        function mountMemo(nextCreate, deps) {
          var hook = mountWorkInProgressHook();
          deps = void 0 === deps ? null : deps;
          var nextValue = nextCreate();
          if (shouldDoubleInvokeUserFnsInHooksDEV) {
            setIsStrictModeForDevtools(true);
            try {
              nextCreate();
            } finally {
              setIsStrictModeForDevtools(false);
            }
          }
          hook.memoizedState = [nextValue, deps];
          return nextValue;
        }
        function updateMemo(nextCreate, deps) {
          var hook = updateWorkInProgressHook();
          deps = void 0 === deps ? null : deps;
          var prevState = hook.memoizedState;
          if (null !== deps && areHookInputsEqual(deps, prevState[1]))
            return prevState[0];
          prevState = nextCreate();
          if (shouldDoubleInvokeUserFnsInHooksDEV) {
            setIsStrictModeForDevtools(true);
            try {
              nextCreate();
            } finally {
              setIsStrictModeForDevtools(false);
            }
          }
          hook.memoizedState = [prevState, deps];
          return prevState;
        }
        function mountDeferredValue(value, initialValue) {
          var hook = mountWorkInProgressHook();
          return mountDeferredValueImpl(hook, value, initialValue);
        }
        function updateDeferredValue(value, initialValue) {
          var hook = updateWorkInProgressHook();
          return updateDeferredValueImpl(
            hook,
            currentHook.memoizedState,
            value,
            initialValue
          );
        }
        function rerenderDeferredValue(value, initialValue) {
          var hook = updateWorkInProgressHook();
          return null === currentHook ? mountDeferredValueImpl(hook, value, initialValue) : updateDeferredValueImpl(
            hook,
            currentHook.memoizedState,
            value,
            initialValue
          );
        }
        function mountDeferredValueImpl(hook, value, initialValue) {
          if (void 0 === initialValue || 0 !== (renderLanes & 1073741824) && 0 === (workInProgressRootRenderLanes & 261930))
            return hook.memoizedState = value;
          hook.memoizedState = initialValue;
          hook = requestDeferredLane();
          currentlyRenderingFiber.lanes |= hook;
          workInProgressRootSkippedLanes |= hook;
          return initialValue;
        }
        function updateDeferredValueImpl(hook, prevValue, value, initialValue) {
          if (objectIs(value, prevValue)) return value;
          if (null !== currentTreeHiddenStackCursor.current)
            return hook = mountDeferredValueImpl(hook, value, initialValue), objectIs(hook, prevValue) || (didReceiveUpdate = true), hook;
          if (0 === (renderLanes & 42) || 0 !== (renderLanes & 1073741824) && 0 === (workInProgressRootRenderLanes & 261930))
            return didReceiveUpdate = true, hook.memoizedState = value;
          hook = requestDeferredLane();
          currentlyRenderingFiber.lanes |= hook;
          workInProgressRootSkippedLanes |= hook;
          return prevValue;
        }
        function releaseAsyncTransition() {
          ReactSharedInternals.asyncTransitions--;
        }
        function startTransition(fiber, queue, pendingState, finishedState, callback) {
          var previousPriority = ReactDOMSharedInternals.p;
          ReactDOMSharedInternals.p = 0 !== previousPriority && previousPriority < ContinuousEventPriority ? previousPriority : ContinuousEventPriority;
          var prevTransition = ReactSharedInternals.T, currentTransition = {};
          currentTransition._updatedFibers = /* @__PURE__ */ new Set();
          ReactSharedInternals.T = currentTransition;
          dispatchOptimisticSetState(fiber, false, queue, pendingState);
          try {
            var returnValue = callback(), onStartTransitionFinish = ReactSharedInternals.S;
            null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue);
            if (null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then) {
              ReactSharedInternals.asyncTransitions++;
              returnValue.then(releaseAsyncTransition, releaseAsyncTransition);
              var thenableForFinishedState = chainThenableValue(
                returnValue,
                finishedState
              );
              dispatchSetStateInternal(
                fiber,
                queue,
                thenableForFinishedState,
                requestUpdateLane(fiber)
              );
            } else
              dispatchSetStateInternal(
                fiber,
                queue,
                finishedState,
                requestUpdateLane(fiber)
              );
          } catch (error2) {
            dispatchSetStateInternal(
              fiber,
              queue,
              { then: function() {
              }, status: "rejected", reason: error2 },
              requestUpdateLane(fiber)
            );
          } finally {
            ReactDOMSharedInternals.p = previousPriority, null !== prevTransition && null !== currentTransition.types && (null !== prevTransition.types && prevTransition.types !== currentTransition.types && console.error(
              "We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React."
            ), prevTransition.types = currentTransition.types), ReactSharedInternals.T = prevTransition, null === prevTransition && currentTransition._updatedFibers && (fiber = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < fiber && console.warn(
              "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."
            ));
          }
        }
        function startHostTransition(formFiber, pendingState, action, formData) {
          if (5 !== formFiber.tag)
            throw Error(
              "Expected the form instance to be a HostComponent. This is a bug in React."
            );
          var queue = ensureFormComponentIsStateful(formFiber).queue;
          startHostActionTimer(formFiber);
          startTransition(
            formFiber,
            queue,
            pendingState,
            NotPendingTransition,
            null === action ? noop7 : function() {
              requestFormReset$1(formFiber);
              return action(formData);
            }
          );
        }
        function ensureFormComponentIsStateful(formFiber) {
          var existingStateHook = formFiber.memoizedState;
          if (null !== existingStateHook) return existingStateHook;
          existingStateHook = {
            memoizedState: NotPendingTransition,
            baseState: NotPendingTransition,
            baseQueue: null,
            queue: {
              pending: null,
              lanes: 0,
              dispatch: null,
              lastRenderedReducer: basicStateReducer,
              lastRenderedState: NotPendingTransition
            },
            next: null
          };
          var initialResetState = {};
          existingStateHook.next = {
            memoizedState: initialResetState,
            baseState: initialResetState,
            baseQueue: null,
            queue: {
              pending: null,
              lanes: 0,
              dispatch: null,
              lastRenderedReducer: basicStateReducer,
              lastRenderedState: initialResetState
            },
            next: null
          };
          formFiber.memoizedState = existingStateHook;
          formFiber = formFiber.alternate;
          null !== formFiber && (formFiber.memoizedState = existingStateHook);
          return existingStateHook;
        }
        function requestFormReset$1(formFiber) {
          null === ReactSharedInternals.T && console.error(
            "requestFormReset was called outside a transition or action. To fix, move to an action, or wrap with startTransition."
          );
          var stateHook = ensureFormComponentIsStateful(formFiber);
          null === stateHook.next && (stateHook = formFiber.alternate.memoizedState);
          dispatchSetStateInternal(
            formFiber,
            stateHook.next.queue,
            {},
            requestUpdateLane(formFiber)
          );
        }
        function mountTransition() {
          var stateHook = mountStateImpl(false);
          stateHook = startTransition.bind(
            null,
            currentlyRenderingFiber,
            stateHook.queue,
            true,
            false
          );
          mountWorkInProgressHook().memoizedState = stateHook;
          return [false, stateHook];
        }
        function updateTransition() {
          var booleanOrThenable = updateReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState;
          return [
            "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable),
            start
          ];
        }
        function rerenderTransition() {
          var booleanOrThenable = rerenderReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState;
          return [
            "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable),
            start
          ];
        }
        function useHostTransitionStatus() {
          return readContext(HostTransitionContext);
        }
        function mountId() {
          var hook = mountWorkInProgressHook(), identifierPrefix = workInProgressRoot.identifierPrefix;
          if (isHydrating) {
            var treeId = treeContextOverflow;
            var idWithLeadingBit = treeContextId;
            treeId = (idWithLeadingBit & ~(1 << 32 - clz32(idWithLeadingBit) - 1)).toString(32) + treeId;
            identifierPrefix = "_" + identifierPrefix + "R_" + treeId;
            treeId = localIdCounter++;
            0 < treeId && (identifierPrefix += "H" + treeId.toString(32));
            identifierPrefix += "_";
          } else
            treeId = globalClientIdCounter++, identifierPrefix = "_" + identifierPrefix + "r_" + treeId.toString(32) + "_";
          return hook.memoizedState = identifierPrefix;
        }
        function mountRefresh() {
          return mountWorkInProgressHook().memoizedState = refreshCache.bind(
            null,
            currentlyRenderingFiber
          );
        }
        function refreshCache(fiber, seedKey) {
          for (var provider = fiber.return; null !== provider; ) {
            switch (provider.tag) {
              case 24:
              case 3:
                var lane = requestUpdateLane(provider), refreshUpdate = createUpdate(lane), root3 = enqueueUpdate(provider, refreshUpdate, lane);
                null !== root3 && (startUpdateTimerByLane(lane, "refresh()", fiber), scheduleUpdateOnFiber(root3, provider, lane), entangleTransitions(root3, provider, lane));
                fiber = createCache3();
                null !== seedKey && void 0 !== seedKey && null !== root3 && console.error(
                  "The seed argument is not enabled outside experimental channels."
                );
                refreshUpdate.payload = { cache: fiber };
                return;
            }
            provider = provider.return;
          }
        }
        function dispatchReducerAction(fiber, queue, action) {
          var args = arguments;
          "function" === typeof args[3] && console.error(
            "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()."
          );
          args = requestUpdateLane(fiber);
          var update = {
            lane: args,
            revertLane: 0,
            gesture: null,
            action,
            hasEagerState: false,
            eagerState: null,
            next: null
          };
          isRenderPhaseUpdate(fiber) ? enqueueRenderPhaseUpdate(queue, update) : (update = enqueueConcurrentHookUpdate(fiber, queue, update, args), null !== update && (startUpdateTimerByLane(args, "dispatch()", fiber), scheduleUpdateOnFiber(update, fiber, args), entangleTransitionUpdate(update, queue, args)));
        }
        function dispatchSetState(fiber, queue, action) {
          var args = arguments;
          "function" === typeof args[3] && console.error(
            "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()."
          );
          args = requestUpdateLane(fiber);
          dispatchSetStateInternal(fiber, queue, action, args) && startUpdateTimerByLane(args, "setState()", fiber);
        }
        function dispatchSetStateInternal(fiber, queue, action, lane) {
          var update = {
            lane,
            revertLane: 0,
            gesture: null,
            action,
            hasEagerState: false,
            eagerState: null,
            next: null
          };
          if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);
          else {
            var alternate = fiber.alternate;
            if (0 === fiber.lanes && (null === alternate || 0 === alternate.lanes) && (alternate = queue.lastRenderedReducer, null !== alternate)) {
              var prevDispatcher = ReactSharedInternals.H;
              ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
              try {
                var currentState = queue.lastRenderedState, eagerState = alternate(currentState, action);
                update.hasEagerState = true;
                update.eagerState = eagerState;
                if (objectIs(eagerState, currentState))
                  return enqueueUpdate$1(fiber, queue, update, 0), null === workInProgressRoot && finishQueueingConcurrentUpdates(), false;
              } catch (error2) {
              } finally {
                ReactSharedInternals.H = prevDispatcher;
              }
            }
            action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);
            if (null !== action)
              return scheduleUpdateOnFiber(action, fiber, lane), entangleTransitionUpdate(action, queue, lane), true;
          }
          return false;
        }
        function dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {
          null === ReactSharedInternals.T && 0 === currentEntangledLane && console.error(
            "An optimistic state update occurred outside a transition or action. To fix, move the update to an action, or wrap with startTransition."
          );
          action = {
            lane: 2,
            revertLane: requestTransitionLane(),
            gesture: null,
            action,
            hasEagerState: false,
            eagerState: null,
            next: null
          };
          if (isRenderPhaseUpdate(fiber)) {
            if (throwIfDuringRender)
              throw Error("Cannot update optimistic state while rendering.");
            console.error("Cannot call startTransition while rendering.");
          } else
            throwIfDuringRender = enqueueConcurrentHookUpdate(
              fiber,
              queue,
              action,
              2
            ), null !== throwIfDuringRender && (startUpdateTimerByLane(2, "setOptimistic()", fiber), scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2));
        }
        function isRenderPhaseUpdate(fiber) {
          var alternate = fiber.alternate;
          return fiber === currentlyRenderingFiber || null !== alternate && alternate === currentlyRenderingFiber;
        }
        function enqueueRenderPhaseUpdate(queue, update) {
          didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true;
          var pending = queue.pending;
          null === pending ? update.next = update : (update.next = pending.next, pending.next = update);
          queue.pending = update;
        }
        function entangleTransitionUpdate(root3, queue, lane) {
          if (0 !== (lane & 4194048)) {
            var queueLanes = queue.lanes;
            queueLanes &= root3.pendingLanes;
            lane |= queueLanes;
            queue.lanes = lane;
            markRootEntangled(root3, lane);
          }
        }
        function warnOnInvalidCallback(callback) {
          if (null !== callback && "function" !== typeof callback) {
            var key = String(callback);
            didWarnOnInvalidCallback.has(key) || (didWarnOnInvalidCallback.add(key), console.error(
              "Expected the last optional `callback` argument to be a function. Instead received: %s.",
              callback
            ));
          }
        }
        function applyDerivedStateFromProps(workInProgress2, ctor, getDerivedStateFromProps, nextProps) {
          var prevState = workInProgress2.memoizedState, partialState = getDerivedStateFromProps(nextProps, prevState);
          if (workInProgress2.mode & StrictLegacyMode) {
            setIsStrictModeForDevtools(true);
            try {
              partialState = getDerivedStateFromProps(nextProps, prevState);
            } finally {
              setIsStrictModeForDevtools(false);
            }
          }
          void 0 === partialState && (ctor = getComponentNameFromType(ctor) || "Component", didWarnAboutUndefinedDerivedState.has(ctor) || (didWarnAboutUndefinedDerivedState.add(ctor), console.error(
            "%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.",
            ctor
          )));
          prevState = null === partialState || void 0 === partialState ? prevState : assign2({}, prevState, partialState);
          workInProgress2.memoizedState = prevState;
          0 === workInProgress2.lanes && (workInProgress2.updateQueue.baseState = prevState);
        }
        function checkShouldComponentUpdate(workInProgress2, ctor, oldProps, newProps, oldState, newState, nextContext) {
          var instance2 = workInProgress2.stateNode;
          if ("function" === typeof instance2.shouldComponentUpdate) {
            oldProps = instance2.shouldComponentUpdate(
              newProps,
              newState,
              nextContext
            );
            if (workInProgress2.mode & StrictLegacyMode) {
              setIsStrictModeForDevtools(true);
              try {
                oldProps = instance2.shouldComponentUpdate(
                  newProps,
                  newState,
                  nextContext
                );
              } finally {
                setIsStrictModeForDevtools(false);
              }
            }
            void 0 === oldProps && console.error(
              "%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.",
              getComponentNameFromType(ctor) || "Component"
            );
            return oldProps;
          }
          return ctor.prototype && ctor.prototype.isPureReactComponent ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState) : true;
        }
        function callComponentWillReceiveProps(workInProgress2, instance2, newProps, nextContext) {
          var oldState = instance2.state;
          "function" === typeof instance2.componentWillReceiveProps && instance2.componentWillReceiveProps(newProps, nextContext);
          "function" === typeof instance2.UNSAFE_componentWillReceiveProps && instance2.UNSAFE_componentWillReceiveProps(newProps, nextContext);
          instance2.state !== oldState && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Component", didWarnAboutStateAssignmentForComponent.has(workInProgress2) || (didWarnAboutStateAssignmentForComponent.add(workInProgress2), console.error(
            "%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.",
            workInProgress2
          )), classComponentUpdater.enqueueReplaceState(
            instance2,
            instance2.state,
            null
          ));
        }
        function resolveClassComponentProps(Component, baseProps) {
          var newProps = baseProps;
          if ("ref" in baseProps) {
            newProps = {};
            for (var propName in baseProps)
              "ref" !== propName && (newProps[propName] = baseProps[propName]);
          }
          if (Component = Component.defaultProps) {
            newProps === baseProps && (newProps = assign2({}, newProps));
            for (var _propName in Component)
              void 0 === newProps[_propName] && (newProps[_propName] = Component[_propName]);
          }
          return newProps;
        }
        function defaultOnUncaughtError(error2) {
          reportGlobalError(error2);
          console.warn(
            "%s\n\n%s\n",
            componentName ? "An error occurred in the <" + componentName + "> component." : "An error occurred in one of your React components.",
            "Consider adding an error boundary to your tree to customize error handling behavior.\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries."
          );
        }
        function defaultOnCaughtError(error2) {
          var componentNameMessage = componentName ? "The above error occurred in the <" + componentName + "> component." : "The above error occurred in one of your React components.", recreateMessage = "React will try to recreate this component tree from scratch using the error boundary you provided, " + ((errorBoundaryName || "Anonymous") + ".");
          if ("object" === typeof error2 && null !== error2 && "string" === typeof error2.environmentName) {
            var JSCompiler_inline_result = error2.environmentName;
            error2 = [
              "%o\n\n%s\n\n%s\n",
              error2,
              componentNameMessage,
              recreateMessage
            ].slice(0);
            "string" === typeof error2[0] ? error2.splice(
              0,
              1,
              badgeFormat + " " + error2[0],
              badgeStyle,
              pad + JSCompiler_inline_result + pad,
              resetStyle
            ) : error2.splice(
              0,
              0,
              badgeFormat,
              badgeStyle,
              pad + JSCompiler_inline_result + pad,
              resetStyle
            );
            error2.unshift(console);
            JSCompiler_inline_result = bind.apply(console.error, error2);
            JSCompiler_inline_result();
          } else
            console.error(
              "%o\n\n%s\n\n%s\n",
              error2,
              componentNameMessage,
              recreateMessage
            );
        }
        function defaultOnRecoverableError(error2) {
          reportGlobalError(error2);
        }
        function logUncaughtError(root3, errorInfo) {
          try {
            componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null;
            errorBoundaryName = null;
            var error2 = errorInfo.value;
            if (null !== ReactSharedInternals.actQueue)
              ReactSharedInternals.thrownErrors.push(error2);
            else {
              var onUncaughtError = root3.onUncaughtError;
              onUncaughtError(error2, { componentStack: errorInfo.stack });
            }
          } catch (e$5) {
            setTimeout(function() {
              throw e$5;
            });
          }
        }
        function logCaughtError(root3, boundary, errorInfo) {
          try {
            componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null;
            errorBoundaryName = getComponentNameFromFiber(boundary);
            var onCaughtError = root3.onCaughtError;
            onCaughtError(errorInfo.value, {
              componentStack: errorInfo.stack,
              errorBoundary: 1 === boundary.tag ? boundary.stateNode : null
            });
          } catch (e$6) {
            setTimeout(function() {
              throw e$6;
            });
          }
        }
        function createRootErrorUpdate(root3, errorInfo, lane) {
          lane = createUpdate(lane);
          lane.tag = CaptureUpdate;
          lane.payload = { element: null };
          lane.callback = function() {
            runWithFiberInDEV(errorInfo.source, logUncaughtError, root3, errorInfo);
          };
          return lane;
        }
        function createClassErrorUpdate(lane) {
          lane = createUpdate(lane);
          lane.tag = CaptureUpdate;
          return lane;
        }
        function initializeClassErrorUpdate(update, root3, fiber, errorInfo) {
          var getDerivedStateFromError = fiber.type.getDerivedStateFromError;
          if ("function" === typeof getDerivedStateFromError) {
            var error2 = errorInfo.value;
            update.payload = function() {
              return getDerivedStateFromError(error2);
            };
            update.callback = function() {
              markFailedErrorBoundaryForHotReloading(fiber);
              runWithFiberInDEV(
                errorInfo.source,
                logCaughtError,
                root3,
                fiber,
                errorInfo
              );
            };
          }
          var inst = fiber.stateNode;
          null !== inst && "function" === typeof inst.componentDidCatch && (update.callback = function() {
            markFailedErrorBoundaryForHotReloading(fiber);
            runWithFiberInDEV(
              errorInfo.source,
              logCaughtError,
              root3,
              fiber,
              errorInfo
            );
            "function" !== typeof getDerivedStateFromError && (null === legacyErrorBoundariesThatAlreadyFailed ? legacyErrorBoundariesThatAlreadyFailed = /* @__PURE__ */ new Set([this]) : legacyErrorBoundariesThatAlreadyFailed.add(this));
            callComponentDidCatchInDEV(this, errorInfo);
            "function" === typeof getDerivedStateFromError || 0 === (fiber.lanes & 2) && console.error(
              "%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.",
              getComponentNameFromFiber(fiber) || "Unknown"
            );
          });
        }
        function throwException(root3, returnFiber, sourceFiber, value, rootRenderLanes) {
          sourceFiber.flags |= 32768;
          isDevToolsPresent && restorePendingUpdaters(root3, rootRenderLanes);
          if (null !== value && "object" === typeof value && "function" === typeof value.then) {
            returnFiber = sourceFiber.alternate;
            null !== returnFiber && propagateParentContextChanges(
              returnFiber,
              sourceFiber,
              rootRenderLanes,
              true
            );
            isHydrating && (didSuspendOrErrorDEV = true);
            sourceFiber = suspenseHandlerStackCursor.current;
            if (null !== sourceFiber) {
              switch (sourceFiber.tag) {
                case 31:
                case 13:
                  return null === shellBoundary ? renderDidSuspendDelayIfPossible() : null === sourceFiber.alternate && workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootSuspended), sourceFiber.flags &= -257, sourceFiber.flags |= 65536, sourceFiber.lanes = rootRenderLanes, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, null === returnFiber ? sourceFiber.updateQueue = /* @__PURE__ */ new Set([value]) : returnFiber.add(value), attachPingListener(root3, value, rootRenderLanes)), false;
                case 22:
                  return sourceFiber.flags |= 65536, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, null === returnFiber ? (returnFiber = {
                    transitions: null,
                    markerInstances: null,
                    retryQueue: /* @__PURE__ */ new Set([value])
                  }, sourceFiber.updateQueue = returnFiber) : (sourceFiber = returnFiber.retryQueue, null === sourceFiber ? returnFiber.retryQueue = /* @__PURE__ */ new Set([value]) : sourceFiber.add(value)), attachPingListener(root3, value, rootRenderLanes)), false;
              }
              throw Error(
                "Unexpected Suspense handler tag (" + sourceFiber.tag + "). This is a bug in React."
              );
            }
            attachPingListener(root3, value, rootRenderLanes);
            renderDidSuspendDelayIfPossible();
            return false;
          }
          if (isHydrating)
            return didSuspendOrErrorDEV = true, returnFiber = suspenseHandlerStackCursor.current, null !== returnFiber ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256), returnFiber.flags |= 65536, returnFiber.lanes = rootRenderLanes, value !== HydrationMismatchException && queueHydrationError(
              createCapturedValueAtFiber(
                Error(
                  "There was an error while hydrating but React was able to recover by instead client rendering from the nearest Suspense boundary.",
                  { cause: value }
                ),
                sourceFiber
              )
            )) : (value !== HydrationMismatchException && queueHydrationError(
              createCapturedValueAtFiber(
                Error(
                  "There was an error while hydrating but React was able to recover by instead client rendering the entire root.",
                  { cause: value }
                ),
                sourceFiber
              )
            ), root3 = root3.current.alternate, root3.flags |= 65536, rootRenderLanes &= -rootRenderLanes, root3.lanes |= rootRenderLanes, value = createCapturedValueAtFiber(value, sourceFiber), rootRenderLanes = createRootErrorUpdate(
              root3.stateNode,
              value,
              rootRenderLanes
            ), enqueueCapturedUpdate(root3, rootRenderLanes), workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored)), false;
          var error2 = createCapturedValueAtFiber(
            Error(
              "There was an error during concurrent rendering but React was able to recover by instead synchronously rendering the entire root.",
              { cause: value }
            ),
            sourceFiber
          );
          null === workInProgressRootConcurrentErrors ? workInProgressRootConcurrentErrors = [error2] : workInProgressRootConcurrentErrors.push(error2);
          workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored);
          if (null === returnFiber) return true;
          value = createCapturedValueAtFiber(value, sourceFiber);
          sourceFiber = returnFiber;
          do {
            switch (sourceFiber.tag) {
              case 3:
                return sourceFiber.flags |= 65536, root3 = rootRenderLanes & -rootRenderLanes, sourceFiber.lanes |= root3, root3 = createRootErrorUpdate(
                  sourceFiber.stateNode,
                  value,
                  root3
                ), enqueueCapturedUpdate(sourceFiber, root3), false;
              case 1:
                if (returnFiber = sourceFiber.type, error2 = sourceFiber.stateNode, 0 === (sourceFiber.flags & 128) && ("function" === typeof returnFiber.getDerivedStateFromError || null !== error2 && "function" === typeof error2.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(error2))))
                  return sourceFiber.flags |= 65536, rootRenderLanes &= -rootRenderLanes, sourceFiber.lanes |= rootRenderLanes, rootRenderLanes = createClassErrorUpdate(rootRenderLanes), initializeClassErrorUpdate(
                    rootRenderLanes,
                    root3,
                    sourceFiber,
                    value
                  ), enqueueCapturedUpdate(sourceFiber, rootRenderLanes), false;
            }
            sourceFiber = sourceFiber.return;
          } while (null !== sourceFiber);
          return false;
        }
        function reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2) {
          workInProgress2.child = null === current2 ? mountChildFibers(workInProgress2, null, nextChildren, renderLanes2) : reconcileChildFibers(
            workInProgress2,
            current2.child,
            nextChildren,
            renderLanes2
          );
        }
        function updateForwardRef(current2, workInProgress2, Component, nextProps, renderLanes2) {
          Component = Component.render;
          var ref = workInProgress2.ref;
          if ("ref" in nextProps) {
            var propsWithoutRef = {};
            for (var key in nextProps)
              "ref" !== key && (propsWithoutRef[key] = nextProps[key]);
          } else propsWithoutRef = nextProps;
          prepareToReadContext(workInProgress2);
          nextProps = renderWithHooks(
            current2,
            workInProgress2,
            Component,
            propsWithoutRef,
            ref,
            renderLanes2
          );
          key = checkDidRenderIdHook();
          if (null !== current2 && !didReceiveUpdate)
            return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
          isHydrating && key && pushMaterializedTreeId(workInProgress2);
          workInProgress2.flags |= 1;
          reconcileChildren(current2, workInProgress2, nextProps, renderLanes2);
          return workInProgress2.child;
        }
        function updateMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
          if (null === current2) {
            var type2 = Component.type;
            if ("function" === typeof type2 && !shouldConstruct(type2) && void 0 === type2.defaultProps && null === Component.compare)
              return Component = resolveFunctionForHotReloading(type2), workInProgress2.tag = 15, workInProgress2.type = Component, validateFunctionComponentInDev(workInProgress2, type2), updateSimpleMemoComponent(
                current2,
                workInProgress2,
                Component,
                nextProps,
                renderLanes2
              );
            current2 = createFiberFromTypeAndProps(
              Component.type,
              null,
              nextProps,
              workInProgress2,
              workInProgress2.mode,
              renderLanes2
            );
            current2.ref = workInProgress2.ref;
            current2.return = workInProgress2;
            return workInProgress2.child = current2;
          }
          type2 = current2.child;
          if (!checkScheduledUpdateOrContext(current2, renderLanes2)) {
            var prevProps = type2.memoizedProps;
            Component = Component.compare;
            Component = null !== Component ? Component : shallowEqual;
            if (Component(prevProps, nextProps) && current2.ref === workInProgress2.ref)
              return bailoutOnAlreadyFinishedWork(
                current2,
                workInProgress2,
                renderLanes2
              );
          }
          workInProgress2.flags |= 1;
          current2 = createWorkInProgress(type2, nextProps);
          current2.ref = workInProgress2.ref;
          current2.return = workInProgress2;
          return workInProgress2.child = current2;
        }
        function updateSimpleMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
          if (null !== current2) {
            var prevProps = current2.memoizedProps;
            if (shallowEqual(prevProps, nextProps) && current2.ref === workInProgress2.ref && workInProgress2.type === current2.type)
              if (didReceiveUpdate = false, workInProgress2.pendingProps = nextProps = prevProps, checkScheduledUpdateOrContext(current2, renderLanes2))
                0 !== (current2.flags & 131072) && (didReceiveUpdate = true);
              else
                return workInProgress2.lanes = current2.lanes, bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
          }
          return updateFunctionComponent(
            current2,
            workInProgress2,
            Component,
            nextProps,
            renderLanes2
          );
        }
        function updateOffscreenComponent(current2, workInProgress2, renderLanes2, nextProps) {
          var nextChildren = nextProps.children, prevState = null !== current2 ? current2.memoizedState : null;
          null === current2 && null === workInProgress2.stateNode && (workInProgress2.stateNode = {
            _visibility: OffscreenVisible,
            _pendingMarkers: null,
            _retryCache: null,
            _transitions: null
          });
          if ("hidden" === nextProps.mode) {
            if (0 !== (workInProgress2.flags & 128)) {
              prevState = null !== prevState ? prevState.baseLanes | renderLanes2 : renderLanes2;
              if (null !== current2) {
                nextProps = workInProgress2.child = current2.child;
                for (nextChildren = 0; null !== nextProps; )
                  nextChildren = nextChildren | nextProps.lanes | nextProps.childLanes, nextProps = nextProps.sibling;
                nextProps = nextChildren & ~prevState;
              } else nextProps = 0, workInProgress2.child = null;
              return deferHiddenOffscreenComponent(
                current2,
                workInProgress2,
                prevState,
                renderLanes2,
                nextProps
              );
            }
            if (0 !== (renderLanes2 & 536870912))
              workInProgress2.memoizedState = { baseLanes: 0, cachePool: null }, null !== current2 && pushTransition(
                workInProgress2,
                null !== prevState ? prevState.cachePool : null
              ), null !== prevState ? pushHiddenContext(workInProgress2, prevState) : reuseHiddenContextOnStack(workInProgress2), pushOffscreenSuspenseHandler(workInProgress2);
            else
              return nextProps = workInProgress2.lanes = 536870912, deferHiddenOffscreenComponent(
                current2,
                workInProgress2,
                null !== prevState ? prevState.baseLanes | renderLanes2 : renderLanes2,
                renderLanes2,
                nextProps
              );
          } else
            null !== prevState ? (pushTransition(workInProgress2, prevState.cachePool), pushHiddenContext(workInProgress2, prevState), reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.memoizedState = null) : (null !== current2 && pushTransition(workInProgress2, null), reuseHiddenContextOnStack(workInProgress2), reuseSuspenseHandlerOnStack(workInProgress2));
          reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2);
          return workInProgress2.child;
        }
        function bailoutOffscreenComponent(current2, workInProgress2) {
          null !== current2 && 22 === current2.tag || null !== workInProgress2.stateNode || (workInProgress2.stateNode = {
            _visibility: OffscreenVisible,
            _pendingMarkers: null,
            _retryCache: null,
            _transitions: null
          });
          return workInProgress2.sibling;
        }
        function deferHiddenOffscreenComponent(current2, workInProgress2, nextBaseLanes, renderLanes2, remainingChildLanes) {
          var JSCompiler_inline_result = peekCacheFromPool();
          JSCompiler_inline_result = null === JSCompiler_inline_result ? null : {
            parent: CacheContext._currentValue,
            pool: JSCompiler_inline_result
          };
          workInProgress2.memoizedState = {
            baseLanes: nextBaseLanes,
            cachePool: JSCompiler_inline_result
          };
          null !== current2 && pushTransition(workInProgress2, null);
          reuseHiddenContextOnStack(workInProgress2);
          pushOffscreenSuspenseHandler(workInProgress2);
          null !== current2 && propagateParentContextChanges(current2, workInProgress2, renderLanes2, true);
          workInProgress2.childLanes = remainingChildLanes;
          return null;
        }
        function mountActivityChildren(workInProgress2, nextProps) {
          var hiddenProp = nextProps.hidden;
          void 0 !== hiddenProp && console.error(
            `<Activity> doesn't accept a hidden prop. Use mode="hidden" instead.
- <Activity %s>
+ <Activity %s>`,
            true === hiddenProp ? "hidden" : false === hiddenProp ? "hidden={false}" : "hidden={...}",
            hiddenProp ? 'mode="hidden"' : 'mode="visible"'
          );
          nextProps = mountWorkInProgressOffscreenFiber(
            { mode: nextProps.mode, children: nextProps.children },
            workInProgress2.mode
          );
          nextProps.ref = workInProgress2.ref;
          workInProgress2.child = nextProps;
          nextProps.return = workInProgress2;
          return nextProps;
        }
        function retryActivityComponentWithoutHydrating(current2, workInProgress2, renderLanes2) {
          reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2);
          current2 = mountActivityChildren(
            workInProgress2,
            workInProgress2.pendingProps
          );
          current2.flags |= 2;
          popSuspenseHandler(workInProgress2);
          workInProgress2.memoizedState = null;
          return current2;
        }
        function updateActivityComponent(current2, workInProgress2, renderLanes2) {
          var nextProps = workInProgress2.pendingProps, didSuspend = 0 !== (workInProgress2.flags & 128);
          workInProgress2.flags &= -129;
          if (null === current2) {
            if (isHydrating) {
              if ("hidden" === nextProps.mode)
                return current2 = mountActivityChildren(workInProgress2, nextProps), workInProgress2.lanes = 536870912, bailoutOffscreenComponent(null, current2);
              pushDehydratedActivitySuspenseHandler(workInProgress2);
              (current2 = nextHydratableInstance) ? (renderLanes2 = canHydrateHydrationBoundary(
                current2,
                rootOrSingletonContext
              ), renderLanes2 = null !== renderLanes2 && renderLanes2.data === ACTIVITY_START_DATA ? renderLanes2 : null, null !== renderLanes2 && (nextProps = {
                dehydrated: renderLanes2,
                treeContext: getSuspendedTreeContext(),
                retryLane: 536870912,
                hydrationErrors: null
              }, workInProgress2.memoizedState = nextProps, nextProps = createFiberFromDehydratedFragment(renderLanes2), nextProps.return = workInProgress2, workInProgress2.child = nextProps, hydrationParentFiber = workInProgress2, nextHydratableInstance = null)) : renderLanes2 = null;
              if (null === renderLanes2)
                throw warnNonHydratedInstance(workInProgress2, current2), throwOnHydrationMismatch(workInProgress2);
              workInProgress2.lanes = 536870912;
              return null;
            }
            return mountActivityChildren(workInProgress2, nextProps);
          }
          var prevState = current2.memoizedState;
          if (null !== prevState) {
            var activityInstance = prevState.dehydrated;
            pushDehydratedActivitySuspenseHandler(workInProgress2);
            if (didSuspend)
              if (workInProgress2.flags & 256)
                workInProgress2.flags &= -257, workInProgress2 = retryActivityComponentWithoutHydrating(
                  current2,
                  workInProgress2,
                  renderLanes2
                );
              else if (null !== workInProgress2.memoizedState)
                workInProgress2.child = current2.child, workInProgress2.flags |= 128, workInProgress2 = null;
              else
                throw Error(
                  "Client rendering an Activity suspended it again. This is a bug in React."
                );
            else if (warnIfHydrating(), 0 !== (renderLanes2 & 536870912) && markRenderDerivedCause(workInProgress2), didReceiveUpdate || propagateParentContextChanges(
              current2,
              workInProgress2,
              renderLanes2,
              false
            ), didSuspend = 0 !== (renderLanes2 & current2.childLanes), didReceiveUpdate || didSuspend) {
              nextProps = workInProgressRoot;
              if (null !== nextProps && (activityInstance = getBumpedLaneForHydration(
                nextProps,
                renderLanes2
              ), 0 !== activityInstance && activityInstance !== prevState.retryLane))
                throw prevState.retryLane = activityInstance, enqueueConcurrentRenderForLane(current2, activityInstance), scheduleUpdateOnFiber(nextProps, current2, activityInstance), SelectiveHydrationException;
              renderDidSuspendDelayIfPossible();
              workInProgress2 = retryActivityComponentWithoutHydrating(
                current2,
                workInProgress2,
                renderLanes2
              );
            } else
              current2 = prevState.treeContext, nextHydratableInstance = getNextHydratable(
                activityInstance.nextSibling
              ), hydrationParentFiber = workInProgress2, isHydrating = true, hydrationErrors = null, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, rootOrSingletonContext = false, null !== current2 && restoreSuspendedTreeContext(workInProgress2, current2), workInProgress2 = mountActivityChildren(workInProgress2, nextProps), workInProgress2.flags |= 4096;
            return workInProgress2;
          }
          prevState = current2.child;
          nextProps = { mode: nextProps.mode, children: nextProps.children };
          0 !== (renderLanes2 & 536870912) && 0 !== (renderLanes2 & current2.lanes) && markRenderDerivedCause(workInProgress2);
          current2 = createWorkInProgress(prevState, nextProps);
          current2.ref = workInProgress2.ref;
          workInProgress2.child = current2;
          current2.return = workInProgress2;
          return current2;
        }
        function markRef(current2, workInProgress2) {
          var ref = workInProgress2.ref;
          if (null === ref)
            null !== current2 && null !== current2.ref && (workInProgress2.flags |= 4194816);
          else {
            if ("function" !== typeof ref && "object" !== typeof ref)
              throw Error(
                "Expected ref to be a function, an object returned by React.createRef(), or undefined/null."
              );
            if (null === current2 || current2.ref !== ref)
              workInProgress2.flags |= 4194816;
          }
        }
        function updateFunctionComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
          if (Component.prototype && "function" === typeof Component.prototype.render) {
            var componentName2 = getComponentNameFromType(Component) || "Unknown";
            didWarnAboutBadClass[componentName2] || (console.error(
              "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.",
              componentName2,
              componentName2
            ), didWarnAboutBadClass[componentName2] = true);
          }
          workInProgress2.mode & StrictLegacyMode && ReactStrictModeWarnings.recordLegacyContextWarning(
            workInProgress2,
            null
          );
          null === current2 && (validateFunctionComponentInDev(workInProgress2, workInProgress2.type), Component.contextTypes && (componentName2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypes[componentName2] || (didWarnAboutContextTypes[componentName2] = true, console.error(
            "%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with React.useContext() instead. (https://react.dev/link/legacy-context)",
            componentName2
          ))));
          prepareToReadContext(workInProgress2);
          Component = renderWithHooks(
            current2,
            workInProgress2,
            Component,
            nextProps,
            void 0,
            renderLanes2
          );
          nextProps = checkDidRenderIdHook();
          if (null !== current2 && !didReceiveUpdate)
            return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
          isHydrating && nextProps && pushMaterializedTreeId(workInProgress2);
          workInProgress2.flags |= 1;
          reconcileChildren(current2, workInProgress2, Component, renderLanes2);
          return workInProgress2.child;
        }
        function replayFunctionComponent(current2, workInProgress2, nextProps, Component, secondArg, renderLanes2) {
          prepareToReadContext(workInProgress2);
          hookTypesUpdateIndexDev = -1;
          ignorePreviousDependencies = null !== current2 && current2.type !== workInProgress2.type;
          workInProgress2.updateQueue = null;
          nextProps = renderWithHooksAgain(
            workInProgress2,
            Component,
            nextProps,
            secondArg
          );
          finishRenderingHooks(current2, workInProgress2);
          Component = checkDidRenderIdHook();
          if (null !== current2 && !didReceiveUpdate)
            return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
          isHydrating && Component && pushMaterializedTreeId(workInProgress2);
          workInProgress2.flags |= 1;
          reconcileChildren(current2, workInProgress2, nextProps, renderLanes2);
          return workInProgress2.child;
        }
        function updateClassComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
          switch (shouldErrorImpl(workInProgress2)) {
            case false:
              var _instance = workInProgress2.stateNode, state = new workInProgress2.type(
                workInProgress2.memoizedProps,
                _instance.context
              ).state;
              _instance.updater.enqueueSetState(_instance, state, null);
              break;
            case true:
              workInProgress2.flags |= 128;
              workInProgress2.flags |= 65536;
              _instance = Error("Simulated error coming from DevTools");
              var lane = renderLanes2 & -renderLanes2;
              workInProgress2.lanes |= lane;
              state = workInProgressRoot;
              if (null === state)
                throw Error(
                  "Expected a work-in-progress root. This is a bug in React. Please file an issue."
                );
              lane = createClassErrorUpdate(lane);
              initializeClassErrorUpdate(
                lane,
                state,
                workInProgress2,
                createCapturedValueAtFiber(_instance, workInProgress2)
              );
              enqueueCapturedUpdate(workInProgress2, lane);
          }
          prepareToReadContext(workInProgress2);
          if (null === workInProgress2.stateNode) {
            state = emptyContextObject;
            _instance = Component.contextType;
            "contextType" in Component && null !== _instance && (void 0 === _instance || _instance.$$typeof !== REACT_CONTEXT_TYPE) && !didWarnAboutInvalidateContextType.has(Component) && (didWarnAboutInvalidateContextType.add(Component), lane = void 0 === _instance ? " 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." : "object" !== typeof _instance ? " However, it is set to a " + typeof _instance + "." : _instance.$$typeof === REACT_CONSUMER_TYPE ? " Did you accidentally pass the Context.Consumer instead?" : " However, it is set to an object with keys {" + Object.keys(_instance).join(", ") + "}.", console.error(
              "%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s",
              getComponentNameFromType(Component) || "Component",
              lane
            ));
            "object" === typeof _instance && null !== _instance && (state = readContext(_instance));
            _instance = new Component(nextProps, state);
            if (workInProgress2.mode & StrictLegacyMode) {
              setIsStrictModeForDevtools(true);
              try {
                _instance = new Component(nextProps, state);
              } finally {
                setIsStrictModeForDevtools(false);
              }
            }
            state = workInProgress2.memoizedState = null !== _instance.state && void 0 !== _instance.state ? _instance.state : null;
            _instance.updater = classComponentUpdater;
            workInProgress2.stateNode = _instance;
            _instance._reactInternals = workInProgress2;
            _instance._reactInternalInstance = fakeInternalInstance;
            "function" === typeof Component.getDerivedStateFromProps && null === state && (state = getComponentNameFromType(Component) || "Component", didWarnAboutUninitializedState.has(state) || (didWarnAboutUninitializedState.add(state), console.error(
              "`%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.",
              state,
              null === _instance.state ? "null" : "undefined",
              state
            )));
            if ("function" === typeof Component.getDerivedStateFromProps || "function" === typeof _instance.getSnapshotBeforeUpdate) {
              var foundWillUpdateName = lane = state = null;
              "function" === typeof _instance.componentWillMount && true !== _instance.componentWillMount.__suppressDeprecationWarning ? state = "componentWillMount" : "function" === typeof _instance.UNSAFE_componentWillMount && (state = "UNSAFE_componentWillMount");
              "function" === typeof _instance.componentWillReceiveProps && true !== _instance.componentWillReceiveProps.__suppressDeprecationWarning ? lane = "componentWillReceiveProps" : "function" === typeof _instance.UNSAFE_componentWillReceiveProps && (lane = "UNSAFE_componentWillReceiveProps");
              "function" === typeof _instance.componentWillUpdate && true !== _instance.componentWillUpdate.__suppressDeprecationWarning ? foundWillUpdateName = "componentWillUpdate" : "function" === typeof _instance.UNSAFE_componentWillUpdate && (foundWillUpdateName = "UNSAFE_componentWillUpdate");
              if (null !== state || null !== lane || null !== foundWillUpdateName) {
                _instance = getComponentNameFromType(Component) || "Component";
                var newApiName = "function" === typeof Component.getDerivedStateFromProps ? "getDerivedStateFromProps()" : "getSnapshotBeforeUpdate()";
                didWarnAboutLegacyLifecyclesAndDerivedState.has(_instance) || (didWarnAboutLegacyLifecyclesAndDerivedState.add(_instance), console.error(
                  "Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://react.dev/link/unsafe-component-lifecycles",
                  _instance,
                  newApiName,
                  null !== state ? "\n  " + state : "",
                  null !== lane ? "\n  " + lane : "",
                  null !== foundWillUpdateName ? "\n  " + foundWillUpdateName : ""
                ));
              }
            }
            _instance = workInProgress2.stateNode;
            state = getComponentNameFromType(Component) || "Component";
            _instance.render || (Component.prototype && "function" === typeof Component.prototype.render ? console.error(
              "No `render` method found on the %s instance: did you accidentally return an object from the constructor?",
              state
            ) : console.error(
              "No `render` method found on the %s instance: you may have forgotten to define `render`.",
              state
            ));
            !_instance.getInitialState || _instance.getInitialState.isReactClassApproved || _instance.state || console.error(
              "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?",
              state
            );
            _instance.getDefaultProps && !_instance.getDefaultProps.isReactClassApproved && console.error(
              "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.",
              state
            );
            _instance.contextType && console.error(
              "contextType was defined as an instance property on %s. Use a static property to define contextType instead.",
              state
            );
            Component.childContextTypes && !didWarnAboutChildContextTypes.has(Component) && (didWarnAboutChildContextTypes.add(Component), console.error(
              "%s uses the legacy childContextTypes API which was removed in React 19. Use React.createContext() instead. (https://react.dev/link/legacy-context)",
              state
            ));
            Component.contextTypes && !didWarnAboutContextTypes$1.has(Component) && (didWarnAboutContextTypes$1.add(Component), console.error(
              "%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with static contextType instead. (https://react.dev/link/legacy-context)",
              state
            ));
            "function" === typeof _instance.componentShouldUpdate && console.error(
              "%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.",
              state
            );
            Component.prototype && Component.prototype.isPureReactComponent && "undefined" !== typeof _instance.shouldComponentUpdate && console.error(
              "%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.",
              getComponentNameFromType(Component) || "A pure component"
            );
            "function" === typeof _instance.componentDidUnmount && console.error(
              "%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?",
              state
            );
            "function" === typeof _instance.componentDidReceiveProps && console.error(
              "%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().",
              state
            );
            "function" === typeof _instance.componentWillRecieveProps && console.error(
              "%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?",
              state
            );
            "function" === typeof _instance.UNSAFE_componentWillRecieveProps && console.error(
              "%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?",
              state
            );
            lane = _instance.props !== nextProps;
            void 0 !== _instance.props && lane && console.error(
              "When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.",
              state
            );
            _instance.defaultProps && console.error(
              "Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.",
              state,
              state
            );
            "function" !== typeof _instance.getSnapshotBeforeUpdate || "function" === typeof _instance.componentDidUpdate || didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(Component) || (didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(Component), console.error(
              "%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.",
              getComponentNameFromType(Component)
            ));
            "function" === typeof _instance.getDerivedStateFromProps && console.error(
              "%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.",
              state
            );
            "function" === typeof _instance.getDerivedStateFromError && console.error(
              "%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.",
              state
            );
            "function" === typeof Component.getSnapshotBeforeUpdate && console.error(
              "%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.",
              state
            );
            (lane = _instance.state) && ("object" !== typeof lane || isArrayImpl(lane)) && console.error("%s.state: must be set to an object or null", state);
            "function" === typeof _instance.getChildContext && "object" !== typeof Component.childContextTypes && console.error(
              "%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().",
              state
            );
            _instance = workInProgress2.stateNode;
            _instance.props = nextProps;
            _instance.state = workInProgress2.memoizedState;
            _instance.refs = {};
            initializeUpdateQueue(workInProgress2);
            state = Component.contextType;
            _instance.context = "object" === typeof state && null !== state ? readContext(state) : emptyContextObject;
            _instance.state === nextProps && (state = getComponentNameFromType(Component) || "Component", didWarnAboutDirectlyAssigningPropsToState.has(state) || (didWarnAboutDirectlyAssigningPropsToState.add(state), console.error(
              "%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.",
              state
            )));
            workInProgress2.mode & StrictLegacyMode && ReactStrictModeWarnings.recordLegacyContextWarning(
              workInProgress2,
              _instance
            );
            ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(
              workInProgress2,
              _instance
            );
            _instance.state = workInProgress2.memoizedState;
            state = Component.getDerivedStateFromProps;
            "function" === typeof state && (applyDerivedStateFromProps(
              workInProgress2,
              Component,
              state,
              nextProps
            ), _instance.state = workInProgress2.memoizedState);
            "function" === typeof Component.getDerivedStateFromProps || "function" === typeof _instance.getSnapshotBeforeUpdate || "function" !== typeof _instance.UNSAFE_componentWillMount && "function" !== typeof _instance.componentWillMount || (state = _instance.state, "function" === typeof _instance.componentWillMount && _instance.componentWillMount(), "function" === typeof _instance.UNSAFE_componentWillMount && _instance.UNSAFE_componentWillMount(), state !== _instance.state && (console.error(
              "%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.",
              getComponentNameFromFiber(workInProgress2) || "Component"
            ), classComponentUpdater.enqueueReplaceState(
              _instance,
              _instance.state,
              null
            )), processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction(), _instance.state = workInProgress2.memoizedState);
            "function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308);
            (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728);
            _instance = true;
          } else if (null === current2) {
            _instance = workInProgress2.stateNode;
            var unresolvedOldProps = workInProgress2.memoizedProps;
            lane = resolveClassComponentProps(Component, unresolvedOldProps);
            _instance.props = lane;
            var oldContext = _instance.context;
            foundWillUpdateName = Component.contextType;
            state = emptyContextObject;
            "object" === typeof foundWillUpdateName && null !== foundWillUpdateName && (state = readContext(foundWillUpdateName));
            newApiName = Component.getDerivedStateFromProps;
            foundWillUpdateName = "function" === typeof newApiName || "function" === typeof _instance.getSnapshotBeforeUpdate;
            unresolvedOldProps = workInProgress2.pendingProps !== unresolvedOldProps;
            foundWillUpdateName || "function" !== typeof _instance.UNSAFE_componentWillReceiveProps && "function" !== typeof _instance.componentWillReceiveProps || (unresolvedOldProps || oldContext !== state) && callComponentWillReceiveProps(
              workInProgress2,
              _instance,
              nextProps,
              state
            );
            hasForceUpdate = false;
            var oldState = workInProgress2.memoizedState;
            _instance.state = oldState;
            processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2);
            suspendIfUpdateReadFromEntangledAsyncAction();
            oldContext = workInProgress2.memoizedState;
            unresolvedOldProps || oldState !== oldContext || hasForceUpdate ? ("function" === typeof newApiName && (applyDerivedStateFromProps(
              workInProgress2,
              Component,
              newApiName,
              nextProps
            ), oldContext = workInProgress2.memoizedState), (lane = hasForceUpdate || checkShouldComponentUpdate(
              workInProgress2,
              Component,
              lane,
              nextProps,
              oldState,
              oldContext,
              state
            )) ? (foundWillUpdateName || "function" !== typeof _instance.UNSAFE_componentWillMount && "function" !== typeof _instance.componentWillMount || ("function" === typeof _instance.componentWillMount && _instance.componentWillMount(), "function" === typeof _instance.UNSAFE_componentWillMount && _instance.UNSAFE_componentWillMount()), "function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728)) : ("function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728), workInProgress2.memoizedProps = nextProps, workInProgress2.memoizedState = oldContext), _instance.props = nextProps, _instance.state = oldContext, _instance.context = state, _instance = lane) : ("function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728), _instance = false);
          } else {
            _instance = workInProgress2.stateNode;
            cloneUpdateQueue(current2, workInProgress2);
            state = workInProgress2.memoizedProps;
            foundWillUpdateName = resolveClassComponentProps(Component, state);
            _instance.props = foundWillUpdateName;
            newApiName = workInProgress2.pendingProps;
            oldState = _instance.context;
            oldContext = Component.contextType;
            lane = emptyContextObject;
            "object" === typeof oldContext && null !== oldContext && (lane = readContext(oldContext));
            unresolvedOldProps = Component.getDerivedStateFromProps;
            (oldContext = "function" === typeof unresolvedOldProps || "function" === typeof _instance.getSnapshotBeforeUpdate) || "function" !== typeof _instance.UNSAFE_componentWillReceiveProps && "function" !== typeof _instance.componentWillReceiveProps || (state !== newApiName || oldState !== lane) && callComponentWillReceiveProps(
              workInProgress2,
              _instance,
              nextProps,
              lane
            );
            hasForceUpdate = false;
            oldState = workInProgress2.memoizedState;
            _instance.state = oldState;
            processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2);
            suspendIfUpdateReadFromEntangledAsyncAction();
            var newState = workInProgress2.memoizedState;
            state !== newApiName || oldState !== newState || hasForceUpdate || null !== current2 && null !== current2.dependencies && checkIfContextChanged(current2.dependencies) ? ("function" === typeof unresolvedOldProps && (applyDerivedStateFromProps(
              workInProgress2,
              Component,
              unresolvedOldProps,
              nextProps
            ), newState = workInProgress2.memoizedState), (foundWillUpdateName = hasForceUpdate || checkShouldComponentUpdate(
              workInProgress2,
              Component,
              foundWillUpdateName,
              nextProps,
              oldState,
              newState,
              lane
            ) || null !== current2 && null !== current2.dependencies && checkIfContextChanged(current2.dependencies)) ? (oldContext || "function" !== typeof _instance.UNSAFE_componentWillUpdate && "function" !== typeof _instance.componentWillUpdate || ("function" === typeof _instance.componentWillUpdate && _instance.componentWillUpdate(nextProps, newState, lane), "function" === typeof _instance.UNSAFE_componentWillUpdate && _instance.UNSAFE_componentWillUpdate(
              nextProps,
              newState,
              lane
            )), "function" === typeof _instance.componentDidUpdate && (workInProgress2.flags |= 4), "function" === typeof _instance.getSnapshotBeforeUpdate && (workInProgress2.flags |= 1024)) : ("function" !== typeof _instance.componentDidUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 4), "function" !== typeof _instance.getSnapshotBeforeUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 1024), workInProgress2.memoizedProps = nextProps, workInProgress2.memoizedState = newState), _instance.props = nextProps, _instance.state = newState, _instance.context = lane, _instance = foundWillUpdateName) : ("function" !== typeof _instance.componentDidUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 4), "function" !== typeof _instance.getSnapshotBeforeUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 1024), _instance = false);
          }
          lane = _instance;
          markRef(current2, workInProgress2);
          state = 0 !== (workInProgress2.flags & 128);
          if (lane || state) {
            lane = workInProgress2.stateNode;
            setCurrentFiber(workInProgress2);
            if (state && "function" !== typeof Component.getDerivedStateFromError)
              Component = null, profilerStartTime = -1;
            else if (Component = callRenderInDEV(lane), workInProgress2.mode & StrictLegacyMode) {
              setIsStrictModeForDevtools(true);
              try {
                callRenderInDEV(lane);
              } finally {
                setIsStrictModeForDevtools(false);
              }
            }
            workInProgress2.flags |= 1;
            null !== current2 && state ? (workInProgress2.child = reconcileChildFibers(
              workInProgress2,
              current2.child,
              null,
              renderLanes2
            ), workInProgress2.child = reconcileChildFibers(
              workInProgress2,
              null,
              Component,
              renderLanes2
            )) : reconcileChildren(current2, workInProgress2, Component, renderLanes2);
            workInProgress2.memoizedState = lane.state;
            current2 = workInProgress2.child;
          } else
            current2 = bailoutOnAlreadyFinishedWork(
              current2,
              workInProgress2,
              renderLanes2
            );
          renderLanes2 = workInProgress2.stateNode;
          _instance && renderLanes2.props !== nextProps && (didWarnAboutReassigningProps || console.error(
            "It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.",
            getComponentNameFromFiber(workInProgress2) || "a component"
          ), didWarnAboutReassigningProps = true);
          return current2;
        }
        function mountHostRootWithoutHydrating(current2, workInProgress2, nextChildren, renderLanes2) {
          resetHydrationState();
          workInProgress2.flags |= 256;
          reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2);
          return workInProgress2.child;
        }
        function validateFunctionComponentInDev(workInProgress2, Component) {
          Component && Component.childContextTypes && console.error(
            "childContextTypes cannot be defined on a function component.\n  %s.childContextTypes = ...",
            Component.displayName || Component.name || "Component"
          );
          "function" === typeof Component.getDerivedStateFromProps && (workInProgress2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] || (console.error(
            "%s: Function components do not support getDerivedStateFromProps.",
            workInProgress2
          ), didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] = true));
          "object" === typeof Component.contextType && null !== Component.contextType && (Component = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypeOnFunctionComponent[Component] || (console.error(
            "%s: Function components do not support contextType.",
            Component
          ), didWarnAboutContextTypeOnFunctionComponent[Component] = true));
        }
        function mountSuspenseOffscreenState(renderLanes2) {
          return { baseLanes: renderLanes2, cachePool: getSuspendedCache() };
        }
        function getRemainingWorkInPrimaryTree(current2, primaryTreeDidDefer, renderLanes2) {
          current2 = null !== current2 ? current2.childLanes & ~renderLanes2 : 0;
          primaryTreeDidDefer && (current2 |= workInProgressDeferredLane);
          return current2;
        }
        function updateSuspenseComponent(current2, workInProgress2, renderLanes2) {
          var JSCompiler_object_inline_digest_2724;
          var JSCompiler_object_inline_stack_2725 = workInProgress2.pendingProps;
          shouldSuspendImpl(workInProgress2) && (workInProgress2.flags |= 128);
          var JSCompiler_object_inline_message_2723 = false;
          var didSuspend = 0 !== (workInProgress2.flags & 128);
          (JSCompiler_object_inline_digest_2724 = didSuspend) || (JSCompiler_object_inline_digest_2724 = null !== current2 && null === current2.memoizedState ? false : 0 !== (suspenseStackCursor.current & ForceSuspenseFallback));
          JSCompiler_object_inline_digest_2724 && (JSCompiler_object_inline_message_2723 = true, workInProgress2.flags &= -129);
          JSCompiler_object_inline_digest_2724 = 0 !== (workInProgress2.flags & 32);
          workInProgress2.flags &= -33;
          if (null === current2) {
            if (isHydrating) {
              JSCompiler_object_inline_message_2723 ? pushPrimaryTreeSuspenseHandler(workInProgress2) : reuseSuspenseHandlerOnStack(workInProgress2);
              (current2 = nextHydratableInstance) ? (renderLanes2 = canHydrateHydrationBoundary(
                current2,
                rootOrSingletonContext
              ), renderLanes2 = null !== renderLanes2 && renderLanes2.data !== ACTIVITY_START_DATA ? renderLanes2 : null, null !== renderLanes2 && (JSCompiler_object_inline_digest_2724 = {
                dehydrated: renderLanes2,
                treeContext: getSuspendedTreeContext(),
                retryLane: 536870912,
                hydrationErrors: null
              }, workInProgress2.memoizedState = JSCompiler_object_inline_digest_2724, JSCompiler_object_inline_digest_2724 = createFiberFromDehydratedFragment(renderLanes2), JSCompiler_object_inline_digest_2724.return = workInProgress2, workInProgress2.child = JSCompiler_object_inline_digest_2724, hydrationParentFiber = workInProgress2, nextHydratableInstance = null)) : renderLanes2 = null;
              if (null === renderLanes2)
                throw warnNonHydratedInstance(workInProgress2, current2), throwOnHydrationMismatch(workInProgress2);
              isSuspenseInstanceFallback(renderLanes2) ? workInProgress2.lanes = 32 : workInProgress2.lanes = 536870912;
              return null;
            }
            var nextPrimaryChildren = JSCompiler_object_inline_stack_2725.children;
            JSCompiler_object_inline_stack_2725 = JSCompiler_object_inline_stack_2725.fallback;
            if (JSCompiler_object_inline_message_2723) {
              reuseSuspenseHandlerOnStack(workInProgress2);
              var mode = workInProgress2.mode;
              nextPrimaryChildren = mountWorkInProgressOffscreenFiber(
                { mode: "hidden", children: nextPrimaryChildren },
                mode
              );
              JSCompiler_object_inline_stack_2725 = createFiberFromFragment(
                JSCompiler_object_inline_stack_2725,
                mode,
                renderLanes2,
                null
              );
              nextPrimaryChildren.return = workInProgress2;
              JSCompiler_object_inline_stack_2725.return = workInProgress2;
              nextPrimaryChildren.sibling = JSCompiler_object_inline_stack_2725;
              workInProgress2.child = nextPrimaryChildren;
              JSCompiler_object_inline_stack_2725 = workInProgress2.child;
              JSCompiler_object_inline_stack_2725.memoizedState = mountSuspenseOffscreenState(renderLanes2);
              JSCompiler_object_inline_stack_2725.childLanes = getRemainingWorkInPrimaryTree(
                current2,
                JSCompiler_object_inline_digest_2724,
                renderLanes2
              );
              workInProgress2.memoizedState = SUSPENDED_MARKER;
              return bailoutOffscreenComponent(
                null,
                JSCompiler_object_inline_stack_2725
              );
            }
            pushPrimaryTreeSuspenseHandler(workInProgress2);
            return mountSuspensePrimaryChildren(
              workInProgress2,
              nextPrimaryChildren
            );
          }
          var prevState = current2.memoizedState;
          if (null !== prevState) {
            var JSCompiler_object_inline_componentStack_2726 = prevState.dehydrated;
            if (null !== JSCompiler_object_inline_componentStack_2726) {
              if (didSuspend)
                workInProgress2.flags & 256 ? (pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags &= -257, workInProgress2 = retrySuspenseComponentWithoutHydrating(
                  current2,
                  workInProgress2,
                  renderLanes2
                )) : null !== workInProgress2.memoizedState ? (reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.child = current2.child, workInProgress2.flags |= 128, workInProgress2 = null) : (reuseSuspenseHandlerOnStack(workInProgress2), nextPrimaryChildren = JSCompiler_object_inline_stack_2725.fallback, mode = workInProgress2.mode, JSCompiler_object_inline_stack_2725 = mountWorkInProgressOffscreenFiber(
                  {
                    mode: "visible",
                    children: JSCompiler_object_inline_stack_2725.children
                  },
                  mode
                ), nextPrimaryChildren = createFiberFromFragment(
                  nextPrimaryChildren,
                  mode,
                  renderLanes2,
                  null
                ), nextPrimaryChildren.flags |= 2, JSCompiler_object_inline_stack_2725.return = workInProgress2, nextPrimaryChildren.return = workInProgress2, JSCompiler_object_inline_stack_2725.sibling = nextPrimaryChildren, workInProgress2.child = JSCompiler_object_inline_stack_2725, reconcileChildFibers(
                  workInProgress2,
                  current2.child,
                  null,
                  renderLanes2
                ), JSCompiler_object_inline_stack_2725 = workInProgress2.child, JSCompiler_object_inline_stack_2725.memoizedState = mountSuspenseOffscreenState(renderLanes2), JSCompiler_object_inline_stack_2725.childLanes = getRemainingWorkInPrimaryTree(
                  current2,
                  JSCompiler_object_inline_digest_2724,
                  renderLanes2
                ), workInProgress2.memoizedState = SUSPENDED_MARKER, workInProgress2 = bailoutOffscreenComponent(
                  null,
                  JSCompiler_object_inline_stack_2725
                ));
              else if (pushPrimaryTreeSuspenseHandler(workInProgress2), warnIfHydrating(), 0 !== (renderLanes2 & 536870912) && markRenderDerivedCause(workInProgress2), isSuspenseInstanceFallback(
                JSCompiler_object_inline_componentStack_2726
              )) {
                JSCompiler_object_inline_digest_2724 = JSCompiler_object_inline_componentStack_2726.nextSibling && JSCompiler_object_inline_componentStack_2726.nextSibling.dataset;
                if (JSCompiler_object_inline_digest_2724) {
                  nextPrimaryChildren = JSCompiler_object_inline_digest_2724.dgst;
                  var message = JSCompiler_object_inline_digest_2724.msg;
                  mode = JSCompiler_object_inline_digest_2724.stck;
                  var componentStack = JSCompiler_object_inline_digest_2724.cstck;
                }
                JSCompiler_object_inline_message_2723 = message;
                JSCompiler_object_inline_digest_2724 = nextPrimaryChildren;
                JSCompiler_object_inline_stack_2725 = mode;
                JSCompiler_object_inline_componentStack_2726 = componentStack;
                nextPrimaryChildren = JSCompiler_object_inline_message_2723;
                mode = JSCompiler_object_inline_componentStack_2726;
                nextPrimaryChildren = nextPrimaryChildren ? Error(nextPrimaryChildren) : Error(
                  "The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering."
                );
                nextPrimaryChildren.stack = JSCompiler_object_inline_stack_2725 || "";
                nextPrimaryChildren.digest = JSCompiler_object_inline_digest_2724;
                JSCompiler_object_inline_digest_2724 = void 0 === mode ? null : mode;
                JSCompiler_object_inline_stack_2725 = {
                  value: nextPrimaryChildren,
                  source: null,
                  stack: JSCompiler_object_inline_digest_2724
                };
                "string" === typeof JSCompiler_object_inline_digest_2724 && CapturedStacks.set(
                  nextPrimaryChildren,
                  JSCompiler_object_inline_stack_2725
                );
                queueHydrationError(JSCompiler_object_inline_stack_2725);
                workInProgress2 = retrySuspenseComponentWithoutHydrating(
                  current2,
                  workInProgress2,
                  renderLanes2
                );
              } else if (didReceiveUpdate || propagateParentContextChanges(
                current2,
                workInProgress2,
                renderLanes2,
                false
              ), JSCompiler_object_inline_digest_2724 = 0 !== (renderLanes2 & current2.childLanes), didReceiveUpdate || JSCompiler_object_inline_digest_2724) {
                JSCompiler_object_inline_digest_2724 = workInProgressRoot;
                if (null !== JSCompiler_object_inline_digest_2724 && (JSCompiler_object_inline_stack_2725 = getBumpedLaneForHydration(
                  JSCompiler_object_inline_digest_2724,
                  renderLanes2
                ), 0 !== JSCompiler_object_inline_stack_2725 && JSCompiler_object_inline_stack_2725 !== prevState.retryLane))
                  throw prevState.retryLane = JSCompiler_object_inline_stack_2725, enqueueConcurrentRenderForLane(
                    current2,
                    JSCompiler_object_inline_stack_2725
                  ), scheduleUpdateOnFiber(
                    JSCompiler_object_inline_digest_2724,
                    current2,
                    JSCompiler_object_inline_stack_2725
                  ), SelectiveHydrationException;
                isSuspenseInstancePending(
                  JSCompiler_object_inline_componentStack_2726
                ) || renderDidSuspendDelayIfPossible();
                workInProgress2 = retrySuspenseComponentWithoutHydrating(
                  current2,
                  workInProgress2,
                  renderLanes2
                );
              } else
                isSuspenseInstancePending(
                  JSCompiler_object_inline_componentStack_2726
                ) ? (workInProgress2.flags |= 192, workInProgress2.child = current2.child, workInProgress2 = null) : (current2 = prevState.treeContext, nextHydratableInstance = getNextHydratable(
                  JSCompiler_object_inline_componentStack_2726.nextSibling
                ), hydrationParentFiber = workInProgress2, isHydrating = true, hydrationErrors = null, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, rootOrSingletonContext = false, null !== current2 && restoreSuspendedTreeContext(workInProgress2, current2), workInProgress2 = mountSuspensePrimaryChildren(
                  workInProgress2,
                  JSCompiler_object_inline_stack_2725.children
                ), workInProgress2.flags |= 4096);
              return workInProgress2;
            }
          }
          if (JSCompiler_object_inline_message_2723)
            return reuseSuspenseHandlerOnStack(workInProgress2), nextPrimaryChildren = JSCompiler_object_inline_stack_2725.fallback, mode = workInProgress2.mode, componentStack = current2.child, JSCompiler_object_inline_componentStack_2726 = componentStack.sibling, JSCompiler_object_inline_stack_2725 = createWorkInProgress(
              componentStack,
              {
                mode: "hidden",
                children: JSCompiler_object_inline_stack_2725.children
              }
            ), JSCompiler_object_inline_stack_2725.subtreeFlags = componentStack.subtreeFlags & 65011712, null !== JSCompiler_object_inline_componentStack_2726 ? nextPrimaryChildren = createWorkInProgress(
              JSCompiler_object_inline_componentStack_2726,
              nextPrimaryChildren
            ) : (nextPrimaryChildren = createFiberFromFragment(
              nextPrimaryChildren,
              mode,
              renderLanes2,
              null
            ), nextPrimaryChildren.flags |= 2), nextPrimaryChildren.return = workInProgress2, JSCompiler_object_inline_stack_2725.return = workInProgress2, JSCompiler_object_inline_stack_2725.sibling = nextPrimaryChildren, workInProgress2.child = JSCompiler_object_inline_stack_2725, bailoutOffscreenComponent(null, JSCompiler_object_inline_stack_2725), JSCompiler_object_inline_stack_2725 = workInProgress2.child, nextPrimaryChildren = current2.child.memoizedState, null === nextPrimaryChildren ? nextPrimaryChildren = mountSuspenseOffscreenState(renderLanes2) : (mode = nextPrimaryChildren.cachePool, null !== mode ? (componentStack = CacheContext._currentValue, mode = mode.parent !== componentStack ? { parent: componentStack, pool: componentStack } : mode) : mode = getSuspendedCache(), nextPrimaryChildren = {
              baseLanes: nextPrimaryChildren.baseLanes | renderLanes2,
              cachePool: mode
            }), JSCompiler_object_inline_stack_2725.memoizedState = nextPrimaryChildren, JSCompiler_object_inline_stack_2725.childLanes = getRemainingWorkInPrimaryTree(
              current2,
              JSCompiler_object_inline_digest_2724,
              renderLanes2
            ), workInProgress2.memoizedState = SUSPENDED_MARKER, bailoutOffscreenComponent(
              current2.child,
              JSCompiler_object_inline_stack_2725
            );
          null !== prevState && (renderLanes2 & 62914560) === renderLanes2 && 0 !== (renderLanes2 & current2.lanes) && markRenderDerivedCause(workInProgress2);
          pushPrimaryTreeSuspenseHandler(workInProgress2);
          renderLanes2 = current2.child;
          current2 = renderLanes2.sibling;
          renderLanes2 = createWorkInProgress(renderLanes2, {
            mode: "visible",
            children: JSCompiler_object_inline_stack_2725.children
          });
          renderLanes2.return = workInProgress2;
          renderLanes2.sibling = null;
          null !== current2 && (JSCompiler_object_inline_digest_2724 = workInProgress2.deletions, null === JSCompiler_object_inline_digest_2724 ? (workInProgress2.deletions = [current2], workInProgress2.flags |= 16) : JSCompiler_object_inline_digest_2724.push(current2));
          workInProgress2.child = renderLanes2;
          workInProgress2.memoizedState = null;
          return renderLanes2;
        }
        function mountSuspensePrimaryChildren(workInProgress2, primaryChildren) {
          primaryChildren = mountWorkInProgressOffscreenFiber(
            { mode: "visible", children: primaryChildren },
            workInProgress2.mode
          );
          primaryChildren.return = workInProgress2;
          return workInProgress2.child = primaryChildren;
        }
        function mountWorkInProgressOffscreenFiber(offscreenProps, mode) {
          offscreenProps = createFiber(22, offscreenProps, null, mode);
          offscreenProps.lanes = 0;
          return offscreenProps;
        }
        function retrySuspenseComponentWithoutHydrating(current2, workInProgress2, renderLanes2) {
          reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2);
          current2 = mountSuspensePrimaryChildren(
            workInProgress2,
            workInProgress2.pendingProps.children
          );
          current2.flags |= 2;
          workInProgress2.memoizedState = null;
          return current2;
        }
        function scheduleSuspenseWorkOnFiber(fiber, renderLanes2, propagationRoot) {
          fiber.lanes |= renderLanes2;
          var alternate = fiber.alternate;
          null !== alternate && (alternate.lanes |= renderLanes2);
          scheduleContextWorkOnParentPath(
            fiber.return,
            renderLanes2,
            propagationRoot
          );
        }
        function initSuspenseListRenderState(workInProgress2, isBackwards, tail, lastContentRow, tailMode, treeForkCount2) {
          var renderState = workInProgress2.memoizedState;
          null === renderState ? workInProgress2.memoizedState = {
            isBackwards,
            rendering: null,
            renderingStartTime: 0,
            last: lastContentRow,
            tail,
            tailMode,
            treeForkCount: treeForkCount2
          } : (renderState.isBackwards = isBackwards, renderState.rendering = null, renderState.renderingStartTime = 0, renderState.last = lastContentRow, renderState.tail = tail, renderState.tailMode = tailMode, renderState.treeForkCount = treeForkCount2);
        }
        function updateSuspenseListComponent(current2, workInProgress2, renderLanes2) {
          var nextProps = workInProgress2.pendingProps, revealOrder = nextProps.revealOrder, tailMode = nextProps.tail, newChildren = nextProps.children, suspenseContext = suspenseStackCursor.current;
          (nextProps = 0 !== (suspenseContext & ForceSuspenseFallback)) ? (suspenseContext = suspenseContext & SubtreeSuspenseContextMask | ForceSuspenseFallback, workInProgress2.flags |= 128) : suspenseContext &= SubtreeSuspenseContextMask;
          push(suspenseStackCursor, suspenseContext, workInProgress2);
          suspenseContext = null == revealOrder ? "null" : revealOrder;
          if ("forwards" !== revealOrder && "unstable_legacy-backwards" !== revealOrder && "together" !== revealOrder && "independent" !== revealOrder && !didWarnAboutRevealOrder[suspenseContext])
            if (didWarnAboutRevealOrder[suspenseContext] = true, null == revealOrder)
              console.error(
                'The default for the <SuspenseList revealOrder="..."> prop is changing. To be future compatible you must explictly specify either "independent" (the current default), "together", "forwards" or "legacy_unstable-backwards".'
              );
            else if ("backwards" === revealOrder)
              console.error(
                'The rendering order of <SuspenseList revealOrder="backwards"> is changing. To be future compatible you must specify revealOrder="legacy_unstable-backwards" instead.'
              );
            else if ("string" === typeof revealOrder)
              switch (revealOrder.toLowerCase()) {
                case "together":
                case "forwards":
                case "backwards":
                case "independent":
                  console.error(
                    '"%s" is not a valid value for revealOrder on <SuspenseList />. Use lowercase "%s" instead.',
                    revealOrder,
                    revealOrder.toLowerCase()
                  );
                  break;
                case "forward":
                case "backward":
                  console.error(
                    '"%s" is not a valid value for revealOrder on <SuspenseList />. React uses the -s suffix in the spelling. Use "%ss" instead.',
                    revealOrder,
                    revealOrder.toLowerCase()
                  );
                  break;
                default:
                  console.error(
                    '"%s" is not a supported revealOrder on <SuspenseList />. Did you mean "independent", "together", "forwards" or "backwards"?',
                    revealOrder
                  );
              }
            else
              console.error(
                '%s is not a supported value for revealOrder on <SuspenseList />. Did you mean "independent", "together", "forwards" or "backwards"?',
                revealOrder
              );
          suspenseContext = null == tailMode ? "null" : tailMode;
          if (!didWarnAboutTailOptions[suspenseContext])
            if (null == tailMode) {
              if ("forwards" === revealOrder || "backwards" === revealOrder || "unstable_legacy-backwards" === revealOrder)
                didWarnAboutTailOptions[suspenseContext] = true, console.error(
                  'The default for the <SuspenseList tail="..."> prop is changing. To be future compatible you must explictly specify either "visible" (the current default), "collapsed" or "hidden".'
                );
            } else
              "visible" !== tailMode && "collapsed" !== tailMode && "hidden" !== tailMode ? (didWarnAboutTailOptions[suspenseContext] = true, console.error(
                '"%s" is not a supported value for tail on <SuspenseList />. Did you mean "visible", "collapsed" or "hidden"?',
                tailMode
              )) : "forwards" !== revealOrder && "backwards" !== revealOrder && "unstable_legacy-backwards" !== revealOrder && (didWarnAboutTailOptions[suspenseContext] = true, console.error(
                '<SuspenseList tail="%s" /> is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?',
                tailMode
              ));
          a: if (("forwards" === revealOrder || "backwards" === revealOrder || "unstable_legacy-backwards" === revealOrder) && void 0 !== newChildren && null !== newChildren && false !== newChildren)
            if (isArrayImpl(newChildren))
              for (suspenseContext = 0; suspenseContext < newChildren.length; suspenseContext++) {
                if (!validateSuspenseListNestedChild(
                  newChildren[suspenseContext],
                  suspenseContext
                ))
                  break a;
              }
            else if (suspenseContext = getIteratorFn(newChildren), "function" === typeof suspenseContext) {
              if (suspenseContext = suspenseContext.call(newChildren))
                for (var step = suspenseContext.next(), _i = 0; !step.done; step = suspenseContext.next()) {
                  if (!validateSuspenseListNestedChild(step.value, _i)) break a;
                  _i++;
                }
            } else
              console.error(
                '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?',
                revealOrder
              );
          reconcileChildren(current2, workInProgress2, newChildren, renderLanes2);
          isHydrating ? (warnIfNotHydrating(), newChildren = treeForkCount) : newChildren = 0;
          if (!nextProps && null !== current2 && 0 !== (current2.flags & 128))
            a: for (current2 = workInProgress2.child; null !== current2; ) {
              if (13 === current2.tag)
                null !== current2.memoizedState && scheduleSuspenseWorkOnFiber(current2, renderLanes2, workInProgress2);
              else if (19 === current2.tag)
                scheduleSuspenseWorkOnFiber(current2, renderLanes2, workInProgress2);
              else if (null !== current2.child) {
                current2.child.return = current2;
                current2 = current2.child;
                continue;
              }
              if (current2 === workInProgress2) break a;
              for (; null === current2.sibling; ) {
                if (null === current2.return || current2.return === workInProgress2)
                  break a;
                current2 = current2.return;
              }
              current2.sibling.return = current2.return;
              current2 = current2.sibling;
            }
          switch (revealOrder) {
            case "forwards":
              renderLanes2 = workInProgress2.child;
              for (revealOrder = null; null !== renderLanes2; )
                current2 = renderLanes2.alternate, null !== current2 && null === findFirstSuspended(current2) && (revealOrder = renderLanes2), renderLanes2 = renderLanes2.sibling;
              renderLanes2 = revealOrder;
              null === renderLanes2 ? (revealOrder = workInProgress2.child, workInProgress2.child = null) : (revealOrder = renderLanes2.sibling, renderLanes2.sibling = null);
              initSuspenseListRenderState(
                workInProgress2,
                false,
                revealOrder,
                renderLanes2,
                tailMode,
                newChildren
              );
              break;
            case "backwards":
            case "unstable_legacy-backwards":
              renderLanes2 = null;
              revealOrder = workInProgress2.child;
              for (workInProgress2.child = null; null !== revealOrder; ) {
                current2 = revealOrder.alternate;
                if (null !== current2 && null === findFirstSuspended(current2)) {
                  workInProgress2.child = revealOrder;
                  break;
                }
                current2 = revealOrder.sibling;
                revealOrder.sibling = renderLanes2;
                renderLanes2 = revealOrder;
                revealOrder = current2;
              }
              initSuspenseListRenderState(
                workInProgress2,
                true,
                renderLanes2,
                null,
                tailMode,
                newChildren
              );
              break;
            case "together":
              initSuspenseListRenderState(
                workInProgress2,
                false,
                null,
                null,
                void 0,
                newChildren
              );
              break;
            default:
              workInProgress2.memoizedState = null;
          }
          return workInProgress2.child;
        }
        function bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2) {
          null !== current2 && (workInProgress2.dependencies = current2.dependencies);
          profilerStartTime = -1;
          workInProgressRootSkippedLanes |= workInProgress2.lanes;
          if (0 === (renderLanes2 & workInProgress2.childLanes))
            if (null !== current2) {
              if (propagateParentContextChanges(
                current2,
                workInProgress2,
                renderLanes2,
                false
              ), 0 === (renderLanes2 & workInProgress2.childLanes))
                return null;
            } else return null;
          if (null !== current2 && workInProgress2.child !== current2.child)
            throw Error("Resuming work not yet implemented.");
          if (null !== workInProgress2.child) {
            current2 = workInProgress2.child;
            renderLanes2 = createWorkInProgress(current2, current2.pendingProps);
            workInProgress2.child = renderLanes2;
            for (renderLanes2.return = workInProgress2; null !== current2.sibling; )
              current2 = current2.sibling, renderLanes2 = renderLanes2.sibling = createWorkInProgress(current2, current2.pendingProps), renderLanes2.return = workInProgress2;
            renderLanes2.sibling = null;
          }
          return workInProgress2.child;
        }
        function checkScheduledUpdateOrContext(current2, renderLanes2) {
          if (0 !== (current2.lanes & renderLanes2)) return true;
          current2 = current2.dependencies;
          return null !== current2 && checkIfContextChanged(current2) ? true : false;
        }
        function attemptEarlyBailoutIfNoScheduledUpdate(current2, workInProgress2, renderLanes2) {
          switch (workInProgress2.tag) {
            case 3:
              pushHostContainer(
                workInProgress2,
                workInProgress2.stateNode.containerInfo
              );
              pushProvider(
                workInProgress2,
                CacheContext,
                current2.memoizedState.cache
              );
              resetHydrationState();
              break;
            case 27:
            case 5:
              pushHostContext(workInProgress2);
              break;
            case 4:
              pushHostContainer(
                workInProgress2,
                workInProgress2.stateNode.containerInfo
              );
              break;
            case 10:
              pushProvider(
                workInProgress2,
                workInProgress2.type,
                workInProgress2.memoizedProps.value
              );
              break;
            case 12:
              0 !== (renderLanes2 & workInProgress2.childLanes) && (workInProgress2.flags |= 4);
              workInProgress2.flags |= 2048;
              var stateNode = workInProgress2.stateNode;
              stateNode.effectDuration = -0;
              stateNode.passiveEffectDuration = -0;
              break;
            case 31:
              if (null !== workInProgress2.memoizedState)
                return workInProgress2.flags |= 128, pushDehydratedActivitySuspenseHandler(workInProgress2), null;
              break;
            case 13:
              stateNode = workInProgress2.memoizedState;
              if (null !== stateNode) {
                if (null !== stateNode.dehydrated)
                  return pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags |= 128, null;
                if (0 !== (renderLanes2 & workInProgress2.child.childLanes))
                  return updateSuspenseComponent(
                    current2,
                    workInProgress2,
                    renderLanes2
                  );
                pushPrimaryTreeSuspenseHandler(workInProgress2);
                current2 = bailoutOnAlreadyFinishedWork(
                  current2,
                  workInProgress2,
                  renderLanes2
                );
                return null !== current2 ? current2.sibling : null;
              }
              pushPrimaryTreeSuspenseHandler(workInProgress2);
              break;
            case 19:
              var didSuspendBefore = 0 !== (current2.flags & 128);
              stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes);
              stateNode || (propagateParentContextChanges(
                current2,
                workInProgress2,
                renderLanes2,
                false
              ), stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes));
              if (didSuspendBefore) {
                if (stateNode)
                  return updateSuspenseListComponent(
                    current2,
                    workInProgress2,
                    renderLanes2
                  );
                workInProgress2.flags |= 128;
              }
              didSuspendBefore = workInProgress2.memoizedState;
              null !== didSuspendBefore && (didSuspendBefore.rendering = null, didSuspendBefore.tail = null, didSuspendBefore.lastEffect = null);
              push(
                suspenseStackCursor,
                suspenseStackCursor.current,
                workInProgress2
              );
              if (stateNode) break;
              else return null;
            case 22:
              return workInProgress2.lanes = 0, updateOffscreenComponent(
                current2,
                workInProgress2,
                renderLanes2,
                workInProgress2.pendingProps
              );
            case 24:
              pushProvider(
                workInProgress2,
                CacheContext,
                current2.memoizedState.cache
              );
          }
          return bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
        }
        function beginWork(current2, workInProgress2, renderLanes2) {
          if (workInProgress2._debugNeedsRemount && null !== current2) {
            renderLanes2 = createFiberFromTypeAndProps(
              workInProgress2.type,
              workInProgress2.key,
              workInProgress2.pendingProps,
              workInProgress2._debugOwner || null,
              workInProgress2.mode,
              workInProgress2.lanes
            );
            renderLanes2._debugStack = workInProgress2._debugStack;
            renderLanes2._debugTask = workInProgress2._debugTask;
            var returnFiber = workInProgress2.return;
            if (null === returnFiber) throw Error("Cannot swap the root fiber.");
            current2.alternate = null;
            workInProgress2.alternate = null;
            renderLanes2.index = workInProgress2.index;
            renderLanes2.sibling = workInProgress2.sibling;
            renderLanes2.return = workInProgress2.return;
            renderLanes2.ref = workInProgress2.ref;
            renderLanes2._debugInfo = workInProgress2._debugInfo;
            if (workInProgress2 === returnFiber.child)
              returnFiber.child = renderLanes2;
            else {
              var prevSibling = returnFiber.child;
              if (null === prevSibling)
                throw Error("Expected parent to have a child.");
              for (; prevSibling.sibling !== workInProgress2; )
                if (prevSibling = prevSibling.sibling, null === prevSibling)
                  throw Error("Expected to find the previous sibling.");
              prevSibling.sibling = renderLanes2;
            }
            workInProgress2 = returnFiber.deletions;
            null === workInProgress2 ? (returnFiber.deletions = [current2], returnFiber.flags |= 16) : workInProgress2.push(current2);
            renderLanes2.flags |= 2;
            return renderLanes2;
          }
          if (null !== current2)
            if (current2.memoizedProps !== workInProgress2.pendingProps || workInProgress2.type !== current2.type)
              didReceiveUpdate = true;
            else {
              if (!checkScheduledUpdateOrContext(current2, renderLanes2) && 0 === (workInProgress2.flags & 128))
                return didReceiveUpdate = false, attemptEarlyBailoutIfNoScheduledUpdate(
                  current2,
                  workInProgress2,
                  renderLanes2
                );
              didReceiveUpdate = 0 !== (current2.flags & 131072) ? true : false;
            }
          else {
            didReceiveUpdate = false;
            if (returnFiber = isHydrating)
              warnIfNotHydrating(), returnFiber = 0 !== (workInProgress2.flags & 1048576);
            returnFiber && (returnFiber = workInProgress2.index, warnIfNotHydrating(), pushTreeId(workInProgress2, treeForkCount, returnFiber));
          }
          workInProgress2.lanes = 0;
          switch (workInProgress2.tag) {
            case 16:
              a: if (returnFiber = workInProgress2.pendingProps, current2 = resolveLazy(workInProgress2.elementType), workInProgress2.type = current2, "function" === typeof current2)
                shouldConstruct(current2) ? (returnFiber = resolveClassComponentProps(
                  current2,
                  returnFiber
                ), workInProgress2.tag = 1, workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateClassComponent(
                  null,
                  workInProgress2,
                  current2,
                  returnFiber,
                  renderLanes2
                )) : (workInProgress2.tag = 0, validateFunctionComponentInDev(workInProgress2, current2), workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateFunctionComponent(
                  null,
                  workInProgress2,
                  current2,
                  returnFiber,
                  renderLanes2
                ));
              else {
                if (void 0 !== current2 && null !== current2) {
                  if (prevSibling = current2.$$typeof, prevSibling === REACT_FORWARD_REF_TYPE) {
                    workInProgress2.tag = 11;
                    workInProgress2.type = current2 = resolveForwardRefForHotReloading(current2);
                    workInProgress2 = updateForwardRef(
                      null,
                      workInProgress2,
                      current2,
                      returnFiber,
                      renderLanes2
                    );
                    break a;
                  } else if (prevSibling === REACT_MEMO_TYPE) {
                    workInProgress2.tag = 14;
                    workInProgress2 = updateMemoComponent(
                      null,
                      workInProgress2,
                      current2,
                      returnFiber,
                      renderLanes2
                    );
                    break a;
                  }
                }
                workInProgress2 = "";
                null !== current2 && "object" === typeof current2 && current2.$$typeof === REACT_LAZY_TYPE && (workInProgress2 = " Did you wrap a component in React.lazy() more than once?");
                renderLanes2 = getComponentNameFromType(current2) || current2;
                throw Error(
                  "Element type is invalid. Received a promise that resolves to: " + renderLanes2 + ". Lazy element type must resolve to a class or function." + workInProgress2
                );
              }
              return workInProgress2;
            case 0:
              return updateFunctionComponent(
                current2,
                workInProgress2,
                workInProgress2.type,
                workInProgress2.pendingProps,
                renderLanes2
              );
            case 1:
              return returnFiber = workInProgress2.type, prevSibling = resolveClassComponentProps(
                returnFiber,
                workInProgress2.pendingProps
              ), updateClassComponent(
                current2,
                workInProgress2,
                returnFiber,
                prevSibling,
                renderLanes2
              );
            case 3:
              a: {
                pushHostContainer(
                  workInProgress2,
                  workInProgress2.stateNode.containerInfo
                );
                if (null === current2)
                  throw Error(
                    "Should have a current fiber. This is a bug in React."
                  );
                returnFiber = workInProgress2.pendingProps;
                var prevState = workInProgress2.memoizedState;
                prevSibling = prevState.element;
                cloneUpdateQueue(current2, workInProgress2);
                processUpdateQueue(workInProgress2, returnFiber, null, renderLanes2);
                var nextState = workInProgress2.memoizedState;
                returnFiber = nextState.cache;
                pushProvider(workInProgress2, CacheContext, returnFiber);
                returnFiber !== prevState.cache && propagateContextChanges(
                  workInProgress2,
                  [CacheContext],
                  renderLanes2,
                  true
                );
                suspendIfUpdateReadFromEntangledAsyncAction();
                returnFiber = nextState.element;
                if (prevState.isDehydrated)
                  if (prevState = {
                    element: returnFiber,
                    isDehydrated: false,
                    cache: nextState.cache
                  }, workInProgress2.updateQueue.baseState = prevState, workInProgress2.memoizedState = prevState, workInProgress2.flags & 256) {
                    workInProgress2 = mountHostRootWithoutHydrating(
                      current2,
                      workInProgress2,
                      returnFiber,
                      renderLanes2
                    );
                    break a;
                  } else if (returnFiber !== prevSibling) {
                    prevSibling = createCapturedValueAtFiber(
                      Error(
                        "This root received an early update, before anything was able hydrate. Switched the entire root to client rendering."
                      ),
                      workInProgress2
                    );
                    queueHydrationError(prevSibling);
                    workInProgress2 = mountHostRootWithoutHydrating(
                      current2,
                      workInProgress2,
                      returnFiber,
                      renderLanes2
                    );
                    break a;
                  } else {
                    current2 = workInProgress2.stateNode.containerInfo;
                    switch (current2.nodeType) {
                      case 9:
                        current2 = current2.body;
                        break;
                      default:
                        current2 = "HTML" === current2.nodeName ? current2.ownerDocument.body : current2;
                    }
                    nextHydratableInstance = getNextHydratable(current2.firstChild);
                    hydrationParentFiber = workInProgress2;
                    isHydrating = true;
                    hydrationErrors = null;
                    didSuspendOrErrorDEV = false;
                    hydrationDiffRootDEV = null;
                    rootOrSingletonContext = true;
                    renderLanes2 = mountChildFibers(
                      workInProgress2,
                      null,
                      returnFiber,
                      renderLanes2
                    );
                    for (workInProgress2.child = renderLanes2; renderLanes2; )
                      renderLanes2.flags = renderLanes2.flags & -3 | 4096, renderLanes2 = renderLanes2.sibling;
                  }
                else {
                  resetHydrationState();
                  if (returnFiber === prevSibling) {
                    workInProgress2 = bailoutOnAlreadyFinishedWork(
                      current2,
                      workInProgress2,
                      renderLanes2
                    );
                    break a;
                  }
                  reconcileChildren(
                    current2,
                    workInProgress2,
                    returnFiber,
                    renderLanes2
                  );
                }
                workInProgress2 = workInProgress2.child;
              }
              return workInProgress2;
            case 26:
              return markRef(current2, workInProgress2), null === current2 ? (renderLanes2 = getResource(
                workInProgress2.type,
                null,
                workInProgress2.pendingProps,
                null
              )) ? workInProgress2.memoizedState = renderLanes2 : isHydrating || (renderLanes2 = workInProgress2.type, current2 = workInProgress2.pendingProps, returnFiber = requiredContext(
                rootInstanceStackCursor.current
              ), returnFiber = getOwnerDocumentFromRootContainer(
                returnFiber
              ).createElement(renderLanes2), returnFiber[internalInstanceKey] = workInProgress2, returnFiber[internalPropsKey] = current2, setInitialProperties(returnFiber, renderLanes2, current2), markNodeAsHoistable(returnFiber), workInProgress2.stateNode = returnFiber) : workInProgress2.memoizedState = getResource(
                workInProgress2.type,
                current2.memoizedProps,
                workInProgress2.pendingProps,
                current2.memoizedState
              ), null;
            case 27:
              return pushHostContext(workInProgress2), null === current2 && isHydrating && (returnFiber = requiredContext(rootInstanceStackCursor.current), prevSibling = getHostContext(), returnFiber = workInProgress2.stateNode = resolveSingletonInstance(
                workInProgress2.type,
                workInProgress2.pendingProps,
                returnFiber,
                prevSibling,
                false
              ), didSuspendOrErrorDEV || (prevSibling = diffHydratedProperties(
                returnFiber,
                workInProgress2.type,
                workInProgress2.pendingProps,
                prevSibling
              ), null !== prevSibling && (buildHydrationDiffNode(workInProgress2, 0).serverProps = prevSibling)), hydrationParentFiber = workInProgress2, rootOrSingletonContext = true, prevSibling = nextHydratableInstance, isSingletonScope(workInProgress2.type) ? (previousHydratableOnEnteringScopedSingleton = prevSibling, nextHydratableInstance = getNextHydratable(
                returnFiber.firstChild
              )) : nextHydratableInstance = prevSibling), reconcileChildren(
                current2,
                workInProgress2,
                workInProgress2.pendingProps.children,
                renderLanes2
              ), markRef(current2, workInProgress2), null === current2 && (workInProgress2.flags |= 4194304), workInProgress2.child;
            case 5:
              return null === current2 && isHydrating && (prevState = getHostContext(), returnFiber = validateDOMNesting(
                workInProgress2.type,
                prevState.ancestorInfo
              ), prevSibling = nextHydratableInstance, (nextState = !prevSibling) || (nextState = canHydrateInstance(
                prevSibling,
                workInProgress2.type,
                workInProgress2.pendingProps,
                rootOrSingletonContext
              ), null !== nextState ? (workInProgress2.stateNode = nextState, didSuspendOrErrorDEV || (prevState = diffHydratedProperties(
                nextState,
                workInProgress2.type,
                workInProgress2.pendingProps,
                prevState
              ), null !== prevState && (buildHydrationDiffNode(workInProgress2, 0).serverProps = prevState)), hydrationParentFiber = workInProgress2, nextHydratableInstance = getNextHydratable(
                nextState.firstChild
              ), rootOrSingletonContext = false, prevState = true) : prevState = false, nextState = !prevState), nextState && (returnFiber && warnNonHydratedInstance(workInProgress2, prevSibling), throwOnHydrationMismatch(workInProgress2))), pushHostContext(workInProgress2), prevSibling = workInProgress2.type, prevState = workInProgress2.pendingProps, nextState = null !== current2 ? current2.memoizedProps : null, returnFiber = prevState.children, shouldSetTextContent(prevSibling, prevState) ? returnFiber = null : null !== nextState && shouldSetTextContent(prevSibling, nextState) && (workInProgress2.flags |= 32), null !== workInProgress2.memoizedState && (prevSibling = renderWithHooks(
                current2,
                workInProgress2,
                TransitionAwareHostComponent,
                null,
                null,
                renderLanes2
              ), HostTransitionContext._currentValue = prevSibling), markRef(current2, workInProgress2), reconcileChildren(
                current2,
                workInProgress2,
                returnFiber,
                renderLanes2
              ), workInProgress2.child;
            case 6:
              return null === current2 && isHydrating && (renderLanes2 = workInProgress2.pendingProps, current2 = getHostContext(), returnFiber = current2.ancestorInfo.current, renderLanes2 = null != returnFiber ? validateTextNesting(
                renderLanes2,
                returnFiber.tag,
                current2.ancestorInfo.implicitRootScope
              ) : true, current2 = nextHydratableInstance, (returnFiber = !current2) || (returnFiber = canHydrateTextInstance(
                current2,
                workInProgress2.pendingProps,
                rootOrSingletonContext
              ), null !== returnFiber ? (workInProgress2.stateNode = returnFiber, hydrationParentFiber = workInProgress2, nextHydratableInstance = null, returnFiber = true) : returnFiber = false, returnFiber = !returnFiber), returnFiber && (renderLanes2 && warnNonHydratedInstance(workInProgress2, current2), throwOnHydrationMismatch(workInProgress2))), null;
            case 13:
              return updateSuspenseComponent(current2, workInProgress2, renderLanes2);
            case 4:
              return pushHostContainer(
                workInProgress2,
                workInProgress2.stateNode.containerInfo
              ), returnFiber = workInProgress2.pendingProps, null === current2 ? workInProgress2.child = reconcileChildFibers(
                workInProgress2,
                null,
                returnFiber,
                renderLanes2
              ) : reconcileChildren(
                current2,
                workInProgress2,
                returnFiber,
                renderLanes2
              ), workInProgress2.child;
            case 11:
              return updateForwardRef(
                current2,
                workInProgress2,
                workInProgress2.type,
                workInProgress2.pendingProps,
                renderLanes2
              );
            case 7:
              return reconcileChildren(
                current2,
                workInProgress2,
                workInProgress2.pendingProps,
                renderLanes2
              ), workInProgress2.child;
            case 8:
              return reconcileChildren(
                current2,
                workInProgress2,
                workInProgress2.pendingProps.children,
                renderLanes2
              ), workInProgress2.child;
            case 12:
              return workInProgress2.flags |= 4, workInProgress2.flags |= 2048, returnFiber = workInProgress2.stateNode, returnFiber.effectDuration = -0, returnFiber.passiveEffectDuration = -0, reconcileChildren(
                current2,
                workInProgress2,
                workInProgress2.pendingProps.children,
                renderLanes2
              ), workInProgress2.child;
            case 10:
              return returnFiber = workInProgress2.type, prevSibling = workInProgress2.pendingProps, prevState = prevSibling.value, "value" in prevSibling || hasWarnedAboutUsingNoValuePropOnContextProvider || (hasWarnedAboutUsingNoValuePropOnContextProvider = true, console.error(
                "The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?"
              )), pushProvider(workInProgress2, returnFiber, prevState), reconcileChildren(
                current2,
                workInProgress2,
                prevSibling.children,
                renderLanes2
              ), workInProgress2.child;
            case 9:
              return prevSibling = workInProgress2.type._context, returnFiber = workInProgress2.pendingProps.children, "function" !== typeof returnFiber && console.error(
                "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."
              ), prepareToReadContext(workInProgress2), prevSibling = readContext(prevSibling), returnFiber = callComponentInDEV(
                returnFiber,
                prevSibling,
                void 0
              ), workInProgress2.flags |= 1, reconcileChildren(
                current2,
                workInProgress2,
                returnFiber,
                renderLanes2
              ), workInProgress2.child;
            case 14:
              return updateMemoComponent(
                current2,
                workInProgress2,
                workInProgress2.type,
                workInProgress2.pendingProps,
                renderLanes2
              );
            case 15:
              return updateSimpleMemoComponent(
                current2,
                workInProgress2,
                workInProgress2.type,
                workInProgress2.pendingProps,
                renderLanes2
              );
            case 19:
              return updateSuspenseListComponent(
                current2,
                workInProgress2,
                renderLanes2
              );
            case 31:
              return updateActivityComponent(current2, workInProgress2, renderLanes2);
            case 22:
              return updateOffscreenComponent(
                current2,
                workInProgress2,
                renderLanes2,
                workInProgress2.pendingProps
              );
            case 24:
              return prepareToReadContext(workInProgress2), returnFiber = readContext(CacheContext), null === current2 ? (prevSibling = peekCacheFromPool(), null === prevSibling && (prevSibling = workInProgressRoot, prevState = createCache3(), prevSibling.pooledCache = prevState, retainCache(prevState), null !== prevState && (prevSibling.pooledCacheLanes |= renderLanes2), prevSibling = prevState), workInProgress2.memoizedState = {
                parent: returnFiber,
                cache: prevSibling
              }, initializeUpdateQueue(workInProgress2), pushProvider(workInProgress2, CacheContext, prevSibling)) : (0 !== (current2.lanes & renderLanes2) && (cloneUpdateQueue(current2, workInProgress2), processUpdateQueue(workInProgress2, null, null, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction()), prevSibling = current2.memoizedState, prevState = workInProgress2.memoizedState, prevSibling.parent !== returnFiber ? (prevSibling = {
                parent: returnFiber,
                cache: returnFiber
              }, workInProgress2.memoizedState = prevSibling, 0 === workInProgress2.lanes && (workInProgress2.memoizedState = workInProgress2.updateQueue.baseState = prevSibling), pushProvider(workInProgress2, CacheContext, returnFiber)) : (returnFiber = prevState.cache, pushProvider(workInProgress2, CacheContext, returnFiber), returnFiber !== prevSibling.cache && propagateContextChanges(
                workInProgress2,
                [CacheContext],
                renderLanes2,
                true
              ))), reconcileChildren(
                current2,
                workInProgress2,
                workInProgress2.pendingProps.children,
                renderLanes2
              ), workInProgress2.child;
            case 29:
              throw workInProgress2.pendingProps;
          }
          throw Error(
            "Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue."
          );
        }
        function markUpdate(workInProgress2) {
          workInProgress2.flags |= 4;
        }
        function preloadInstanceAndSuspendIfNeeded(workInProgress2, type2, oldProps, newProps, renderLanes2) {
          if (type2 = (workInProgress2.mode & SuspenseyImagesMode) !== NoMode)
            type2 = false;
          if (type2) {
            if (workInProgress2.flags |= 16777216, (renderLanes2 & 335544128) === renderLanes2)
              if (workInProgress2.stateNode.complete) workInProgress2.flags |= 8192;
              else if (shouldRemainOnPreviousScreen()) workInProgress2.flags |= 8192;
              else
                throw suspendedThenable = noopSuspenseyCommitThenable, SuspenseyCommitException;
          } else workInProgress2.flags &= -16777217;
        }
        function preloadResourceAndSuspendIfNeeded(workInProgress2, resource) {
          if ("stylesheet" !== resource.type || (resource.state.loading & Inserted) !== NotLoaded)
            workInProgress2.flags &= -16777217;
          else if (workInProgress2.flags |= 16777216, !preloadResource(resource))
            if (shouldRemainOnPreviousScreen()) workInProgress2.flags |= 8192;
            else
              throw suspendedThenable = noopSuspenseyCommitThenable, SuspenseyCommitException;
        }
        function scheduleRetryEffect(workInProgress2, retryQueue) {
          null !== retryQueue && (workInProgress2.flags |= 4);
          workInProgress2.flags & 16384 && (retryQueue = 22 !== workInProgress2.tag ? claimNextRetryLane() : 536870912, workInProgress2.lanes |= retryQueue, workInProgressSuspendedRetryLanes |= retryQueue);
        }
        function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {
          if (!isHydrating)
            switch (renderState.tailMode) {
              case "hidden":
                hasRenderedATailFallback = renderState.tail;
                for (var lastTailNode = null; null !== hasRenderedATailFallback; )
                  null !== hasRenderedATailFallback.alternate && (lastTailNode = hasRenderedATailFallback), hasRenderedATailFallback = hasRenderedATailFallback.sibling;
                null === lastTailNode ? renderState.tail = null : lastTailNode.sibling = null;
                break;
              case "collapsed":
                lastTailNode = renderState.tail;
                for (var _lastTailNode = null; null !== lastTailNode; )
                  null !== lastTailNode.alternate && (_lastTailNode = lastTailNode), lastTailNode = lastTailNode.sibling;
                null === _lastTailNode ? hasRenderedATailFallback || null === renderState.tail ? renderState.tail = null : renderState.tail.sibling = null : _lastTailNode.sibling = null;
            }
        }
        function bubbleProperties(completedWork) {
          var didBailout = null !== completedWork.alternate && completedWork.alternate.child === completedWork.child, newChildLanes = 0, subtreeFlags = 0;
          if (didBailout)
            if ((completedWork.mode & ProfileMode) !== NoMode) {
              for (var _treeBaseDuration = completedWork.selfBaseDuration, _child2 = completedWork.child; null !== _child2; )
                newChildLanes |= _child2.lanes | _child2.childLanes, subtreeFlags |= _child2.subtreeFlags & 65011712, subtreeFlags |= _child2.flags & 65011712, _treeBaseDuration += _child2.treeBaseDuration, _child2 = _child2.sibling;
              completedWork.treeBaseDuration = _treeBaseDuration;
            } else
              for (_treeBaseDuration = completedWork.child; null !== _treeBaseDuration; )
                newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags & 65011712, subtreeFlags |= _treeBaseDuration.flags & 65011712, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling;
          else if ((completedWork.mode & ProfileMode) !== NoMode) {
            _treeBaseDuration = completedWork.actualDuration;
            _child2 = completedWork.selfBaseDuration;
            for (var child = completedWork.child; null !== child; )
              newChildLanes |= child.lanes | child.childLanes, subtreeFlags |= child.subtreeFlags, subtreeFlags |= child.flags, _treeBaseDuration += child.actualDuration, _child2 += child.treeBaseDuration, child = child.sibling;
            completedWork.actualDuration = _treeBaseDuration;
            completedWork.treeBaseDuration = _child2;
          } else
            for (_treeBaseDuration = completedWork.child; null !== _treeBaseDuration; )
              newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags, subtreeFlags |= _treeBaseDuration.flags, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling;
          completedWork.subtreeFlags |= subtreeFlags;
          completedWork.childLanes = newChildLanes;
          return didBailout;
        }
        function completeWork(current2, workInProgress2, renderLanes2) {
          var newProps = workInProgress2.pendingProps;
          popTreeContext(workInProgress2);
          switch (workInProgress2.tag) {
            case 16:
            case 15:
            case 0:
            case 11:
            case 7:
            case 8:
            case 12:
            case 9:
            case 14:
              return bubbleProperties(workInProgress2), null;
            case 1:
              return bubbleProperties(workInProgress2), null;
            case 3:
              renderLanes2 = workInProgress2.stateNode;
              newProps = null;
              null !== current2 && (newProps = current2.memoizedState.cache);
              workInProgress2.memoizedState.cache !== newProps && (workInProgress2.flags |= 2048);
              popProvider(CacheContext, workInProgress2);
              popHostContainer(workInProgress2);
              renderLanes2.pendingContext && (renderLanes2.context = renderLanes2.pendingContext, renderLanes2.pendingContext = null);
              if (null === current2 || null === current2.child)
                popHydrationState(workInProgress2) ? (emitPendingHydrationWarnings(), markUpdate(workInProgress2)) : null === current2 || current2.memoizedState.isDehydrated && 0 === (workInProgress2.flags & 256) || (workInProgress2.flags |= 1024, upgradeHydrationErrorsToRecoverable());
              bubbleProperties(workInProgress2);
              return null;
            case 26:
              var type2 = workInProgress2.type, nextResource = workInProgress2.memoizedState;
              null === current2 ? (markUpdate(workInProgress2), null !== nextResource ? (bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded(
                workInProgress2,
                nextResource
              )) : (bubbleProperties(workInProgress2), preloadInstanceAndSuspendIfNeeded(
                workInProgress2,
                type2,
                null,
                newProps,
                renderLanes2
              ))) : nextResource ? nextResource !== current2.memoizedState ? (markUpdate(workInProgress2), bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded(
                workInProgress2,
                nextResource
              )) : (bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217) : (current2 = current2.memoizedProps, current2 !== newProps && markUpdate(workInProgress2), bubbleProperties(workInProgress2), preloadInstanceAndSuspendIfNeeded(
                workInProgress2,
                type2,
                current2,
                newProps,
                renderLanes2
              ));
              return null;
            case 27:
              popHostContext(workInProgress2);
              renderLanes2 = requiredContext(rootInstanceStackCursor.current);
              type2 = workInProgress2.type;
              if (null !== current2 && null != workInProgress2.stateNode)
                current2.memoizedProps !== newProps && markUpdate(workInProgress2);
              else {
                if (!newProps) {
                  if (null === workInProgress2.stateNode)
                    throw Error(
                      "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."
                    );
                  bubbleProperties(workInProgress2);
                  return null;
                }
                current2 = getHostContext();
                popHydrationState(workInProgress2) ? prepareToHydrateHostInstance(workInProgress2, current2) : (current2 = resolveSingletonInstance(
                  type2,
                  newProps,
                  renderLanes2,
                  current2,
                  true
                ), workInProgress2.stateNode = current2, markUpdate(workInProgress2));
              }
              bubbleProperties(workInProgress2);
              return null;
            case 5:
              popHostContext(workInProgress2);
              type2 = workInProgress2.type;
              if (null !== current2 && null != workInProgress2.stateNode)
                current2.memoizedProps !== newProps && markUpdate(workInProgress2);
              else {
                if (!newProps) {
                  if (null === workInProgress2.stateNode)
                    throw Error(
                      "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."
                    );
                  bubbleProperties(workInProgress2);
                  return null;
                }
                var _currentHostContext = getHostContext();
                if (popHydrationState(workInProgress2))
                  prepareToHydrateHostInstance(workInProgress2, _currentHostContext);
                else {
                  nextResource = requiredContext(rootInstanceStackCursor.current);
                  validateDOMNesting(type2, _currentHostContext.ancestorInfo);
                  _currentHostContext = _currentHostContext.context;
                  nextResource = getOwnerDocumentFromRootContainer(nextResource);
                  switch (_currentHostContext) {
                    case HostContextNamespaceSvg:
                      nextResource = nextResource.createElementNS(
                        SVG_NAMESPACE,
                        type2
                      );
                      break;
                    case HostContextNamespaceMath:
                      nextResource = nextResource.createElementNS(
                        MATH_NAMESPACE,
                        type2
                      );
                      break;
                    default:
                      switch (type2) {
                        case "svg":
                          nextResource = nextResource.createElementNS(
                            SVG_NAMESPACE,
                            type2
                          );
                          break;
                        case "math":
                          nextResource = nextResource.createElementNS(
                            MATH_NAMESPACE,
                            type2
                          );
                          break;
                        case "script":
                          nextResource = nextResource.createElement("div");
                          nextResource.innerHTML = "<script><\/script>";
                          nextResource = nextResource.removeChild(
                            nextResource.firstChild
                          );
                          break;
                        case "select":
                          nextResource = "string" === typeof newProps.is ? nextResource.createElement("select", {
                            is: newProps.is
                          }) : nextResource.createElement("select");
                          newProps.multiple ? nextResource.multiple = true : newProps.size && (nextResource.size = newProps.size);
                          break;
                        default:
                          nextResource = "string" === typeof newProps.is ? nextResource.createElement(type2, {
                            is: newProps.is
                          }) : nextResource.createElement(type2), -1 === type2.indexOf("-") && (type2 !== type2.toLowerCase() && console.error(
                            "<%s /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.",
                            type2
                          ), "[object HTMLUnknownElement]" !== Object.prototype.toString.call(nextResource) || hasOwnProperty2.call(warnedUnknownTags, type2) || (warnedUnknownTags[type2] = true, console.error(
                            "The tag <%s> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.",
                            type2
                          )));
                      }
                  }
                  nextResource[internalInstanceKey] = workInProgress2;
                  nextResource[internalPropsKey] = newProps;
                  a: for (_currentHostContext = workInProgress2.child; null !== _currentHostContext; ) {
                    if (5 === _currentHostContext.tag || 6 === _currentHostContext.tag)
                      nextResource.appendChild(_currentHostContext.stateNode);
                    else if (4 !== _currentHostContext.tag && 27 !== _currentHostContext.tag && null !== _currentHostContext.child) {
                      _currentHostContext.child.return = _currentHostContext;
                      _currentHostContext = _currentHostContext.child;
                      continue;
                    }
                    if (_currentHostContext === workInProgress2) break a;
                    for (; null === _currentHostContext.sibling; ) {
                      if (null === _currentHostContext.return || _currentHostContext.return === workInProgress2)
                        break a;
                      _currentHostContext = _currentHostContext.return;
                    }
                    _currentHostContext.sibling.return = _currentHostContext.return;
                    _currentHostContext = _currentHostContext.sibling;
                  }
                  workInProgress2.stateNode = nextResource;
                  a: switch (setInitialProperties(nextResource, type2, newProps), type2) {
                    case "button":
                    case "input":
                    case "select":
                    case "textarea":
                      newProps = !!newProps.autoFocus;
                      break a;
                    case "img":
                      newProps = true;
                      break a;
                    default:
                      newProps = false;
                  }
                  newProps && markUpdate(workInProgress2);
                }
              }
              bubbleProperties(workInProgress2);
              preloadInstanceAndSuspendIfNeeded(
                workInProgress2,
                workInProgress2.type,
                null === current2 ? null : current2.memoizedProps,
                workInProgress2.pendingProps,
                renderLanes2
              );
              return null;
            case 6:
              if (current2 && null != workInProgress2.stateNode)
                current2.memoizedProps !== newProps && markUpdate(workInProgress2);
              else {
                if ("string" !== typeof newProps && null === workInProgress2.stateNode)
                  throw Error(
                    "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."
                  );
                current2 = requiredContext(rootInstanceStackCursor.current);
                renderLanes2 = getHostContext();
                if (popHydrationState(workInProgress2)) {
                  current2 = workInProgress2.stateNode;
                  renderLanes2 = workInProgress2.memoizedProps;
                  type2 = !didSuspendOrErrorDEV;
                  newProps = null;
                  nextResource = hydrationParentFiber;
                  if (null !== nextResource)
                    switch (nextResource.tag) {
                      case 3:
                        type2 && (type2 = diffHydratedTextForDevWarnings(
                          current2,
                          renderLanes2,
                          newProps
                        ), null !== type2 && (buildHydrationDiffNode(workInProgress2, 0).serverProps = type2));
                        break;
                      case 27:
                      case 5:
                        newProps = nextResource.memoizedProps, type2 && (type2 = diffHydratedTextForDevWarnings(
                          current2,
                          renderLanes2,
                          newProps
                        ), null !== type2 && (buildHydrationDiffNode(
                          workInProgress2,
                          0
                        ).serverProps = type2));
                    }
                  current2[internalInstanceKey] = workInProgress2;
                  current2 = current2.nodeValue === renderLanes2 || null !== newProps && true === newProps.suppressHydrationWarning || checkForUnmatchedText(current2.nodeValue, renderLanes2) ? true : false;
                  current2 || throwOnHydrationMismatch(workInProgress2, true);
                } else
                  type2 = renderLanes2.ancestorInfo.current, null != type2 && validateTextNesting(
                    newProps,
                    type2.tag,
                    renderLanes2.ancestorInfo.implicitRootScope
                  ), current2 = getOwnerDocumentFromRootContainer(current2).createTextNode(
                    newProps
                  ), current2[internalInstanceKey] = workInProgress2, workInProgress2.stateNode = current2;
              }
              bubbleProperties(workInProgress2);
              return null;
            case 31:
              renderLanes2 = workInProgress2.memoizedState;
              if (null === current2 || null !== current2.memoizedState) {
                newProps = popHydrationState(workInProgress2);
                if (null !== renderLanes2) {
                  if (null === current2) {
                    if (!newProps)
                      throw Error(
                        "A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React."
                      );
                    current2 = workInProgress2.memoizedState;
                    current2 = null !== current2 ? current2.dehydrated : null;
                    if (!current2)
                      throw Error(
                        "Expected to have a hydrated activity instance. This error is likely caused by a bug in React. Please file an issue."
                      );
                    current2[internalInstanceKey] = workInProgress2;
                    bubbleProperties(workInProgress2);
                    (workInProgress2.mode & ProfileMode) !== NoMode && null !== renderLanes2 && (current2 = workInProgress2.child, null !== current2 && (workInProgress2.treeBaseDuration -= current2.treeBaseDuration));
                  } else
                    emitPendingHydrationWarnings(), resetHydrationState(), 0 === (workInProgress2.flags & 128) && (renderLanes2 = workInProgress2.memoizedState = null), workInProgress2.flags |= 4, bubbleProperties(workInProgress2), (workInProgress2.mode & ProfileMode) !== NoMode && null !== renderLanes2 && (current2 = workInProgress2.child, null !== current2 && (workInProgress2.treeBaseDuration -= current2.treeBaseDuration));
                  current2 = false;
                } else
                  renderLanes2 = upgradeHydrationErrorsToRecoverable(), null !== current2 && null !== current2.memoizedState && (current2.memoizedState.hydrationErrors = renderLanes2), current2 = true;
                if (!current2) {
                  if (workInProgress2.flags & 256)
                    return popSuspenseHandler(workInProgress2), workInProgress2;
                  popSuspenseHandler(workInProgress2);
                  return null;
                }
                if (0 !== (workInProgress2.flags & 128))
                  throw Error(
                    "Client rendering an Activity suspended it again. This is a bug in React."
                  );
              }
              bubbleProperties(workInProgress2);
              return null;
            case 13:
              newProps = workInProgress2.memoizedState;
              if (null === current2 || null !== current2.memoizedState && null !== current2.memoizedState.dehydrated) {
                type2 = newProps;
                nextResource = popHydrationState(workInProgress2);
                if (null !== type2 && null !== type2.dehydrated) {
                  if (null === current2) {
                    if (!nextResource)
                      throw Error(
                        "A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React."
                      );
                    nextResource = workInProgress2.memoizedState;
                    nextResource = null !== nextResource ? nextResource.dehydrated : null;
                    if (!nextResource)
                      throw Error(
                        "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue."
                      );
                    nextResource[internalInstanceKey] = workInProgress2;
                    bubbleProperties(workInProgress2);
                    (workInProgress2.mode & ProfileMode) !== NoMode && null !== type2 && (type2 = workInProgress2.child, null !== type2 && (workInProgress2.treeBaseDuration -= type2.treeBaseDuration));
                  } else
                    emitPendingHydrationWarnings(), resetHydrationState(), 0 === (workInProgress2.flags & 128) && (type2 = workInProgress2.memoizedState = null), workInProgress2.flags |= 4, bubbleProperties(workInProgress2), (workInProgress2.mode & ProfileMode) !== NoMode && null !== type2 && (type2 = workInProgress2.child, null !== type2 && (workInProgress2.treeBaseDuration -= type2.treeBaseDuration));
                  type2 = false;
                } else
                  type2 = upgradeHydrationErrorsToRecoverable(), null !== current2 && null !== current2.memoizedState && (current2.memoizedState.hydrationErrors = type2), type2 = true;
                if (!type2) {
                  if (workInProgress2.flags & 256)
                    return popSuspenseHandler(workInProgress2), workInProgress2;
                  popSuspenseHandler(workInProgress2);
                  return null;
                }
              }
              popSuspenseHandler(workInProgress2);
              if (0 !== (workInProgress2.flags & 128))
                return workInProgress2.lanes = renderLanes2, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2;
              renderLanes2 = null !== newProps;
              current2 = null !== current2 && null !== current2.memoizedState;
              renderLanes2 && (newProps = workInProgress2.child, type2 = null, null !== newProps.alternate && null !== newProps.alternate.memoizedState && null !== newProps.alternate.memoizedState.cachePool && (type2 = newProps.alternate.memoizedState.cachePool.pool), nextResource = null, null !== newProps.memoizedState && null !== newProps.memoizedState.cachePool && (nextResource = newProps.memoizedState.cachePool.pool), nextResource !== type2 && (newProps.flags |= 2048));
              renderLanes2 !== current2 && renderLanes2 && (workInProgress2.child.flags |= 8192);
              scheduleRetryEffect(workInProgress2, workInProgress2.updateQueue);
              bubbleProperties(workInProgress2);
              (workInProgress2.mode & ProfileMode) !== NoMode && renderLanes2 && (current2 = workInProgress2.child, null !== current2 && (workInProgress2.treeBaseDuration -= current2.treeBaseDuration));
              return null;
            case 4:
              return popHostContainer(workInProgress2), null === current2 && listenToAllSupportedEvents(
                workInProgress2.stateNode.containerInfo
              ), bubbleProperties(workInProgress2), null;
            case 10:
              return popProvider(workInProgress2.type, workInProgress2), bubbleProperties(workInProgress2), null;
            case 19:
              pop(suspenseStackCursor, workInProgress2);
              newProps = workInProgress2.memoizedState;
              if (null === newProps) return bubbleProperties(workInProgress2), null;
              type2 = 0 !== (workInProgress2.flags & 128);
              nextResource = newProps.rendering;
              if (null === nextResource)
                if (type2) cutOffTailIfNeeded(newProps, false);
                else {
                  if (workInProgressRootExitStatus !== RootInProgress || null !== current2 && 0 !== (current2.flags & 128))
                    for (current2 = workInProgress2.child; null !== current2; ) {
                      nextResource = findFirstSuspended(current2);
                      if (null !== nextResource) {
                        workInProgress2.flags |= 128;
                        cutOffTailIfNeeded(newProps, false);
                        current2 = nextResource.updateQueue;
                        workInProgress2.updateQueue = current2;
                        scheduleRetryEffect(workInProgress2, current2);
                        workInProgress2.subtreeFlags = 0;
                        current2 = renderLanes2;
                        for (renderLanes2 = workInProgress2.child; null !== renderLanes2; )
                          resetWorkInProgress(renderLanes2, current2), renderLanes2 = renderLanes2.sibling;
                        push(
                          suspenseStackCursor,
                          suspenseStackCursor.current & SubtreeSuspenseContextMask | ForceSuspenseFallback,
                          workInProgress2
                        );
                        isHydrating && pushTreeFork(workInProgress2, newProps.treeForkCount);
                        return workInProgress2.child;
                      }
                      current2 = current2.sibling;
                    }
                  null !== newProps.tail && now$1() > workInProgressRootRenderTargetTime && (workInProgress2.flags |= 128, type2 = true, cutOffTailIfNeeded(newProps, false), workInProgress2.lanes = 4194304);
                }
              else {
                if (!type2)
                  if (current2 = findFirstSuspended(nextResource), null !== current2) {
                    if (workInProgress2.flags |= 128, type2 = true, current2 = current2.updateQueue, workInProgress2.updateQueue = current2, scheduleRetryEffect(workInProgress2, current2), cutOffTailIfNeeded(newProps, true), null === newProps.tail && "hidden" === newProps.tailMode && !nextResource.alternate && !isHydrating)
                      return bubbleProperties(workInProgress2), null;
                  } else
                    2 * now$1() - newProps.renderingStartTime > workInProgressRootRenderTargetTime && 536870912 !== renderLanes2 && (workInProgress2.flags |= 128, type2 = true, cutOffTailIfNeeded(newProps, false), workInProgress2.lanes = 4194304);
                newProps.isBackwards ? (nextResource.sibling = workInProgress2.child, workInProgress2.child = nextResource) : (current2 = newProps.last, null !== current2 ? current2.sibling = nextResource : workInProgress2.child = nextResource, newProps.last = nextResource);
              }
              if (null !== newProps.tail)
                return current2 = newProps.tail, newProps.rendering = current2, newProps.tail = current2.sibling, newProps.renderingStartTime = now$1(), current2.sibling = null, renderLanes2 = suspenseStackCursor.current, renderLanes2 = type2 ? renderLanes2 & SubtreeSuspenseContextMask | ForceSuspenseFallback : renderLanes2 & SubtreeSuspenseContextMask, push(suspenseStackCursor, renderLanes2, workInProgress2), isHydrating && pushTreeFork(workInProgress2, newProps.treeForkCount), current2;
              bubbleProperties(workInProgress2);
              return null;
            case 22:
            case 23:
              return popSuspenseHandler(workInProgress2), popHiddenContext(workInProgress2), newProps = null !== workInProgress2.memoizedState, null !== current2 ? null !== current2.memoizedState !== newProps && (workInProgress2.flags |= 8192) : newProps && (workInProgress2.flags |= 8192), newProps ? 0 !== (renderLanes2 & 536870912) && 0 === (workInProgress2.flags & 128) && (bubbleProperties(workInProgress2), workInProgress2.subtreeFlags & 6 && (workInProgress2.flags |= 8192)) : bubbleProperties(workInProgress2), renderLanes2 = workInProgress2.updateQueue, null !== renderLanes2 && scheduleRetryEffect(workInProgress2, renderLanes2.retryQueue), renderLanes2 = null, null !== current2 && null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (renderLanes2 = current2.memoizedState.cachePool.pool), newProps = null, null !== workInProgress2.memoizedState && null !== workInProgress2.memoizedState.cachePool && (newProps = workInProgress2.memoizedState.cachePool.pool), newProps !== renderLanes2 && (workInProgress2.flags |= 2048), null !== current2 && pop(resumedCache, workInProgress2), null;
            case 24:
              return renderLanes2 = null, null !== current2 && (renderLanes2 = current2.memoizedState.cache), workInProgress2.memoizedState.cache !== renderLanes2 && (workInProgress2.flags |= 2048), popProvider(CacheContext, workInProgress2), bubbleProperties(workInProgress2), null;
            case 25:
              return null;
            case 30:
              return null;
          }
          throw Error(
            "Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue."
          );
        }
        function unwindWork(current2, workInProgress2) {
          popTreeContext(workInProgress2);
          switch (workInProgress2.tag) {
            case 1:
              return current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
            case 3:
              return popProvider(CacheContext, workInProgress2), popHostContainer(workInProgress2), current2 = workInProgress2.flags, 0 !== (current2 & 65536) && 0 === (current2 & 128) ? (workInProgress2.flags = current2 & -65537 | 128, workInProgress2) : null;
            case 26:
            case 27:
            case 5:
              return popHostContext(workInProgress2), null;
            case 31:
              if (null !== workInProgress2.memoizedState) {
                popSuspenseHandler(workInProgress2);
                if (null === workInProgress2.alternate)
                  throw Error(
                    "Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue."
                  );
                resetHydrationState();
              }
              current2 = workInProgress2.flags;
              return current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
            case 13:
              popSuspenseHandler(workInProgress2);
              current2 = workInProgress2.memoizedState;
              if (null !== current2 && null !== current2.dehydrated) {
                if (null === workInProgress2.alternate)
                  throw Error(
                    "Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue."
                  );
                resetHydrationState();
              }
              current2 = workInProgress2.flags;
              return current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
            case 19:
              return pop(suspenseStackCursor, workInProgress2), null;
            case 4:
              return popHostContainer(workInProgress2), null;
            case 10:
              return popProvider(workInProgress2.type, workInProgress2), null;
            case 22:
            case 23:
              return popSuspenseHandler(workInProgress2), popHiddenContext(workInProgress2), null !== current2 && pop(resumedCache, workInProgress2), current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
            case 24:
              return popProvider(CacheContext, workInProgress2), null;
            case 25:
              return null;
            default:
              return null;
          }
        }
        function unwindInterruptedWork(current2, interruptedWork) {
          popTreeContext(interruptedWork);
          switch (interruptedWork.tag) {
            case 3:
              popProvider(CacheContext, interruptedWork);
              popHostContainer(interruptedWork);
              break;
            case 26:
            case 27:
            case 5:
              popHostContext(interruptedWork);
              break;
            case 4:
              popHostContainer(interruptedWork);
              break;
            case 31:
              null !== interruptedWork.memoizedState && popSuspenseHandler(interruptedWork);
              break;
            case 13:
              popSuspenseHandler(interruptedWork);
              break;
            case 19:
              pop(suspenseStackCursor, interruptedWork);
              break;
            case 10:
              popProvider(interruptedWork.type, interruptedWork);
              break;
            case 22:
            case 23:
              popSuspenseHandler(interruptedWork);
              popHiddenContext(interruptedWork);
              null !== current2 && pop(resumedCache, interruptedWork);
              break;
            case 24:
              popProvider(CacheContext, interruptedWork);
          }
        }
        function shouldProfile(current2) {
          return (current2.mode & ProfileMode) !== NoMode;
        }
        function commitHookLayoutEffects(finishedWork, hookFlags) {
          shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork);
        }
        function commitHookLayoutUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) {
          shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount(
            hookFlags,
            finishedWork,
            nearestMountedAncestor
          ), recordEffectDuration()) : commitHookEffectListUnmount(
            hookFlags,
            finishedWork,
            nearestMountedAncestor
          );
        }
        function commitHookEffectListMount(flags2, finishedWork) {
          try {
            var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;
            if (null !== lastEffect) {
              var firstEffect = lastEffect.next;
              updateQueue = firstEffect;
              do {
                if ((updateQueue.tag & flags2) === flags2 && (lastEffect = void 0, (flags2 & Insertion5) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = runWithFiberInDEV(
                  finishedWork,
                  callCreateInDEV,
                  updateQueue
                ), (flags2 & Insertion5) !== NoFlags && (isRunningInsertionEffect = false), void 0 !== lastEffect && "function" !== typeof lastEffect)) {
                  var hookName2 = void 0;
                  hookName2 = 0 !== (updateQueue.tag & Layout) ? "useLayoutEffect" : 0 !== (updateQueue.tag & Insertion5) ? "useInsertionEffect" : "useEffect";
                  var addendum = void 0;
                  addendum = null === lastEffect ? " You returned null. If your effect does not require clean up, return undefined (or nothing)." : "function" === typeof lastEffect.then ? "\n\nIt looks like you wrote " + hookName2 + "(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:\n\n" + hookName2 + "(() => {\n  async function fetchData() {\n    // You can await here\n    const response = await MyAPI.getData(someId);\n    // ...\n  }\n  fetchData();\n}, [someId]); // Or [] if effect doesn't need props or state\n\nLearn more about data fetching with Hooks: https://react.dev/link/hooks-data-fetching" : " You returned: " + lastEffect;
                  runWithFiberInDEV(
                    finishedWork,
                    function(n3, a2) {
                      console.error(
                        "%s must not return anything besides a function, which is used for clean-up.%s",
                        n3,
                        a2
                      );
                    },
                    hookName2,
                    addendum
                  );
                }
                updateQueue = updateQueue.next;
              } while (updateQueue !== firstEffect);
            }
          } catch (error2) {
            captureCommitPhaseError(finishedWork, finishedWork.return, error2);
          }
        }
        function commitHookEffectListUnmount(flags2, finishedWork, nearestMountedAncestor) {
          try {
            var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;
            if (null !== lastEffect) {
              var firstEffect = lastEffect.next;
              updateQueue = firstEffect;
              do {
                if ((updateQueue.tag & flags2) === flags2) {
                  var inst = updateQueue.inst, destroy = inst.destroy;
                  void 0 !== destroy && (inst.destroy = void 0, (flags2 & Insertion5) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = finishedWork, runWithFiberInDEV(
                    lastEffect,
                    callDestroyInDEV,
                    lastEffect,
                    nearestMountedAncestor,
                    destroy
                  ), (flags2 & Insertion5) !== NoFlags && (isRunningInsertionEffect = false));
                }
                updateQueue = updateQueue.next;
              } while (updateQueue !== firstEffect);
            }
          } catch (error2) {
            captureCommitPhaseError(finishedWork, finishedWork.return, error2);
          }
        }
        function commitHookPassiveMountEffects(finishedWork, hookFlags) {
          shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork);
        }
        function commitHookPassiveUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) {
          shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount(
            hookFlags,
            finishedWork,
            nearestMountedAncestor
          ), recordEffectDuration()) : commitHookEffectListUnmount(
            hookFlags,
            finishedWork,
            nearestMountedAncestor
          );
        }
        function commitClassCallbacks(finishedWork) {
          var updateQueue = finishedWork.updateQueue;
          if (null !== updateQueue) {
            var instance2 = finishedWork.stateNode;
            finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (instance2.props !== finishedWork.memoizedProps && console.error(
              "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.",
              getComponentNameFromFiber(finishedWork) || "instance"
            ), instance2.state !== finishedWork.memoizedState && console.error(
              "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.",
              getComponentNameFromFiber(finishedWork) || "instance"
            ));
            try {
              runWithFiberInDEV(
                finishedWork,
                commitCallbacks,
                updateQueue,
                instance2
              );
            } catch (error2) {
              captureCommitPhaseError(finishedWork, finishedWork.return, error2);
            }
          }
        }
        function callGetSnapshotBeforeUpdates(instance2, prevProps, prevState) {
          return instance2.getSnapshotBeforeUpdate(prevProps, prevState);
        }
        function commitClassSnapshot(finishedWork, current2) {
          var prevProps = current2.memoizedProps, prevState = current2.memoizedState;
          current2 = finishedWork.stateNode;
          finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (current2.props !== finishedWork.memoizedProps && console.error(
            "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.",
            getComponentNameFromFiber(finishedWork) || "instance"
          ), current2.state !== finishedWork.memoizedState && console.error(
            "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.",
            getComponentNameFromFiber(finishedWork) || "instance"
          ));
          try {
            var resolvedPrevProps = resolveClassComponentProps(
              finishedWork.type,
              prevProps
            );
            var snapshot = runWithFiberInDEV(
              finishedWork,
              callGetSnapshotBeforeUpdates,
              current2,
              resolvedPrevProps,
              prevState
            );
            prevProps = didWarnAboutUndefinedSnapshotBeforeUpdate;
            void 0 !== snapshot || prevProps.has(finishedWork.type) || (prevProps.add(finishedWork.type), runWithFiberInDEV(finishedWork, function() {
              console.error(
                "%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.",
                getComponentNameFromFiber(finishedWork)
              );
            }));
            current2.__reactInternalSnapshotBeforeUpdate = snapshot;
          } catch (error2) {
            captureCommitPhaseError(finishedWork, finishedWork.return, error2);
          }
        }
        function safelyCallComponentWillUnmount(current2, nearestMountedAncestor, instance2) {
          instance2.props = resolveClassComponentProps(
            current2.type,
            current2.memoizedProps
          );
          instance2.state = current2.memoizedState;
          shouldProfile(current2) ? (startEffectTimer(), runWithFiberInDEV(
            current2,
            callComponentWillUnmountInDEV,
            current2,
            nearestMountedAncestor,
            instance2
          ), recordEffectDuration()) : runWithFiberInDEV(
            current2,
            callComponentWillUnmountInDEV,
            current2,
            nearestMountedAncestor,
            instance2
          );
        }
        function commitAttachRef(finishedWork) {
          var ref = finishedWork.ref;
          if (null !== ref) {
            switch (finishedWork.tag) {
              case 26:
              case 27:
              case 5:
                var instanceToUse = finishedWork.stateNode;
                break;
              case 30:
                instanceToUse = finishedWork.stateNode;
                break;
              default:
                instanceToUse = finishedWork.stateNode;
            }
            if ("function" === typeof ref)
              if (shouldProfile(finishedWork))
                try {
                  startEffectTimer(), finishedWork.refCleanup = ref(instanceToUse);
                } finally {
                  recordEffectDuration();
                }
              else finishedWork.refCleanup = ref(instanceToUse);
            else
              "string" === typeof ref ? console.error("String refs are no longer supported.") : ref.hasOwnProperty("current") || console.error(
                "Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().",
                getComponentNameFromFiber(finishedWork)
              ), ref.current = instanceToUse;
          }
        }
        function safelyAttachRef(current2, nearestMountedAncestor) {
          try {
            runWithFiberInDEV(current2, commitAttachRef, current2);
          } catch (error2) {
            captureCommitPhaseError(current2, nearestMountedAncestor, error2);
          }
        }
        function safelyDetachRef(current2, nearestMountedAncestor) {
          var ref = current2.ref, refCleanup = current2.refCleanup;
          if (null !== ref)
            if ("function" === typeof refCleanup)
              try {
                if (shouldProfile(current2))
                  try {
                    startEffectTimer(), runWithFiberInDEV(current2, refCleanup);
                  } finally {
                    recordEffectDuration(current2);
                  }
                else runWithFiberInDEV(current2, refCleanup);
              } catch (error2) {
                captureCommitPhaseError(current2, nearestMountedAncestor, error2);
              } finally {
                current2.refCleanup = null, current2 = current2.alternate, null != current2 && (current2.refCleanup = null);
              }
            else if ("function" === typeof ref)
              try {
                if (shouldProfile(current2))
                  try {
                    startEffectTimer(), runWithFiberInDEV(current2, ref, null);
                  } finally {
                    recordEffectDuration(current2);
                  }
                else runWithFiberInDEV(current2, ref, null);
              } catch (error$7) {
                captureCommitPhaseError(current2, nearestMountedAncestor, error$7);
              }
            else ref.current = null;
        }
        function commitProfiler(finishedWork, current2, commitStartTime2, effectDuration) {
          var _finishedWork$memoize = finishedWork.memoizedProps, id = _finishedWork$memoize.id, onCommit = _finishedWork$memoize.onCommit;
          _finishedWork$memoize = _finishedWork$memoize.onRender;
          current2 = null === current2 ? "mount" : "update";
          currentUpdateIsNested && (current2 = "nested-update");
          "function" === typeof _finishedWork$memoize && _finishedWork$memoize(
            id,
            current2,
            finishedWork.actualDuration,
            finishedWork.treeBaseDuration,
            finishedWork.actualStartTime,
            commitStartTime2
          );
          "function" === typeof onCommit && onCommit(id, current2, effectDuration, commitStartTime2);
        }
        function commitProfilerPostCommitImpl(finishedWork, current2, commitStartTime2, passiveEffectDuration) {
          var _finishedWork$memoize2 = finishedWork.memoizedProps;
          finishedWork = _finishedWork$memoize2.id;
          _finishedWork$memoize2 = _finishedWork$memoize2.onPostCommit;
          current2 = null === current2 ? "mount" : "update";
          currentUpdateIsNested && (current2 = "nested-update");
          "function" === typeof _finishedWork$memoize2 && _finishedWork$memoize2(
            finishedWork,
            current2,
            passiveEffectDuration,
            commitStartTime2
          );
        }
        function commitHostMount(finishedWork) {
          var type2 = finishedWork.type, props = finishedWork.memoizedProps, instance2 = finishedWork.stateNode;
          try {
            runWithFiberInDEV(
              finishedWork,
              commitMount,
              instance2,
              type2,
              props,
              finishedWork
            );
          } catch (error2) {
            captureCommitPhaseError(finishedWork, finishedWork.return, error2);
          }
        }
        function commitHostUpdate(finishedWork, newProps, oldProps) {
          try {
            runWithFiberInDEV(
              finishedWork,
              commitUpdate,
              finishedWork.stateNode,
              finishedWork.type,
              oldProps,
              newProps,
              finishedWork
            );
          } catch (error2) {
            captureCommitPhaseError(finishedWork, finishedWork.return, error2);
          }
        }
        function isHostParent(fiber) {
          return 5 === fiber.tag || 3 === fiber.tag || 26 === fiber.tag || 27 === fiber.tag && isSingletonScope(fiber.type) || 4 === fiber.tag;
        }
        function getHostSibling(fiber) {
          a: for (; ; ) {
            for (; null === fiber.sibling; ) {
              if (null === fiber.return || isHostParent(fiber.return)) return null;
              fiber = fiber.return;
            }
            fiber.sibling.return = fiber.return;
            for (fiber = fiber.sibling; 5 !== fiber.tag && 6 !== fiber.tag && 18 !== fiber.tag; ) {
              if (27 === fiber.tag && isSingletonScope(fiber.type)) continue a;
              if (fiber.flags & 2) continue a;
              if (null === fiber.child || 4 === fiber.tag) continue a;
              else fiber.child.return = fiber, fiber = fiber.child;
            }
            if (!(fiber.flags & 2)) return fiber.stateNode;
          }
        }
        function insertOrAppendPlacementNodeIntoContainer(node2, before, parent) {
          var tag = node2.tag;
          if (5 === tag || 6 === tag)
            node2 = node2.stateNode, before ? (warnForReactChildrenConflict(parent), (9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent).insertBefore(node2, before)) : (warnForReactChildrenConflict(parent), before = 9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent, before.appendChild(node2), parent = parent._reactRootContainer, null !== parent && void 0 !== parent || null !== before.onclick || (before.onclick = noop$1));
          else if (4 !== tag && (27 === tag && isSingletonScope(node2.type) && (parent = node2.stateNode, before = null), node2 = node2.child, null !== node2))
            for (insertOrAppendPlacementNodeIntoContainer(node2, before, parent), node2 = node2.sibling; null !== node2; )
              insertOrAppendPlacementNodeIntoContainer(node2, before, parent), node2 = node2.sibling;
        }
        function insertOrAppendPlacementNode(node2, before, parent) {
          var tag = node2.tag;
          if (5 === tag || 6 === tag)
            node2 = node2.stateNode, before ? parent.insertBefore(node2, before) : parent.appendChild(node2);
          else if (4 !== tag && (27 === tag && isSingletonScope(node2.type) && (parent = node2.stateNode), node2 = node2.child, null !== node2))
            for (insertOrAppendPlacementNode(node2, before, parent), node2 = node2.sibling; null !== node2; )
              insertOrAppendPlacementNode(node2, before, parent), node2 = node2.sibling;
        }
        function commitPlacement(finishedWork) {
          for (var hostParentFiber, parentFiber = finishedWork.return; null !== parentFiber; ) {
            if (isHostParent(parentFiber)) {
              hostParentFiber = parentFiber;
              break;
            }
            parentFiber = parentFiber.return;
          }
          if (null == hostParentFiber)
            throw Error(
              "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue."
            );
          switch (hostParentFiber.tag) {
            case 27:
              hostParentFiber = hostParentFiber.stateNode;
              parentFiber = getHostSibling(finishedWork);
              insertOrAppendPlacementNode(
                finishedWork,
                parentFiber,
                hostParentFiber
              );
              break;
            case 5:
              parentFiber = hostParentFiber.stateNode;
              hostParentFiber.flags & 32 && (resetTextContent(parentFiber), hostParentFiber.flags &= -33);
              hostParentFiber = getHostSibling(finishedWork);
              insertOrAppendPlacementNode(
                finishedWork,
                hostParentFiber,
                parentFiber
              );
              break;
            case 3:
            case 4:
              hostParentFiber = hostParentFiber.stateNode.containerInfo;
              parentFiber = getHostSibling(finishedWork);
              insertOrAppendPlacementNodeIntoContainer(
                finishedWork,
                parentFiber,
                hostParentFiber
              );
              break;
            default:
              throw Error(
                "Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue."
              );
          }
        }
        function commitHostSingletonAcquisition(finishedWork) {
          var singleton = finishedWork.stateNode, props = finishedWork.memoizedProps;
          try {
            runWithFiberInDEV(
              finishedWork,
              acquireSingletonInstance,
              finishedWork.type,
              props,
              singleton,
              finishedWork
            );
          } catch (error2) {
            captureCommitPhaseError(finishedWork, finishedWork.return, error2);
          }
        }
        function isHydratingParent(current2, finishedWork) {
          return 31 === finishedWork.tag ? (finishedWork = finishedWork.memoizedState, null !== current2.memoizedState && null === finishedWork) : 13 === finishedWork.tag ? (current2 = current2.memoizedState, finishedWork = finishedWork.memoizedState, null !== current2 && null !== current2.dehydrated && (null === finishedWork || null === finishedWork.dehydrated)) : 3 === finishedWork.tag ? current2.memoizedState.isDehydrated && 0 === (finishedWork.flags & 256) : false;
        }
        function commitBeforeMutationEffects(root3, firstChild) {
          root3 = root3.containerInfo;
          eventsEnabled = _enabled;
          root3 = getActiveElementDeep(root3);
          if (hasSelectionCapabilities(root3)) {
            if ("selectionStart" in root3)
              var JSCompiler_temp = {
                start: root3.selectionStart,
                end: root3.selectionEnd
              };
            else
              a: {
                JSCompiler_temp = (JSCompiler_temp = root3.ownerDocument) && JSCompiler_temp.defaultView || window;
                var selection = JSCompiler_temp.getSelection && JSCompiler_temp.getSelection();
                if (selection && 0 !== selection.rangeCount) {
                  JSCompiler_temp = selection.anchorNode;
                  var anchorOffset = selection.anchorOffset, focusNode = selection.focusNode;
                  selection = selection.focusOffset;
                  try {
                    JSCompiler_temp.nodeType, focusNode.nodeType;
                  } catch (e$2) {
                    JSCompiler_temp = null;
                    break a;
                  }
                  var length2 = 0, start = -1, end = -1, indexWithinAnchor = 0, indexWithinFocus = 0, node2 = root3, parentNode = null;
                  b: for (; ; ) {
                    for (var next2; ; ) {
                      node2 !== JSCompiler_temp || 0 !== anchorOffset && 3 !== node2.nodeType || (start = length2 + anchorOffset);
                      node2 !== focusNode || 0 !== selection && 3 !== node2.nodeType || (end = length2 + selection);
                      3 === node2.nodeType && (length2 += node2.nodeValue.length);
                      if (null === (next2 = node2.firstChild)) break;
                      parentNode = node2;
                      node2 = next2;
                    }
                    for (; ; ) {
                      if (node2 === root3) break b;
                      parentNode === JSCompiler_temp && ++indexWithinAnchor === anchorOffset && (start = length2);
                      parentNode === focusNode && ++indexWithinFocus === selection && (end = length2);
                      if (null !== (next2 = node2.nextSibling)) break;
                      node2 = parentNode;
                      parentNode = node2.parentNode;
                    }
                    node2 = next2;
                  }
                  JSCompiler_temp = -1 === start || -1 === end ? null : { start, end };
                } else JSCompiler_temp = null;
              }
            JSCompiler_temp = JSCompiler_temp || { start: 0, end: 0 };
          } else JSCompiler_temp = null;
          selectionInformation = {
            focusedElem: root3,
            selectionRange: JSCompiler_temp
          };
          _enabled = false;
          for (nextEffect = firstChild; null !== nextEffect; )
            if (firstChild = nextEffect, root3 = firstChild.child, 0 !== (firstChild.subtreeFlags & 1028) && null !== root3)
              root3.return = firstChild, nextEffect = root3;
            else
              for (; null !== nextEffect; ) {
                root3 = firstChild = nextEffect;
                JSCompiler_temp = root3.alternate;
                anchorOffset = root3.flags;
                switch (root3.tag) {
                  case 0:
                    if (0 !== (anchorOffset & 4) && (root3 = root3.updateQueue, root3 = null !== root3 ? root3.events : null, null !== root3))
                      for (JSCompiler_temp = 0; JSCompiler_temp < root3.length; JSCompiler_temp++)
                        anchorOffset = root3[JSCompiler_temp], anchorOffset.ref.impl = anchorOffset.nextImpl;
                    break;
                  case 11:
                  case 15:
                    break;
                  case 1:
                    0 !== (anchorOffset & 1024) && null !== JSCompiler_temp && commitClassSnapshot(root3, JSCompiler_temp);
                    break;
                  case 3:
                    if (0 !== (anchorOffset & 1024)) {
                      if (root3 = root3.stateNode.containerInfo, JSCompiler_temp = root3.nodeType, 9 === JSCompiler_temp)
                        clearContainerSparingly(root3);
                      else if (1 === JSCompiler_temp)
                        switch (root3.nodeName) {
                          case "HEAD":
                          case "HTML":
                          case "BODY":
                            clearContainerSparingly(root3);
                            break;
                          default:
                            root3.textContent = "";
                        }
                    }
                    break;
                  case 5:
                  case 26:
                  case 27:
                  case 6:
                  case 4:
                  case 17:
                    break;
                  default:
                    if (0 !== (anchorOffset & 1024))
                      throw 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."
                      );
                }
                root3 = firstChild.sibling;
                if (null !== root3) {
                  root3.return = firstChild.return;
                  nextEffect = root3;
                  break;
                }
                nextEffect = firstChild.return;
              }
        }
        function commitLayoutEffectOnFiber(finishedRoot, current2, finishedWork) {
          var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), flags2 = finishedWork.flags;
          switch (finishedWork.tag) {
            case 0:
            case 11:
            case 15:
              recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
              flags2 & 4 && commitHookLayoutEffects(finishedWork, Layout | HasEffect);
              break;
            case 1:
              recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
              if (flags2 & 4)
                if (finishedRoot = finishedWork.stateNode, null === current2)
                  finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error(
                    "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.",
                    getComponentNameFromFiber(finishedWork) || "instance"
                  ), finishedRoot.state !== finishedWork.memoizedState && console.error(
                    "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.",
                    getComponentNameFromFiber(finishedWork) || "instance"
                  )), shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV(
                    finishedWork,
                    callComponentDidMountInDEV,
                    finishedWork,
                    finishedRoot
                  ), recordEffectDuration()) : runWithFiberInDEV(
                    finishedWork,
                    callComponentDidMountInDEV,
                    finishedWork,
                    finishedRoot
                  );
                else {
                  var prevProps = resolveClassComponentProps(
                    finishedWork.type,
                    current2.memoizedProps
                  );
                  current2 = current2.memoizedState;
                  finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error(
                    "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.",
                    getComponentNameFromFiber(finishedWork) || "instance"
                  ), finishedRoot.state !== finishedWork.memoizedState && console.error(
                    "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.",
                    getComponentNameFromFiber(finishedWork) || "instance"
                  ));
                  shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV(
                    finishedWork,
                    callComponentDidUpdateInDEV,
                    finishedWork,
                    finishedRoot,
                    prevProps,
                    current2,
                    finishedRoot.__reactInternalSnapshotBeforeUpdate
                  ), recordEffectDuration()) : runWithFiberInDEV(
                    finishedWork,
                    callComponentDidUpdateInDEV,
                    finishedWork,
                    finishedRoot,
                    prevProps,
                    current2,
                    finishedRoot.__reactInternalSnapshotBeforeUpdate
                  );
                }
              flags2 & 64 && commitClassCallbacks(finishedWork);
              flags2 & 512 && safelyAttachRef(finishedWork, finishedWork.return);
              break;
            case 3:
              current2 = pushNestedEffectDurations();
              recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
              if (flags2 & 64 && (flags2 = finishedWork.updateQueue, null !== flags2)) {
                prevProps = null;
                if (null !== finishedWork.child)
                  switch (finishedWork.child.tag) {
                    case 27:
                    case 5:
                      prevProps = finishedWork.child.stateNode;
                      break;
                    case 1:
                      prevProps = finishedWork.child.stateNode;
                  }
                try {
                  runWithFiberInDEV(
                    finishedWork,
                    commitCallbacks,
                    flags2,
                    prevProps
                  );
                } catch (error2) {
                  captureCommitPhaseError(finishedWork, finishedWork.return, error2);
                }
              }
              finishedRoot.effectDuration += popNestedEffectDurations(current2);
              break;
            case 27:
              null === current2 && flags2 & 4 && commitHostSingletonAcquisition(finishedWork);
            case 26:
            case 5:
              recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
              if (null === current2) {
                if (flags2 & 4) commitHostMount(finishedWork);
                else if (flags2 & 64) {
                  finishedRoot = finishedWork.type;
                  current2 = finishedWork.memoizedProps;
                  prevProps = finishedWork.stateNode;
                  try {
                    runWithFiberInDEV(
                      finishedWork,
                      commitHydratedInstance,
                      prevProps,
                      finishedRoot,
                      current2,
                      finishedWork
                    );
                  } catch (error2) {
                    captureCommitPhaseError(
                      finishedWork,
                      finishedWork.return,
                      error2
                    );
                  }
                }
              }
              flags2 & 512 && safelyAttachRef(finishedWork, finishedWork.return);
              break;
            case 12:
              if (flags2 & 4) {
                flags2 = pushNestedEffectDurations();
                recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
                finishedRoot = finishedWork.stateNode;
                finishedRoot.effectDuration += bubbleNestedEffectDurations(flags2);
                try {
                  runWithFiberInDEV(
                    finishedWork,
                    commitProfiler,
                    finishedWork,
                    current2,
                    commitStartTime,
                    finishedRoot.effectDuration
                  );
                } catch (error2) {
                  captureCommitPhaseError(finishedWork, finishedWork.return, error2);
                }
              } else recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
              break;
            case 31:
              recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
              flags2 & 4 && commitActivityHydrationCallbacks(finishedRoot, finishedWork);
              break;
            case 13:
              recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
              flags2 & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);
              flags2 & 64 && (finishedRoot = finishedWork.memoizedState, null !== finishedRoot && (finishedRoot = finishedRoot.dehydrated, null !== finishedRoot && (flags2 = retryDehydratedSuspenseBoundary.bind(
                null,
                finishedWork
              ), registerSuspenseInstanceRetry(finishedRoot, flags2))));
              break;
            case 22:
              flags2 = null !== finishedWork.memoizedState || offscreenSubtreeIsHidden;
              if (!flags2) {
                current2 = null !== current2 && null !== current2.memoizedState || offscreenSubtreeWasHidden;
                prevProps = offscreenSubtreeIsHidden;
                var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;
                offscreenSubtreeIsHidden = flags2;
                (offscreenSubtreeWasHidden = current2) && !prevOffscreenSubtreeWasHidden ? (recursivelyTraverseReappearLayoutEffects(
                  finishedRoot,
                  finishedWork,
                  0 !== (finishedWork.subtreeFlags & 8772)
                ), (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentReappeared(
                  finishedWork,
                  componentEffectStartTime,
                  componentEffectEndTime
                )) : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
                offscreenSubtreeIsHidden = prevProps;
                offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;
              }
              break;
            case 30:
              break;
            default:
              recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
          }
          (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && ((componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
            finishedWork,
            componentEffectStartTime,
            componentEffectEndTime,
            componentEffectDuration,
            componentEffectErrors
          ), null === finishedWork.alternate && null !== finishedWork.return && null !== finishedWork.return.alternate && 0.05 < componentEffectEndTime - componentEffectStartTime && (isHydratingParent(
            finishedWork.return.alternate,
            finishedWork.return
          ) || logComponentTrigger(
            finishedWork,
            componentEffectStartTime,
            componentEffectEndTime,
            "Mount"
          )));
          popComponentEffectStart(prevEffectStart);
          popComponentEffectDuration(prevEffectDuration);
          componentEffectErrors = prevEffectErrors;
          componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
        }
        function detachFiberAfterEffects(fiber) {
          var alternate = fiber.alternate;
          null !== alternate && (fiber.alternate = null, detachFiberAfterEffects(alternate));
          fiber.child = null;
          fiber.deletions = null;
          fiber.sibling = null;
          5 === fiber.tag && (alternate = fiber.stateNode, null !== alternate && detachDeletedInstance(alternate));
          fiber.stateNode = null;
          fiber._debugOwner = null;
          fiber.return = null;
          fiber.dependencies = null;
          fiber.memoizedProps = null;
          fiber.memoizedState = null;
          fiber.pendingProps = null;
          fiber.stateNode = null;
          fiber.updateQueue = null;
        }
        function recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, parent) {
          for (parent = parent.child; null !== parent; )
            commitDeletionEffectsOnFiber(
              finishedRoot,
              nearestMountedAncestor,
              parent
            ), parent = parent.sibling;
        }
        function commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, deletedFiber) {
          if (injectedHook && "function" === typeof injectedHook.onCommitFiberUnmount)
            try {
              injectedHook.onCommitFiberUnmount(rendererID, deletedFiber);
            } catch (err) {
              hasLoggedError || (hasLoggedError = true, console.error(
                "React instrumentation encountered an error: %o",
                err
              ));
            }
          var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
          switch (deletedFiber.tag) {
            case 26:
              offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
              recursivelyTraverseDeletionEffects(
                finishedRoot,
                nearestMountedAncestor,
                deletedFiber
              );
              deletedFiber.memoizedState ? deletedFiber.memoizedState.count-- : deletedFiber.stateNode && (finishedRoot = deletedFiber.stateNode, finishedRoot.parentNode.removeChild(finishedRoot));
              break;
            case 27:
              offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
              var prevHostParent = hostParent, prevHostParentIsContainer = hostParentIsContainer;
              isSingletonScope(deletedFiber.type) && (hostParent = deletedFiber.stateNode, hostParentIsContainer = false);
              recursivelyTraverseDeletionEffects(
                finishedRoot,
                nearestMountedAncestor,
                deletedFiber
              );
              runWithFiberInDEV(
                deletedFiber,
                releaseSingletonInstance,
                deletedFiber.stateNode
              );
              hostParent = prevHostParent;
              hostParentIsContainer = prevHostParentIsContainer;
              break;
            case 5:
              offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
            case 6:
              prevHostParent = hostParent;
              prevHostParentIsContainer = hostParentIsContainer;
              hostParent = null;
              recursivelyTraverseDeletionEffects(
                finishedRoot,
                nearestMountedAncestor,
                deletedFiber
              );
              hostParent = prevHostParent;
              hostParentIsContainer = prevHostParentIsContainer;
              if (null !== hostParent)
                if (hostParentIsContainer)
                  try {
                    runWithFiberInDEV(
                      deletedFiber,
                      removeChildFromContainer,
                      hostParent,
                      deletedFiber.stateNode
                    );
                  } catch (error2) {
                    captureCommitPhaseError(
                      deletedFiber,
                      nearestMountedAncestor,
                      error2
                    );
                  }
                else
                  try {
                    runWithFiberInDEV(
                      deletedFiber,
                      removeChild,
                      hostParent,
                      deletedFiber.stateNode
                    );
                  } catch (error2) {
                    captureCommitPhaseError(
                      deletedFiber,
                      nearestMountedAncestor,
                      error2
                    );
                  }
              break;
            case 18:
              null !== hostParent && (hostParentIsContainer ? (finishedRoot = hostParent, clearHydrationBoundary(
                9 === finishedRoot.nodeType ? finishedRoot.body : "HTML" === finishedRoot.nodeName ? finishedRoot.ownerDocument.body : finishedRoot,
                deletedFiber.stateNode
              ), retryIfBlockedOn(finishedRoot)) : clearHydrationBoundary(hostParent, deletedFiber.stateNode));
              break;
            case 4:
              prevHostParent = hostParent;
              prevHostParentIsContainer = hostParentIsContainer;
              hostParent = deletedFiber.stateNode.containerInfo;
              hostParentIsContainer = true;
              recursivelyTraverseDeletionEffects(
                finishedRoot,
                nearestMountedAncestor,
                deletedFiber
              );
              hostParent = prevHostParent;
              hostParentIsContainer = prevHostParentIsContainer;
              break;
            case 0:
            case 11:
            case 14:
            case 15:
              commitHookEffectListUnmount(
                Insertion5,
                deletedFiber,
                nearestMountedAncestor
              );
              offscreenSubtreeWasHidden || commitHookLayoutUnmountEffects(
                deletedFiber,
                nearestMountedAncestor,
                Layout
              );
              recursivelyTraverseDeletionEffects(
                finishedRoot,
                nearestMountedAncestor,
                deletedFiber
              );
              break;
            case 1:
              offscreenSubtreeWasHidden || (safelyDetachRef(deletedFiber, nearestMountedAncestor), prevHostParent = deletedFiber.stateNode, "function" === typeof prevHostParent.componentWillUnmount && safelyCallComponentWillUnmount(
                deletedFiber,
                nearestMountedAncestor,
                prevHostParent
              ));
              recursivelyTraverseDeletionEffects(
                finishedRoot,
                nearestMountedAncestor,
                deletedFiber
              );
              break;
            case 21:
              recursivelyTraverseDeletionEffects(
                finishedRoot,
                nearestMountedAncestor,
                deletedFiber
              );
              break;
            case 22:
              offscreenSubtreeWasHidden = (prevHostParent = offscreenSubtreeWasHidden) || null !== deletedFiber.memoizedState;
              recursivelyTraverseDeletionEffects(
                finishedRoot,
                nearestMountedAncestor,
                deletedFiber
              );
              offscreenSubtreeWasHidden = prevHostParent;
              break;
            default:
              recursivelyTraverseDeletionEffects(
                finishedRoot,
                nearestMountedAncestor,
                deletedFiber
              );
          }
          (deletedFiber.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
            deletedFiber,
            componentEffectStartTime,
            componentEffectEndTime,
            componentEffectDuration,
            componentEffectErrors
          );
          popComponentEffectStart(prevEffectStart);
          popComponentEffectDuration(prevEffectDuration);
          componentEffectErrors = prevEffectErrors;
          componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
        }
        function commitActivityHydrationCallbacks(finishedRoot, finishedWork) {
          if (null === finishedWork.memoizedState && (finishedRoot = finishedWork.alternate, null !== finishedRoot && (finishedRoot = finishedRoot.memoizedState, null !== finishedRoot))) {
            finishedRoot = finishedRoot.dehydrated;
            try {
              runWithFiberInDEV(
                finishedWork,
                commitHydratedActivityInstance,
                finishedRoot
              );
            } catch (error2) {
              captureCommitPhaseError(finishedWork, finishedWork.return, error2);
            }
          }
        }
        function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {
          if (null === finishedWork.memoizedState && (finishedRoot = finishedWork.alternate, null !== finishedRoot && (finishedRoot = finishedRoot.memoizedState, null !== finishedRoot && (finishedRoot = finishedRoot.dehydrated, null !== finishedRoot))))
            try {
              runWithFiberInDEV(
                finishedWork,
                commitHydratedSuspenseInstance,
                finishedRoot
              );
            } catch (error2) {
              captureCommitPhaseError(finishedWork, finishedWork.return, error2);
            }
        }
        function getRetryCache(finishedWork) {
          switch (finishedWork.tag) {
            case 31:
            case 13:
            case 19:
              var retryCache = finishedWork.stateNode;
              null === retryCache && (retryCache = finishedWork.stateNode = new PossiblyWeakSet());
              return retryCache;
            case 22:
              return finishedWork = finishedWork.stateNode, retryCache = finishedWork._retryCache, null === retryCache && (retryCache = finishedWork._retryCache = new PossiblyWeakSet()), retryCache;
            default:
              throw Error(
                "Unexpected Suspense handler tag (" + finishedWork.tag + "). This is a bug in React."
              );
          }
        }
        function attachSuspenseRetryListeners(finishedWork, wakeables) {
          var retryCache = getRetryCache(finishedWork);
          wakeables.forEach(function(wakeable) {
            if (!retryCache.has(wakeable)) {
              retryCache.add(wakeable);
              if (isDevToolsPresent)
                if (null !== inProgressLanes && null !== inProgressRoot)
                  restorePendingUpdaters(inProgressRoot, inProgressLanes);
                else
                  throw Error(
                    "Expected finished root and lanes to be set. This is a bug in React."
                  );
              var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);
              wakeable.then(retry, retry);
            }
          });
        }
        function recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) {
          var deletions = parentFiber.deletions;
          if (null !== deletions)
            for (var i2 = 0; i2 < deletions.length; i2++) {
              var root3 = root$jscomp$0, returnFiber = parentFiber, deletedFiber = deletions[i2], prevEffectStart = pushComponentEffectStart(), parent = returnFiber;
              a: for (; null !== parent; ) {
                switch (parent.tag) {
                  case 27:
                    if (isSingletonScope(parent.type)) {
                      hostParent = parent.stateNode;
                      hostParentIsContainer = false;
                      break a;
                    }
                    break;
                  case 5:
                    hostParent = parent.stateNode;
                    hostParentIsContainer = false;
                    break a;
                  case 3:
                  case 4:
                    hostParent = parent.stateNode.containerInfo;
                    hostParentIsContainer = true;
                    break a;
                }
                parent = parent.return;
              }
              if (null === hostParent)
                throw Error(
                  "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue."
                );
              commitDeletionEffectsOnFiber(root3, returnFiber, deletedFiber);
              hostParent = null;
              hostParentIsContainer = false;
              (deletedFiber.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
                deletedFiber,
                componentEffectStartTime,
                componentEffectEndTime,
                "Unmount"
              );
              popComponentEffectStart(prevEffectStart);
              root3 = deletedFiber;
              returnFiber = root3.alternate;
              null !== returnFiber && (returnFiber.return = null);
              root3.return = null;
            }
          if (parentFiber.subtreeFlags & 13886)
            for (parentFiber = parentFiber.child; null !== parentFiber; )
              commitMutationEffectsOnFiber(parentFiber, root$jscomp$0), parentFiber = parentFiber.sibling;
        }
        function commitMutationEffectsOnFiber(finishedWork, root3) {
          var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), current2 = finishedWork.alternate, flags2 = finishedWork.flags;
          switch (finishedWork.tag) {
            case 0:
            case 11:
            case 14:
            case 15:
              recursivelyTraverseMutationEffects(root3, finishedWork);
              commitReconciliationEffects(finishedWork);
              flags2 & 4 && (commitHookEffectListUnmount(
                Insertion5 | HasEffect,
                finishedWork,
                finishedWork.return
              ), commitHookEffectListMount(Insertion5 | HasEffect, finishedWork), commitHookLayoutUnmountEffects(
                finishedWork,
                finishedWork.return,
                Layout | HasEffect
              ));
              break;
            case 1:
              recursivelyTraverseMutationEffects(root3, finishedWork);
              commitReconciliationEffects(finishedWork);
              flags2 & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
              if (flags2 & 64 && offscreenSubtreeIsHidden && (flags2 = finishedWork.updateQueue, null !== flags2 && (current2 = flags2.callbacks, null !== current2))) {
                var existingHiddenCallbacks = flags2.shared.hiddenCallbacks;
                flags2.shared.hiddenCallbacks = null === existingHiddenCallbacks ? current2 : existingHiddenCallbacks.concat(current2);
              }
              break;
            case 26:
              existingHiddenCallbacks = currentHoistableRoot;
              recursivelyTraverseMutationEffects(root3, finishedWork);
              commitReconciliationEffects(finishedWork);
              flags2 & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
              if (flags2 & 4) {
                var currentResource = null !== current2 ? current2.memoizedState : null;
                flags2 = finishedWork.memoizedState;
                if (null === current2)
                  if (null === flags2)
                    if (null === finishedWork.stateNode) {
                      a: {
                        flags2 = finishedWork.type;
                        current2 = finishedWork.memoizedProps;
                        existingHiddenCallbacks = existingHiddenCallbacks.ownerDocument || existingHiddenCallbacks;
                        b: switch (flags2) {
                          case "title":
                            currentResource = existingHiddenCallbacks.getElementsByTagName(
                              "title"
                            )[0];
                            if (!currentResource || currentResource[internalHoistableMarker] || currentResource[internalInstanceKey] || currentResource.namespaceURI === SVG_NAMESPACE || currentResource.hasAttribute("itemprop"))
                              currentResource = existingHiddenCallbacks.createElement(flags2), existingHiddenCallbacks.head.insertBefore(
                                currentResource,
                                existingHiddenCallbacks.querySelector(
                                  "head > title"
                                )
                              );
                            setInitialProperties(currentResource, flags2, current2);
                            currentResource[internalInstanceKey] = finishedWork;
                            markNodeAsHoistable(currentResource);
                            flags2 = currentResource;
                            break a;
                          case "link":
                            var maybeNodes = getHydratableHoistableCache(
                              "link",
                              "href",
                              existingHiddenCallbacks
                            ).get(flags2 + (current2.href || ""));
                            if (maybeNodes) {
                              for (var i2 = 0; i2 < maybeNodes.length; i2++)
                                if (currentResource = maybeNodes[i2], currentResource.getAttribute("href") === (null == current2.href || "" === current2.href ? null : current2.href) && currentResource.getAttribute("rel") === (null == current2.rel ? null : current2.rel) && currentResource.getAttribute("title") === (null == current2.title ? null : current2.title) && currentResource.getAttribute("crossorigin") === (null == current2.crossOrigin ? null : current2.crossOrigin)) {
                                  maybeNodes.splice(i2, 1);
                                  break b;
                                }
                            }
                            currentResource = existingHiddenCallbacks.createElement(flags2);
                            setInitialProperties(currentResource, flags2, current2);
                            existingHiddenCallbacks.head.appendChild(
                              currentResource
                            );
                            break;
                          case "meta":
                            if (maybeNodes = getHydratableHoistableCache(
                              "meta",
                              "content",
                              existingHiddenCallbacks
                            ).get(flags2 + (current2.content || ""))) {
                              for (i2 = 0; i2 < maybeNodes.length; i2++)
                                if (currentResource = maybeNodes[i2], checkAttributeStringCoercion(
                                  current2.content,
                                  "content"
                                ), currentResource.getAttribute("content") === (null == current2.content ? null : "" + current2.content) && currentResource.getAttribute("name") === (null == current2.name ? null : current2.name) && currentResource.getAttribute("property") === (null == current2.property ? null : current2.property) && currentResource.getAttribute("http-equiv") === (null == current2.httpEquiv ? null : current2.httpEquiv) && currentResource.getAttribute("charset") === (null == current2.charSet ? null : current2.charSet)) {
                                  maybeNodes.splice(i2, 1);
                                  break b;
                                }
                            }
                            currentResource = existingHiddenCallbacks.createElement(flags2);
                            setInitialProperties(currentResource, flags2, current2);
                            existingHiddenCallbacks.head.appendChild(
                              currentResource
                            );
                            break;
                          default:
                            throw Error(
                              'getNodesForType encountered a type it did not expect: "' + flags2 + '". This is a bug in React.'
                            );
                        }
                        currentResource[internalInstanceKey] = finishedWork;
                        markNodeAsHoistable(currentResource);
                        flags2 = currentResource;
                      }
                      finishedWork.stateNode = flags2;
                    } else
                      mountHoistable(
                        existingHiddenCallbacks,
                        finishedWork.type,
                        finishedWork.stateNode
                      );
                  else
                    finishedWork.stateNode = acquireResource(
                      existingHiddenCallbacks,
                      flags2,
                      finishedWork.memoizedProps
                    );
                else
                  currentResource !== flags2 ? (null === currentResource ? null !== current2.stateNode && (current2 = current2.stateNode, current2.parentNode.removeChild(current2)) : currentResource.count--, null === flags2 ? mountHoistable(
                    existingHiddenCallbacks,
                    finishedWork.type,
                    finishedWork.stateNode
                  ) : acquireResource(
                    existingHiddenCallbacks,
                    flags2,
                    finishedWork.memoizedProps
                  )) : null === flags2 && null !== finishedWork.stateNode && commitHostUpdate(
                    finishedWork,
                    finishedWork.memoizedProps,
                    current2.memoizedProps
                  );
              }
              break;
            case 27:
              recursivelyTraverseMutationEffects(root3, finishedWork);
              commitReconciliationEffects(finishedWork);
              flags2 & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
              null !== current2 && flags2 & 4 && commitHostUpdate(
                finishedWork,
                finishedWork.memoizedProps,
                current2.memoizedProps
              );
              break;
            case 5:
              recursivelyTraverseMutationEffects(root3, finishedWork);
              commitReconciliationEffects(finishedWork);
              flags2 & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
              if (finishedWork.flags & 32) {
                existingHiddenCallbacks = finishedWork.stateNode;
                try {
                  runWithFiberInDEV(
                    finishedWork,
                    resetTextContent,
                    existingHiddenCallbacks
                  );
                } catch (error2) {
                  captureCommitPhaseError(finishedWork, finishedWork.return, error2);
                }
              }
              flags2 & 4 && null != finishedWork.stateNode && (existingHiddenCallbacks = finishedWork.memoizedProps, commitHostUpdate(
                finishedWork,
                existingHiddenCallbacks,
                null !== current2 ? current2.memoizedProps : existingHiddenCallbacks
              ));
              flags2 & 1024 && (needsFormReset = true, "form" !== finishedWork.type && console.error(
                "Unexpected host component type. Expected a form. This is a bug in React."
              ));
              break;
            case 6:
              recursivelyTraverseMutationEffects(root3, finishedWork);
              commitReconciliationEffects(finishedWork);
              if (flags2 & 4) {
                if (null === finishedWork.stateNode)
                  throw Error(
                    "This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue."
                  );
                flags2 = finishedWork.memoizedProps;
                current2 = null !== current2 ? current2.memoizedProps : flags2;
                existingHiddenCallbacks = finishedWork.stateNode;
                try {
                  runWithFiberInDEV(
                    finishedWork,
                    commitTextUpdate,
                    existingHiddenCallbacks,
                    current2,
                    flags2
                  );
                } catch (error2) {
                  captureCommitPhaseError(finishedWork, finishedWork.return, error2);
                }
              }
              break;
            case 3:
              existingHiddenCallbacks = pushNestedEffectDurations();
              tagCaches = null;
              currentResource = currentHoistableRoot;
              currentHoistableRoot = getHoistableRoot(root3.containerInfo);
              recursivelyTraverseMutationEffects(root3, finishedWork);
              currentHoistableRoot = currentResource;
              commitReconciliationEffects(finishedWork);
              if (flags2 & 4 && null !== current2 && current2.memoizedState.isDehydrated)
                try {
                  runWithFiberInDEV(
                    finishedWork,
                    commitHydratedContainer,
                    root3.containerInfo
                  );
                } catch (error2) {
                  captureCommitPhaseError(finishedWork, finishedWork.return, error2);
                }
              needsFormReset && (needsFormReset = false, recursivelyResetForms(finishedWork));
              root3.effectDuration += popNestedEffectDurations(
                existingHiddenCallbacks
              );
              break;
            case 4:
              flags2 = currentHoistableRoot;
              currentHoistableRoot = getHoistableRoot(
                finishedWork.stateNode.containerInfo
              );
              recursivelyTraverseMutationEffects(root3, finishedWork);
              commitReconciliationEffects(finishedWork);
              currentHoistableRoot = flags2;
              break;
            case 12:
              flags2 = pushNestedEffectDurations();
              recursivelyTraverseMutationEffects(root3, finishedWork);
              commitReconciliationEffects(finishedWork);
              finishedWork.stateNode.effectDuration += bubbleNestedEffectDurations(flags2);
              break;
            case 31:
              recursivelyTraverseMutationEffects(root3, finishedWork);
              commitReconciliationEffects(finishedWork);
              flags2 & 4 && (flags2 = finishedWork.updateQueue, null !== flags2 && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags2)));
              break;
            case 13:
              recursivelyTraverseMutationEffects(root3, finishedWork);
              commitReconciliationEffects(finishedWork);
              finishedWork.child.flags & 8192 && null !== finishedWork.memoizedState !== (null !== current2 && null !== current2.memoizedState) && (globalMostRecentFallbackTime = now$1());
              flags2 & 4 && (flags2 = finishedWork.updateQueue, null !== flags2 && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags2)));
              break;
            case 22:
              existingHiddenCallbacks = null !== finishedWork.memoizedState;
              var wasHidden = null !== current2 && null !== current2.memoizedState, prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden, prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;
              offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || existingHiddenCallbacks;
              offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden;
              recursivelyTraverseMutationEffects(root3, finishedWork);
              offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;
              offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;
              wasHidden && !existingHiddenCallbacks && !prevOffscreenSubtreeIsHidden && !prevOffscreenSubtreeWasHidden && (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentReappeared(
                finishedWork,
                componentEffectStartTime,
                componentEffectEndTime
              );
              commitReconciliationEffects(finishedWork);
              if (flags2 & 8192)
                a: for (root3 = finishedWork.stateNode, root3._visibility = existingHiddenCallbacks ? root3._visibility & ~OffscreenVisible : root3._visibility | OffscreenVisible, !existingHiddenCallbacks || null === current2 || wasHidden || offscreenSubtreeIsHidden || offscreenSubtreeWasHidden || (recursivelyTraverseDisappearLayoutEffects(finishedWork), (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
                  finishedWork,
                  componentEffectStartTime,
                  componentEffectEndTime,
                  "Disconnect"
                )), current2 = null, root3 = finishedWork; ; ) {
                  if (5 === root3.tag || 26 === root3.tag) {
                    if (null === current2) {
                      wasHidden = current2 = root3;
                      try {
                        currentResource = wasHidden.stateNode, existingHiddenCallbacks ? runWithFiberInDEV(
                          wasHidden,
                          hideInstance,
                          currentResource
                        ) : runWithFiberInDEV(
                          wasHidden,
                          unhideInstance,
                          wasHidden.stateNode,
                          wasHidden.memoizedProps
                        );
                      } catch (error2) {
                        captureCommitPhaseError(wasHidden, wasHidden.return, error2);
                      }
                    }
                  } else if (6 === root3.tag) {
                    if (null === current2) {
                      wasHidden = root3;
                      try {
                        maybeNodes = wasHidden.stateNode, existingHiddenCallbacks ? runWithFiberInDEV(
                          wasHidden,
                          hideTextInstance,
                          maybeNodes
                        ) : runWithFiberInDEV(
                          wasHidden,
                          unhideTextInstance,
                          maybeNodes,
                          wasHidden.memoizedProps
                        );
                      } catch (error2) {
                        captureCommitPhaseError(wasHidden, wasHidden.return, error2);
                      }
                    }
                  } else if (18 === root3.tag) {
                    if (null === current2) {
                      wasHidden = root3;
                      try {
                        i2 = wasHidden.stateNode, existingHiddenCallbacks ? runWithFiberInDEV(
                          wasHidden,
                          hideDehydratedBoundary,
                          i2
                        ) : runWithFiberInDEV(
                          wasHidden,
                          unhideDehydratedBoundary,
                          wasHidden.stateNode
                        );
                      } catch (error2) {
                        captureCommitPhaseError(wasHidden, wasHidden.return, error2);
                      }
                    }
                  } else if ((22 !== root3.tag && 23 !== root3.tag || null === root3.memoizedState || root3 === finishedWork) && null !== root3.child) {
                    root3.child.return = root3;
                    root3 = root3.child;
                    continue;
                  }
                  if (root3 === finishedWork) break a;
                  for (; null === root3.sibling; ) {
                    if (null === root3.return || root3.return === finishedWork)
                      break a;
                    current2 === root3 && (current2 = null);
                    root3 = root3.return;
                  }
                  current2 === root3 && (current2 = null);
                  root3.sibling.return = root3.return;
                  root3 = root3.sibling;
                }
              flags2 & 4 && (flags2 = finishedWork.updateQueue, null !== flags2 && (current2 = flags2.retryQueue, null !== current2 && (flags2.retryQueue = null, attachSuspenseRetryListeners(finishedWork, current2))));
              break;
            case 19:
              recursivelyTraverseMutationEffects(root3, finishedWork);
              commitReconciliationEffects(finishedWork);
              flags2 & 4 && (flags2 = finishedWork.updateQueue, null !== flags2 && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags2)));
              break;
            case 30:
              break;
            case 21:
              break;
            default:
              recursivelyTraverseMutationEffects(root3, finishedWork), commitReconciliationEffects(finishedWork);
          }
          (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && ((componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
            finishedWork,
            componentEffectStartTime,
            componentEffectEndTime,
            componentEffectDuration,
            componentEffectErrors
          ), null === finishedWork.alternate && null !== finishedWork.return && null !== finishedWork.return.alternate && 0.05 < componentEffectEndTime - componentEffectStartTime && (isHydratingParent(
            finishedWork.return.alternate,
            finishedWork.return
          ) || logComponentTrigger(
            finishedWork,
            componentEffectStartTime,
            componentEffectEndTime,
            "Mount"
          )));
          popComponentEffectStart(prevEffectStart);
          popComponentEffectDuration(prevEffectDuration);
          componentEffectErrors = prevEffectErrors;
          componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
        }
        function commitReconciliationEffects(finishedWork) {
          var flags2 = finishedWork.flags;
          if (flags2 & 2) {
            try {
              runWithFiberInDEV(finishedWork, commitPlacement, finishedWork);
            } catch (error2) {
              captureCommitPhaseError(finishedWork, finishedWork.return, error2);
            }
            finishedWork.flags &= -3;
          }
          flags2 & 4096 && (finishedWork.flags &= -4097);
        }
        function recursivelyResetForms(parentFiber) {
          if (parentFiber.subtreeFlags & 1024)
            for (parentFiber = parentFiber.child; null !== parentFiber; ) {
              var fiber = parentFiber;
              recursivelyResetForms(fiber);
              5 === fiber.tag && fiber.flags & 1024 && fiber.stateNode.reset();
              parentFiber = parentFiber.sibling;
            }
        }
        function recursivelyTraverseLayoutEffects(root3, parentFiber) {
          if (parentFiber.subtreeFlags & 8772)
            for (parentFiber = parentFiber.child; null !== parentFiber; )
              commitLayoutEffectOnFiber(root3, parentFiber.alternate, parentFiber), parentFiber = parentFiber.sibling;
        }
        function disappearLayoutEffects(finishedWork) {
          var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
          switch (finishedWork.tag) {
            case 0:
            case 11:
            case 14:
            case 15:
              commitHookLayoutUnmountEffects(
                finishedWork,
                finishedWork.return,
                Layout
              );
              recursivelyTraverseDisappearLayoutEffects(finishedWork);
              break;
            case 1:
              safelyDetachRef(finishedWork, finishedWork.return);
              var instance2 = finishedWork.stateNode;
              "function" === typeof instance2.componentWillUnmount && safelyCallComponentWillUnmount(
                finishedWork,
                finishedWork.return,
                instance2
              );
              recursivelyTraverseDisappearLayoutEffects(finishedWork);
              break;
            case 27:
              runWithFiberInDEV(
                finishedWork,
                releaseSingletonInstance,
                finishedWork.stateNode
              );
            case 26:
            case 5:
              safelyDetachRef(finishedWork, finishedWork.return);
              recursivelyTraverseDisappearLayoutEffects(finishedWork);
              break;
            case 22:
              null === finishedWork.memoizedState && recursivelyTraverseDisappearLayoutEffects(finishedWork);
              break;
            case 30:
              recursivelyTraverseDisappearLayoutEffects(finishedWork);
              break;
            default:
              recursivelyTraverseDisappearLayoutEffects(finishedWork);
          }
          (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
            finishedWork,
            componentEffectStartTime,
            componentEffectEndTime,
            componentEffectDuration,
            componentEffectErrors
          );
          popComponentEffectStart(prevEffectStart);
          popComponentEffectDuration(prevEffectDuration);
          componentEffectErrors = prevEffectErrors;
          componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
        }
        function recursivelyTraverseDisappearLayoutEffects(parentFiber) {
          for (parentFiber = parentFiber.child; null !== parentFiber; )
            disappearLayoutEffects(parentFiber), parentFiber = parentFiber.sibling;
        }
        function reappearLayoutEffects(finishedRoot, current2, finishedWork, includeWorkInProgressEffects) {
          var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), flags2 = finishedWork.flags;
          switch (finishedWork.tag) {
            case 0:
            case 11:
            case 15:
              recursivelyTraverseReappearLayoutEffects(
                finishedRoot,
                finishedWork,
                includeWorkInProgressEffects
              );
              commitHookLayoutEffects(finishedWork, Layout);
              break;
            case 1:
              recursivelyTraverseReappearLayoutEffects(
                finishedRoot,
                finishedWork,
                includeWorkInProgressEffects
              );
              current2 = finishedWork.stateNode;
              "function" === typeof current2.componentDidMount && runWithFiberInDEV(
                finishedWork,
                callComponentDidMountInDEV,
                finishedWork,
                current2
              );
              current2 = finishedWork.updateQueue;
              if (null !== current2) {
                finishedRoot = finishedWork.stateNode;
                try {
                  runWithFiberInDEV(
                    finishedWork,
                    commitHiddenCallbacks,
                    current2,
                    finishedRoot
                  );
                } catch (error2) {
                  captureCommitPhaseError(finishedWork, finishedWork.return, error2);
                }
              }
              includeWorkInProgressEffects && flags2 & 64 && commitClassCallbacks(finishedWork);
              safelyAttachRef(finishedWork, finishedWork.return);
              break;
            case 27:
              commitHostSingletonAcquisition(finishedWork);
            case 26:
            case 5:
              recursivelyTraverseReappearLayoutEffects(
                finishedRoot,
                finishedWork,
                includeWorkInProgressEffects
              );
              includeWorkInProgressEffects && null === current2 && flags2 & 4 && commitHostMount(finishedWork);
              safelyAttachRef(finishedWork, finishedWork.return);
              break;
            case 12:
              if (includeWorkInProgressEffects && flags2 & 4) {
                flags2 = pushNestedEffectDurations();
                recursivelyTraverseReappearLayoutEffects(
                  finishedRoot,
                  finishedWork,
                  includeWorkInProgressEffects
                );
                includeWorkInProgressEffects = finishedWork.stateNode;
                includeWorkInProgressEffects.effectDuration += bubbleNestedEffectDurations(flags2);
                try {
                  runWithFiberInDEV(
                    finishedWork,
                    commitProfiler,
                    finishedWork,
                    current2,
                    commitStartTime,
                    includeWorkInProgressEffects.effectDuration
                  );
                } catch (error2) {
                  captureCommitPhaseError(finishedWork, finishedWork.return, error2);
                }
              } else
                recursivelyTraverseReappearLayoutEffects(
                  finishedRoot,
                  finishedWork,
                  includeWorkInProgressEffects
                );
              break;
            case 31:
              recursivelyTraverseReappearLayoutEffects(
                finishedRoot,
                finishedWork,
                includeWorkInProgressEffects
              );
              includeWorkInProgressEffects && flags2 & 4 && commitActivityHydrationCallbacks(finishedRoot, finishedWork);
              break;
            case 13:
              recursivelyTraverseReappearLayoutEffects(
                finishedRoot,
                finishedWork,
                includeWorkInProgressEffects
              );
              includeWorkInProgressEffects && flags2 & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);
              break;
            case 22:
              null === finishedWork.memoizedState && recursivelyTraverseReappearLayoutEffects(
                finishedRoot,
                finishedWork,
                includeWorkInProgressEffects
              );
              safelyAttachRef(finishedWork, finishedWork.return);
              break;
            case 30:
              break;
            default:
              recursivelyTraverseReappearLayoutEffects(
                finishedRoot,
                finishedWork,
                includeWorkInProgressEffects
              );
          }
          (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
            finishedWork,
            componentEffectStartTime,
            componentEffectEndTime,
            componentEffectDuration,
            componentEffectErrors
          );
          popComponentEffectStart(prevEffectStart);
          popComponentEffectDuration(prevEffectDuration);
          componentEffectErrors = prevEffectErrors;
          componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
        }
        function recursivelyTraverseReappearLayoutEffects(finishedRoot, parentFiber, includeWorkInProgressEffects) {
          includeWorkInProgressEffects = includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772);
          for (parentFiber = parentFiber.child; null !== parentFiber; )
            reappearLayoutEffects(
              finishedRoot,
              parentFiber.alternate,
              parentFiber,
              includeWorkInProgressEffects
            ), parentFiber = parentFiber.sibling;
        }
        function commitOffscreenPassiveMountEffects(current2, finishedWork) {
          var previousCache = null;
          null !== current2 && null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (previousCache = current2.memoizedState.cachePool.pool);
          current2 = null;
          null !== finishedWork.memoizedState && null !== finishedWork.memoizedState.cachePool && (current2 = finishedWork.memoizedState.cachePool.pool);
          current2 !== previousCache && (null != current2 && retainCache(current2), null != previousCache && releaseCache(previousCache));
        }
        function commitCachePassiveMountEffect(current2, finishedWork) {
          current2 = null;
          null !== finishedWork.alternate && (current2 = finishedWork.alternate.memoizedState.cache);
          finishedWork = finishedWork.memoizedState.cache;
          finishedWork !== current2 && (retainCache(finishedWork), null != current2 && releaseCache(current2));
        }
        function recursivelyTraversePassiveMountEffects(root3, parentFiber, committedLanes, committedTransitions, endTime) {
          if (parentFiber.subtreeFlags & 10256 || 0 !== parentFiber.actualDuration && (null === parentFiber.alternate || parentFiber.alternate.child !== parentFiber.child))
            for (parentFiber = parentFiber.child; null !== parentFiber; ) {
              var nextSibling = parentFiber.sibling;
              commitPassiveMountOnFiber(
                root3,
                parentFiber,
                committedLanes,
                committedTransitions,
                null !== nextSibling ? nextSibling.actualStartTime : endTime
              );
              parentFiber = nextSibling;
            }
        }
        function commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime) {
          var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), prevDeepEquality = alreadyWarnedForDeepEquality, flags2 = finishedWork.flags;
          switch (finishedWork.tag) {
            case 0:
            case 11:
            case 15:
              (finishedWork.mode & ProfileMode) !== NoMode && 0 < finishedWork.actualStartTime && 0 !== (finishedWork.flags & 1) && logComponentRender(
                finishedWork,
                finishedWork.actualStartTime,
                endTime,
                inHydratedSubtree,
                committedLanes
              );
              recursivelyTraversePassiveMountEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                endTime
              );
              flags2 & 2048 && commitHookPassiveMountEffects(finishedWork, Passive | HasEffect);
              break;
            case 1:
              (finishedWork.mode & ProfileMode) !== NoMode && 0 < finishedWork.actualStartTime && (0 !== (finishedWork.flags & 128) ? logComponentErrored(
                finishedWork,
                finishedWork.actualStartTime,
                endTime,
                []
              ) : 0 !== (finishedWork.flags & 1) && logComponentRender(
                finishedWork,
                finishedWork.actualStartTime,
                endTime,
                inHydratedSubtree,
                committedLanes
              ));
              recursivelyTraversePassiveMountEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                endTime
              );
              break;
            case 3:
              var prevProfilerEffectDuration = pushNestedEffectDurations(), wasInHydratedSubtree = inHydratedSubtree;
              inHydratedSubtree = null !== finishedWork.alternate && finishedWork.alternate.memoizedState.isDehydrated && 0 === (finishedWork.flags & 256);
              recursivelyTraversePassiveMountEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                endTime
              );
              inHydratedSubtree = wasInHydratedSubtree;
              flags2 & 2048 && (committedLanes = null, null !== finishedWork.alternate && (committedLanes = finishedWork.alternate.memoizedState.cache), committedTransitions = finishedWork.memoizedState.cache, committedTransitions !== committedLanes && (retainCache(committedTransitions), null != committedLanes && releaseCache(committedLanes)));
              finishedRoot.passiveEffectDuration += popNestedEffectDurations(
                prevProfilerEffectDuration
              );
              break;
            case 12:
              if (flags2 & 2048) {
                flags2 = pushNestedEffectDurations();
                recursivelyTraversePassiveMountEffects(
                  finishedRoot,
                  finishedWork,
                  committedLanes,
                  committedTransitions,
                  endTime
                );
                finishedRoot = finishedWork.stateNode;
                finishedRoot.passiveEffectDuration += bubbleNestedEffectDurations(flags2);
                try {
                  runWithFiberInDEV(
                    finishedWork,
                    commitProfilerPostCommitImpl,
                    finishedWork,
                    finishedWork.alternate,
                    commitStartTime,
                    finishedRoot.passiveEffectDuration
                  );
                } catch (error2) {
                  captureCommitPhaseError(finishedWork, finishedWork.return, error2);
                }
              } else
                recursivelyTraversePassiveMountEffects(
                  finishedRoot,
                  finishedWork,
                  committedLanes,
                  committedTransitions,
                  endTime
                );
              break;
            case 31:
              flags2 = inHydratedSubtree;
              prevProfilerEffectDuration = null !== finishedWork.alternate ? finishedWork.alternate.memoizedState : null;
              wasInHydratedSubtree = finishedWork.memoizedState;
              null !== prevProfilerEffectDuration && null === wasInHydratedSubtree ? (wasInHydratedSubtree = finishedWork.deletions, null !== wasInHydratedSubtree && 0 < wasInHydratedSubtree.length && 18 === wasInHydratedSubtree[0].tag ? (inHydratedSubtree = false, prevProfilerEffectDuration = prevProfilerEffectDuration.hydrationErrors, null !== prevProfilerEffectDuration && logComponentErrored(
                finishedWork,
                finishedWork.actualStartTime,
                endTime,
                prevProfilerEffectDuration
              )) : inHydratedSubtree = true) : inHydratedSubtree = false;
              recursivelyTraversePassiveMountEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                endTime
              );
              inHydratedSubtree = flags2;
              break;
            case 13:
              flags2 = inHydratedSubtree;
              prevProfilerEffectDuration = null !== finishedWork.alternate ? finishedWork.alternate.memoizedState : null;
              wasInHydratedSubtree = finishedWork.memoizedState;
              null === prevProfilerEffectDuration || null === prevProfilerEffectDuration.dehydrated || null !== wasInHydratedSubtree && null !== wasInHydratedSubtree.dehydrated ? inHydratedSubtree = false : (wasInHydratedSubtree = finishedWork.deletions, null !== wasInHydratedSubtree && 0 < wasInHydratedSubtree.length && 18 === wasInHydratedSubtree[0].tag ? (inHydratedSubtree = false, prevProfilerEffectDuration = prevProfilerEffectDuration.hydrationErrors, null !== prevProfilerEffectDuration && logComponentErrored(
                finishedWork,
                finishedWork.actualStartTime,
                endTime,
                prevProfilerEffectDuration
              )) : inHydratedSubtree = true);
              recursivelyTraversePassiveMountEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                endTime
              );
              inHydratedSubtree = flags2;
              break;
            case 23:
              break;
            case 22:
              wasInHydratedSubtree = finishedWork.stateNode;
              prevProfilerEffectDuration = finishedWork.alternate;
              null !== finishedWork.memoizedState ? wasInHydratedSubtree._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraversePassiveMountEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                endTime
              ) : recursivelyTraverseAtomicPassiveEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                endTime
              ) : wasInHydratedSubtree._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraversePassiveMountEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                endTime
              ) : (wasInHydratedSubtree._visibility |= OffscreenPassiveEffectsConnected, recursivelyTraverseReconnectPassiveEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                0 !== (finishedWork.subtreeFlags & 10256) || 0 !== finishedWork.actualDuration && (null === finishedWork.alternate || finishedWork.alternate.child !== finishedWork.child),
                endTime
              ), (finishedWork.mode & ProfileMode) === NoMode || inHydratedSubtree || (finishedRoot = finishedWork.actualStartTime, 0 <= finishedRoot && 0.05 < endTime - finishedRoot && logComponentReappeared(finishedWork, finishedRoot, endTime), 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentReappeared(
                finishedWork,
                componentEffectStartTime,
                componentEffectEndTime
              )));
              flags2 & 2048 && commitOffscreenPassiveMountEffects(
                prevProfilerEffectDuration,
                finishedWork
              );
              break;
            case 24:
              recursivelyTraversePassiveMountEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                endTime
              );
              flags2 & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);
              break;
            default:
              recursivelyTraversePassiveMountEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                endTime
              );
          }
          if ((finishedWork.mode & ProfileMode) !== NoMode) {
            if (finishedRoot = !inHydratedSubtree && null === finishedWork.alternate && null !== finishedWork.return && null !== finishedWork.return.alternate)
              committedLanes = finishedWork.actualStartTime, 0 <= committedLanes && 0.05 < endTime - committedLanes && logComponentTrigger(
                finishedWork,
                committedLanes,
                endTime,
                "Mount"
              );
            0 <= componentEffectStartTime && 0 <= componentEffectEndTime && ((componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
              finishedWork,
              componentEffectStartTime,
              componentEffectEndTime,
              componentEffectDuration,
              componentEffectErrors
            ), finishedRoot && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
              finishedWork,
              componentEffectStartTime,
              componentEffectEndTime,
              "Mount"
            ));
          }
          popComponentEffectStart(prevEffectStart);
          popComponentEffectDuration(prevEffectDuration);
          componentEffectErrors = prevEffectErrors;
          componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
          alreadyWarnedForDeepEquality = prevDeepEquality;
        }
        function recursivelyTraverseReconnectPassiveEffects(finishedRoot, parentFiber, committedLanes, committedTransitions, includeWorkInProgressEffects, endTime) {
          includeWorkInProgressEffects = includeWorkInProgressEffects && (0 !== (parentFiber.subtreeFlags & 10256) || 0 !== parentFiber.actualDuration && (null === parentFiber.alternate || parentFiber.alternate.child !== parentFiber.child));
          for (parentFiber = parentFiber.child; null !== parentFiber; ) {
            var nextSibling = parentFiber.sibling;
            reconnectPassiveEffects(
              finishedRoot,
              parentFiber,
              committedLanes,
              committedTransitions,
              includeWorkInProgressEffects,
              null !== nextSibling ? nextSibling.actualStartTime : endTime
            );
            parentFiber = nextSibling;
          }
        }
        function reconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects, endTime) {
          var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), prevDeepEquality = alreadyWarnedForDeepEquality;
          includeWorkInProgressEffects && (finishedWork.mode & ProfileMode) !== NoMode && 0 < finishedWork.actualStartTime && 0 !== (finishedWork.flags & 1) && logComponentRender(
            finishedWork,
            finishedWork.actualStartTime,
            endTime,
            inHydratedSubtree,
            committedLanes
          );
          var flags2 = finishedWork.flags;
          switch (finishedWork.tag) {
            case 0:
            case 11:
            case 15:
              recursivelyTraverseReconnectPassiveEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                includeWorkInProgressEffects,
                endTime
              );
              commitHookPassiveMountEffects(finishedWork, Passive);
              break;
            case 23:
              break;
            case 22:
              var _instance2 = finishedWork.stateNode;
              null !== finishedWork.memoizedState ? _instance2._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraverseReconnectPassiveEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                includeWorkInProgressEffects,
                endTime
              ) : recursivelyTraverseAtomicPassiveEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                endTime
              ) : (_instance2._visibility |= OffscreenPassiveEffectsConnected, recursivelyTraverseReconnectPassiveEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                includeWorkInProgressEffects,
                endTime
              ));
              includeWorkInProgressEffects && flags2 & 2048 && commitOffscreenPassiveMountEffects(
                finishedWork.alternate,
                finishedWork
              );
              break;
            case 24:
              recursivelyTraverseReconnectPassiveEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                includeWorkInProgressEffects,
                endTime
              );
              includeWorkInProgressEffects && flags2 & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);
              break;
            default:
              recursivelyTraverseReconnectPassiveEffects(
                finishedRoot,
                finishedWork,
                committedLanes,
                committedTransitions,
                includeWorkInProgressEffects,
                endTime
              );
          }
          (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
            finishedWork,
            componentEffectStartTime,
            componentEffectEndTime,
            componentEffectDuration,
            componentEffectErrors
          );
          popComponentEffectStart(prevEffectStart);
          popComponentEffectDuration(prevEffectDuration);
          componentEffectErrors = prevEffectErrors;
          componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
          alreadyWarnedForDeepEquality = prevDeepEquality;
        }
        function recursivelyTraverseAtomicPassiveEffects(finishedRoot$jscomp$0, parentFiber, committedLanes$jscomp$0, committedTransitions$jscomp$0, endTime$jscomp$0) {
          if (parentFiber.subtreeFlags & 10256 || 0 !== parentFiber.actualDuration && (null === parentFiber.alternate || parentFiber.alternate.child !== parentFiber.child))
            for (var child = parentFiber.child; null !== child; ) {
              parentFiber = child.sibling;
              var finishedRoot = finishedRoot$jscomp$0, committedLanes = committedLanes$jscomp$0, committedTransitions = committedTransitions$jscomp$0, endTime = null !== parentFiber ? parentFiber.actualStartTime : endTime$jscomp$0, prevDeepEquality = alreadyWarnedForDeepEquality;
              (child.mode & ProfileMode) !== NoMode && 0 < child.actualStartTime && 0 !== (child.flags & 1) && logComponentRender(
                child,
                child.actualStartTime,
                endTime,
                inHydratedSubtree,
                committedLanes
              );
              var flags2 = child.flags;
              switch (child.tag) {
                case 22:
                  recursivelyTraverseAtomicPassiveEffects(
                    finishedRoot,
                    child,
                    committedLanes,
                    committedTransitions,
                    endTime
                  );
                  flags2 & 2048 && commitOffscreenPassiveMountEffects(child.alternate, child);
                  break;
                case 24:
                  recursivelyTraverseAtomicPassiveEffects(
                    finishedRoot,
                    child,
                    committedLanes,
                    committedTransitions,
                    endTime
                  );
                  flags2 & 2048 && commitCachePassiveMountEffect(child.alternate, child);
                  break;
                default:
                  recursivelyTraverseAtomicPassiveEffects(
                    finishedRoot,
                    child,
                    committedLanes,
                    committedTransitions,
                    endTime
                  );
              }
              alreadyWarnedForDeepEquality = prevDeepEquality;
              child = parentFiber;
            }
        }
        function recursivelyAccumulateSuspenseyCommit(parentFiber, committedLanes, suspendedState) {
          if (parentFiber.subtreeFlags & suspenseyCommitFlag)
            for (parentFiber = parentFiber.child; null !== parentFiber; )
              accumulateSuspenseyCommitOnFiber(
                parentFiber,
                committedLanes,
                suspendedState
              ), parentFiber = parentFiber.sibling;
        }
        function accumulateSuspenseyCommitOnFiber(fiber, committedLanes, suspendedState) {
          switch (fiber.tag) {
            case 26:
              recursivelyAccumulateSuspenseyCommit(
                fiber,
                committedLanes,
                suspendedState
              );
              fiber.flags & suspenseyCommitFlag && null !== fiber.memoizedState && suspendResource(
                suspendedState,
                currentHoistableRoot,
                fiber.memoizedState,
                fiber.memoizedProps
              );
              break;
            case 5:
              recursivelyAccumulateSuspenseyCommit(
                fiber,
                committedLanes,
                suspendedState
              );
              break;
            case 3:
            case 4:
              var previousHoistableRoot = currentHoistableRoot;
              currentHoistableRoot = getHoistableRoot(
                fiber.stateNode.containerInfo
              );
              recursivelyAccumulateSuspenseyCommit(
                fiber,
                committedLanes,
                suspendedState
              );
              currentHoistableRoot = previousHoistableRoot;
              break;
            case 22:
              null === fiber.memoizedState && (previousHoistableRoot = fiber.alternate, null !== previousHoistableRoot && null !== previousHoistableRoot.memoizedState ? (previousHoistableRoot = suspenseyCommitFlag, suspenseyCommitFlag = 16777216, recursivelyAccumulateSuspenseyCommit(
                fiber,
                committedLanes,
                suspendedState
              ), suspenseyCommitFlag = previousHoistableRoot) : recursivelyAccumulateSuspenseyCommit(
                fiber,
                committedLanes,
                suspendedState
              ));
              break;
            default:
              recursivelyAccumulateSuspenseyCommit(
                fiber,
                committedLanes,
                suspendedState
              );
          }
        }
        function detachAlternateSiblings(parentFiber) {
          var previousFiber = parentFiber.alternate;
          if (null !== previousFiber && (parentFiber = previousFiber.child, null !== parentFiber)) {
            previousFiber.child = null;
            do
              previousFiber = parentFiber.sibling, parentFiber.sibling = null, parentFiber = previousFiber;
            while (null !== parentFiber);
          }
        }
        function recursivelyTraversePassiveUnmountEffects(parentFiber) {
          var deletions = parentFiber.deletions;
          if (0 !== (parentFiber.flags & 16)) {
            if (null !== deletions)
              for (var i2 = 0; i2 < deletions.length; i2++) {
                var childToDelete = deletions[i2], prevEffectStart = pushComponentEffectStart();
                nextEffect = childToDelete;
                commitPassiveUnmountEffectsInsideOfDeletedTree_begin(
                  childToDelete,
                  parentFiber
                );
                (childToDelete.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
                  childToDelete,
                  componentEffectStartTime,
                  componentEffectEndTime,
                  "Unmount"
                );
                popComponentEffectStart(prevEffectStart);
              }
            detachAlternateSiblings(parentFiber);
          }
          if (parentFiber.subtreeFlags & 10256)
            for (parentFiber = parentFiber.child; null !== parentFiber; )
              commitPassiveUnmountOnFiber(parentFiber), parentFiber = parentFiber.sibling;
        }
        function commitPassiveUnmountOnFiber(finishedWork) {
          var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
          switch (finishedWork.tag) {
            case 0:
            case 11:
            case 15:
              recursivelyTraversePassiveUnmountEffects(finishedWork);
              finishedWork.flags & 2048 && commitHookPassiveUnmountEffects(
                finishedWork,
                finishedWork.return,
                Passive | HasEffect
              );
              break;
            case 3:
              var prevProfilerEffectDuration = pushNestedEffectDurations();
              recursivelyTraversePassiveUnmountEffects(finishedWork);
              finishedWork.stateNode.passiveEffectDuration += popNestedEffectDurations(prevProfilerEffectDuration);
              break;
            case 12:
              prevProfilerEffectDuration = pushNestedEffectDurations();
              recursivelyTraversePassiveUnmountEffects(finishedWork);
              finishedWork.stateNode.passiveEffectDuration += bubbleNestedEffectDurations(prevProfilerEffectDuration);
              break;
            case 22:
              prevProfilerEffectDuration = finishedWork.stateNode;
              null !== finishedWork.memoizedState && prevProfilerEffectDuration._visibility & OffscreenPassiveEffectsConnected && (null === finishedWork.return || 13 !== finishedWork.return.tag) ? (prevProfilerEffectDuration._visibility &= ~OffscreenPassiveEffectsConnected, recursivelyTraverseDisconnectPassiveEffects(finishedWork), (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
                finishedWork,
                componentEffectStartTime,
                componentEffectEndTime,
                "Disconnect"
              )) : recursivelyTraversePassiveUnmountEffects(finishedWork);
              break;
            default:
              recursivelyTraversePassiveUnmountEffects(finishedWork);
          }
          (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
            finishedWork,
            componentEffectStartTime,
            componentEffectEndTime,
            componentEffectDuration,
            componentEffectErrors
          );
          popComponentEffectStart(prevEffectStart);
          popComponentEffectDuration(prevEffectDuration);
          componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
          componentEffectErrors = prevEffectErrors;
        }
        function recursivelyTraverseDisconnectPassiveEffects(parentFiber) {
          var deletions = parentFiber.deletions;
          if (0 !== (parentFiber.flags & 16)) {
            if (null !== deletions)
              for (var i2 = 0; i2 < deletions.length; i2++) {
                var childToDelete = deletions[i2], prevEffectStart = pushComponentEffectStart();
                nextEffect = childToDelete;
                commitPassiveUnmountEffectsInsideOfDeletedTree_begin(
                  childToDelete,
                  parentFiber
                );
                (childToDelete.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
                  childToDelete,
                  componentEffectStartTime,
                  componentEffectEndTime,
                  "Unmount"
                );
                popComponentEffectStart(prevEffectStart);
              }
            detachAlternateSiblings(parentFiber);
          }
          for (parentFiber = parentFiber.child; null !== parentFiber; )
            disconnectPassiveEffect(parentFiber), parentFiber = parentFiber.sibling;
        }
        function disconnectPassiveEffect(finishedWork) {
          var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
          switch (finishedWork.tag) {
            case 0:
            case 11:
            case 15:
              commitHookPassiveUnmountEffects(
                finishedWork,
                finishedWork.return,
                Passive
              );
              recursivelyTraverseDisconnectPassiveEffects(finishedWork);
              break;
            case 22:
              var instance2 = finishedWork.stateNode;
              instance2._visibility & OffscreenPassiveEffectsConnected && (instance2._visibility &= ~OffscreenPassiveEffectsConnected, recursivelyTraverseDisconnectPassiveEffects(finishedWork));
              break;
            default:
              recursivelyTraverseDisconnectPassiveEffects(finishedWork);
          }
          (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
            finishedWork,
            componentEffectStartTime,
            componentEffectEndTime,
            componentEffectDuration,
            componentEffectErrors
          );
          popComponentEffectStart(prevEffectStart);
          popComponentEffectDuration(prevEffectDuration);
          componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
          componentEffectErrors = prevEffectErrors;
        }
        function commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor$jscomp$0) {
          for (; null !== nextEffect; ) {
            var fiber = nextEffect, current2 = fiber, nearestMountedAncestor = nearestMountedAncestor$jscomp$0, prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
            switch (current2.tag) {
              case 0:
              case 11:
              case 15:
                commitHookPassiveUnmountEffects(
                  current2,
                  nearestMountedAncestor,
                  Passive
                );
                break;
              case 23:
              case 22:
                null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (nearestMountedAncestor = current2.memoizedState.cachePool.pool, null != nearestMountedAncestor && retainCache(nearestMountedAncestor));
                break;
              case 24:
                releaseCache(current2.memoizedState.cache);
            }
            (current2.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
              current2,
              componentEffectStartTime,
              componentEffectEndTime,
              componentEffectDuration,
              componentEffectErrors
            );
            popComponentEffectStart(prevEffectStart);
            popComponentEffectDuration(prevEffectDuration);
            componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
            componentEffectErrors = prevEffectErrors;
            current2 = fiber.child;
            if (null !== current2) current2.return = fiber, nextEffect = current2;
            else
              a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) {
                current2 = nextEffect;
                prevEffectStart = current2.sibling;
                prevEffectDuration = current2.return;
                detachFiberAfterEffects(current2);
                if (current2 === fiber) {
                  nextEffect = null;
                  break a;
                }
                if (null !== prevEffectStart) {
                  prevEffectStart.return = prevEffectDuration;
                  nextEffect = prevEffectStart;
                  break a;
                }
                nextEffect = prevEffectDuration;
              }
          }
        }
        function onCommitRoot() {
          commitHooks.forEach(function(commitHook) {
            return commitHook();
          });
        }
        function isConcurrentActEnvironment() {
          var isReactActEnvironmentGlobal = "undefined" !== typeof IS_REACT_ACT_ENVIRONMENT ? IS_REACT_ACT_ENVIRONMENT : void 0;
          isReactActEnvironmentGlobal || null === ReactSharedInternals.actQueue || console.error(
            "The current testing environment is not configured to support act(...)"
          );
          return isReactActEnvironmentGlobal;
        }
        function requestUpdateLane(fiber) {
          if ((executionContext & RenderContext) !== NoContext && 0 !== workInProgressRootRenderLanes)
            return workInProgressRootRenderLanes & -workInProgressRootRenderLanes;
          var transition = ReactSharedInternals.T;
          return null !== transition ? (transition._updatedFibers || (transition._updatedFibers = /* @__PURE__ */ new Set()), transition._updatedFibers.add(fiber), requestTransitionLane()) : resolveUpdatePriority();
        }
        function requestDeferredLane() {
          if (0 === workInProgressDeferredLane)
            if (0 === (workInProgressRootRenderLanes & 536870912) || isHydrating) {
              var lane = nextTransitionDeferredLane;
              nextTransitionDeferredLane <<= 1;
              0 === (nextTransitionDeferredLane & 3932160) && (nextTransitionDeferredLane = 262144);
              workInProgressDeferredLane = lane;
            } else workInProgressDeferredLane = 536870912;
          lane = suspenseHandlerStackCursor.current;
          null !== lane && (lane.flags |= 32);
          return workInProgressDeferredLane;
        }
        function scheduleUpdateOnFiber(root3, fiber, lane) {
          isRunningInsertionEffect && console.error("useInsertionEffect must not schedule updates.");
          isFlushingPassiveEffects && (didScheduleUpdateDuringPassiveEffects = true);
          if (root3 === workInProgressRoot && (workInProgressSuspendedReason === SuspendedOnData || workInProgressSuspendedReason === SuspendedOnAction) || null !== root3.cancelPendingCommit)
            prepareFreshStack(root3, 0), markRootSuspended(
              root3,
              workInProgressRootRenderLanes,
              workInProgressDeferredLane,
              false
            );
          markRootUpdated$1(root3, lane);
          if ((executionContext & RenderContext) !== NoContext && root3 === workInProgressRoot) {
            if (isRendering)
              switch (fiber.tag) {
                case 0:
                case 11:
                case 15:
                  root3 = workInProgress && getComponentNameFromFiber(workInProgress) || "Unknown";
                  didWarnAboutUpdateInRenderForAnotherComponent.has(root3) || (didWarnAboutUpdateInRenderForAnotherComponent.add(root3), fiber = getComponentNameFromFiber(fiber) || "Unknown", console.error(
                    "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://react.dev/link/setstate-in-render",
                    fiber,
                    root3,
                    root3
                  ));
                  break;
                case 1:
                  didWarnAboutUpdateInRender || (console.error(
                    "Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state."
                  ), didWarnAboutUpdateInRender = true);
              }
          } else
            isDevToolsPresent && addFiberToLanesMap(root3, fiber, lane), warnIfUpdatesNotWrappedWithActDEV(fiber), root3 === workInProgressRoot && ((executionContext & RenderContext) === NoContext && (workInProgressRootInterleavedUpdatedLanes |= lane), workInProgressRootExitStatus === RootSuspendedWithDelay && markRootSuspended(
              root3,
              workInProgressRootRenderLanes,
              workInProgressDeferredLane,
              false
            )), ensureRootIsScheduled(root3);
        }
        function performWorkOnRoot(root3, lanes, forceSync) {
          if ((executionContext & (RenderContext | CommitContext)) !== NoContext)
            throw Error("Should not already be working.");
          if (0 !== workInProgressRootRenderLanes && null !== workInProgress) {
            var yieldedFiber = workInProgress, yieldEndTime = now$1();
            switch (yieldReason) {
              case SuspendedOnImmediate:
              case SuspendedOnData:
                var startTime = yieldStartTime;
                supportsUserTiming && ((yieldedFiber = yieldedFiber._debugTask) ? yieldedFiber.run(
                  console.timeStamp.bind(
                    console,
                    "Suspended",
                    startTime,
                    yieldEndTime,
                    COMPONENTS_TRACK,
                    void 0,
                    "primary-light"
                  )
                ) : console.timeStamp(
                  "Suspended",
                  startTime,
                  yieldEndTime,
                  COMPONENTS_TRACK,
                  void 0,
                  "primary-light"
                ));
                break;
              case SuspendedOnAction:
                startTime = yieldStartTime;
                supportsUserTiming && ((yieldedFiber = yieldedFiber._debugTask) ? yieldedFiber.run(
                  console.timeStamp.bind(
                    console,
                    "Action",
                    startTime,
                    yieldEndTime,
                    COMPONENTS_TRACK,
                    void 0,
                    "primary-light"
                  )
                ) : console.timeStamp(
                  "Action",
                  startTime,
                  yieldEndTime,
                  COMPONENTS_TRACK,
                  void 0,
                  "primary-light"
                ));
                break;
              default:
                supportsUserTiming && (yieldedFiber = yieldEndTime - yieldStartTime, 3 > yieldedFiber || console.timeStamp(
                  "Blocked",
                  yieldStartTime,
                  yieldEndTime,
                  COMPONENTS_TRACK,
                  void 0,
                  5 > yieldedFiber ? "primary-light" : 10 > yieldedFiber ? "primary" : 100 > yieldedFiber ? "primary-dark" : "error"
                ));
            }
          }
          startTime = (forceSync = !forceSync && 0 === (lanes & 127) && 0 === (lanes & root3.expiredLanes) || checkIfRootIsPrerendering(root3, lanes)) ? renderRootConcurrent(root3, lanes) : renderRootSync(root3, lanes, true);
          var renderWasConcurrent = forceSync;
          do {
            if (startTime === RootInProgress) {
              workInProgressRootIsPrerendering && !forceSync && markRootSuspended(root3, lanes, 0, false);
              lanes = workInProgressSuspendedReason;
              yieldStartTime = now();
              yieldReason = lanes;
              break;
            } else {
              yieldedFiber = now$1();
              yieldEndTime = root3.current.alternate;
              if (renderWasConcurrent && !isRenderConsistentWithExternalStores(yieldEndTime)) {
                setCurrentTrackFromLanes(lanes);
                yieldEndTime = renderStartTime;
                startTime = yieldedFiber;
                !supportsUserTiming || startTime <= yieldEndTime || (workInProgressUpdateTask ? workInProgressUpdateTask.run(
                  console.timeStamp.bind(
                    console,
                    "Teared Render",
                    yieldEndTime,
                    startTime,
                    currentTrack,
                    LANES_TRACK_GROUP,
                    "error"
                  )
                ) : console.timeStamp(
                  "Teared Render",
                  yieldEndTime,
                  startTime,
                  currentTrack,
                  LANES_TRACK_GROUP,
                  "error"
                ));
                finalizeRender(lanes, yieldedFiber);
                startTime = renderRootSync(root3, lanes, false);
                renderWasConcurrent = false;
                continue;
              }
              if (startTime === RootErrored) {
                renderWasConcurrent = lanes;
                if (root3.errorRecoveryDisabledLanes & renderWasConcurrent)
                  var errorRetryLanes = 0;
                else
                  errorRetryLanes = root3.pendingLanes & -536870913, errorRetryLanes = 0 !== errorRetryLanes ? errorRetryLanes : errorRetryLanes & 536870912 ? 536870912 : 0;
                if (0 !== errorRetryLanes) {
                  setCurrentTrackFromLanes(lanes);
                  logErroredRenderPhase(
                    renderStartTime,
                    yieldedFiber,
                    lanes,
                    workInProgressUpdateTask
                  );
                  finalizeRender(lanes, yieldedFiber);
                  lanes = errorRetryLanes;
                  a: {
                    yieldedFiber = root3;
                    startTime = renderWasConcurrent;
                    renderWasConcurrent = workInProgressRootConcurrentErrors;
                    var wasRootDehydrated = yieldedFiber.current.memoizedState.isDehydrated;
                    wasRootDehydrated && (prepareFreshStack(yieldedFiber, errorRetryLanes).flags |= 256);
                    errorRetryLanes = renderRootSync(
                      yieldedFiber,
                      errorRetryLanes,
                      false
                    );
                    if (errorRetryLanes !== RootErrored) {
                      if (workInProgressRootDidAttachPingListener && !wasRootDehydrated) {
                        yieldedFiber.errorRecoveryDisabledLanes |= startTime;
                        workInProgressRootInterleavedUpdatedLanes |= startTime;
                        startTime = RootSuspendedWithDelay;
                        break a;
                      }
                      yieldedFiber = workInProgressRootRecoverableErrors;
                      workInProgressRootRecoverableErrors = renderWasConcurrent;
                      null !== yieldedFiber && (null === workInProgressRootRecoverableErrors ? workInProgressRootRecoverableErrors = yieldedFiber : workInProgressRootRecoverableErrors.push.apply(
                        workInProgressRootRecoverableErrors,
                        yieldedFiber
                      ));
                    }
                    startTime = errorRetryLanes;
                  }
                  renderWasConcurrent = false;
                  if (startTime !== RootErrored) continue;
                  else yieldedFiber = now$1();
                }
              }
              if (startTime === RootFatalErrored) {
                setCurrentTrackFromLanes(lanes);
                logErroredRenderPhase(
                  renderStartTime,
                  yieldedFiber,
                  lanes,
                  workInProgressUpdateTask
                );
                finalizeRender(lanes, yieldedFiber);
                prepareFreshStack(root3, 0);
                markRootSuspended(root3, lanes, 0, true);
                break;
              }
              a: {
                forceSync = root3;
                switch (startTime) {
                  case RootInProgress:
                  case RootFatalErrored:
                    throw Error("Root did not complete. This is a bug in React.");
                  case RootSuspendedWithDelay:
                    if ((lanes & 4194048) !== lanes) break;
                  case RootSuspendedAtTheShell:
                    setCurrentTrackFromLanes(lanes);
                    logSuspendedRenderPhase(
                      renderStartTime,
                      yieldedFiber,
                      lanes,
                      workInProgressUpdateTask
                    );
                    finalizeRender(lanes, yieldedFiber);
                    yieldEndTime = lanes;
                    0 !== (yieldEndTime & 127) ? blockingSuspendedTime = yieldedFiber : 0 !== (yieldEndTime & 4194048) && (transitionSuspendedTime = yieldedFiber);
                    markRootSuspended(
                      forceSync,
                      lanes,
                      workInProgressDeferredLane,
                      !workInProgressRootDidSkipSuspendedSiblings
                    );
                    break a;
                  case RootErrored:
                    workInProgressRootRecoverableErrors = null;
                    break;
                  case RootSuspended:
                  case RootCompleted:
                    break;
                  default:
                    throw Error("Unknown root exit status.");
                }
                if (null !== ReactSharedInternals.actQueue)
                  commitRoot(
                    forceSync,
                    yieldEndTime,
                    lanes,
                    workInProgressRootRecoverableErrors,
                    workInProgressTransitions,
                    workInProgressRootDidIncludeRecursiveRenderUpdate,
                    workInProgressDeferredLane,
                    workInProgressRootInterleavedUpdatedLanes,
                    workInProgressSuspendedRetryLanes,
                    startTime,
                    null,
                    null,
                    renderStartTime,
                    yieldedFiber
                  );
                else {
                  if ((lanes & 62914560) === lanes && (renderWasConcurrent = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now$1(), 10 < renderWasConcurrent)) {
                    markRootSuspended(
                      forceSync,
                      lanes,
                      workInProgressDeferredLane,
                      !workInProgressRootDidSkipSuspendedSiblings
                    );
                    if (0 !== getNextLanes(forceSync, 0, true)) break a;
                    pendingEffectsLanes = lanes;
                    forceSync.timeoutHandle = scheduleTimeout(
                      commitRootWhenReady.bind(
                        null,
                        forceSync,
                        yieldEndTime,
                        workInProgressRootRecoverableErrors,
                        workInProgressTransitions,
                        workInProgressRootDidIncludeRecursiveRenderUpdate,
                        lanes,
                        workInProgressDeferredLane,
                        workInProgressRootInterleavedUpdatedLanes,
                        workInProgressSuspendedRetryLanes,
                        workInProgressRootDidSkipSuspendedSiblings,
                        startTime,
                        "Throttled",
                        renderStartTime,
                        yieldedFiber
                      ),
                      renderWasConcurrent
                    );
                    break a;
                  }
                  commitRootWhenReady(
                    forceSync,
                    yieldEndTime,
                    workInProgressRootRecoverableErrors,
                    workInProgressTransitions,
                    workInProgressRootDidIncludeRecursiveRenderUpdate,
                    lanes,
                    workInProgressDeferredLane,
                    workInProgressRootInterleavedUpdatedLanes,
                    workInProgressSuspendedRetryLanes,
                    workInProgressRootDidSkipSuspendedSiblings,
                    startTime,
                    null,
                    renderStartTime,
                    yieldedFiber
                  );
                }
              }
            }
            break;
          } while (1);
          ensureRootIsScheduled(root3);
        }
        function commitRootWhenReady(root3, finishedWork, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, lanes, spawnedLane, updatedLanes, suspendedRetryLanes, didSkipSuspendedSiblings, exitStatus, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime) {
          root3.timeoutHandle = noTimeout;
          var subtreeFlags = finishedWork.subtreeFlags, suspendedState = null;
          if (subtreeFlags & 8192 || 16785408 === (subtreeFlags & 16785408)) {
            if (suspendedState = {
              stylesheets: null,
              count: 0,
              imgCount: 0,
              imgBytes: 0,
              suspenseyImages: [],
              waitingForImages: true,
              waitingForViewTransition: false,
              unsuspend: noop$1
            }, accumulateSuspenseyCommitOnFiber(finishedWork, lanes, suspendedState), subtreeFlags = (lanes & 62914560) === lanes ? globalMostRecentFallbackTime - now$1() : (lanes & 4194048) === lanes ? globalMostRecentTransitionTime - now$1() : 0, subtreeFlags = waitForCommitToBeReady(suspendedState, subtreeFlags), null !== subtreeFlags) {
              pendingEffectsLanes = lanes;
              root3.cancelPendingCommit = subtreeFlags(
                commitRoot.bind(
                  null,
                  root3,
                  finishedWork,
                  lanes,
                  recoverableErrors,
                  transitions,
                  didIncludeRenderPhaseUpdate,
                  spawnedLane,
                  updatedLanes,
                  suspendedRetryLanes,
                  exitStatus,
                  suspendedState,
                  suspendedState.waitingForViewTransition ? "Waiting for the previous Animation" : 0 < suspendedState.count ? 0 < suspendedState.imgCount ? "Suspended on CSS and Images" : "Suspended on CSS" : 1 === suspendedState.imgCount ? "Suspended on an Image" : 0 < suspendedState.imgCount ? "Suspended on Images" : null,
                  completedRenderStartTime,
                  completedRenderEndTime
                )
              );
              markRootSuspended(
                root3,
                lanes,
                spawnedLane,
                !didSkipSuspendedSiblings
              );
              return;
            }
          }
          commitRoot(
            root3,
            finishedWork,
            lanes,
            recoverableErrors,
            transitions,
            didIncludeRenderPhaseUpdate,
            spawnedLane,
            updatedLanes,
            suspendedRetryLanes,
            exitStatus,
            suspendedState,
            suspendedCommitReason,
            completedRenderStartTime,
            completedRenderEndTime
          );
        }
        function isRenderConsistentWithExternalStores(finishedWork) {
          for (var node2 = finishedWork; ; ) {
            var tag = node2.tag;
            if ((0 === tag || 11 === tag || 15 === tag) && node2.flags & 16384 && (tag = node2.updateQueue, null !== tag && (tag = tag.stores, null !== tag)))
              for (var i2 = 0; i2 < tag.length; i2++) {
                var check = tag[i2], getSnapshot = check.getSnapshot;
                check = check.value;
                try {
                  if (!objectIs(getSnapshot(), check)) return false;
                } catch (error2) {
                  return false;
                }
              }
            tag = node2.child;
            if (node2.subtreeFlags & 16384 && null !== tag)
              tag.return = node2, node2 = tag;
            else {
              if (node2 === finishedWork) break;
              for (; null === node2.sibling; ) {
                if (null === node2.return || node2.return === finishedWork) return true;
                node2 = node2.return;
              }
              node2.sibling.return = node2.return;
              node2 = node2.sibling;
            }
          }
          return true;
        }
        function markRootSuspended(root3, suspendedLanes, spawnedLane, didAttemptEntireTree) {
          suspendedLanes &= ~workInProgressRootPingedLanes;
          suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes;
          root3.suspendedLanes |= suspendedLanes;
          root3.pingedLanes &= ~suspendedLanes;
          didAttemptEntireTree && (root3.warmLanes |= suspendedLanes);
          didAttemptEntireTree = root3.expirationTimes;
          for (var lanes = suspendedLanes; 0 < lanes; ) {
            var index3 = 31 - clz32(lanes), lane = 1 << index3;
            didAttemptEntireTree[index3] = -1;
            lanes &= ~lane;
          }
          0 !== spawnedLane && markSpawnedDeferredLane(root3, spawnedLane, suspendedLanes);
        }
        function flushSyncWork$1() {
          return (executionContext & (RenderContext | CommitContext)) === NoContext ? (flushSyncWorkAcrossRoots_impl(0, false), false) : true;
        }
        function resetWorkInProgressStack() {
          if (null !== workInProgress) {
            if (workInProgressSuspendedReason === NotSuspended)
              var interruptedWork = workInProgress.return;
            else
              interruptedWork = workInProgress, resetContextDependencies(), resetHooksOnUnwind(interruptedWork), thenableState$1 = null, thenableIndexCounter$1 = 0, interruptedWork = workInProgress;
            for (; null !== interruptedWork; )
              unwindInterruptedWork(interruptedWork.alternate, interruptedWork), interruptedWork = interruptedWork.return;
            workInProgress = null;
          }
        }
        function finalizeRender(lanes, finalizationTime) {
          0 !== (lanes & 127) && (blockingClampTime = finalizationTime);
          0 !== (lanes & 4194048) && (transitionClampTime = finalizationTime);
          0 !== (lanes & 62914560) && (retryClampTime = finalizationTime);
          0 !== (lanes & 2080374784) && (idleClampTime = finalizationTime);
        }
        function prepareFreshStack(root3, lanes) {
          supportsUserTiming && (console.timeStamp(
            "Blocking Track",
            3e-3,
            3e-3,
            "Blocking",
            LANES_TRACK_GROUP,
            "primary-light"
          ), console.timeStamp(
            "Transition Track",
            3e-3,
            3e-3,
            "Transition",
            LANES_TRACK_GROUP,
            "primary-light"
          ), console.timeStamp(
            "Suspense Track",
            3e-3,
            3e-3,
            "Suspense",
            LANES_TRACK_GROUP,
            "primary-light"
          ), console.timeStamp(
            "Idle Track",
            3e-3,
            3e-3,
            "Idle",
            LANES_TRACK_GROUP,
            "primary-light"
          ));
          var previousRenderStartTime = renderStartTime;
          renderStartTime = now();
          if (0 !== workInProgressRootRenderLanes && 0 < previousRenderStartTime) {
            setCurrentTrackFromLanes(workInProgressRootRenderLanes);
            if (workInProgressRootExitStatus === RootSuspended || workInProgressRootExitStatus === RootSuspendedWithDelay)
              logSuspendedRenderPhase(
                previousRenderStartTime,
                renderStartTime,
                lanes,
                workInProgressUpdateTask
              );
            else {
              var endTime = renderStartTime, debugTask = workInProgressUpdateTask;
              if (supportsUserTiming && !(endTime <= previousRenderStartTime)) {
                var color = (lanes & 738197653) === lanes ? "tertiary-dark" : "primary-dark", label = (lanes & 536870912) === lanes ? "Prewarm" : (lanes & 201326741) === lanes ? "Interrupted Hydration" : "Interrupted Render";
                debugTask ? debugTask.run(
                  console.timeStamp.bind(
                    console,
                    label,
                    previousRenderStartTime,
                    endTime,
                    currentTrack,
                    LANES_TRACK_GROUP,
                    color
                  )
                ) : console.timeStamp(
                  label,
                  previousRenderStartTime,
                  endTime,
                  currentTrack,
                  LANES_TRACK_GROUP,
                  color
                );
              }
            }
            finalizeRender(workInProgressRootRenderLanes, renderStartTime);
          }
          previousRenderStartTime = workInProgressUpdateTask;
          workInProgressUpdateTask = null;
          if (0 !== (lanes & 127)) {
            workInProgressUpdateTask = blockingUpdateTask;
            debugTask = 0 <= blockingUpdateTime && blockingUpdateTime < blockingClampTime ? blockingClampTime : blockingUpdateTime;
            endTime = 0 <= blockingEventTime && blockingEventTime < blockingClampTime ? blockingClampTime : blockingEventTime;
            color = 0 <= endTime ? endTime : 0 <= debugTask ? debugTask : renderStartTime;
            0 <= blockingSuspendedTime ? (setCurrentTrackFromLanes(2), logSuspendedWithDelayPhase(
              blockingSuspendedTime,
              color,
              lanes,
              previousRenderStartTime
            )) : 0 !== (animatingLanes & 127) && (setCurrentTrackFromLanes(2), logAnimatingPhase(blockingClampTime, color, animatingTask));
            previousRenderStartTime = debugTask;
            var eventTime = endTime, eventType = blockingEventType, eventIsRepeat = 0 < blockingEventRepeatTime, isSpawnedUpdate = blockingUpdateType === SPAWNED_UPDATE, isPingedUpdate = blockingUpdateType === PINGED_UPDATE;
            debugTask = renderStartTime;
            endTime = blockingUpdateTask;
            color = blockingUpdateMethodName;
            label = blockingUpdateComponentName;
            if (supportsUserTiming) {
              currentTrack = "Blocking";
              0 < previousRenderStartTime ? previousRenderStartTime > debugTask && (previousRenderStartTime = debugTask) : previousRenderStartTime = debugTask;
              0 < eventTime ? eventTime > previousRenderStartTime && (eventTime = previousRenderStartTime) : eventTime = previousRenderStartTime;
              if (null !== eventType && previousRenderStartTime > eventTime) {
                var color$jscomp$0 = eventIsRepeat ? "secondary-light" : "warning";
                endTime ? endTime.run(
                  console.timeStamp.bind(
                    console,
                    eventIsRepeat ? "Consecutive" : "Event: " + eventType,
                    eventTime,
                    previousRenderStartTime,
                    currentTrack,
                    LANES_TRACK_GROUP,
                    color$jscomp$0
                  )
                ) : console.timeStamp(
                  eventIsRepeat ? "Consecutive" : "Event: " + eventType,
                  eventTime,
                  previousRenderStartTime,
                  currentTrack,
                  LANES_TRACK_GROUP,
                  color$jscomp$0
                );
              }
              debugTask > previousRenderStartTime && (eventTime = isSpawnedUpdate ? "error" : (lanes & 738197653) === lanes ? "tertiary-light" : "primary-light", isSpawnedUpdate = isPingedUpdate ? "Promise Resolved" : isSpawnedUpdate ? "Cascading Update" : 5 < debugTask - previousRenderStartTime ? "Update Blocked" : "Update", isPingedUpdate = [], null != label && isPingedUpdate.push(["Component name", label]), null != color && isPingedUpdate.push(["Method name", color]), previousRenderStartTime = {
                start: previousRenderStartTime,
                end: debugTask,
                detail: {
                  devtools: {
                    properties: isPingedUpdate,
                    track: currentTrack,
                    trackGroup: LANES_TRACK_GROUP,
                    color: eventTime
                  }
                }
              }, endTime ? endTime.run(
                performance.measure.bind(
                  performance,
                  isSpawnedUpdate,
                  previousRenderStartTime
                )
              ) : performance.measure(isSpawnedUpdate, previousRenderStartTime));
            }
            blockingUpdateTime = -1.1;
            blockingUpdateType = 0;
            blockingUpdateComponentName = blockingUpdateMethodName = null;
            blockingSuspendedTime = -1.1;
            blockingEventRepeatTime = blockingEventTime;
            blockingEventTime = -1.1;
            blockingClampTime = now();
          }
          0 !== (lanes & 4194048) && (workInProgressUpdateTask = transitionUpdateTask, debugTask = 0 <= transitionStartTime && transitionStartTime < transitionClampTime ? transitionClampTime : transitionStartTime, previousRenderStartTime = 0 <= transitionUpdateTime && transitionUpdateTime < transitionClampTime ? transitionClampTime : transitionUpdateTime, endTime = 0 <= transitionEventTime && transitionEventTime < transitionClampTime ? transitionClampTime : transitionEventTime, color = 0 <= endTime ? endTime : 0 <= previousRenderStartTime ? previousRenderStartTime : renderStartTime, 0 <= transitionSuspendedTime ? (setCurrentTrackFromLanes(256), logSuspendedWithDelayPhase(
            transitionSuspendedTime,
            color,
            lanes,
            workInProgressUpdateTask
          )) : 0 !== (animatingLanes & 4194048) && (setCurrentTrackFromLanes(256), logAnimatingPhase(transitionClampTime, color, animatingTask)), isPingedUpdate = endTime, eventTime = transitionEventType, eventType = 0 < transitionEventRepeatTime, eventIsRepeat = transitionUpdateType === PINGED_UPDATE, color = renderStartTime, endTime = transitionUpdateTask, label = transitionUpdateMethodName, isSpawnedUpdate = transitionUpdateComponentName, supportsUserTiming && (currentTrack = "Transition", 0 < previousRenderStartTime ? previousRenderStartTime > color && (previousRenderStartTime = color) : previousRenderStartTime = color, 0 < debugTask ? debugTask > previousRenderStartTime && (debugTask = previousRenderStartTime) : debugTask = previousRenderStartTime, 0 < isPingedUpdate ? isPingedUpdate > debugTask && (isPingedUpdate = debugTask) : isPingedUpdate = debugTask, debugTask > isPingedUpdate && null !== eventTime && (color$jscomp$0 = eventType ? "secondary-light" : "warning", endTime ? endTime.run(
            console.timeStamp.bind(
              console,
              eventType ? "Consecutive" : "Event: " + eventTime,
              isPingedUpdate,
              debugTask,
              currentTrack,
              LANES_TRACK_GROUP,
              color$jscomp$0
            )
          ) : console.timeStamp(
            eventType ? "Consecutive" : "Event: " + eventTime,
            isPingedUpdate,
            debugTask,
            currentTrack,
            LANES_TRACK_GROUP,
            color$jscomp$0
          )), previousRenderStartTime > debugTask && (endTime ? endTime.run(
            console.timeStamp.bind(
              console,
              "Action",
              debugTask,
              previousRenderStartTime,
              currentTrack,
              LANES_TRACK_GROUP,
              "primary-dark"
            )
          ) : console.timeStamp(
            "Action",
            debugTask,
            previousRenderStartTime,
            currentTrack,
            LANES_TRACK_GROUP,
            "primary-dark"
          )), color > previousRenderStartTime && (debugTask = eventIsRepeat ? "Promise Resolved" : 5 < color - previousRenderStartTime ? "Update Blocked" : "Update", isPingedUpdate = [], null != isSpawnedUpdate && isPingedUpdate.push(["Component name", isSpawnedUpdate]), null != label && isPingedUpdate.push(["Method name", label]), previousRenderStartTime = {
            start: previousRenderStartTime,
            end: color,
            detail: {
              devtools: {
                properties: isPingedUpdate,
                track: currentTrack,
                trackGroup: LANES_TRACK_GROUP,
                color: "primary-light"
              }
            }
          }, endTime ? endTime.run(
            performance.measure.bind(
              performance,
              debugTask,
              previousRenderStartTime
            )
          ) : performance.measure(debugTask, previousRenderStartTime))), transitionUpdateTime = transitionStartTime = -1.1, transitionUpdateType = 0, transitionSuspendedTime = -1.1, transitionEventRepeatTime = transitionEventTime, transitionEventTime = -1.1, transitionClampTime = now());
          0 !== (lanes & 62914560) && 0 !== (animatingLanes & 62914560) && (setCurrentTrackFromLanes(4194304), logAnimatingPhase(retryClampTime, renderStartTime, animatingTask));
          0 !== (lanes & 2080374784) && 0 !== (animatingLanes & 2080374784) && (setCurrentTrackFromLanes(268435456), logAnimatingPhase(idleClampTime, renderStartTime, animatingTask));
          previousRenderStartTime = root3.timeoutHandle;
          previousRenderStartTime !== noTimeout && (root3.timeoutHandle = noTimeout, cancelTimeout(previousRenderStartTime));
          previousRenderStartTime = root3.cancelPendingCommit;
          null !== previousRenderStartTime && (root3.cancelPendingCommit = null, previousRenderStartTime());
          pendingEffectsLanes = 0;
          resetWorkInProgressStack();
          workInProgressRoot = root3;
          workInProgress = previousRenderStartTime = createWorkInProgress(
            root3.current,
            null
          );
          workInProgressRootRenderLanes = lanes;
          workInProgressSuspendedReason = NotSuspended;
          workInProgressThrownValue = null;
          workInProgressRootDidSkipSuspendedSiblings = false;
          workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root3, lanes);
          workInProgressRootDidAttachPingListener = false;
          workInProgressRootExitStatus = RootInProgress;
          workInProgressSuspendedRetryLanes = workInProgressDeferredLane = workInProgressRootPingedLanes = workInProgressRootInterleavedUpdatedLanes = workInProgressRootSkippedLanes = 0;
          workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors = null;
          workInProgressRootDidIncludeRecursiveRenderUpdate = false;
          0 !== (lanes & 8) && (lanes |= lanes & 32);
          endTime = root3.entangledLanes;
          if (0 !== endTime)
            for (root3 = root3.entanglements, endTime &= lanes; 0 < endTime; )
              debugTask = 31 - clz32(endTime), color = 1 << debugTask, lanes |= root3[debugTask], endTime &= ~color;
          entangledRenderLanes = lanes;
          finishQueueingConcurrentUpdates();
          root3 = getCurrentTime();
          1e3 < root3 - lastResetTime && (ReactSharedInternals.recentlyCreatedOwnerStacks = 0, lastResetTime = root3);
          ReactStrictModeWarnings.discardPendingWarnings();
          return previousRenderStartTime;
        }
        function handleThrow(root3, thrownValue) {
          currentlyRenderingFiber = null;
          ReactSharedInternals.H = ContextOnlyDispatcher;
          ReactSharedInternals.getCurrentStack = null;
          isRendering = false;
          current = null;
          thrownValue === SuspenseException || thrownValue === SuspenseActionException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnImmediate) : thrownValue === SuspenseyCommitException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnInstance) : workInProgressSuspendedReason = thrownValue === SelectiveHydrationException ? SuspendedOnHydration : null !== thrownValue && "object" === typeof thrownValue && "function" === typeof thrownValue.then ? SuspendedOnDeprecatedThrowPromise : SuspendedOnError;
          workInProgressThrownValue = thrownValue;
          var erroredWork = workInProgress;
          null === erroredWork ? (workInProgressRootExitStatus = RootFatalErrored, logUncaughtError(
            root3,
            createCapturedValueAtFiber(thrownValue, root3.current)
          )) : erroredWork.mode & ProfileMode && stopProfilerTimerIfRunningAndRecordDuration(erroredWork);
        }
        function shouldRemainOnPreviousScreen() {
          var handler = suspenseHandlerStackCursor.current;
          return null === handler ? true : (workInProgressRootRenderLanes & 4194048) === workInProgressRootRenderLanes ? null === shellBoundary ? true : false : (workInProgressRootRenderLanes & 62914560) === workInProgressRootRenderLanes || 0 !== (workInProgressRootRenderLanes & 536870912) ? handler === shellBoundary : false;
        }
        function pushDispatcher() {
          var prevDispatcher = ReactSharedInternals.H;
          ReactSharedInternals.H = ContextOnlyDispatcher;
          return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;
        }
        function pushAsyncDispatcher() {
          var prevAsyncDispatcher = ReactSharedInternals.A;
          ReactSharedInternals.A = DefaultAsyncDispatcher;
          return prevAsyncDispatcher;
        }
        function markRenderDerivedCause(fiber) {
          null === workInProgressUpdateTask && (workInProgressUpdateTask = null == fiber._debugTask ? null : fiber._debugTask);
        }
        function renderDidSuspendDelayIfPossible() {
          workInProgressRootExitStatus = RootSuspendedWithDelay;
          workInProgressRootDidSkipSuspendedSiblings || (workInProgressRootRenderLanes & 4194048) !== workInProgressRootRenderLanes && null !== suspenseHandlerStackCursor.current || (workInProgressRootIsPrerendering = true);
          0 === (workInProgressRootSkippedLanes & 134217727) && 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727) || null === workInProgressRoot || markRootSuspended(
            workInProgressRoot,
            workInProgressRootRenderLanes,
            workInProgressDeferredLane,
            false
          );
        }
        function renderRootSync(root3, lanes, shouldYieldForPrerendering) {
          var prevExecutionContext = executionContext;
          executionContext |= RenderContext;
          var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher();
          if (workInProgressRoot !== root3 || workInProgressRootRenderLanes !== lanes) {
            if (isDevToolsPresent) {
              var memoizedUpdaters = root3.memoizedUpdaters;
              0 < memoizedUpdaters.size && (restorePendingUpdaters(root3, workInProgressRootRenderLanes), memoizedUpdaters.clear());
              movePendingFibersToMemoized(root3, lanes);
            }
            workInProgressTransitions = null;
            prepareFreshStack(root3, lanes);
          }
          lanes = false;
          memoizedUpdaters = workInProgressRootExitStatus;
          a: do
            try {
              if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress) {
                var unitOfWork = workInProgress, thrownValue = workInProgressThrownValue;
                switch (workInProgressSuspendedReason) {
                  case SuspendedOnHydration:
                    resetWorkInProgressStack();
                    memoizedUpdaters = RootSuspendedAtTheShell;
                    break a;
                  case SuspendedOnImmediate:
                  case SuspendedOnData:
                  case SuspendedOnAction:
                  case SuspendedOnDeprecatedThrowPromise:
                    null === suspenseHandlerStackCursor.current && (lanes = true);
                    var reason = workInProgressSuspendedReason;
                    workInProgressSuspendedReason = NotSuspended;
                    workInProgressThrownValue = null;
                    throwAndUnwindWorkLoop(root3, unitOfWork, thrownValue, reason);
                    if (shouldYieldForPrerendering && workInProgressRootIsPrerendering) {
                      memoizedUpdaters = RootInProgress;
                      break a;
                    }
                    break;
                  default:
                    reason = workInProgressSuspendedReason, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop(root3, unitOfWork, thrownValue, reason);
                }
              }
              workLoopSync();
              memoizedUpdaters = workInProgressRootExitStatus;
              break;
            } catch (thrownValue$8) {
              handleThrow(root3, thrownValue$8);
            }
          while (1);
          lanes && root3.shellSuspendCounter++;
          resetContextDependencies();
          executionContext = prevExecutionContext;
          ReactSharedInternals.H = prevDispatcher;
          ReactSharedInternals.A = prevAsyncDispatcher;
          null === workInProgress && (workInProgressRoot = null, workInProgressRootRenderLanes = 0, finishQueueingConcurrentUpdates());
          return memoizedUpdaters;
        }
        function workLoopSync() {
          for (; null !== workInProgress; ) performUnitOfWork(workInProgress);
        }
        function renderRootConcurrent(root3, lanes) {
          var prevExecutionContext = executionContext;
          executionContext |= RenderContext;
          var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher();
          if (workInProgressRoot !== root3 || workInProgressRootRenderLanes !== lanes) {
            if (isDevToolsPresent) {
              var memoizedUpdaters = root3.memoizedUpdaters;
              0 < memoizedUpdaters.size && (restorePendingUpdaters(root3, workInProgressRootRenderLanes), memoizedUpdaters.clear());
              movePendingFibersToMemoized(root3, lanes);
            }
            workInProgressTransitions = null;
            workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS;
            prepareFreshStack(root3, lanes);
          } else
            workInProgressRootIsPrerendering = checkIfRootIsPrerendering(
              root3,
              lanes
            );
          a: do
            try {
              if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress)
                b: switch (lanes = workInProgress, memoizedUpdaters = workInProgressThrownValue, workInProgressSuspendedReason) {
                  case SuspendedOnError:
                    workInProgressSuspendedReason = NotSuspended;
                    workInProgressThrownValue = null;
                    throwAndUnwindWorkLoop(
                      root3,
                      lanes,
                      memoizedUpdaters,
                      SuspendedOnError
                    );
                    break;
                  case SuspendedOnData:
                  case SuspendedOnAction:
                    if (isThenableResolved(memoizedUpdaters)) {
                      workInProgressSuspendedReason = NotSuspended;
                      workInProgressThrownValue = null;
                      replaySuspendedUnitOfWork(lanes);
                      break;
                    }
                    lanes = function() {
                      workInProgressSuspendedReason !== SuspendedOnData && workInProgressSuspendedReason !== SuspendedOnAction || workInProgressRoot !== root3 || (workInProgressSuspendedReason = SuspendedAndReadyToContinue);
                      ensureRootIsScheduled(root3);
                    };
                    memoizedUpdaters.then(lanes, lanes);
                    break a;
                  case SuspendedOnImmediate:
                    workInProgressSuspendedReason = SuspendedAndReadyToContinue;
                    break a;
                  case SuspendedOnInstance:
                    workInProgressSuspendedReason = SuspendedOnInstanceAndReadyToContinue;
                    break a;
                  case SuspendedAndReadyToContinue:
                    isThenableResolved(memoizedUpdaters) ? (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, replaySuspendedUnitOfWork(lanes)) : (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop(
                      root3,
                      lanes,
                      memoizedUpdaters,
                      SuspendedAndReadyToContinue
                    ));
                    break;
                  case SuspendedOnInstanceAndReadyToContinue:
                    var resource = null;
                    switch (workInProgress.tag) {
                      case 26:
                        resource = workInProgress.memoizedState;
                      case 5:
                      case 27:
                        var hostFiber = workInProgress;
                        if (resource ? preloadResource(resource) : hostFiber.stateNode.complete) {
                          workInProgressSuspendedReason = NotSuspended;
                          workInProgressThrownValue = null;
                          var sibling = hostFiber.sibling;
                          if (null !== sibling) workInProgress = sibling;
                          else {
                            var returnFiber = hostFiber.return;
                            null !== returnFiber ? (workInProgress = returnFiber, completeUnitOfWork(returnFiber)) : workInProgress = null;
                          }
                          break b;
                        }
                        break;
                      default:
                        console.error(
                          "Unexpected type of fiber triggered a suspensey commit. This is a bug in React."
                        );
                    }
                    workInProgressSuspendedReason = NotSuspended;
                    workInProgressThrownValue = null;
                    throwAndUnwindWorkLoop(
                      root3,
                      lanes,
                      memoizedUpdaters,
                      SuspendedOnInstanceAndReadyToContinue
                    );
                    break;
                  case SuspendedOnDeprecatedThrowPromise:
                    workInProgressSuspendedReason = NotSuspended;
                    workInProgressThrownValue = null;
                    throwAndUnwindWorkLoop(
                      root3,
                      lanes,
                      memoizedUpdaters,
                      SuspendedOnDeprecatedThrowPromise
                    );
                    break;
                  case SuspendedOnHydration:
                    resetWorkInProgressStack();
                    workInProgressRootExitStatus = RootSuspendedAtTheShell;
                    break a;
                  default:
                    throw Error(
                      "Unexpected SuspendedReason. This is a bug in React."
                    );
                }
              null !== ReactSharedInternals.actQueue ? workLoopSync() : workLoopConcurrentByScheduler();
              break;
            } catch (thrownValue$9) {
              handleThrow(root3, thrownValue$9);
            }
          while (1);
          resetContextDependencies();
          ReactSharedInternals.H = prevDispatcher;
          ReactSharedInternals.A = prevAsyncDispatcher;
          executionContext = prevExecutionContext;
          if (null !== workInProgress) return RootInProgress;
          workInProgressRoot = null;
          workInProgressRootRenderLanes = 0;
          finishQueueingConcurrentUpdates();
          return workInProgressRootExitStatus;
        }
        function workLoopConcurrentByScheduler() {
          for (; null !== workInProgress && !shouldYield(); )
            performUnitOfWork(workInProgress);
        }
        function performUnitOfWork(unitOfWork) {
          var current2 = unitOfWork.alternate;
          (unitOfWork.mode & ProfileMode) !== NoMode ? (startProfilerTimer(unitOfWork), current2 = runWithFiberInDEV(
            unitOfWork,
            beginWork,
            current2,
            unitOfWork,
            entangledRenderLanes
          ), stopProfilerTimerIfRunningAndRecordDuration(unitOfWork)) : current2 = runWithFiberInDEV(
            unitOfWork,
            beginWork,
            current2,
            unitOfWork,
            entangledRenderLanes
          );
          unitOfWork.memoizedProps = unitOfWork.pendingProps;
          null === current2 ? completeUnitOfWork(unitOfWork) : workInProgress = current2;
        }
        function replaySuspendedUnitOfWork(unitOfWork) {
          var next2 = runWithFiberInDEV(unitOfWork, replayBeginWork, unitOfWork);
          unitOfWork.memoizedProps = unitOfWork.pendingProps;
          null === next2 ? completeUnitOfWork(unitOfWork) : workInProgress = next2;
        }
        function replayBeginWork(unitOfWork) {
          var current2 = unitOfWork.alternate, isProfilingMode = (unitOfWork.mode & ProfileMode) !== NoMode;
          isProfilingMode && startProfilerTimer(unitOfWork);
          switch (unitOfWork.tag) {
            case 15:
            case 0:
              current2 = replayFunctionComponent(
                current2,
                unitOfWork,
                unitOfWork.pendingProps,
                unitOfWork.type,
                void 0,
                workInProgressRootRenderLanes
              );
              break;
            case 11:
              current2 = replayFunctionComponent(
                current2,
                unitOfWork,
                unitOfWork.pendingProps,
                unitOfWork.type.render,
                unitOfWork.ref,
                workInProgressRootRenderLanes
              );
              break;
            case 5:
              resetHooksOnUnwind(unitOfWork);
            default:
              unwindInterruptedWork(current2, unitOfWork), unitOfWork = workInProgress = resetWorkInProgress(unitOfWork, entangledRenderLanes), current2 = beginWork(current2, unitOfWork, entangledRenderLanes);
          }
          isProfilingMode && stopProfilerTimerIfRunningAndRecordDuration(unitOfWork);
          return current2;
        }
        function throwAndUnwindWorkLoop(root3, unitOfWork, thrownValue, suspendedReason) {
          resetContextDependencies();
          resetHooksOnUnwind(unitOfWork);
          thenableState$1 = null;
          thenableIndexCounter$1 = 0;
          var returnFiber = unitOfWork.return;
          try {
            if (throwException(
              root3,
              returnFiber,
              unitOfWork,
              thrownValue,
              workInProgressRootRenderLanes
            )) {
              workInProgressRootExitStatus = RootFatalErrored;
              logUncaughtError(
                root3,
                createCapturedValueAtFiber(thrownValue, root3.current)
              );
              workInProgress = null;
              return;
            }
          } catch (error2) {
            if (null !== returnFiber) throw workInProgress = returnFiber, error2;
            workInProgressRootExitStatus = RootFatalErrored;
            logUncaughtError(
              root3,
              createCapturedValueAtFiber(thrownValue, root3.current)
            );
            workInProgress = null;
            return;
          }
          if (unitOfWork.flags & 32768) {
            if (isHydrating || suspendedReason === SuspendedOnError) root3 = true;
            else if (workInProgressRootIsPrerendering || 0 !== (workInProgressRootRenderLanes & 536870912))
              root3 = false;
            else if (workInProgressRootDidSkipSuspendedSiblings = root3 = true, suspendedReason === SuspendedOnData || suspendedReason === SuspendedOnAction || suspendedReason === SuspendedOnImmediate || suspendedReason === SuspendedOnDeprecatedThrowPromise)
              suspendedReason = suspenseHandlerStackCursor.current, null !== suspendedReason && 13 === suspendedReason.tag && (suspendedReason.flags |= 16384);
            unwindUnitOfWork(unitOfWork, root3);
          } else completeUnitOfWork(unitOfWork);
        }
        function completeUnitOfWork(unitOfWork) {
          var completedWork = unitOfWork;
          do {
            if (0 !== (completedWork.flags & 32768)) {
              unwindUnitOfWork(
                completedWork,
                workInProgressRootDidSkipSuspendedSiblings
              );
              return;
            }
            var current2 = completedWork.alternate;
            unitOfWork = completedWork.return;
            startProfilerTimer(completedWork);
            current2 = runWithFiberInDEV(
              completedWork,
              completeWork,
              current2,
              completedWork,
              entangledRenderLanes
            );
            (completedWork.mode & ProfileMode) !== NoMode && stopProfilerTimerIfRunningAndRecordIncompleteDuration(completedWork);
            if (null !== current2) {
              workInProgress = current2;
              return;
            }
            completedWork = completedWork.sibling;
            if (null !== completedWork) {
              workInProgress = completedWork;
              return;
            }
            workInProgress = completedWork = unitOfWork;
          } while (null !== completedWork);
          workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootCompleted);
        }
        function unwindUnitOfWork(unitOfWork, skipSiblings) {
          do {
            var next2 = unwindWork(unitOfWork.alternate, unitOfWork);
            if (null !== next2) {
              next2.flags &= 32767;
              workInProgress = next2;
              return;
            }
            if ((unitOfWork.mode & ProfileMode) !== NoMode) {
              stopProfilerTimerIfRunningAndRecordIncompleteDuration(unitOfWork);
              next2 = unitOfWork.actualDuration;
              for (var child = unitOfWork.child; null !== child; )
                next2 += child.actualDuration, child = child.sibling;
              unitOfWork.actualDuration = next2;
            }
            next2 = unitOfWork.return;
            null !== next2 && (next2.flags |= 32768, next2.subtreeFlags = 0, next2.deletions = null);
            if (!skipSiblings && (unitOfWork = unitOfWork.sibling, null !== unitOfWork)) {
              workInProgress = unitOfWork;
              return;
            }
            workInProgress = unitOfWork = next2;
          } while (null !== unitOfWork);
          workInProgressRootExitStatus = RootSuspendedAtTheShell;
          workInProgress = null;
        }
        function commitRoot(root3, finishedWork, lanes, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, spawnedLane, updatedLanes, suspendedRetryLanes, exitStatus, suspendedState, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime) {
          root3.cancelPendingCommit = null;
          do
            flushPendingEffects();
          while (pendingEffectsStatus !== NO_PENDING_EFFECTS);
          ReactStrictModeWarnings.flushLegacyContextWarning();
          ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();
          if ((executionContext & (RenderContext | CommitContext)) !== NoContext)
            throw Error("Should not already be working.");
          setCurrentTrackFromLanes(lanes);
          exitStatus === RootErrored ? logErroredRenderPhase(
            completedRenderStartTime,
            completedRenderEndTime,
            lanes,
            workInProgressUpdateTask
          ) : null !== recoverableErrors ? logRecoveredRenderPhase(
            completedRenderStartTime,
            completedRenderEndTime,
            lanes,
            recoverableErrors,
            null !== finishedWork && null !== finishedWork.alternate && finishedWork.alternate.memoizedState.isDehydrated && 0 !== (finishedWork.flags & 256),
            workInProgressUpdateTask
          ) : logRenderPhase(
            completedRenderStartTime,
            completedRenderEndTime,
            lanes,
            workInProgressUpdateTask
          );
          if (null !== finishedWork) {
            0 === lanes && console.error(
              "finishedLanes should not be empty during a commit. This is a bug in React."
            );
            if (finishedWork === root3.current)
              throw Error(
                "Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue."
              );
            didIncludeRenderPhaseUpdate = finishedWork.lanes | finishedWork.childLanes;
            didIncludeRenderPhaseUpdate |= concurrentlyUpdatedLanes;
            markRootFinished(
              root3,
              lanes,
              didIncludeRenderPhaseUpdate,
              spawnedLane,
              updatedLanes,
              suspendedRetryLanes
            );
            root3 === workInProgressRoot && (workInProgress = workInProgressRoot = null, workInProgressRootRenderLanes = 0);
            pendingFinishedWork = finishedWork;
            pendingEffectsRoot = root3;
            pendingEffectsLanes = lanes;
            pendingEffectsRemainingLanes = didIncludeRenderPhaseUpdate;
            pendingPassiveTransitions = transitions;
            pendingRecoverableErrors = recoverableErrors;
            pendingEffectsRenderEndTime = completedRenderEndTime;
            pendingSuspendedCommitReason = suspendedCommitReason;
            pendingDelayedCommitReason = IMMEDIATE_COMMIT;
            pendingSuspendedViewTransitionReason = null;
            0 !== finishedWork.actualDuration || 0 !== (finishedWork.subtreeFlags & 10256) || 0 !== (finishedWork.flags & 10256) ? (root3.callbackNode = null, root3.callbackPriority = 0, scheduleCallback$1(NormalPriority$1, function() {
              schedulerEvent = window.event;
              pendingDelayedCommitReason === IMMEDIATE_COMMIT && (pendingDelayedCommitReason = DELAYED_PASSIVE_COMMIT);
              flushPassiveEffects();
              return null;
            })) : (root3.callbackNode = null, root3.callbackPriority = 0);
            commitErrors = null;
            commitStartTime = now();
            null !== suspendedCommitReason && logSuspendedCommitPhase(
              completedRenderEndTime,
              commitStartTime,
              suspendedCommitReason,
              workInProgressUpdateTask
            );
            recoverableErrors = 0 !== (finishedWork.flags & 13878);
            if (0 !== (finishedWork.subtreeFlags & 13878) || recoverableErrors) {
              recoverableErrors = ReactSharedInternals.T;
              ReactSharedInternals.T = null;
              transitions = ReactDOMSharedInternals.p;
              ReactDOMSharedInternals.p = DiscreteEventPriority;
              spawnedLane = executionContext;
              executionContext |= CommitContext;
              try {
                commitBeforeMutationEffects(root3, finishedWork, lanes);
              } finally {
                executionContext = spawnedLane, ReactDOMSharedInternals.p = transitions, ReactSharedInternals.T = recoverableErrors;
              }
            }
            pendingEffectsStatus = PENDING_MUTATION_PHASE;
            flushMutationEffects();
            flushLayoutEffects();
            flushSpawnedWork();
          }
        }
        function flushMutationEffects() {
          if (pendingEffectsStatus === PENDING_MUTATION_PHASE) {
            pendingEffectsStatus = NO_PENDING_EFFECTS;
            var root3 = pendingEffectsRoot, finishedWork = pendingFinishedWork, lanes = pendingEffectsLanes, rootMutationHasEffect = 0 !== (finishedWork.flags & 13878);
            if (0 !== (finishedWork.subtreeFlags & 13878) || rootMutationHasEffect) {
              rootMutationHasEffect = ReactSharedInternals.T;
              ReactSharedInternals.T = null;
              var previousPriority = ReactDOMSharedInternals.p;
              ReactDOMSharedInternals.p = DiscreteEventPriority;
              var prevExecutionContext = executionContext;
              executionContext |= CommitContext;
              try {
                inProgressLanes = lanes;
                inProgressRoot = root3;
                resetComponentEffectTimers();
                commitMutationEffectsOnFiber(finishedWork, root3);
                inProgressRoot = inProgressLanes = null;
                lanes = selectionInformation;
                var curFocusedElem = getActiveElementDeep(root3.containerInfo), priorFocusedElem = lanes.focusedElem, priorSelectionRange = lanes.selectionRange;
                if (curFocusedElem !== priorFocusedElem && priorFocusedElem && priorFocusedElem.ownerDocument && containsNode(
                  priorFocusedElem.ownerDocument.documentElement,
                  priorFocusedElem
                )) {
                  if (null !== priorSelectionRange && hasSelectionCapabilities(priorFocusedElem)) {
                    var start = priorSelectionRange.start, end = priorSelectionRange.end;
                    void 0 === end && (end = start);
                    if ("selectionStart" in priorFocusedElem)
                      priorFocusedElem.selectionStart = start, priorFocusedElem.selectionEnd = Math.min(
                        end,
                        priorFocusedElem.value.length
                      );
                    else {
                      var doc = priorFocusedElem.ownerDocument || document, win = doc && doc.defaultView || window;
                      if (win.getSelection) {
                        var selection = win.getSelection(), length2 = priorFocusedElem.textContent.length, start$jscomp$0 = Math.min(
                          priorSelectionRange.start,
                          length2
                        ), end$jscomp$0 = void 0 === priorSelectionRange.end ? start$jscomp$0 : Math.min(priorSelectionRange.end, length2);
                        !selection.extend && start$jscomp$0 > end$jscomp$0 && (curFocusedElem = end$jscomp$0, end$jscomp$0 = start$jscomp$0, start$jscomp$0 = curFocusedElem);
                        var startMarker = getNodeForCharacterOffset(
                          priorFocusedElem,
                          start$jscomp$0
                        ), endMarker = getNodeForCharacterOffset(
                          priorFocusedElem,
                          end$jscomp$0
                        );
                        if (startMarker && endMarker && (1 !== selection.rangeCount || selection.anchorNode !== startMarker.node || selection.anchorOffset !== startMarker.offset || selection.focusNode !== endMarker.node || selection.focusOffset !== endMarker.offset)) {
                          var range2 = doc.createRange();
                          range2.setStart(startMarker.node, startMarker.offset);
                          selection.removeAllRanges();
                          start$jscomp$0 > end$jscomp$0 ? (selection.addRange(range2), selection.extend(endMarker.node, endMarker.offset)) : (range2.setEnd(endMarker.node, endMarker.offset), selection.addRange(range2));
                        }
                      }
                    }
                  }
                  doc = [];
                  for (selection = priorFocusedElem; selection = selection.parentNode; )
                    1 === selection.nodeType && doc.push({
                      element: selection,
                      left: selection.scrollLeft,
                      top: selection.scrollTop
                    });
                  "function" === typeof priorFocusedElem.focus && priorFocusedElem.focus();
                  for (priorFocusedElem = 0; priorFocusedElem < doc.length; priorFocusedElem++) {
                    var info = doc[priorFocusedElem];
                    info.element.scrollLeft = info.left;
                    info.element.scrollTop = info.top;
                  }
                }
                _enabled = !!eventsEnabled;
                selectionInformation = eventsEnabled = null;
              } finally {
                executionContext = prevExecutionContext, ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = rootMutationHasEffect;
              }
            }
            root3.current = finishedWork;
            pendingEffectsStatus = PENDING_LAYOUT_PHASE;
          }
        }
        function flushLayoutEffects() {
          if (pendingEffectsStatus === PENDING_LAYOUT_PHASE) {
            pendingEffectsStatus = NO_PENDING_EFFECTS;
            var suspendedViewTransitionReason = pendingSuspendedViewTransitionReason;
            if (null !== suspendedViewTransitionReason) {
              commitStartTime = now();
              var startTime = commitEndTime, endTime = commitStartTime;
              !supportsUserTiming || endTime <= startTime || (animatingTask ? animatingTask.run(
                console.timeStamp.bind(
                  console,
                  suspendedViewTransitionReason,
                  startTime,
                  endTime,
                  currentTrack,
                  LANES_TRACK_GROUP,
                  "secondary-light"
                )
              ) : console.timeStamp(
                suspendedViewTransitionReason,
                startTime,
                endTime,
                currentTrack,
                LANES_TRACK_GROUP,
                "secondary-light"
              ));
            }
            suspendedViewTransitionReason = pendingEffectsRoot;
            startTime = pendingFinishedWork;
            endTime = pendingEffectsLanes;
            var rootHasLayoutEffect = 0 !== (startTime.flags & 8772);
            if (0 !== (startTime.subtreeFlags & 8772) || rootHasLayoutEffect) {
              rootHasLayoutEffect = ReactSharedInternals.T;
              ReactSharedInternals.T = null;
              var _previousPriority = ReactDOMSharedInternals.p;
              ReactDOMSharedInternals.p = DiscreteEventPriority;
              var _prevExecutionContext = executionContext;
              executionContext |= CommitContext;
              try {
                inProgressLanes = endTime, inProgressRoot = suspendedViewTransitionReason, resetComponentEffectTimers(), commitLayoutEffectOnFiber(
                  suspendedViewTransitionReason,
                  startTime.alternate,
                  startTime
                ), inProgressRoot = inProgressLanes = null;
              } finally {
                executionContext = _prevExecutionContext, ReactDOMSharedInternals.p = _previousPriority, ReactSharedInternals.T = rootHasLayoutEffect;
              }
            }
            suspendedViewTransitionReason = pendingEffectsRenderEndTime;
            startTime = pendingSuspendedCommitReason;
            commitEndTime = now();
            suspendedViewTransitionReason = null === startTime ? suspendedViewTransitionReason : commitStartTime;
            startTime = commitEndTime;
            endTime = pendingDelayedCommitReason === ABORTED_VIEW_TRANSITION_COMMIT;
            rootHasLayoutEffect = workInProgressUpdateTask;
            null !== commitErrors ? logCommitErrored(
              suspendedViewTransitionReason,
              startTime,
              commitErrors,
              false,
              rootHasLayoutEffect
            ) : !supportsUserTiming || startTime <= suspendedViewTransitionReason || (rootHasLayoutEffect ? rootHasLayoutEffect.run(
              console.timeStamp.bind(
                console,
                endTime ? "Commit Interrupted View Transition" : "Commit",
                suspendedViewTransitionReason,
                startTime,
                currentTrack,
                LANES_TRACK_GROUP,
                endTime ? "error" : "secondary-dark"
              )
            ) : console.timeStamp(
              endTime ? "Commit Interrupted View Transition" : "Commit",
              suspendedViewTransitionReason,
              startTime,
              currentTrack,
              LANES_TRACK_GROUP,
              endTime ? "error" : "secondary-dark"
            ));
            pendingEffectsStatus = PENDING_AFTER_MUTATION_PHASE;
          }
        }
        function flushSpawnedWork() {
          if (pendingEffectsStatus === PENDING_SPAWNED_WORK || pendingEffectsStatus === PENDING_AFTER_MUTATION_PHASE) {
            if (pendingEffectsStatus === PENDING_SPAWNED_WORK) {
              var startViewTransitionStartTime = commitEndTime;
              commitEndTime = now();
              var endTime = commitEndTime, abortedViewTransition = pendingDelayedCommitReason === ABORTED_VIEW_TRANSITION_COMMIT;
              !supportsUserTiming || endTime <= startViewTransitionStartTime || (animatingTask ? animatingTask.run(
                console.timeStamp.bind(
                  console,
                  abortedViewTransition ? "Interrupted View Transition" : "Starting Animation",
                  startViewTransitionStartTime,
                  endTime,
                  currentTrack,
                  LANES_TRACK_GROUP,
                  abortedViewTransition ? "error" : "secondary-light"
                )
              ) : console.timeStamp(
                abortedViewTransition ? "Interrupted View Transition" : "Starting Animation",
                startViewTransitionStartTime,
                endTime,
                currentTrack,
                LANES_TRACK_GROUP,
                abortedViewTransition ? " error" : "secondary-light"
              ));
              pendingDelayedCommitReason !== ABORTED_VIEW_TRANSITION_COMMIT && (pendingDelayedCommitReason = ANIMATION_STARTED_COMMIT);
            }
            pendingEffectsStatus = NO_PENDING_EFFECTS;
            requestPaint();
            startViewTransitionStartTime = pendingEffectsRoot;
            var finishedWork = pendingFinishedWork;
            endTime = pendingEffectsLanes;
            abortedViewTransition = pendingRecoverableErrors;
            var rootDidHavePassiveEffects = 0 !== finishedWork.actualDuration || 0 !== (finishedWork.subtreeFlags & 10256) || 0 !== (finishedWork.flags & 10256);
            rootDidHavePassiveEffects ? pendingEffectsStatus = PENDING_PASSIVE_PHASE : (pendingEffectsStatus = NO_PENDING_EFFECTS, pendingFinishedWork = pendingEffectsRoot = null, releaseRootPooledCache(
              startViewTransitionStartTime,
              startViewTransitionStartTime.pendingLanes
            ), nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null);
            var remainingLanes = startViewTransitionStartTime.pendingLanes;
            0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null);
            rootDidHavePassiveEffects || commitDoubleInvokeEffectsInDEV(startViewTransitionStartTime);
            remainingLanes = lanesToEventPriority(endTime);
            finishedWork = finishedWork.stateNode;
            if (injectedHook && "function" === typeof injectedHook.onCommitFiberRoot)
              try {
                var didError = 128 === (finishedWork.current.flags & 128);
                switch (remainingLanes) {
                  case DiscreteEventPriority:
                    var schedulerPriority = ImmediatePriority;
                    break;
                  case ContinuousEventPriority:
                    schedulerPriority = UserBlockingPriority;
                    break;
                  case DefaultEventPriority:
                    schedulerPriority = NormalPriority$1;
                    break;
                  case IdleEventPriority:
                    schedulerPriority = IdlePriority;
                    break;
                  default:
                    schedulerPriority = NormalPriority$1;
                }
                injectedHook.onCommitFiberRoot(
                  rendererID,
                  finishedWork,
                  schedulerPriority,
                  didError
                );
              } catch (err) {
                hasLoggedError || (hasLoggedError = true, console.error(
                  "React instrumentation encountered an error: %o",
                  err
                ));
              }
            isDevToolsPresent && startViewTransitionStartTime.memoizedUpdaters.clear();
            onCommitRoot();
            if (null !== abortedViewTransition) {
              didError = ReactSharedInternals.T;
              schedulerPriority = ReactDOMSharedInternals.p;
              ReactDOMSharedInternals.p = DiscreteEventPriority;
              ReactSharedInternals.T = null;
              try {
                var onRecoverableError = startViewTransitionStartTime.onRecoverableError;
                for (finishedWork = 0; finishedWork < abortedViewTransition.length; finishedWork++) {
                  var recoverableError = abortedViewTransition[finishedWork], errorInfo = makeErrorInfo(recoverableError.stack);
                  runWithFiberInDEV(
                    recoverableError.source,
                    onRecoverableError,
                    recoverableError.value,
                    errorInfo
                  );
                }
              } finally {
                ReactSharedInternals.T = didError, ReactDOMSharedInternals.p = schedulerPriority;
              }
            }
            0 !== (pendingEffectsLanes & 3) && flushPendingEffects();
            ensureRootIsScheduled(startViewTransitionStartTime);
            remainingLanes = startViewTransitionStartTime.pendingLanes;
            0 !== (endTime & 261930) && 0 !== (remainingLanes & 42) ? (nestedUpdateScheduled = true, startViewTransitionStartTime === rootWithNestedUpdates ? nestedUpdateCount++ : (nestedUpdateCount = 0, rootWithNestedUpdates = startViewTransitionStartTime)) : nestedUpdateCount = 0;
            rootDidHavePassiveEffects || finalizeRender(endTime, commitEndTime);
            flushSyncWorkAcrossRoots_impl(0, false);
          }
        }
        function makeErrorInfo(componentStack) {
          componentStack = { componentStack };
          Object.defineProperty(componentStack, "digest", {
            get: function() {
              console.error(
                'You are accessing "digest" from the errorInfo object passed to onRecoverableError. This property is no longer provided as part of errorInfo but can be accessed as a property of the Error instance itself.'
              );
            }
          });
          return componentStack;
        }
        function releaseRootPooledCache(root3, remainingLanes) {
          0 === (root3.pooledCacheLanes &= remainingLanes) && (remainingLanes = root3.pooledCache, null != remainingLanes && (root3.pooledCache = null, releaseCache(remainingLanes)));
        }
        function flushPendingEffects() {
          flushMutationEffects();
          flushLayoutEffects();
          flushSpawnedWork();
          return flushPassiveEffects();
        }
        function flushPassiveEffects() {
          if (pendingEffectsStatus !== PENDING_PASSIVE_PHASE) return false;
          var root3 = pendingEffectsRoot, remainingLanes = pendingEffectsRemainingLanes;
          pendingEffectsRemainingLanes = 0;
          var renderPriority = lanesToEventPriority(pendingEffectsLanes), priority = 0 === DefaultEventPriority || DefaultEventPriority > renderPriority ? DefaultEventPriority : renderPriority;
          renderPriority = ReactSharedInternals.T;
          var previousPriority = ReactDOMSharedInternals.p;
          try {
            ReactDOMSharedInternals.p = priority;
            ReactSharedInternals.T = null;
            var transitions = pendingPassiveTransitions;
            pendingPassiveTransitions = null;
            priority = pendingEffectsRoot;
            var lanes = pendingEffectsLanes;
            pendingEffectsStatus = NO_PENDING_EFFECTS;
            pendingFinishedWork = pendingEffectsRoot = null;
            pendingEffectsLanes = 0;
            if ((executionContext & (RenderContext | CommitContext)) !== NoContext)
              throw Error("Cannot flush passive effects while already rendering.");
            setCurrentTrackFromLanes(lanes);
            isFlushingPassiveEffects = true;
            didScheduleUpdateDuringPassiveEffects = false;
            var passiveEffectStartTime = 0;
            commitErrors = null;
            passiveEffectStartTime = now$1();
            if (pendingDelayedCommitReason === ANIMATION_STARTED_COMMIT)
              logAnimatingPhase(
                commitEndTime,
                passiveEffectStartTime,
                animatingTask
              );
            else {
              var startTime = commitEndTime, endTime = passiveEffectStartTime, delayedUntilPaint = pendingDelayedCommitReason === DELAYED_PASSIVE_COMMIT;
              !supportsUserTiming || endTime <= startTime || (workInProgressUpdateTask ? workInProgressUpdateTask.run(
                console.timeStamp.bind(
                  console,
                  delayedUntilPaint ? "Waiting for Paint" : "Waiting",
                  startTime,
                  endTime,
                  currentTrack,
                  LANES_TRACK_GROUP,
                  "secondary-light"
                )
              ) : console.timeStamp(
                delayedUntilPaint ? "Waiting for Paint" : "Waiting",
                startTime,
                endTime,
                currentTrack,
                LANES_TRACK_GROUP,
                "secondary-light"
              ));
            }
            startTime = executionContext;
            executionContext |= CommitContext;
            var finishedWork = priority.current;
            resetComponentEffectTimers();
            commitPassiveUnmountOnFiber(finishedWork);
            var finishedWork$jscomp$0 = priority.current;
            finishedWork = pendingEffectsRenderEndTime;
            resetComponentEffectTimers();
            commitPassiveMountOnFiber(
              priority,
              finishedWork$jscomp$0,
              lanes,
              transitions,
              finishedWork
            );
            commitDoubleInvokeEffectsInDEV(priority);
            executionContext = startTime;
            var passiveEffectsEndTime = now$1();
            finishedWork$jscomp$0 = passiveEffectStartTime;
            finishedWork = workInProgressUpdateTask;
            null !== commitErrors ? logCommitErrored(
              finishedWork$jscomp$0,
              passiveEffectsEndTime,
              commitErrors,
              true,
              finishedWork
            ) : !supportsUserTiming || passiveEffectsEndTime <= finishedWork$jscomp$0 || (finishedWork ? finishedWork.run(
              console.timeStamp.bind(
                console,
                "Remaining Effects",
                finishedWork$jscomp$0,
                passiveEffectsEndTime,
                currentTrack,
                LANES_TRACK_GROUP,
                "secondary-dark"
              )
            ) : console.timeStamp(
              "Remaining Effects",
              finishedWork$jscomp$0,
              passiveEffectsEndTime,
              currentTrack,
              LANES_TRACK_GROUP,
              "secondary-dark"
            ));
            finalizeRender(lanes, passiveEffectsEndTime);
            flushSyncWorkAcrossRoots_impl(0, false);
            didScheduleUpdateDuringPassiveEffects ? priority === rootWithPassiveNestedUpdates ? nestedPassiveUpdateCount++ : (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = priority) : nestedPassiveUpdateCount = 0;
            didScheduleUpdateDuringPassiveEffects = isFlushingPassiveEffects = false;
            if (injectedHook && "function" === typeof injectedHook.onPostCommitFiberRoot)
              try {
                injectedHook.onPostCommitFiberRoot(rendererID, priority);
              } catch (err) {
                hasLoggedError || (hasLoggedError = true, console.error(
                  "React instrumentation encountered an error: %o",
                  err
                ));
              }
            var stateNode = priority.current.stateNode;
            stateNode.effectDuration = 0;
            stateNode.passiveEffectDuration = 0;
            return true;
          } finally {
            ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = renderPriority, releaseRootPooledCache(root3, remainingLanes);
          }
        }
        function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error2) {
          sourceFiber = createCapturedValueAtFiber(error2, sourceFiber);
          recordEffectError(sourceFiber);
          sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2);
          rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2);
          null !== rootFiber && (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber));
        }
        function captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error2) {
          isRunningInsertionEffect = false;
          if (3 === sourceFiber.tag)
            captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error2);
          else {
            for (; null !== nearestMountedAncestor; ) {
              if (3 === nearestMountedAncestor.tag) {
                captureCommitPhaseErrorOnRoot(
                  nearestMountedAncestor,
                  sourceFiber,
                  error2
                );
                return;
              }
              if (1 === nearestMountedAncestor.tag) {
                var instance2 = nearestMountedAncestor.stateNode;
                if ("function" === typeof nearestMountedAncestor.type.getDerivedStateFromError || "function" === typeof instance2.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(instance2))) {
                  sourceFiber = createCapturedValueAtFiber(error2, sourceFiber);
                  recordEffectError(sourceFiber);
                  error2 = createClassErrorUpdate(2);
                  instance2 = enqueueUpdate(nearestMountedAncestor, error2, 2);
                  null !== instance2 && (initializeClassErrorUpdate(
                    error2,
                    instance2,
                    nearestMountedAncestor,
                    sourceFiber
                  ), markRootUpdated$1(instance2, 2), ensureRootIsScheduled(instance2));
                  return;
                }
              }
              nearestMountedAncestor = nearestMountedAncestor.return;
            }
            console.error(
              "Internal React error: Attempted to capture a commit phase error inside a detached tree. This indicates a bug in React. Potential causes include deleting the same fiber more than once, committing an already-finished tree, or an inconsistent return pointer.\n\nError message:\n\n%s",
              error2
            );
          }
        }
        function attachPingListener(root3, wakeable, lanes) {
          var pingCache = root3.pingCache;
          if (null === pingCache) {
            pingCache = root3.pingCache = new PossiblyWeakMap();
            var threadIDs = /* @__PURE__ */ new Set();
            pingCache.set(wakeable, threadIDs);
          } else
            threadIDs = pingCache.get(wakeable), void 0 === threadIDs && (threadIDs = /* @__PURE__ */ new Set(), pingCache.set(wakeable, threadIDs));
          threadIDs.has(lanes) || (workInProgressRootDidAttachPingListener = true, threadIDs.add(lanes), pingCache = pingSuspendedRoot.bind(null, root3, wakeable, lanes), isDevToolsPresent && restorePendingUpdaters(root3, lanes), wakeable.then(pingCache, pingCache));
        }
        function pingSuspendedRoot(root3, wakeable, pingedLanes) {
          var pingCache = root3.pingCache;
          null !== pingCache && pingCache.delete(wakeable);
          root3.pingedLanes |= root3.suspendedLanes & pingedLanes;
          root3.warmLanes &= ~pingedLanes;
          0 !== (pingedLanes & 127) ? 0 > blockingUpdateTime && (blockingClampTime = blockingUpdateTime = now(), blockingUpdateTask = createTask("Promise Resolved"), blockingUpdateType = PINGED_UPDATE) : 0 !== (pingedLanes & 4194048) && 0 > transitionUpdateTime && (transitionClampTime = transitionUpdateTime = now(), transitionUpdateTask = createTask("Promise Resolved"), transitionUpdateType = PINGED_UPDATE);
          isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && console.error(
            "A suspended resource finished loading inside a test, but the event was not wrapped in act(...).\n\nWhen testing, code that resolves suspended data should be wrapped into act(...):\n\nact(() => {\n  /* finish loading suspended data */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act"
          );
          workInProgressRoot === root3 && (workInProgressRootRenderLanes & pingedLanes) === pingedLanes && (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && (workInProgressRootRenderLanes & 62914560) === workInProgressRootRenderLanes && now$1() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS ? (executionContext & RenderContext) === NoContext && prepareFreshStack(root3, 0) : workInProgressRootPingedLanes |= pingedLanes, workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes && (workInProgressSuspendedRetryLanes = 0));
          ensureRootIsScheduled(root3);
        }
        function retryTimedOutBoundary(boundaryFiber, retryLane) {
          0 === retryLane && (retryLane = claimNextRetryLane());
          boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);
          null !== boundaryFiber && (markRootUpdated$1(boundaryFiber, retryLane), ensureRootIsScheduled(boundaryFiber));
        }
        function retryDehydratedSuspenseBoundary(boundaryFiber) {
          var suspenseState = boundaryFiber.memoizedState, retryLane = 0;
          null !== suspenseState && (retryLane = suspenseState.retryLane);
          retryTimedOutBoundary(boundaryFiber, retryLane);
        }
        function resolveRetryWakeable(boundaryFiber, wakeable) {
          var retryLane = 0;
          switch (boundaryFiber.tag) {
            case 31:
            case 13:
              var retryCache = boundaryFiber.stateNode;
              var suspenseState = boundaryFiber.memoizedState;
              null !== suspenseState && (retryLane = suspenseState.retryLane);
              break;
            case 19:
              retryCache = boundaryFiber.stateNode;
              break;
            case 22:
              retryCache = boundaryFiber.stateNode._retryCache;
              break;
            default:
              throw Error(
                "Pinged unknown suspense boundary type. This is probably a bug in React."
              );
          }
          null !== retryCache && retryCache.delete(wakeable);
          retryTimedOutBoundary(boundaryFiber, retryLane);
        }
        function recursivelyTraverseAndDoubleInvokeEffectsInDEV(root$jscomp$0, parentFiber, isInStrictMode) {
          if (0 !== (parentFiber.subtreeFlags & 67117056))
            for (parentFiber = parentFiber.child; null !== parentFiber; ) {
              var root3 = root$jscomp$0, fiber = parentFiber, isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE;
              isStrictModeFiber = isInStrictMode || isStrictModeFiber;
              22 !== fiber.tag ? fiber.flags & 67108864 ? isStrictModeFiber && runWithFiberInDEV(
                fiber,
                doubleInvokeEffectsOnFiber,
                root3,
                fiber
              ) : recursivelyTraverseAndDoubleInvokeEffectsInDEV(
                root3,
                fiber,
                isStrictModeFiber
              ) : null === fiber.memoizedState && (isStrictModeFiber && fiber.flags & 8192 ? runWithFiberInDEV(
                fiber,
                doubleInvokeEffectsOnFiber,
                root3,
                fiber
              ) : fiber.subtreeFlags & 67108864 && runWithFiberInDEV(
                fiber,
                recursivelyTraverseAndDoubleInvokeEffectsInDEV,
                root3,
                fiber,
                isStrictModeFiber
              ));
              parentFiber = parentFiber.sibling;
            }
        }
        function doubleInvokeEffectsOnFiber(root3, fiber) {
          setIsStrictModeForDevtools(true);
          try {
            disappearLayoutEffects(fiber), disconnectPassiveEffect(fiber), reappearLayoutEffects(root3, fiber.alternate, fiber, false), reconnectPassiveEffects(root3, fiber, 0, null, false, 0);
          } finally {
            setIsStrictModeForDevtools(false);
          }
        }
        function commitDoubleInvokeEffectsInDEV(root3) {
          var doubleInvokeEffects = true;
          root3.current.mode & (StrictLegacyMode | StrictEffectsMode) || (doubleInvokeEffects = false);
          recursivelyTraverseAndDoubleInvokeEffectsInDEV(
            root3,
            root3.current,
            doubleInvokeEffects
          );
        }
        function warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) {
          if ((executionContext & RenderContext) === NoContext) {
            var tag = fiber.tag;
            if (3 === tag || 1 === tag || 0 === tag || 11 === tag || 14 === tag || 15 === tag) {
              tag = getComponentNameFromFiber(fiber) || "ReactComponent";
              if (null !== didWarnStateUpdateForNotYetMountedComponent) {
                if (didWarnStateUpdateForNotYetMountedComponent.has(tag)) return;
                didWarnStateUpdateForNotYetMountedComponent.add(tag);
              } else didWarnStateUpdateForNotYetMountedComponent = /* @__PURE__ */ new Set([tag]);
              runWithFiberInDEV(fiber, function() {
                console.error(
                  "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 tries to update the component. Move this work to useEffect instead."
                );
              });
            }
          }
        }
        function restorePendingUpdaters(root3, lanes) {
          isDevToolsPresent && root3.memoizedUpdaters.forEach(function(schedulingFiber) {
            addFiberToLanesMap(root3, schedulingFiber, lanes);
          });
        }
        function scheduleCallback$1(priorityLevel, callback) {
          var actQueue = ReactSharedInternals.actQueue;
          return null !== actQueue ? (actQueue.push(callback), fakeActCallbackNode$1) : scheduleCallback$3(priorityLevel, callback);
        }
        function warnIfUpdatesNotWrappedWithActDEV(fiber) {
          isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && runWithFiberInDEV(fiber, function() {
            console.error(
              "An update to %s inside a test was not wrapped in act(...).\n\nWhen testing, code that causes React state updates should be wrapped into act(...):\n\nact(() => {\n  /* fire events that update state */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act",
              getComponentNameFromFiber(fiber)
            );
          });
        }
        function ensureRootIsScheduled(root3) {
          root3 !== lastScheduledRoot && null === root3.next && (null === lastScheduledRoot ? firstScheduledRoot = lastScheduledRoot = root3 : lastScheduledRoot = lastScheduledRoot.next = root3);
          mightHavePendingSyncWork = true;
          null !== ReactSharedInternals.actQueue ? didScheduleMicrotask_act || (didScheduleMicrotask_act = true, scheduleImmediateRootScheduleTask()) : didScheduleMicrotask || (didScheduleMicrotask = true, scheduleImmediateRootScheduleTask());
        }
        function flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) {
          if (!isFlushingWork && mightHavePendingSyncWork) {
            isFlushingWork = true;
            do {
              var didPerformSomeWork = false;
              for (var root3 = firstScheduledRoot; null !== root3; ) {
                if (!onlyLegacy)
                  if (0 !== syncTransitionLanes) {
                    var pendingLanes = root3.pendingLanes;
                    if (0 === pendingLanes) var nextLanes = 0;
                    else {
                      var suspendedLanes = root3.suspendedLanes, pingedLanes = root3.pingedLanes;
                      nextLanes = (1 << 31 - clz32(42 | syncTransitionLanes) + 1) - 1;
                      nextLanes &= pendingLanes & ~(suspendedLanes & ~pingedLanes);
                      nextLanes = nextLanes & 201326741 ? nextLanes & 201326741 | 1 : nextLanes ? nextLanes | 2 : 0;
                    }
                    0 !== nextLanes && (didPerformSomeWork = true, performSyncWorkOnRoot(root3, nextLanes));
                  } else
                    nextLanes = workInProgressRootRenderLanes, nextLanes = getNextLanes(
                      root3,
                      root3 === workInProgressRoot ? nextLanes : 0,
                      null !== root3.cancelPendingCommit || root3.timeoutHandle !== noTimeout
                    ), 0 === (nextLanes & 3) || checkIfRootIsPrerendering(root3, nextLanes) || (didPerformSomeWork = true, performSyncWorkOnRoot(root3, nextLanes));
                root3 = root3.next;
              }
            } while (didPerformSomeWork);
            isFlushingWork = false;
          }
        }
        function processRootScheduleInImmediateTask() {
          schedulerEvent = window.event;
          processRootScheduleInMicrotask();
        }
        function processRootScheduleInMicrotask() {
          mightHavePendingSyncWork = didScheduleMicrotask_act = didScheduleMicrotask = false;
          var syncTransitionLanes = 0;
          0 !== currentEventTransitionLane && shouldAttemptEagerTransition() && (syncTransitionLanes = currentEventTransitionLane);
          for (var currentTime = now$1(), prev3 = null, root3 = firstScheduledRoot; null !== root3; ) {
            var next2 = root3.next, nextLanes = scheduleTaskForRootDuringMicrotask(root3, currentTime);
            if (0 === nextLanes)
              root3.next = null, null === prev3 ? firstScheduledRoot = next2 : prev3.next = next2, null === next2 && (lastScheduledRoot = prev3);
            else if (prev3 = root3, 0 !== syncTransitionLanes || 0 !== (nextLanes & 3))
              mightHavePendingSyncWork = true;
            root3 = next2;
          }
          pendingEffectsStatus !== NO_PENDING_EFFECTS && pendingEffectsStatus !== PENDING_PASSIVE_PHASE || flushSyncWorkAcrossRoots_impl(syncTransitionLanes, false);
          0 !== currentEventTransitionLane && (currentEventTransitionLane = 0);
        }
        function scheduleTaskForRootDuringMicrotask(root3, currentTime) {
          for (var suspendedLanes = root3.suspendedLanes, pingedLanes = root3.pingedLanes, expirationTimes = root3.expirationTimes, lanes = root3.pendingLanes & -62914561; 0 < lanes; ) {
            var index3 = 31 - clz32(lanes), lane = 1 << index3, expirationTime = expirationTimes[index3];
            if (-1 === expirationTime) {
              if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes))
                expirationTimes[index3] = computeExpirationTime(lane, currentTime);
            } else expirationTime <= currentTime && (root3.expiredLanes |= lane);
            lanes &= ~lane;
          }
          currentTime = workInProgressRoot;
          suspendedLanes = workInProgressRootRenderLanes;
          suspendedLanes = getNextLanes(
            root3,
            root3 === currentTime ? suspendedLanes : 0,
            null !== root3.cancelPendingCommit || root3.timeoutHandle !== noTimeout
          );
          pingedLanes = root3.callbackNode;
          if (0 === suspendedLanes || root3 === currentTime && (workInProgressSuspendedReason === SuspendedOnData || workInProgressSuspendedReason === SuspendedOnAction) || null !== root3.cancelPendingCommit)
            return null !== pingedLanes && cancelCallback(pingedLanes), root3.callbackNode = null, root3.callbackPriority = 0;
          if (0 === (suspendedLanes & 3) || checkIfRootIsPrerendering(root3, suspendedLanes)) {
            currentTime = suspendedLanes & -suspendedLanes;
            if (currentTime !== root3.callbackPriority || null !== ReactSharedInternals.actQueue && pingedLanes !== fakeActCallbackNode)
              cancelCallback(pingedLanes);
            else return currentTime;
            switch (lanesToEventPriority(suspendedLanes)) {
              case DiscreteEventPriority:
              case ContinuousEventPriority:
                suspendedLanes = UserBlockingPriority;
                break;
              case DefaultEventPriority:
                suspendedLanes = NormalPriority$1;
                break;
              case IdleEventPriority:
                suspendedLanes = IdlePriority;
                break;
              default:
                suspendedLanes = NormalPriority$1;
            }
            pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root3);
            null !== ReactSharedInternals.actQueue ? (ReactSharedInternals.actQueue.push(pingedLanes), suspendedLanes = fakeActCallbackNode) : suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes);
            root3.callbackPriority = currentTime;
            root3.callbackNode = suspendedLanes;
            return currentTime;
          }
          null !== pingedLanes && cancelCallback(pingedLanes);
          root3.callbackPriority = 2;
          root3.callbackNode = null;
          return 2;
        }
        function performWorkOnRootViaSchedulerTask(root3, didTimeout) {
          nestedUpdateScheduled = currentUpdateIsNested = false;
          schedulerEvent = window.event;
          if (pendingEffectsStatus !== NO_PENDING_EFFECTS && pendingEffectsStatus !== PENDING_PASSIVE_PHASE)
            return root3.callbackNode = null, root3.callbackPriority = 0, null;
          var originalCallbackNode = root3.callbackNode;
          pendingDelayedCommitReason === IMMEDIATE_COMMIT && (pendingDelayedCommitReason = DELAYED_PASSIVE_COMMIT);
          if (flushPendingEffects() && root3.callbackNode !== originalCallbackNode)
            return null;
          var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes;
          workInProgressRootRenderLanes$jscomp$0 = getNextLanes(
            root3,
            root3 === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0,
            null !== root3.cancelPendingCommit || root3.timeoutHandle !== noTimeout
          );
          if (0 === workInProgressRootRenderLanes$jscomp$0) return null;
          performWorkOnRoot(
            root3,
            workInProgressRootRenderLanes$jscomp$0,
            didTimeout
          );
          scheduleTaskForRootDuringMicrotask(root3, now$1());
          return null != root3.callbackNode && root3.callbackNode === originalCallbackNode ? performWorkOnRootViaSchedulerTask.bind(null, root3) : null;
        }
        function performSyncWorkOnRoot(root3, lanes) {
          if (flushPendingEffects()) return null;
          currentUpdateIsNested = nestedUpdateScheduled;
          nestedUpdateScheduled = false;
          performWorkOnRoot(root3, lanes, true);
        }
        function cancelCallback(callbackNode) {
          callbackNode !== fakeActCallbackNode && null !== callbackNode && cancelCallback$1(callbackNode);
        }
        function scheduleImmediateRootScheduleTask() {
          null !== ReactSharedInternals.actQueue && ReactSharedInternals.actQueue.push(function() {
            processRootScheduleInMicrotask();
            return null;
          });
          scheduleMicrotask(function() {
            (executionContext & (RenderContext | CommitContext)) !== NoContext ? scheduleCallback$3(
              ImmediatePriority,
              processRootScheduleInImmediateTask
            ) : processRootScheduleInMicrotask();
          });
        }
        function requestTransitionLane() {
          if (0 === currentEventTransitionLane) {
            var actionScopeLane = currentEntangledLane;
            0 === actionScopeLane && (actionScopeLane = nextTransitionUpdateLane, nextTransitionUpdateLane <<= 1, 0 === (nextTransitionUpdateLane & 261888) && (nextTransitionUpdateLane = 256));
            currentEventTransitionLane = actionScopeLane;
          }
          return currentEventTransitionLane;
        }
        function coerceFormActionProp(actionProp) {
          if (null == actionProp || "symbol" === typeof actionProp || "boolean" === typeof actionProp)
            return null;
          if ("function" === typeof actionProp) return actionProp;
          checkAttributeStringCoercion(actionProp, "action");
          return sanitizeURL("" + actionProp);
        }
        function createFormDataWithSubmitter(form, submitter) {
          var temp = submitter.ownerDocument.createElement("input");
          temp.name = submitter.name;
          temp.value = submitter.value;
          form.id && temp.setAttribute("form", form.id);
          submitter.parentNode.insertBefore(temp, submitter);
          form = new FormData(form);
          temp.parentNode.removeChild(temp);
          return form;
        }
        function extractEvents$1(dispatchQueue, domEventName, maybeTargetInst, nativeEvent, nativeEventTarget) {
          if ("submit" === domEventName && maybeTargetInst && maybeTargetInst.stateNode === nativeEventTarget) {
            var action = coerceFormActionProp(
              (nativeEventTarget[internalPropsKey] || null).action
            ), submitter = nativeEvent.submitter;
            submitter && (domEventName = (domEventName = submitter[internalPropsKey] || null) ? coerceFormActionProp(domEventName.formAction) : submitter.getAttribute("formAction"), null !== domEventName && (action = domEventName, submitter = null));
            var event = new SyntheticEvent(
              "action",
              "action",
              null,
              nativeEvent,
              nativeEventTarget
            );
            dispatchQueue.push({
              event,
              listeners: [
                {
                  instance: null,
                  listener: function() {
                    if (nativeEvent.defaultPrevented) {
                      if (0 !== currentEventTransitionLane) {
                        var formData = submitter ? createFormDataWithSubmitter(
                          nativeEventTarget,
                          submitter
                        ) : new FormData(nativeEventTarget), pendingState = {
                          pending: true,
                          data: formData,
                          method: nativeEventTarget.method,
                          action
                        };
                        Object.freeze(pendingState);
                        startHostTransition(
                          maybeTargetInst,
                          pendingState,
                          null,
                          formData
                        );
                      }
                    } else
                      "function" === typeof action && (event.preventDefault(), formData = submitter ? createFormDataWithSubmitter(
                        nativeEventTarget,
                        submitter
                      ) : new FormData(nativeEventTarget), pendingState = {
                        pending: true,
                        data: formData,
                        method: nativeEventTarget.method,
                        action
                      }, Object.freeze(pendingState), startHostTransition(
                        maybeTargetInst,
                        pendingState,
                        action,
                        formData
                      ));
                  },
                  currentTarget: nativeEventTarget
                }
              ]
            });
          }
        }
        function executeDispatch(event, listener, currentTarget) {
          event.currentTarget = currentTarget;
          try {
            listener(event);
          } catch (error2) {
            reportGlobalError(error2);
          }
          event.currentTarget = null;
        }
        function processDispatchQueue(dispatchQueue, eventSystemFlags) {
          eventSystemFlags = 0 !== (eventSystemFlags & 4);
          for (var i2 = 0; i2 < dispatchQueue.length; i2++) {
            var _dispatchQueue$i = dispatchQueue[i2];
            a: {
              var previousInstance = void 0, event = _dispatchQueue$i.event;
              _dispatchQueue$i = _dispatchQueue$i.listeners;
              if (eventSystemFlags)
                for (var i$jscomp$0 = _dispatchQueue$i.length - 1; 0 <= i$jscomp$0; i$jscomp$0--) {
                  var _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0], instance2 = _dispatchListeners$i.instance, currentTarget = _dispatchListeners$i.currentTarget;
                  _dispatchListeners$i = _dispatchListeners$i.listener;
                  if (instance2 !== previousInstance && event.isPropagationStopped())
                    break a;
                  null !== instance2 ? runWithFiberInDEV(
                    instance2,
                    executeDispatch,
                    event,
                    _dispatchListeners$i,
                    currentTarget
                  ) : executeDispatch(event, _dispatchListeners$i, currentTarget);
                  previousInstance = instance2;
                }
              else
                for (i$jscomp$0 = 0; i$jscomp$0 < _dispatchQueue$i.length; i$jscomp$0++) {
                  _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0];
                  instance2 = _dispatchListeners$i.instance;
                  currentTarget = _dispatchListeners$i.currentTarget;
                  _dispatchListeners$i = _dispatchListeners$i.listener;
                  if (instance2 !== previousInstance && event.isPropagationStopped())
                    break a;
                  null !== instance2 ? runWithFiberInDEV(
                    instance2,
                    executeDispatch,
                    event,
                    _dispatchListeners$i,
                    currentTarget
                  ) : executeDispatch(event, _dispatchListeners$i, currentTarget);
                  previousInstance = instance2;
                }
            }
          }
        }
        function listenToNonDelegatedEvent(domEventName, targetElement) {
          nonDelegatedEvents.has(domEventName) || console.error(
            'Did not expect a listenToNonDelegatedEvent() call for "%s". This is a bug in React. Please file an issue.',
            domEventName
          );
          var listenerSet = targetElement[internalEventHandlersKey];
          void 0 === listenerSet && (listenerSet = targetElement[internalEventHandlersKey] = /* @__PURE__ */ new Set());
          var listenerSetKey = domEventName + "__bubble";
          listenerSet.has(listenerSetKey) || (addTrappedEventListener(targetElement, domEventName, 2, false), listenerSet.add(listenerSetKey));
        }
        function listenToNativeEvent(domEventName, isCapturePhaseListener, target2) {
          nonDelegatedEvents.has(domEventName) && !isCapturePhaseListener && console.error(
            'Did not expect a listenToNativeEvent() call for "%s" in the bubble phase. This is a bug in React. Please file an issue.',
            domEventName
          );
          var eventSystemFlags = 0;
          isCapturePhaseListener && (eventSystemFlags |= 4);
          addTrappedEventListener(
            target2,
            domEventName,
            eventSystemFlags,
            isCapturePhaseListener
          );
        }
        function listenToAllSupportedEvents(rootContainerElement) {
          if (!rootContainerElement[listeningMarker]) {
            rootContainerElement[listeningMarker] = true;
            allNativeEvents.forEach(function(domEventName) {
              "selectionchange" !== domEventName && (nonDelegatedEvents.has(domEventName) || listenToNativeEvent(domEventName, false, rootContainerElement), listenToNativeEvent(domEventName, true, rootContainerElement));
            });
            var ownerDocument = 9 === rootContainerElement.nodeType ? rootContainerElement : rootContainerElement.ownerDocument;
            null === ownerDocument || ownerDocument[listeningMarker] || (ownerDocument[listeningMarker] = true, listenToNativeEvent("selectionchange", false, ownerDocument));
          }
        }
        function addTrappedEventListener(targetContainer, domEventName, eventSystemFlags, isCapturePhaseListener) {
          switch (getEventPriority(domEventName)) {
            case DiscreteEventPriority:
              var listenerWrapper = dispatchDiscreteEvent;
              break;
            case ContinuousEventPriority:
              listenerWrapper = dispatchContinuousEvent;
              break;
            default:
              listenerWrapper = dispatchEvent;
          }
          eventSystemFlags = listenerWrapper.bind(
            null,
            domEventName,
            eventSystemFlags,
            targetContainer
          );
          listenerWrapper = void 0;
          !passiveBrowserEventsSupported || "touchstart" !== domEventName && "touchmove" !== domEventName && "wheel" !== domEventName || (listenerWrapper = true);
          isCapturePhaseListener ? void 0 !== listenerWrapper ? targetContainer.addEventListener(domEventName, eventSystemFlags, {
            capture: true,
            passive: listenerWrapper
          }) : targetContainer.addEventListener(domEventName, eventSystemFlags, true) : void 0 !== listenerWrapper ? targetContainer.addEventListener(domEventName, eventSystemFlags, {
            passive: listenerWrapper
          }) : targetContainer.addEventListener(
            domEventName,
            eventSystemFlags,
            false
          );
        }
        function dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, targetInst$jscomp$0, targetContainer) {
          var ancestorInst = targetInst$jscomp$0;
          if (0 === (eventSystemFlags & 1) && 0 === (eventSystemFlags & 2) && null !== targetInst$jscomp$0)
            a: for (; ; ) {
              if (null === targetInst$jscomp$0) return;
              var nodeTag = targetInst$jscomp$0.tag;
              if (3 === nodeTag || 4 === nodeTag) {
                var container = targetInst$jscomp$0.stateNode.containerInfo;
                if (container === targetContainer) break;
                if (4 === nodeTag)
                  for (nodeTag = targetInst$jscomp$0.return; null !== nodeTag; ) {
                    var grandTag = nodeTag.tag;
                    if ((3 === grandTag || 4 === grandTag) && nodeTag.stateNode.containerInfo === targetContainer)
                      return;
                    nodeTag = nodeTag.return;
                  }
                for (; null !== container; ) {
                  nodeTag = getClosestInstanceFromNode(container);
                  if (null === nodeTag) return;
                  grandTag = nodeTag.tag;
                  if (5 === grandTag || 6 === grandTag || 26 === grandTag || 27 === grandTag) {
                    targetInst$jscomp$0 = ancestorInst = nodeTag;
                    continue a;
                  }
                  container = container.parentNode;
                }
              }
              targetInst$jscomp$0 = targetInst$jscomp$0.return;
            }
          batchedUpdates$1(function() {
            var targetInst = ancestorInst, nativeEventTarget = getEventTarget(nativeEvent), dispatchQueue = [];
            a: {
              var reactName = topLevelEventsToReactNames.get(domEventName);
              if (void 0 !== reactName) {
                var SyntheticEventCtor = SyntheticEvent, reactEventType = domEventName;
                switch (domEventName) {
                  case "keypress":
                    if (0 === getEventCharCode(nativeEvent)) break a;
                  case "keydown":
                  case "keyup":
                    SyntheticEventCtor = SyntheticKeyboardEvent;
                    break;
                  case "focusin":
                    reactEventType = "focus";
                    SyntheticEventCtor = SyntheticFocusEvent;
                    break;
                  case "focusout":
                    reactEventType = "blur";
                    SyntheticEventCtor = SyntheticFocusEvent;
                    break;
                  case "beforeblur":
                  case "afterblur":
                    SyntheticEventCtor = SyntheticFocusEvent;
                    break;
                  case "click":
                    if (2 === nativeEvent.button) break a;
                  case "auxclick":
                  case "dblclick":
                  case "mousedown":
                  case "mousemove":
                  case "mouseup":
                  case "mouseout":
                  case "mouseover":
                  case "contextmenu":
                    SyntheticEventCtor = SyntheticMouseEvent;
                    break;
                  case "drag":
                  case "dragend":
                  case "dragenter":
                  case "dragexit":
                  case "dragleave":
                  case "dragover":
                  case "dragstart":
                  case "drop":
                    SyntheticEventCtor = SyntheticDragEvent;
                    break;
                  case "touchcancel":
                  case "touchend":
                  case "touchmove":
                  case "touchstart":
                    SyntheticEventCtor = SyntheticTouchEvent;
                    break;
                  case ANIMATION_END:
                  case ANIMATION_ITERATION:
                  case ANIMATION_START:
                    SyntheticEventCtor = SyntheticAnimationEvent;
                    break;
                  case TRANSITION_END:
                    SyntheticEventCtor = SyntheticTransitionEvent;
                    break;
                  case "scroll":
                  case "scrollend":
                    SyntheticEventCtor = SyntheticUIEvent;
                    break;
                  case "wheel":
                    SyntheticEventCtor = SyntheticWheelEvent;
                    break;
                  case "copy":
                  case "cut":
                  case "paste":
                    SyntheticEventCtor = SyntheticClipboardEvent;
                    break;
                  case "gotpointercapture":
                  case "lostpointercapture":
                  case "pointercancel":
                  case "pointerdown":
                  case "pointermove":
                  case "pointerout":
                  case "pointerover":
                  case "pointerup":
                    SyntheticEventCtor = SyntheticPointerEvent;
                    break;
                  case "toggle":
                  case "beforetoggle":
                    SyntheticEventCtor = SyntheticToggleEvent;
                }
                var inCapturePhase = 0 !== (eventSystemFlags & 4), accumulateTargetOnly = !inCapturePhase && ("scroll" === domEventName || "scrollend" === domEventName), reactEventName = inCapturePhase ? null !== reactName ? reactName + "Capture" : null : reactName;
                inCapturePhase = [];
                for (var instance2 = targetInst, lastHostComponent; null !== instance2; ) {
                  var _instance2 = instance2;
                  lastHostComponent = _instance2.stateNode;
                  _instance2 = _instance2.tag;
                  5 !== _instance2 && 26 !== _instance2 && 27 !== _instance2 || null === lastHostComponent || null === reactEventName || (_instance2 = getListener(instance2, reactEventName), null != _instance2 && inCapturePhase.push(
                    createDispatchListener(
                      instance2,
                      _instance2,
                      lastHostComponent
                    )
                  ));
                  if (accumulateTargetOnly) break;
                  instance2 = instance2.return;
                }
                0 < inCapturePhase.length && (reactName = new SyntheticEventCtor(
                  reactName,
                  reactEventType,
                  null,
                  nativeEvent,
                  nativeEventTarget
                ), dispatchQueue.push({
                  event: reactName,
                  listeners: inCapturePhase
                }));
              }
            }
            if (0 === (eventSystemFlags & 7)) {
              a: {
                reactName = "mouseover" === domEventName || "pointerover" === domEventName;
                SyntheticEventCtor = "mouseout" === domEventName || "pointerout" === domEventName;
                if (reactName && nativeEvent !== currentReplayingEvent && (reactEventType = nativeEvent.relatedTarget || nativeEvent.fromElement) && (getClosestInstanceFromNode(reactEventType) || reactEventType[internalContainerInstanceKey]))
                  break a;
                if (SyntheticEventCtor || reactName) {
                  reactName = nativeEventTarget.window === nativeEventTarget ? nativeEventTarget : (reactName = nativeEventTarget.ownerDocument) ? reactName.defaultView || reactName.parentWindow : window;
                  if (SyntheticEventCtor) {
                    if (reactEventType = nativeEvent.relatedTarget || nativeEvent.toElement, SyntheticEventCtor = targetInst, reactEventType = reactEventType ? getClosestInstanceFromNode(reactEventType) : null, null !== reactEventType && (accumulateTargetOnly = getNearestMountedFiber(reactEventType), inCapturePhase = reactEventType.tag, reactEventType !== accumulateTargetOnly || 5 !== inCapturePhase && 27 !== inCapturePhase && 6 !== inCapturePhase))
                      reactEventType = null;
                  } else SyntheticEventCtor = null, reactEventType = targetInst;
                  if (SyntheticEventCtor !== reactEventType) {
                    inCapturePhase = SyntheticMouseEvent;
                    _instance2 = "onMouseLeave";
                    reactEventName = "onMouseEnter";
                    instance2 = "mouse";
                    if ("pointerout" === domEventName || "pointerover" === domEventName)
                      inCapturePhase = SyntheticPointerEvent, _instance2 = "onPointerLeave", reactEventName = "onPointerEnter", instance2 = "pointer";
                    accumulateTargetOnly = null == SyntheticEventCtor ? reactName : getNodeFromInstance(SyntheticEventCtor);
                    lastHostComponent = null == reactEventType ? reactName : getNodeFromInstance(reactEventType);
                    reactName = new inCapturePhase(
                      _instance2,
                      instance2 + "leave",
                      SyntheticEventCtor,
                      nativeEvent,
                      nativeEventTarget
                    );
                    reactName.target = accumulateTargetOnly;
                    reactName.relatedTarget = lastHostComponent;
                    _instance2 = null;
                    getClosestInstanceFromNode(nativeEventTarget) === targetInst && (inCapturePhase = new inCapturePhase(
                      reactEventName,
                      instance2 + "enter",
                      reactEventType,
                      nativeEvent,
                      nativeEventTarget
                    ), inCapturePhase.target = lastHostComponent, inCapturePhase.relatedTarget = accumulateTargetOnly, _instance2 = inCapturePhase);
                    accumulateTargetOnly = _instance2;
                    if (SyntheticEventCtor && reactEventType)
                      b: {
                        inCapturePhase = getParent;
                        reactEventName = SyntheticEventCtor;
                        instance2 = reactEventType;
                        lastHostComponent = 0;
                        for (_instance2 = reactEventName; _instance2; _instance2 = inCapturePhase(_instance2))
                          lastHostComponent++;
                        _instance2 = 0;
                        for (var tempB = instance2; tempB; tempB = inCapturePhase(tempB))
                          _instance2++;
                        for (; 0 < lastHostComponent - _instance2; )
                          reactEventName = inCapturePhase(reactEventName), lastHostComponent--;
                        for (; 0 < _instance2 - lastHostComponent; )
                          instance2 = inCapturePhase(instance2), _instance2--;
                        for (; lastHostComponent--; ) {
                          if (reactEventName === instance2 || null !== instance2 && reactEventName === instance2.alternate) {
                            inCapturePhase = reactEventName;
                            break b;
                          }
                          reactEventName = inCapturePhase(reactEventName);
                          instance2 = inCapturePhase(instance2);
                        }
                        inCapturePhase = null;
                      }
                    else inCapturePhase = null;
                    null !== SyntheticEventCtor && accumulateEnterLeaveListenersForEvent(
                      dispatchQueue,
                      reactName,
                      SyntheticEventCtor,
                      inCapturePhase,
                      false
                    );
                    null !== reactEventType && null !== accumulateTargetOnly && accumulateEnterLeaveListenersForEvent(
                      dispatchQueue,
                      accumulateTargetOnly,
                      reactEventType,
                      inCapturePhase,
                      true
                    );
                  }
                }
              }
              a: {
                reactName = targetInst ? getNodeFromInstance(targetInst) : window;
                SyntheticEventCtor = reactName.nodeName && reactName.nodeName.toLowerCase();
                if ("select" === SyntheticEventCtor || "input" === SyntheticEventCtor && "file" === reactName.type)
                  var getTargetInstFunc = getTargetInstForChangeEvent;
                else if (isTextInputElement(reactName))
                  if (isInputEventSupported)
                    getTargetInstFunc = getTargetInstForInputOrChangeEvent;
                  else {
                    getTargetInstFunc = getTargetInstForInputEventPolyfill;
                    var handleEventFunc = handleEventsForInputEventPolyfill;
                  }
                else
                  SyntheticEventCtor = reactName.nodeName, !SyntheticEventCtor || "input" !== SyntheticEventCtor.toLowerCase() || "checkbox" !== reactName.type && "radio" !== reactName.type ? targetInst && isCustomElement(targetInst.elementType) && (getTargetInstFunc = getTargetInstForChangeEvent) : getTargetInstFunc = getTargetInstForClickEvent;
                if (getTargetInstFunc && (getTargetInstFunc = getTargetInstFunc(domEventName, targetInst))) {
                  createAndAccumulateChangeEvent(
                    dispatchQueue,
                    getTargetInstFunc,
                    nativeEvent,
                    nativeEventTarget
                  );
                  break a;
                }
                handleEventFunc && handleEventFunc(domEventName, reactName, targetInst);
                "focusout" === domEventName && targetInst && "number" === reactName.type && null != targetInst.memoizedProps.value && setDefaultValue(reactName, "number", reactName.value);
              }
              handleEventFunc = targetInst ? getNodeFromInstance(targetInst) : window;
              switch (domEventName) {
                case "focusin":
                  if (isTextInputElement(handleEventFunc) || "true" === handleEventFunc.contentEditable)
                    activeElement2 = handleEventFunc, activeElementInst = targetInst, lastSelection = null;
                  break;
                case "focusout":
                  lastSelection = activeElementInst = activeElement2 = null;
                  break;
                case "mousedown":
                  mouseDown = true;
                  break;
                case "contextmenu":
                case "mouseup":
                case "dragend":
                  mouseDown = false;
                  constructSelectEvent(
                    dispatchQueue,
                    nativeEvent,
                    nativeEventTarget
                  );
                  break;
                case "selectionchange":
                  if (skipSelectionChangeEvent) break;
                case "keydown":
                case "keyup":
                  constructSelectEvent(
                    dispatchQueue,
                    nativeEvent,
                    nativeEventTarget
                  );
              }
              var fallbackData;
              if (canUseCompositionEvent)
                b: {
                  switch (domEventName) {
                    case "compositionstart":
                      var eventType = "onCompositionStart";
                      break b;
                    case "compositionend":
                      eventType = "onCompositionEnd";
                      break b;
                    case "compositionupdate":
                      eventType = "onCompositionUpdate";
                      break b;
                  }
                  eventType = void 0;
                }
              else
                isComposing ? isFallbackCompositionEnd(domEventName, nativeEvent) && (eventType = "onCompositionEnd") : "keydown" === domEventName && nativeEvent.keyCode === START_KEYCODE && (eventType = "onCompositionStart");
              eventType && (useFallbackCompositionData && "ko" !== nativeEvent.locale && (isComposing || "onCompositionStart" !== eventType ? "onCompositionEnd" === eventType && isComposing && (fallbackData = getData()) : (root2 = nativeEventTarget, startText = "value" in root2 ? root2.value : root2.textContent, isComposing = true)), handleEventFunc = accumulateTwoPhaseListeners(
                targetInst,
                eventType
              ), 0 < handleEventFunc.length && (eventType = new SyntheticCompositionEvent(
                eventType,
                domEventName,
                null,
                nativeEvent,
                nativeEventTarget
              ), dispatchQueue.push({
                event: eventType,
                listeners: handleEventFunc
              }), fallbackData ? eventType.data = fallbackData : (fallbackData = getDataFromCustomEvent(nativeEvent), null !== fallbackData && (eventType.data = fallbackData))));
              if (fallbackData = canUseTextInputEvent ? getNativeBeforeInputChars(domEventName, nativeEvent) : getFallbackBeforeInputChars(domEventName, nativeEvent))
                eventType = accumulateTwoPhaseListeners(
                  targetInst,
                  "onBeforeInput"
                ), 0 < eventType.length && (handleEventFunc = new SyntheticInputEvent(
                  "onBeforeInput",
                  "beforeinput",
                  null,
                  nativeEvent,
                  nativeEventTarget
                ), dispatchQueue.push({
                  event: handleEventFunc,
                  listeners: eventType
                }), handleEventFunc.data = fallbackData);
              extractEvents$1(
                dispatchQueue,
                domEventName,
                targetInst,
                nativeEvent,
                nativeEventTarget
              );
            }
            processDispatchQueue(dispatchQueue, eventSystemFlags);
          });
        }
        function createDispatchListener(instance2, listener, currentTarget) {
          return {
            instance: instance2,
            listener,
            currentTarget
          };
        }
        function accumulateTwoPhaseListeners(targetFiber, reactName) {
          for (var captureName = reactName + "Capture", listeners3 = []; null !== targetFiber; ) {
            var _instance3 = targetFiber, stateNode = _instance3.stateNode;
            _instance3 = _instance3.tag;
            5 !== _instance3 && 26 !== _instance3 && 27 !== _instance3 || null === stateNode || (_instance3 = getListener(targetFiber, captureName), null != _instance3 && listeners3.unshift(
              createDispatchListener(targetFiber, _instance3, stateNode)
            ), _instance3 = getListener(targetFiber, reactName), null != _instance3 && listeners3.push(
              createDispatchListener(targetFiber, _instance3, stateNode)
            ));
            if (3 === targetFiber.tag) return listeners3;
            targetFiber = targetFiber.return;
          }
          return [];
        }
        function getParent(inst) {
          if (null === inst) return null;
          do
            inst = inst.return;
          while (inst && 5 !== inst.tag && 27 !== inst.tag);
          return inst ? inst : null;
        }
        function accumulateEnterLeaveListenersForEvent(dispatchQueue, event, target2, common2, inCapturePhase) {
          for (var registrationName = event._reactName, listeners3 = []; null !== target2 && target2 !== common2; ) {
            var _instance4 = target2, alternate = _instance4.alternate, stateNode = _instance4.stateNode;
            _instance4 = _instance4.tag;
            if (null !== alternate && alternate === common2) break;
            5 !== _instance4 && 26 !== _instance4 && 27 !== _instance4 || null === stateNode || (alternate = stateNode, inCapturePhase ? (stateNode = getListener(target2, registrationName), null != stateNode && listeners3.unshift(
              createDispatchListener(target2, stateNode, alternate)
            )) : inCapturePhase || (stateNode = getListener(target2, registrationName), null != stateNode && listeners3.push(
              createDispatchListener(target2, stateNode, alternate)
            )));
            target2 = target2.return;
          }
          0 !== listeners3.length && dispatchQueue.push({ event, listeners: listeners3 });
        }
        function validatePropertiesInDevelopment(type2, props) {
          validateProperties$2(type2, props);
          "input" !== type2 && "textarea" !== type2 && "select" !== type2 || null == props || null !== props.value || didWarnValueNull || (didWarnValueNull = true, "select" === type2 && props.multiple ? console.error(
            "`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.",
            type2
          ) : console.error(
            "`value` prop on `%s` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.",
            type2
          ));
          var eventRegistry = {
            registrationNameDependencies,
            possibleRegistrationNames
          };
          isCustomElement(type2) || "string" === typeof props.is || warnUnknownProperties(type2, props, eventRegistry);
          props.contentEditable && !props.suppressContentEditableWarning && null != props.children && console.error(
            "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."
          );
        }
        function warnForPropDifference(propName, serverValue, clientValue, serverDifferences) {
          serverValue !== clientValue && (clientValue = normalizeMarkupForTextOrAttribute(clientValue), normalizeMarkupForTextOrAttribute(serverValue) !== clientValue && (serverDifferences[propName] = serverValue));
        }
        function warnForExtraAttributes(domElement, attributeNames, serverDifferences) {
          attributeNames.forEach(function(attributeName) {
            serverDifferences[getPropNameFromAttributeName(attributeName)] = "style" === attributeName ? getStylesObjectFromElement(domElement) : domElement.getAttribute(attributeName);
          });
        }
        function warnForInvalidEventListener(registrationName, listener) {
          false === listener ? console.error(
            "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.",
            registrationName,
            registrationName,
            registrationName
          ) : console.error(
            "Expected `%s` listener to be a function, instead got a value of `%s` type.",
            registrationName,
            typeof listener
          );
        }
        function normalizeHTML(parent, html) {
          parent = parent.namespaceURI === MATH_NAMESPACE || parent.namespaceURI === SVG_NAMESPACE ? parent.ownerDocument.createElementNS(
            parent.namespaceURI,
            parent.tagName
          ) : parent.ownerDocument.createElement(parent.tagName);
          parent.innerHTML = html;
          return parent.innerHTML;
        }
        function normalizeMarkupForTextOrAttribute(markup) {
          willCoercionThrow(markup) && (console.error(
            "The provided HTML markup uses a value of unsupported type %s. This value must be coerced to a string before using it here.",
            typeName(markup)
          ), testStringCoercion(markup));
          return ("string" === typeof markup ? markup : "" + markup).replace(NORMALIZE_NEWLINES_REGEX, "\n").replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, "");
        }
        function checkForUnmatchedText(serverText, clientText) {
          clientText = normalizeMarkupForTextOrAttribute(clientText);
          return normalizeMarkupForTextOrAttribute(serverText) === clientText ? true : false;
        }
        function setProp(domElement, tag, key, value, props, prevValue) {
          switch (key) {
            case "children":
              if ("string" === typeof value)
                validateTextNesting(value, tag, false), "body" === tag || "textarea" === tag && "" === value || setTextContent(domElement, value);
              else if ("number" === typeof value || "bigint" === typeof value)
                validateTextNesting("" + value, tag, false), "body" !== tag && setTextContent(domElement, "" + value);
              break;
            case "className":
              setValueForKnownAttribute(domElement, "class", value);
              break;
            case "tabIndex":
              setValueForKnownAttribute(domElement, "tabindex", value);
              break;
            case "dir":
            case "role":
            case "viewBox":
            case "width":
            case "height":
              setValueForKnownAttribute(domElement, key, value);
              break;
            case "style":
              setValueForStyles(domElement, value, prevValue);
              break;
            case "data":
              if ("object" !== tag) {
                setValueForKnownAttribute(domElement, "data", value);
                break;
              }
            case "src":
            case "href":
              if ("" === value && ("a" !== tag || "href" !== key)) {
                "src" === key ? console.error(
                  'An empty string ("") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',
                  key,
                  key
                ) : console.error(
                  'An empty string ("") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',
                  key,
                  key
                );
                domElement.removeAttribute(key);
                break;
              }
              if (null == value || "function" === typeof value || "symbol" === typeof value || "boolean" === typeof value) {
                domElement.removeAttribute(key);
                break;
              }
              checkAttributeStringCoercion(value, key);
              value = sanitizeURL("" + value);
              domElement.setAttribute(key, value);
              break;
            case "action":
            case "formAction":
              null != value && ("form" === tag ? "formAction" === key ? console.error(
                "You can only pass the formAction prop to <input> or <button>. Use the action prop on <form>."
              ) : "function" === typeof value && (null == props.encType && null == props.method || didWarnFormActionMethod || (didWarnFormActionMethod = true, console.error(
                "Cannot specify a encType or method for a form that specifies a function as the action. React provides those automatically. They will get overridden."
              )), null == props.target || didWarnFormActionTarget || (didWarnFormActionTarget = true, console.error(
                "Cannot specify a target for a form that specifies a function as the action. The function will always be executed in the same window."
              ))) : "input" === tag || "button" === tag ? "action" === key ? console.error(
                "You can only pass the action prop to <form>. Use the formAction prop on <input> or <button>."
              ) : "input" !== tag || "submit" === props.type || "image" === props.type || didWarnFormActionType ? "button" !== tag || null == props.type || "submit" === props.type || didWarnFormActionType ? "function" === typeof value && (null == props.name || didWarnFormActionName || (didWarnFormActionName = true, console.error(
                'Cannot specify a "name" prop for a button that specifies a function as a formAction. React needs it to encode which action should be invoked. It will get overridden.'
              )), null == props.formEncType && null == props.formMethod || didWarnFormActionMethod || (didWarnFormActionMethod = true, console.error(
                "Cannot specify a formEncType or formMethod for a button that specifies a function as a formAction. React provides those automatically. They will get overridden."
              )), null == props.formTarget || didWarnFormActionTarget || (didWarnFormActionTarget = true, console.error(
                "Cannot specify a formTarget for a button that specifies a function as a formAction. The function will always be executed in the same window."
              ))) : (didWarnFormActionType = true, console.error(
                'A button can only specify a formAction along with type="submit" or no type.'
              )) : (didWarnFormActionType = true, console.error(
                'An input can only specify a formAction along with type="submit" or type="image".'
              )) : "action" === key ? console.error(
                "You can only pass the action prop to <form>."
              ) : console.error(
                "You can only pass the formAction prop to <input> or <button>."
              ));
              if ("function" === typeof value) {
                domElement.setAttribute(
                  key,
                  "javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')"
                );
                break;
              } else
                "function" === typeof prevValue && ("formAction" === key ? ("input" !== tag && setProp(domElement, tag, "name", props.name, props, null), setProp(
                  domElement,
                  tag,
                  "formEncType",
                  props.formEncType,
                  props,
                  null
                ), setProp(
                  domElement,
                  tag,
                  "formMethod",
                  props.formMethod,
                  props,
                  null
                ), setProp(
                  domElement,
                  tag,
                  "formTarget",
                  props.formTarget,
                  props,
                  null
                )) : (setProp(
                  domElement,
                  tag,
                  "encType",
                  props.encType,
                  props,
                  null
                ), setProp(domElement, tag, "method", props.method, props, null), setProp(
                  domElement,
                  tag,
                  "target",
                  props.target,
                  props,
                  null
                )));
              if (null == value || "symbol" === typeof value || "boolean" === typeof value) {
                domElement.removeAttribute(key);
                break;
              }
              checkAttributeStringCoercion(value, key);
              value = sanitizeURL("" + value);
              domElement.setAttribute(key, value);
              break;
            case "onClick":
              null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), domElement.onclick = noop$1);
              break;
            case "onScroll":
              null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scroll", domElement));
              break;
            case "onScrollEnd":
              null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scrollend", domElement));
              break;
            case "dangerouslySetInnerHTML":
              if (null != value) {
                if ("object" !== typeof value || !("__html" in value))
                  throw Error(
                    "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information."
                  );
                key = value.__html;
                if (null != key) {
                  if (null != props.children)
                    throw Error(
                      "Can only set one of `children` or `props.dangerouslySetInnerHTML`."
                    );
                  domElement.innerHTML = key;
                }
              }
              break;
            case "multiple":
              domElement.multiple = value && "function" !== typeof value && "symbol" !== typeof value;
              break;
            case "muted":
              domElement.muted = value && "function" !== typeof value && "symbol" !== typeof value;
              break;
            case "suppressContentEditableWarning":
            case "suppressHydrationWarning":
            case "defaultValue":
            case "defaultChecked":
            case "innerHTML":
            case "ref":
              break;
            case "autoFocus":
              break;
            case "xlinkHref":
              if (null == value || "function" === typeof value || "boolean" === typeof value || "symbol" === typeof value) {
                domElement.removeAttribute("xlink:href");
                break;
              }
              checkAttributeStringCoercion(value, key);
              key = sanitizeURL("" + value);
              domElement.setAttributeNS(xlinkNamespace, "xlink:href", key);
              break;
            case "contentEditable":
            case "spellCheck":
            case "draggable":
            case "value":
            case "autoReverse":
            case "externalResourcesRequired":
            case "focusable":
            case "preserveAlpha":
              null != value && "function" !== typeof value && "symbol" !== typeof value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, "" + value)) : domElement.removeAttribute(key);
              break;
            case "inert":
              "" !== value || didWarnForNewBooleanPropsWithEmptyValue[key] || (didWarnForNewBooleanPropsWithEmptyValue[key] = true, console.error(
                "Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
                key
              ));
            case "allowFullScreen":
            case "async":
            case "autoPlay":
            case "controls":
            case "default":
            case "defer":
            case "disabled":
            case "disablePictureInPicture":
            case "disableRemotePlayback":
            case "formNoValidate":
            case "hidden":
            case "loop":
            case "noModule":
            case "noValidate":
            case "open":
            case "playsInline":
            case "readOnly":
            case "required":
            case "reversed":
            case "scoped":
            case "seamless":
            case "itemScope":
              value && "function" !== typeof value && "symbol" !== typeof value ? domElement.setAttribute(key, "") : domElement.removeAttribute(key);
              break;
            case "capture":
            case "download":
              true === value ? domElement.setAttribute(key, "") : false !== value && null != value && "function" !== typeof value && "symbol" !== typeof value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)) : domElement.removeAttribute(key);
              break;
            case "cols":
            case "rows":
            case "size":
            case "span":
              null != value && "function" !== typeof value && "symbol" !== typeof value && !isNaN(value) && 1 <= value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)) : domElement.removeAttribute(key);
              break;
            case "rowSpan":
            case "start":
              null == value || "function" === typeof value || "symbol" === typeof value || isNaN(value) ? domElement.removeAttribute(key) : (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value));
              break;
            case "popover":
              listenToNonDelegatedEvent("beforetoggle", domElement);
              listenToNonDelegatedEvent("toggle", domElement);
              setValueForAttribute(domElement, "popover", value);
              break;
            case "xlinkActuate":
              setValueForNamespacedAttribute(
                domElement,
                xlinkNamespace,
                "xlink:actuate",
                value
              );
              break;
            case "xlinkArcrole":
              setValueForNamespacedAttribute(
                domElement,
                xlinkNamespace,
                "xlink:arcrole",
                value
              );
              break;
            case "xlinkRole":
              setValueForNamespacedAttribute(
                domElement,
                xlinkNamespace,
                "xlink:role",
                value
              );
              break;
            case "xlinkShow":
              setValueForNamespacedAttribute(
                domElement,
                xlinkNamespace,
                "xlink:show",
                value
              );
              break;
            case "xlinkTitle":
              setValueForNamespacedAttribute(
                domElement,
                xlinkNamespace,
                "xlink:title",
                value
              );
              break;
            case "xlinkType":
              setValueForNamespacedAttribute(
                domElement,
                xlinkNamespace,
                "xlink:type",
                value
              );
              break;
            case "xmlBase":
              setValueForNamespacedAttribute(
                domElement,
                xmlNamespace,
                "xml:base",
                value
              );
              break;
            case "xmlLang":
              setValueForNamespacedAttribute(
                domElement,
                xmlNamespace,
                "xml:lang",
                value
              );
              break;
            case "xmlSpace":
              setValueForNamespacedAttribute(
                domElement,
                xmlNamespace,
                "xml:space",
                value
              );
              break;
            case "is":
              null != prevValue && console.error(
                'Cannot update the "is" prop after it has been initialized.'
              );
              setValueForAttribute(domElement, "is", value);
              break;
            case "innerText":
            case "textContent":
              break;
            case "popoverTarget":
              didWarnPopoverTargetObject || null == value || "object" !== typeof value || (didWarnPopoverTargetObject = true, console.error(
                "The `popoverTarget` prop expects the ID of an Element as a string. Received %s instead.",
                value
              ));
            default:
              !(2 < key.length) || "o" !== key[0] && "O" !== key[0] || "n" !== key[1] && "N" !== key[1] ? (key = getAttributeAlias(key), setValueForAttribute(domElement, key, value)) : registrationNameDependencies.hasOwnProperty(key) && null != value && "function" !== typeof value && warnForInvalidEventListener(key, value);
          }
        }
        function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {
          switch (key) {
            case "style":
              setValueForStyles(domElement, value, prevValue);
              break;
            case "dangerouslySetInnerHTML":
              if (null != value) {
                if ("object" !== typeof value || !("__html" in value))
                  throw Error(
                    "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information."
                  );
                key = value.__html;
                if (null != key) {
                  if (null != props.children)
                    throw Error(
                      "Can only set one of `children` or `props.dangerouslySetInnerHTML`."
                    );
                  domElement.innerHTML = key;
                }
              }
              break;
            case "children":
              "string" === typeof value ? setTextContent(domElement, value) : ("number" === typeof value || "bigint" === typeof value) && setTextContent(domElement, "" + value);
              break;
            case "onScroll":
              null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scroll", domElement));
              break;
            case "onScrollEnd":
              null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scrollend", domElement));
              break;
            case "onClick":
              null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), domElement.onclick = noop$1);
              break;
            case "suppressContentEditableWarning":
            case "suppressHydrationWarning":
            case "innerHTML":
            case "ref":
              break;
            case "innerText":
            case "textContent":
              break;
            default:
              if (registrationNameDependencies.hasOwnProperty(key))
                null != value && "function" !== typeof value && warnForInvalidEventListener(key, value);
              else
                a: {
                  if ("o" === key[0] && "n" === key[1] && (props = key.endsWith("Capture"), tag = key.slice(2, props ? key.length - 7 : void 0), prevValue = domElement[internalPropsKey] || null, prevValue = null != prevValue ? prevValue[key] : null, "function" === typeof prevValue && domElement.removeEventListener(tag, prevValue, props), "function" === typeof value)) {
                    "function" !== typeof prevValue && null !== prevValue && (key in domElement ? domElement[key] = null : domElement.hasAttribute(key) && domElement.removeAttribute(key));
                    domElement.addEventListener(tag, value, props);
                    break a;
                  }
                  key in domElement ? domElement[key] = value : true === value ? domElement.setAttribute(key, "") : setValueForAttribute(domElement, key, value);
                }
          }
        }
        function setInitialProperties(domElement, tag, props) {
          validatePropertiesInDevelopment(tag, props);
          switch (tag) {
            case "div":
            case "span":
            case "svg":
            case "path":
            case "a":
            case "g":
            case "p":
            case "li":
              break;
            case "img":
              listenToNonDelegatedEvent("error", domElement);
              listenToNonDelegatedEvent("load", domElement);
              var hasSrc = false, hasSrcSet = false, propKey;
              for (propKey in props)
                if (props.hasOwnProperty(propKey)) {
                  var propValue = props[propKey];
                  if (null != propValue)
                    switch (propKey) {
                      case "src":
                        hasSrc = true;
                        break;
                      case "srcSet":
                        hasSrcSet = true;
                        break;
                      case "children":
                      case "dangerouslySetInnerHTML":
                        throw Error(
                          tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
                        );
                      default:
                        setProp(domElement, tag, propKey, propValue, props, null);
                    }
                }
              hasSrcSet && setProp(domElement, tag, "srcSet", props.srcSet, props, null);
              hasSrc && setProp(domElement, tag, "src", props.src, props, null);
              return;
            case "input":
              checkControlledValueProps("input", props);
              listenToNonDelegatedEvent("invalid", domElement);
              var defaultValue = propKey = propValue = hasSrcSet = null, checked = null, defaultChecked = null;
              for (hasSrc in props)
                if (props.hasOwnProperty(hasSrc)) {
                  var _propValue = props[hasSrc];
                  if (null != _propValue)
                    switch (hasSrc) {
                      case "name":
                        hasSrcSet = _propValue;
                        break;
                      case "type":
                        propValue = _propValue;
                        break;
                      case "checked":
                        checked = _propValue;
                        break;
                      case "defaultChecked":
                        defaultChecked = _propValue;
                        break;
                      case "value":
                        propKey = _propValue;
                        break;
                      case "defaultValue":
                        defaultValue = _propValue;
                        break;
                      case "children":
                      case "dangerouslySetInnerHTML":
                        if (null != _propValue)
                          throw Error(
                            tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
                          );
                        break;
                      default:
                        setProp(domElement, tag, hasSrc, _propValue, props, null);
                    }
                }
              validateInputProps(domElement, props);
              initInput(
                domElement,
                propKey,
                defaultValue,
                checked,
                defaultChecked,
                propValue,
                hasSrcSet,
                false
              );
              return;
            case "select":
              checkControlledValueProps("select", props);
              listenToNonDelegatedEvent("invalid", domElement);
              hasSrc = propValue = propKey = null;
              for (hasSrcSet in props)
                if (props.hasOwnProperty(hasSrcSet) && (defaultValue = props[hasSrcSet], null != defaultValue))
                  switch (hasSrcSet) {
                    case "value":
                      propKey = defaultValue;
                      break;
                    case "defaultValue":
                      propValue = defaultValue;
                      break;
                    case "multiple":
                      hasSrc = defaultValue;
                    default:
                      setProp(
                        domElement,
                        tag,
                        hasSrcSet,
                        defaultValue,
                        props,
                        null
                      );
                  }
              validateSelectProps(domElement, props);
              tag = propKey;
              props = propValue;
              domElement.multiple = !!hasSrc;
              null != tag ? updateOptions(domElement, !!hasSrc, tag, false) : null != props && updateOptions(domElement, !!hasSrc, props, true);
              return;
            case "textarea":
              checkControlledValueProps("textarea", props);
              listenToNonDelegatedEvent("invalid", domElement);
              propKey = hasSrcSet = hasSrc = null;
              for (propValue in props)
                if (props.hasOwnProperty(propValue) && (defaultValue = props[propValue], null != defaultValue))
                  switch (propValue) {
                    case "value":
                      hasSrc = defaultValue;
                      break;
                    case "defaultValue":
                      hasSrcSet = defaultValue;
                      break;
                    case "children":
                      propKey = defaultValue;
                      break;
                    case "dangerouslySetInnerHTML":
                      if (null != defaultValue)
                        throw Error(
                          "`dangerouslySetInnerHTML` does not make sense on <textarea>."
                        );
                      break;
                    default:
                      setProp(
                        domElement,
                        tag,
                        propValue,
                        defaultValue,
                        props,
                        null
                      );
                  }
              validateTextareaProps(domElement, props);
              initTextarea(domElement, hasSrc, hasSrcSet, propKey);
              return;
            case "option":
              validateOptionProps(domElement, props);
              for (checked in props)
                if (props.hasOwnProperty(checked) && (hasSrc = props[checked], null != hasSrc))
                  switch (checked) {
                    case "selected":
                      domElement.selected = hasSrc && "function" !== typeof hasSrc && "symbol" !== typeof hasSrc;
                      break;
                    default:
                      setProp(domElement, tag, checked, hasSrc, props, null);
                  }
              return;
            case "dialog":
              listenToNonDelegatedEvent("beforetoggle", domElement);
              listenToNonDelegatedEvent("toggle", domElement);
              listenToNonDelegatedEvent("cancel", domElement);
              listenToNonDelegatedEvent("close", domElement);
              break;
            case "iframe":
            case "object":
              listenToNonDelegatedEvent("load", domElement);
              break;
            case "video":
            case "audio":
              for (hasSrc = 0; hasSrc < mediaEventTypes.length; hasSrc++)
                listenToNonDelegatedEvent(mediaEventTypes[hasSrc], domElement);
              break;
            case "image":
              listenToNonDelegatedEvent("error", domElement);
              listenToNonDelegatedEvent("load", domElement);
              break;
            case "details":
              listenToNonDelegatedEvent("toggle", domElement);
              break;
            case "embed":
            case "source":
            case "link":
              listenToNonDelegatedEvent("error", domElement), listenToNonDelegatedEvent("load", domElement);
            case "area":
            case "base":
            case "br":
            case "col":
            case "hr":
            case "keygen":
            case "meta":
            case "param":
            case "track":
            case "wbr":
            case "menuitem":
              for (defaultChecked in props)
                if (props.hasOwnProperty(defaultChecked) && (hasSrc = props[defaultChecked], null != hasSrc))
                  switch (defaultChecked) {
                    case "children":
                    case "dangerouslySetInnerHTML":
                      throw Error(
                        tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
                      );
                    default:
                      setProp(domElement, tag, defaultChecked, hasSrc, props, null);
                  }
              return;
            default:
              if (isCustomElement(tag)) {
                for (_propValue in props)
                  props.hasOwnProperty(_propValue) && (hasSrc = props[_propValue], void 0 !== hasSrc && setPropOnCustomElement(
                    domElement,
                    tag,
                    _propValue,
                    hasSrc,
                    props,
                    void 0
                  ));
                return;
              }
          }
          for (defaultValue in props)
            props.hasOwnProperty(defaultValue) && (hasSrc = props[defaultValue], null != hasSrc && setProp(domElement, tag, defaultValue, hasSrc, props, null));
        }
        function updateProperties(domElement, tag, lastProps, nextProps) {
          validatePropertiesInDevelopment(tag, nextProps);
          switch (tag) {
            case "div":
            case "span":
            case "svg":
            case "path":
            case "a":
            case "g":
            case "p":
            case "li":
              break;
            case "input":
              var name = null, type2 = null, value = null, defaultValue = null, lastDefaultValue = null, checked = null, defaultChecked = null;
              for (propKey in lastProps) {
                var lastProp = lastProps[propKey];
                if (lastProps.hasOwnProperty(propKey) && null != lastProp)
                  switch (propKey) {
                    case "checked":
                      break;
                    case "value":
                      break;
                    case "defaultValue":
                      lastDefaultValue = lastProp;
                    default:
                      nextProps.hasOwnProperty(propKey) || setProp(
                        domElement,
                        tag,
                        propKey,
                        null,
                        nextProps,
                        lastProp
                      );
                  }
              }
              for (var _propKey8 in nextProps) {
                var propKey = nextProps[_propKey8];
                lastProp = lastProps[_propKey8];
                if (nextProps.hasOwnProperty(_propKey8) && (null != propKey || null != lastProp))
                  switch (_propKey8) {
                    case "type":
                      type2 = propKey;
                      break;
                    case "name":
                      name = propKey;
                      break;
                    case "checked":
                      checked = propKey;
                      break;
                    case "defaultChecked":
                      defaultChecked = propKey;
                      break;
                    case "value":
                      value = propKey;
                      break;
                    case "defaultValue":
                      defaultValue = propKey;
                      break;
                    case "children":
                    case "dangerouslySetInnerHTML":
                      if (null != propKey)
                        throw Error(
                          tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
                        );
                      break;
                    default:
                      propKey !== lastProp && setProp(
                        domElement,
                        tag,
                        _propKey8,
                        propKey,
                        nextProps,
                        lastProp
                      );
                  }
              }
              tag = "checkbox" === lastProps.type || "radio" === lastProps.type ? null != lastProps.checked : null != lastProps.value;
              nextProps = "checkbox" === nextProps.type || "radio" === nextProps.type ? null != nextProps.checked : null != nextProps.value;
              tag || !nextProps || didWarnUncontrolledToControlled || (console.error(
                "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://react.dev/link/controlled-components"
              ), didWarnUncontrolledToControlled = true);
              !tag || nextProps || didWarnControlledToUncontrolled || (console.error(
                "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://react.dev/link/controlled-components"
              ), didWarnControlledToUncontrolled = true);
              updateInput(
                domElement,
                value,
                defaultValue,
                lastDefaultValue,
                checked,
                defaultChecked,
                type2,
                name
              );
              return;
            case "select":
              propKey = value = defaultValue = _propKey8 = null;
              for (type2 in lastProps)
                if (lastDefaultValue = lastProps[type2], lastProps.hasOwnProperty(type2) && null != lastDefaultValue)
                  switch (type2) {
                    case "value":
                      break;
                    case "multiple":
                      propKey = lastDefaultValue;
                    default:
                      nextProps.hasOwnProperty(type2) || setProp(
                        domElement,
                        tag,
                        type2,
                        null,
                        nextProps,
                        lastDefaultValue
                      );
                  }
              for (name in nextProps)
                if (type2 = nextProps[name], lastDefaultValue = lastProps[name], nextProps.hasOwnProperty(name) && (null != type2 || null != lastDefaultValue))
                  switch (name) {
                    case "value":
                      _propKey8 = type2;
                      break;
                    case "defaultValue":
                      defaultValue = type2;
                      break;
                    case "multiple":
                      value = type2;
                    default:
                      type2 !== lastDefaultValue && setProp(
                        domElement,
                        tag,
                        name,
                        type2,
                        nextProps,
                        lastDefaultValue
                      );
                  }
              nextProps = defaultValue;
              tag = value;
              lastProps = propKey;
              null != _propKey8 ? updateOptions(domElement, !!tag, _propKey8, false) : !!lastProps !== !!tag && (null != nextProps ? updateOptions(domElement, !!tag, nextProps, true) : updateOptions(domElement, !!tag, tag ? [] : "", false));
              return;
            case "textarea":
              propKey = _propKey8 = null;
              for (defaultValue in lastProps)
                if (name = lastProps[defaultValue], lastProps.hasOwnProperty(defaultValue) && null != name && !nextProps.hasOwnProperty(defaultValue))
                  switch (defaultValue) {
                    case "value":
                      break;
                    case "children":
                      break;
                    default:
                      setProp(domElement, tag, defaultValue, null, nextProps, name);
                  }
              for (value in nextProps)
                if (name = nextProps[value], type2 = lastProps[value], nextProps.hasOwnProperty(value) && (null != name || null != type2))
                  switch (value) {
                    case "value":
                      _propKey8 = name;
                      break;
                    case "defaultValue":
                      propKey = name;
                      break;
                    case "children":
                      break;
                    case "dangerouslySetInnerHTML":
                      if (null != name)
                        throw Error(
                          "`dangerouslySetInnerHTML` does not make sense on <textarea>."
                        );
                      break;
                    default:
                      name !== type2 && setProp(domElement, tag, value, name, nextProps, type2);
                  }
              updateTextarea(domElement, _propKey8, propKey);
              return;
            case "option":
              for (var _propKey13 in lastProps)
                if (_propKey8 = lastProps[_propKey13], lastProps.hasOwnProperty(_propKey13) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey13))
                  switch (_propKey13) {
                    case "selected":
                      domElement.selected = false;
                      break;
                    default:
                      setProp(
                        domElement,
                        tag,
                        _propKey13,
                        null,
                        nextProps,
                        _propKey8
                      );
                  }
              for (lastDefaultValue in nextProps)
                if (_propKey8 = nextProps[lastDefaultValue], propKey = lastProps[lastDefaultValue], nextProps.hasOwnProperty(lastDefaultValue) && _propKey8 !== propKey && (null != _propKey8 || null != propKey))
                  switch (lastDefaultValue) {
                    case "selected":
                      domElement.selected = _propKey8 && "function" !== typeof _propKey8 && "symbol" !== typeof _propKey8;
                      break;
                    default:
                      setProp(
                        domElement,
                        tag,
                        lastDefaultValue,
                        _propKey8,
                        nextProps,
                        propKey
                      );
                  }
              return;
            case "img":
            case "link":
            case "area":
            case "base":
            case "br":
            case "col":
            case "embed":
            case "hr":
            case "keygen":
            case "meta":
            case "param":
            case "source":
            case "track":
            case "wbr":
            case "menuitem":
              for (var _propKey15 in lastProps)
                _propKey8 = lastProps[_propKey15], lastProps.hasOwnProperty(_propKey15) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey15) && setProp(
                  domElement,
                  tag,
                  _propKey15,
                  null,
                  nextProps,
                  _propKey8
                );
              for (checked in nextProps)
                if (_propKey8 = nextProps[checked], propKey = lastProps[checked], nextProps.hasOwnProperty(checked) && _propKey8 !== propKey && (null != _propKey8 || null != propKey))
                  switch (checked) {
                    case "children":
                    case "dangerouslySetInnerHTML":
                      if (null != _propKey8)
                        throw Error(
                          tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
                        );
                      break;
                    default:
                      setProp(
                        domElement,
                        tag,
                        checked,
                        _propKey8,
                        nextProps,
                        propKey
                      );
                  }
              return;
            default:
              if (isCustomElement(tag)) {
                for (var _propKey17 in lastProps)
                  _propKey8 = lastProps[_propKey17], lastProps.hasOwnProperty(_propKey17) && void 0 !== _propKey8 && !nextProps.hasOwnProperty(_propKey17) && setPropOnCustomElement(
                    domElement,
                    tag,
                    _propKey17,
                    void 0,
                    nextProps,
                    _propKey8
                  );
                for (defaultChecked in nextProps)
                  _propKey8 = nextProps[defaultChecked], propKey = lastProps[defaultChecked], !nextProps.hasOwnProperty(defaultChecked) || _propKey8 === propKey || void 0 === _propKey8 && void 0 === propKey || setPropOnCustomElement(
                    domElement,
                    tag,
                    defaultChecked,
                    _propKey8,
                    nextProps,
                    propKey
                  );
                return;
              }
          }
          for (var _propKey19 in lastProps)
            _propKey8 = lastProps[_propKey19], lastProps.hasOwnProperty(_propKey19) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey19) && setProp(domElement, tag, _propKey19, null, nextProps, _propKey8);
          for (lastProp in nextProps)
            _propKey8 = nextProps[lastProp], propKey = lastProps[lastProp], !nextProps.hasOwnProperty(lastProp) || _propKey8 === propKey || null == _propKey8 && null == propKey || setProp(domElement, tag, lastProp, _propKey8, nextProps, propKey);
        }
        function getPropNameFromAttributeName(attrName) {
          switch (attrName) {
            case "class":
              return "className";
            case "for":
              return "htmlFor";
            default:
              return attrName;
          }
        }
        function getStylesObjectFromElement(domElement) {
          var serverValueInObjectForm = {};
          domElement = domElement.style;
          for (var i2 = 0; i2 < domElement.length; i2++) {
            var styleName = domElement[i2];
            serverValueInObjectForm[styleName] = domElement.getPropertyValue(styleName);
          }
          return serverValueInObjectForm;
        }
        function diffHydratedStyles(domElement, value$jscomp$0, serverDifferences) {
          if (null != value$jscomp$0 && "object" !== typeof value$jscomp$0)
            console.error(
              "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX."
            );
          else {
            var clientValue;
            var delimiter2 = clientValue = "", styleName;
            for (styleName in value$jscomp$0)
              if (value$jscomp$0.hasOwnProperty(styleName)) {
                var value = value$jscomp$0[styleName];
                null != value && "boolean" !== typeof value && "" !== value && (0 === styleName.indexOf("--") ? (checkCSSPropertyStringCoercion(value, styleName), clientValue += delimiter2 + styleName + ":" + ("" + value).trim()) : "number" !== typeof value || 0 === value || unitlessNumbers.has(styleName) ? (checkCSSPropertyStringCoercion(value, styleName), clientValue += delimiter2 + styleName.replace(uppercasePattern, "-$1").toLowerCase().replace(msPattern$1, "-ms-") + ":" + ("" + value).trim()) : clientValue += delimiter2 + styleName.replace(uppercasePattern, "-$1").toLowerCase().replace(msPattern$1, "-ms-") + ":" + value + "px", delimiter2 = ";");
              }
            clientValue = clientValue || null;
            value$jscomp$0 = domElement.getAttribute("style");
            value$jscomp$0 !== clientValue && (clientValue = normalizeMarkupForTextOrAttribute(clientValue), normalizeMarkupForTextOrAttribute(value$jscomp$0) !== clientValue && (serverDifferences.style = getStylesObjectFromElement(domElement)));
          }
        }
        function hydrateAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
          extraAttributes.delete(attributeName);
          domElement = domElement.getAttribute(attributeName);
          if (null === domElement)
            switch (typeof value) {
              case "undefined":
              case "function":
              case "symbol":
              case "boolean":
                return;
            }
          else if (null != value)
            switch (typeof value) {
              case "function":
              case "symbol":
              case "boolean":
                break;
              default:
                if (checkAttributeStringCoercion(value, propKey), domElement === "" + value)
                  return;
            }
          warnForPropDifference(propKey, domElement, value, serverDifferences);
        }
        function hydrateBooleanAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
          extraAttributes.delete(attributeName);
          domElement = domElement.getAttribute(attributeName);
          if (null === domElement) {
            switch (typeof value) {
              case "function":
              case "symbol":
                return;
            }
            if (!value) return;
          } else
            switch (typeof value) {
              case "function":
              case "symbol":
                break;
              default:
                if (value) return;
            }
          warnForPropDifference(propKey, domElement, value, serverDifferences);
        }
        function hydrateBooleanishAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
          extraAttributes.delete(attributeName);
          domElement = domElement.getAttribute(attributeName);
          if (null === domElement)
            switch (typeof value) {
              case "undefined":
              case "function":
              case "symbol":
                return;
            }
          else if (null != value)
            switch (typeof value) {
              case "function":
              case "symbol":
                break;
              default:
                if (checkAttributeStringCoercion(value, attributeName), domElement === "" + value)
                  return;
            }
          warnForPropDifference(propKey, domElement, value, serverDifferences);
        }
        function hydrateNumericAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
          extraAttributes.delete(attributeName);
          domElement = domElement.getAttribute(attributeName);
          if (null === domElement)
            switch (typeof value) {
              case "undefined":
              case "function":
              case "symbol":
              case "boolean":
                return;
              default:
                if (isNaN(value)) return;
            }
          else if (null != value)
            switch (typeof value) {
              case "function":
              case "symbol":
              case "boolean":
                break;
              default:
                if (!isNaN(value) && (checkAttributeStringCoercion(value, propKey), domElement === "" + value))
                  return;
            }
          warnForPropDifference(propKey, domElement, value, serverDifferences);
        }
        function hydrateSanitizedAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
          extraAttributes.delete(attributeName);
          domElement = domElement.getAttribute(attributeName);
          if (null === domElement)
            switch (typeof value) {
              case "undefined":
              case "function":
              case "symbol":
              case "boolean":
                return;
            }
          else if (null != value)
            switch (typeof value) {
              case "function":
              case "symbol":
              case "boolean":
                break;
              default:
                if (checkAttributeStringCoercion(value, propKey), attributeName = sanitizeURL("" + value), domElement === attributeName)
                  return;
            }
          warnForPropDifference(propKey, domElement, value, serverDifferences);
        }
        function diffHydratedProperties(domElement, tag, props, hostContext) {
          for (var serverDifferences = {}, extraAttributes = /* @__PURE__ */ new Set(), attributes = domElement.attributes, i2 = 0; i2 < attributes.length; i2++)
            switch (attributes[i2].name.toLowerCase()) {
              case "value":
                break;
              case "checked":
                break;
              case "selected":
                break;
              default:
                extraAttributes.add(attributes[i2].name);
            }
          if (isCustomElement(tag))
            for (var propKey in props) {
              if (props.hasOwnProperty(propKey)) {
                var value = props[propKey];
                if (null != value) {
                  if (registrationNameDependencies.hasOwnProperty(propKey))
                    "function" !== typeof value && warnForInvalidEventListener(propKey, value);
                  else if (true !== props.suppressHydrationWarning)
                    switch (propKey) {
                      case "children":
                        "string" !== typeof value && "number" !== typeof value || warnForPropDifference(
                          "children",
                          domElement.textContent,
                          value,
                          serverDifferences
                        );
                        continue;
                      case "suppressContentEditableWarning":
                      case "suppressHydrationWarning":
                      case "defaultValue":
                      case "defaultChecked":
                      case "innerHTML":
                      case "ref":
                        continue;
                      case "dangerouslySetInnerHTML":
                        attributes = domElement.innerHTML;
                        value = value ? value.__html : void 0;
                        null != value && (value = normalizeHTML(domElement, value), warnForPropDifference(
                          propKey,
                          attributes,
                          value,
                          serverDifferences
                        ));
                        continue;
                      case "style":
                        extraAttributes.delete(propKey);
                        diffHydratedStyles(domElement, value, serverDifferences);
                        continue;
                      case "offsetParent":
                      case "offsetTop":
                      case "offsetLeft":
                      case "offsetWidth":
                      case "offsetHeight":
                      case "isContentEditable":
                      case "outerText":
                      case "outerHTML":
                        extraAttributes.delete(propKey.toLowerCase());
                        console.error(
                          "Assignment to read-only property will result in a no-op: `%s`",
                          propKey
                        );
                        continue;
                      case "className":
                        extraAttributes.delete("class");
                        attributes = getValueForAttributeOnCustomComponent(
                          domElement,
                          "class",
                          value
                        );
                        warnForPropDifference(
                          "className",
                          attributes,
                          value,
                          serverDifferences
                        );
                        continue;
                      default:
                        hostContext.context === HostContextNamespaceNone && "svg" !== tag && "math" !== tag ? extraAttributes.delete(propKey.toLowerCase()) : extraAttributes.delete(propKey), attributes = getValueForAttributeOnCustomComponent(
                          domElement,
                          propKey,
                          value
                        ), warnForPropDifference(
                          propKey,
                          attributes,
                          value,
                          serverDifferences
                        );
                    }
                }
              }
            }
          else
            for (value in props)
              if (props.hasOwnProperty(value) && (propKey = props[value], null != propKey)) {
                if (registrationNameDependencies.hasOwnProperty(value))
                  "function" !== typeof propKey && warnForInvalidEventListener(value, propKey);
                else if (true !== props.suppressHydrationWarning)
                  switch (value) {
                    case "children":
                      "string" !== typeof propKey && "number" !== typeof propKey || warnForPropDifference(
                        "children",
                        domElement.textContent,
                        propKey,
                        serverDifferences
                      );
                      continue;
                    case "suppressContentEditableWarning":
                    case "suppressHydrationWarning":
                    case "value":
                    case "checked":
                    case "selected":
                    case "defaultValue":
                    case "defaultChecked":
                    case "innerHTML":
                    case "ref":
                      continue;
                    case "dangerouslySetInnerHTML":
                      attributes = domElement.innerHTML;
                      propKey = propKey ? propKey.__html : void 0;
                      null != propKey && (propKey = normalizeHTML(domElement, propKey), attributes !== propKey && (serverDifferences[value] = { __html: attributes }));
                      continue;
                    case "className":
                      hydrateAttribute(
                        domElement,
                        value,
                        "class",
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "tabIndex":
                      hydrateAttribute(
                        domElement,
                        value,
                        "tabindex",
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "style":
                      extraAttributes.delete(value);
                      diffHydratedStyles(domElement, propKey, serverDifferences);
                      continue;
                    case "multiple":
                      extraAttributes.delete(value);
                      warnForPropDifference(
                        value,
                        domElement.multiple,
                        propKey,
                        serverDifferences
                      );
                      continue;
                    case "muted":
                      extraAttributes.delete(value);
                      warnForPropDifference(
                        value,
                        domElement.muted,
                        propKey,
                        serverDifferences
                      );
                      continue;
                    case "autoFocus":
                      extraAttributes.delete("autofocus");
                      warnForPropDifference(
                        value,
                        domElement.autofocus,
                        propKey,
                        serverDifferences
                      );
                      continue;
                    case "data":
                      if ("object" !== tag) {
                        extraAttributes.delete(value);
                        attributes = domElement.getAttribute("data");
                        warnForPropDifference(
                          value,
                          attributes,
                          propKey,
                          serverDifferences
                        );
                        continue;
                      }
                    case "src":
                    case "href":
                      if (!("" !== propKey || "a" === tag && "href" === value || "object" === tag && "data" === value)) {
                        "src" === value ? console.error(
                          'An empty string ("") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',
                          value,
                          value
                        ) : console.error(
                          'An empty string ("") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',
                          value,
                          value
                        );
                        continue;
                      }
                      hydrateSanitizedAttribute(
                        domElement,
                        value,
                        value,
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "action":
                    case "formAction":
                      attributes = domElement.getAttribute(value);
                      if ("function" === typeof propKey) {
                        extraAttributes.delete(value.toLowerCase());
                        "formAction" === value ? (extraAttributes.delete("name"), extraAttributes.delete("formenctype"), extraAttributes.delete("formmethod"), extraAttributes.delete("formtarget")) : (extraAttributes.delete("enctype"), extraAttributes.delete("method"), extraAttributes.delete("target"));
                        continue;
                      } else if (attributes === EXPECTED_FORM_ACTION_URL) {
                        extraAttributes.delete(value.toLowerCase());
                        warnForPropDifference(
                          value,
                          "function",
                          propKey,
                          serverDifferences
                        );
                        continue;
                      }
                      hydrateSanitizedAttribute(
                        domElement,
                        value,
                        value.toLowerCase(),
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "xlinkHref":
                      hydrateSanitizedAttribute(
                        domElement,
                        value,
                        "xlink:href",
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "contentEditable":
                      hydrateBooleanishAttribute(
                        domElement,
                        value,
                        "contenteditable",
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "spellCheck":
                      hydrateBooleanishAttribute(
                        domElement,
                        value,
                        "spellcheck",
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "draggable":
                    case "autoReverse":
                    case "externalResourcesRequired":
                    case "focusable":
                    case "preserveAlpha":
                      hydrateBooleanishAttribute(
                        domElement,
                        value,
                        value,
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "allowFullScreen":
                    case "async":
                    case "autoPlay":
                    case "controls":
                    case "default":
                    case "defer":
                    case "disabled":
                    case "disablePictureInPicture":
                    case "disableRemotePlayback":
                    case "formNoValidate":
                    case "hidden":
                    case "loop":
                    case "noModule":
                    case "noValidate":
                    case "open":
                    case "playsInline":
                    case "readOnly":
                    case "required":
                    case "reversed":
                    case "scoped":
                    case "seamless":
                    case "itemScope":
                      hydrateBooleanAttribute(
                        domElement,
                        value,
                        value.toLowerCase(),
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "capture":
                    case "download":
                      a: {
                        i2 = domElement;
                        var attributeName = attributes = value, serverDifferences$jscomp$0 = serverDifferences;
                        extraAttributes.delete(attributeName);
                        i2 = i2.getAttribute(attributeName);
                        if (null === i2)
                          switch (typeof propKey) {
                            case "undefined":
                            case "function":
                            case "symbol":
                              break a;
                            default:
                              if (false === propKey) break a;
                          }
                        else if (null != propKey)
                          switch (typeof propKey) {
                            case "function":
                            case "symbol":
                              break;
                            case "boolean":
                              if (true === propKey && "" === i2) break a;
                              break;
                            default:
                              if (checkAttributeStringCoercion(propKey, attributes), i2 === "" + propKey)
                                break a;
                          }
                        warnForPropDifference(
                          attributes,
                          i2,
                          propKey,
                          serverDifferences$jscomp$0
                        );
                      }
                      continue;
                    case "cols":
                    case "rows":
                    case "size":
                    case "span":
                      a: {
                        i2 = domElement;
                        attributeName = attributes = value;
                        serverDifferences$jscomp$0 = serverDifferences;
                        extraAttributes.delete(attributeName);
                        i2 = i2.getAttribute(attributeName);
                        if (null === i2)
                          switch (typeof propKey) {
                            case "undefined":
                            case "function":
                            case "symbol":
                            case "boolean":
                              break a;
                            default:
                              if (isNaN(propKey) || 1 > propKey) break a;
                          }
                        else if (null != propKey)
                          switch (typeof propKey) {
                            case "function":
                            case "symbol":
                            case "boolean":
                              break;
                            default:
                              if (!(isNaN(propKey) || 1 > propKey) && (checkAttributeStringCoercion(propKey, attributes), i2 === "" + propKey))
                                break a;
                          }
                        warnForPropDifference(
                          attributes,
                          i2,
                          propKey,
                          serverDifferences$jscomp$0
                        );
                      }
                      continue;
                    case "rowSpan":
                      hydrateNumericAttribute(
                        domElement,
                        value,
                        "rowspan",
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "start":
                      hydrateNumericAttribute(
                        domElement,
                        value,
                        value,
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "xHeight":
                      hydrateAttribute(
                        domElement,
                        value,
                        "x-height",
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "xlinkActuate":
                      hydrateAttribute(
                        domElement,
                        value,
                        "xlink:actuate",
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "xlinkArcrole":
                      hydrateAttribute(
                        domElement,
                        value,
                        "xlink:arcrole",
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "xlinkRole":
                      hydrateAttribute(
                        domElement,
                        value,
                        "xlink:role",
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "xlinkShow":
                      hydrateAttribute(
                        domElement,
                        value,
                        "xlink:show",
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "xlinkTitle":
                      hydrateAttribute(
                        domElement,
                        value,
                        "xlink:title",
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "xlinkType":
                      hydrateAttribute(
                        domElement,
                        value,
                        "xlink:type",
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "xmlBase":
                      hydrateAttribute(
                        domElement,
                        value,
                        "xml:base",
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "xmlLang":
                      hydrateAttribute(
                        domElement,
                        value,
                        "xml:lang",
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "xmlSpace":
                      hydrateAttribute(
                        domElement,
                        value,
                        "xml:space",
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    case "inert":
                      "" !== propKey || didWarnForNewBooleanPropsWithEmptyValue[value] || (didWarnForNewBooleanPropsWithEmptyValue[value] = true, console.error(
                        "Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
                        value
                      ));
                      hydrateBooleanAttribute(
                        domElement,
                        value,
                        value,
                        propKey,
                        extraAttributes,
                        serverDifferences
                      );
                      continue;
                    default:
                      if (!(2 < value.length) || "o" !== value[0] && "O" !== value[0] || "n" !== value[1] && "N" !== value[1]) {
                        i2 = getAttributeAlias(value);
                        attributes = false;
                        hostContext.context === HostContextNamespaceNone && "svg" !== tag && "math" !== tag ? extraAttributes.delete(i2.toLowerCase()) : (attributeName = value.toLowerCase(), attributeName = possibleStandardNames.hasOwnProperty(
                          attributeName
                        ) ? possibleStandardNames[attributeName] || null : null, null !== attributeName && attributeName !== value && (attributes = true, extraAttributes.delete(attributeName)), extraAttributes.delete(i2));
                        a: if (attributeName = domElement, serverDifferences$jscomp$0 = i2, i2 = propKey, isAttributeNameSafe(serverDifferences$jscomp$0))
                          if (attributeName.hasAttribute(serverDifferences$jscomp$0))
                            attributeName = attributeName.getAttribute(
                              serverDifferences$jscomp$0
                            ), checkAttributeStringCoercion(
                              i2,
                              serverDifferences$jscomp$0
                            ), i2 = attributeName === "" + i2 ? i2 : attributeName;
                          else {
                            switch (typeof i2) {
                              case "function":
                              case "symbol":
                                break a;
                              case "boolean":
                                if (attributeName = serverDifferences$jscomp$0.toLowerCase().slice(0, 5), "data-" !== attributeName && "aria-" !== attributeName)
                                  break a;
                            }
                            i2 = void 0 === i2 ? void 0 : null;
                          }
                        else i2 = void 0;
                        attributes || warnForPropDifference(
                          value,
                          i2,
                          propKey,
                          serverDifferences
                        );
                      }
                  }
              }
          0 < extraAttributes.size && true !== props.suppressHydrationWarning && warnForExtraAttributes(domElement, extraAttributes, serverDifferences);
          return 0 === Object.keys(serverDifferences).length ? null : serverDifferences;
        }
        function propNamesListJoin(list, combinator) {
          switch (list.length) {
            case 0:
              return "";
            case 1:
              return list[0];
            case 2:
              return list[0] + " " + combinator + " " + list[1];
            default:
              return list.slice(0, -1).join(", ") + ", " + combinator + " " + list[list.length - 1];
          }
        }
        function isLikelyStaticResource(initiatorType) {
          switch (initiatorType) {
            case "css":
            case "script":
            case "font":
            case "img":
            case "image":
            case "input":
            case "link":
              return true;
            default:
              return false;
          }
        }
        function estimateBandwidth() {
          if ("function" === typeof performance.getEntriesByType) {
            for (var count2 = 0, bits = 0, resourceEntries = performance.getEntriesByType("resource"), i2 = 0; i2 < resourceEntries.length; i2++) {
              var entry = resourceEntries[i2], transferSize = entry.transferSize, initiatorType = entry.initiatorType, duration = entry.duration;
              if (transferSize && duration && isLikelyStaticResource(initiatorType)) {
                initiatorType = 0;
                duration = entry.responseEnd;
                for (i2 += 1; i2 < resourceEntries.length; i2++) {
                  var overlapEntry = resourceEntries[i2], overlapStartTime = overlapEntry.startTime;
                  if (overlapStartTime > duration) break;
                  var overlapTransferSize = overlapEntry.transferSize, overlapInitiatorType = overlapEntry.initiatorType;
                  overlapTransferSize && isLikelyStaticResource(overlapInitiatorType) && (overlapEntry = overlapEntry.responseEnd, initiatorType += overlapTransferSize * (overlapEntry < duration ? 1 : (duration - overlapStartTime) / (overlapEntry - overlapStartTime)));
                }
                --i2;
                bits += 8 * (transferSize + initiatorType) / (entry.duration / 1e3);
                count2++;
                if (10 < count2) break;
              }
            }
            if (0 < count2) return bits / count2 / 1e6;
          }
          return navigator.connection && (count2 = navigator.connection.downlink, "number" === typeof count2) ? count2 : 5;
        }
        function getOwnerDocumentFromRootContainer(rootContainerElement) {
          return 9 === rootContainerElement.nodeType ? rootContainerElement : rootContainerElement.ownerDocument;
        }
        function getOwnHostContext(namespaceURI) {
          switch (namespaceURI) {
            case SVG_NAMESPACE:
              return HostContextNamespaceSvg;
            case MATH_NAMESPACE:
              return HostContextNamespaceMath;
            default:
              return HostContextNamespaceNone;
          }
        }
        function getChildHostContextProd(parentNamespace, type2) {
          if (parentNamespace === HostContextNamespaceNone)
            switch (type2) {
              case "svg":
                return HostContextNamespaceSvg;
              case "math":
                return HostContextNamespaceMath;
              default:
                return HostContextNamespaceNone;
            }
          return parentNamespace === HostContextNamespaceSvg && "foreignObject" === type2 ? HostContextNamespaceNone : parentNamespace;
        }
        function shouldSetTextContent(type2, props) {
          return "textarea" === type2 || "noscript" === type2 || "string" === typeof props.children || "number" === typeof props.children || "bigint" === typeof props.children || "object" === typeof props.dangerouslySetInnerHTML && null !== props.dangerouslySetInnerHTML && null != props.dangerouslySetInnerHTML.__html;
        }
        function shouldAttemptEagerTransition() {
          var event = window.event;
          if (event && "popstate" === event.type) {
            if (event === currentPopstateTransitionEvent) return false;
            currentPopstateTransitionEvent = event;
            return true;
          }
          currentPopstateTransitionEvent = null;
          return false;
        }
        function resolveEventType() {
          var event = window.event;
          return event && event !== schedulerEvent ? event.type : null;
        }
        function resolveEventTimeStamp() {
          var event = window.event;
          return event && event !== schedulerEvent ? event.timeStamp : -1.1;
        }
        function handleErrorInNextTick(error2) {
          setTimeout(function() {
            throw error2;
          });
        }
        function commitMount(domElement, type2, newProps) {
          switch (type2) {
            case "button":
            case "input":
            case "select":
            case "textarea":
              newProps.autoFocus && domElement.focus();
              break;
            case "img":
              newProps.src ? domElement.src = newProps.src : newProps.srcSet && (domElement.srcset = newProps.srcSet);
          }
        }
        function commitHydratedInstance() {
        }
        function commitUpdate(domElement, type2, oldProps, newProps) {
          updateProperties(domElement, type2, oldProps, newProps);
          domElement[internalPropsKey] = newProps;
        }
        function resetTextContent(domElement) {
          setTextContent(domElement, "");
        }
        function commitTextUpdate(textInstance, oldText, newText) {
          textInstance.nodeValue = newText;
        }
        function warnForReactChildrenConflict(container) {
          if (!container.__reactWarnedAboutChildrenConflict) {
            var props = container[internalPropsKey] || null;
            if (null !== props) {
              var fiber = getInstanceFromNode(container);
              null !== fiber && ("string" === typeof props.children || "number" === typeof props.children ? (container.__reactWarnedAboutChildrenConflict = true, runWithFiberInDEV(fiber, function() {
                console.error(
                  'Cannot use a ref on a React element as a container to `createRoot` or `createPortal` if that element also sets "children" text content using React. It should be a leaf with no children. Otherwise it\'s ambiguous which children should be used.'
                );
              })) : null != props.dangerouslySetInnerHTML && (container.__reactWarnedAboutChildrenConflict = true, runWithFiberInDEV(fiber, function() {
                console.error(
                  'Cannot use a ref on a React element as a container to `createRoot` or `createPortal` if that element also sets "dangerouslySetInnerHTML" using React. It should be a leaf with no children. Otherwise it\'s ambiguous which children should be used.'
                );
              })));
            }
          }
        }
        function isSingletonScope(type2) {
          return "head" === type2;
        }
        function removeChild(parentInstance, child) {
          parentInstance.removeChild(child);
        }
        function removeChildFromContainer(container, child) {
          (9 === container.nodeType ? container.body : "HTML" === container.nodeName ? container.ownerDocument.body : container).removeChild(child);
        }
        function clearHydrationBoundary(parentInstance, hydrationInstance) {
          var node2 = hydrationInstance, depth = 0;
          do {
            var nextNode = node2.nextSibling;
            parentInstance.removeChild(node2);
            if (nextNode && 8 === nextNode.nodeType)
              if (node2 = nextNode.data, node2 === SUSPENSE_END_DATA || node2 === ACTIVITY_END_DATA) {
                if (0 === depth) {
                  parentInstance.removeChild(nextNode);
                  retryIfBlockedOn(hydrationInstance);
                  return;
                }
                depth--;
              } else if (node2 === SUSPENSE_START_DATA || node2 === SUSPENSE_PENDING_START_DATA || node2 === SUSPENSE_QUEUED_START_DATA || node2 === SUSPENSE_FALLBACK_START_DATA || node2 === ACTIVITY_START_DATA)
                depth++;
              else if (node2 === PREAMBLE_CONTRIBUTION_HTML)
                releaseSingletonInstance(
                  parentInstance.ownerDocument.documentElement
                );
              else if (node2 === PREAMBLE_CONTRIBUTION_HEAD) {
                node2 = parentInstance.ownerDocument.head;
                releaseSingletonInstance(node2);
                for (var node$jscomp$0 = node2.firstChild; node$jscomp$0; ) {
                  var nextNode$jscomp$0 = node$jscomp$0.nextSibling, nodeName = node$jscomp$0.nodeName;
                  node$jscomp$0[internalHoistableMarker] || "SCRIPT" === nodeName || "STYLE" === nodeName || "LINK" === nodeName && "stylesheet" === node$jscomp$0.rel.toLowerCase() || node2.removeChild(node$jscomp$0);
                  node$jscomp$0 = nextNode$jscomp$0;
                }
              } else
                node2 === PREAMBLE_CONTRIBUTION_BODY && releaseSingletonInstance(parentInstance.ownerDocument.body);
            node2 = nextNode;
          } while (node2);
          retryIfBlockedOn(hydrationInstance);
        }
        function hideOrUnhideDehydratedBoundary(suspenseInstance, isHidden3) {
          var node2 = suspenseInstance;
          suspenseInstance = 0;
          do {
            var nextNode = node2.nextSibling;
            1 === node2.nodeType ? isHidden3 ? (node2._stashedDisplay = node2.style.display, node2.style.display = "none") : (node2.style.display = node2._stashedDisplay || "", "" === node2.getAttribute("style") && node2.removeAttribute("style")) : 3 === node2.nodeType && (isHidden3 ? (node2._stashedText = node2.nodeValue, node2.nodeValue = "") : node2.nodeValue = node2._stashedText || "");
            if (nextNode && 8 === nextNode.nodeType)
              if (node2 = nextNode.data, node2 === SUSPENSE_END_DATA)
                if (0 === suspenseInstance) break;
                else suspenseInstance--;
              else
                node2 !== SUSPENSE_START_DATA && node2 !== SUSPENSE_PENDING_START_DATA && node2 !== SUSPENSE_QUEUED_START_DATA && node2 !== SUSPENSE_FALLBACK_START_DATA || suspenseInstance++;
            node2 = nextNode;
          } while (node2);
        }
        function hideDehydratedBoundary(suspenseInstance) {
          hideOrUnhideDehydratedBoundary(suspenseInstance, true);
        }
        function hideInstance(instance2) {
          instance2 = instance2.style;
          "function" === typeof instance2.setProperty ? instance2.setProperty("display", "none", "important") : instance2.display = "none";
        }
        function hideTextInstance(textInstance) {
          textInstance.nodeValue = "";
        }
        function unhideDehydratedBoundary(dehydratedInstance) {
          hideOrUnhideDehydratedBoundary(dehydratedInstance, false);
        }
        function unhideInstance(instance2, props) {
          props = props[STYLE];
          props = void 0 !== props && null !== props && props.hasOwnProperty("display") ? props.display : null;
          instance2.style.display = null == props || "boolean" === typeof props ? "" : ("" + props).trim();
        }
        function unhideTextInstance(textInstance, text) {
          textInstance.nodeValue = text;
        }
        function clearContainerSparingly(container) {
          var nextNode = container.firstChild;
          nextNode && 10 === nextNode.nodeType && (nextNode = nextNode.nextSibling);
          for (; nextNode; ) {
            var node2 = nextNode;
            nextNode = nextNode.nextSibling;
            switch (node2.nodeName) {
              case "HTML":
              case "HEAD":
              case "BODY":
                clearContainerSparingly(node2);
                detachDeletedInstance(node2);
                continue;
              case "SCRIPT":
              case "STYLE":
                continue;
              case "LINK":
                if ("stylesheet" === node2.rel.toLowerCase()) continue;
            }
            container.removeChild(node2);
          }
        }
        function canHydrateInstance(instance2, type2, props, inRootOrSingleton) {
          for (; 1 === instance2.nodeType; ) {
            var anyProps = props;
            if (instance2.nodeName.toLowerCase() !== type2.toLowerCase()) {
              if (!inRootOrSingleton && ("INPUT" !== instance2.nodeName || "hidden" !== instance2.type))
                break;
            } else if (!inRootOrSingleton)
              if ("input" === type2 && "hidden" === instance2.type) {
                checkAttributeStringCoercion(anyProps.name, "name");
                var name = null == anyProps.name ? null : "" + anyProps.name;
                if ("hidden" === anyProps.type && instance2.getAttribute("name") === name)
                  return instance2;
              } else return instance2;
            else if (!instance2[internalHoistableMarker])
              switch (type2) {
                case "meta":
                  if (!instance2.hasAttribute("itemprop")) break;
                  return instance2;
                case "link":
                  name = instance2.getAttribute("rel");
                  if ("stylesheet" === name && instance2.hasAttribute("data-precedence"))
                    break;
                  else if (name !== anyProps.rel || instance2.getAttribute("href") !== (null == anyProps.href || "" === anyProps.href ? null : anyProps.href) || instance2.getAttribute("crossorigin") !== (null == anyProps.crossOrigin ? null : anyProps.crossOrigin) || instance2.getAttribute("title") !== (null == anyProps.title ? null : anyProps.title))
                    break;
                  return instance2;
                case "style":
                  if (instance2.hasAttribute("data-precedence")) break;
                  return instance2;
                case "script":
                  name = instance2.getAttribute("src");
                  if ((name !== (null == anyProps.src ? null : anyProps.src) || instance2.getAttribute("type") !== (null == anyProps.type ? null : anyProps.type) || instance2.getAttribute("crossorigin") !== (null == anyProps.crossOrigin ? null : anyProps.crossOrigin)) && name && instance2.hasAttribute("async") && !instance2.hasAttribute("itemprop"))
                    break;
                  return instance2;
                default:
                  return instance2;
              }
            instance2 = getNextHydratable(instance2.nextSibling);
            if (null === instance2) break;
          }
          return null;
        }
        function canHydrateTextInstance(instance2, text, inRootOrSingleton) {
          if ("" === text) return null;
          for (; 3 !== instance2.nodeType; ) {
            if ((1 !== instance2.nodeType || "INPUT" !== instance2.nodeName || "hidden" !== instance2.type) && !inRootOrSingleton)
              return null;
            instance2 = getNextHydratable(instance2.nextSibling);
            if (null === instance2) return null;
          }
          return instance2;
        }
        function canHydrateHydrationBoundary(instance2, inRootOrSingleton) {
          for (; 8 !== instance2.nodeType; ) {
            if ((1 !== instance2.nodeType || "INPUT" !== instance2.nodeName || "hidden" !== instance2.type) && !inRootOrSingleton)
              return null;
            instance2 = getNextHydratable(instance2.nextSibling);
            if (null === instance2) return null;
          }
          return instance2;
        }
        function isSuspenseInstancePending(instance2) {
          return instance2.data === SUSPENSE_PENDING_START_DATA || instance2.data === SUSPENSE_QUEUED_START_DATA;
        }
        function isSuspenseInstanceFallback(instance2) {
          return instance2.data === SUSPENSE_FALLBACK_START_DATA || instance2.data === SUSPENSE_PENDING_START_DATA && instance2.ownerDocument.readyState !== DOCUMENT_READY_STATE_LOADING;
        }
        function registerSuspenseInstanceRetry(instance2, callback) {
          var ownerDocument = instance2.ownerDocument;
          if (instance2.data === SUSPENSE_QUEUED_START_DATA)
            instance2._reactRetry = callback;
          else if (instance2.data !== SUSPENSE_PENDING_START_DATA || ownerDocument.readyState !== DOCUMENT_READY_STATE_LOADING)
            callback();
          else {
            var listener = function() {
              callback();
              ownerDocument.removeEventListener("DOMContentLoaded", listener);
            };
            ownerDocument.addEventListener("DOMContentLoaded", listener);
            instance2._reactRetry = listener;
          }
        }
        function getNextHydratable(node2) {
          for (; null != node2; node2 = node2.nextSibling) {
            var nodeType = node2.nodeType;
            if (1 === nodeType || 3 === nodeType) break;
            if (8 === nodeType) {
              nodeType = node2.data;
              if (nodeType === SUSPENSE_START_DATA || nodeType === SUSPENSE_FALLBACK_START_DATA || nodeType === SUSPENSE_PENDING_START_DATA || nodeType === SUSPENSE_QUEUED_START_DATA || nodeType === ACTIVITY_START_DATA || nodeType === FORM_STATE_IS_MATCHING || nodeType === FORM_STATE_IS_NOT_MATCHING)
                break;
              if (nodeType === SUSPENSE_END_DATA || nodeType === ACTIVITY_END_DATA)
                return null;
            }
          }
          return node2;
        }
        function describeHydratableInstanceForDevWarnings(instance2) {
          if (1 === instance2.nodeType) {
            for (var JSCompiler_temp_const = instance2.nodeName.toLowerCase(), serverDifferences = {}, attributes = instance2.attributes, i2 = 0; i2 < attributes.length; i2++) {
              var attr2 = attributes[i2];
              serverDifferences[getPropNameFromAttributeName(attr2.name)] = "style" === attr2.name.toLowerCase() ? getStylesObjectFromElement(instance2) : attr2.value;
            }
            return { type: JSCompiler_temp_const, props: serverDifferences };
          }
          return 8 === instance2.nodeType ? instance2.data === ACTIVITY_START_DATA ? { type: "Activity", props: {} } : { type: "Suspense", props: {} } : instance2.nodeValue;
        }
        function diffHydratedTextForDevWarnings(textInstance, text, parentProps) {
          return null === parentProps || true !== parentProps[SUPPRESS_HYDRATION_WARNING] ? (textInstance.nodeValue === text ? textInstance = null : (text = normalizeMarkupForTextOrAttribute(text), textInstance = normalizeMarkupForTextOrAttribute(textInstance.nodeValue) === text ? null : textInstance.nodeValue), textInstance) : null;
        }
        function getNextHydratableInstanceAfterHydrationBoundary(hydrationInstance) {
          hydrationInstance = hydrationInstance.nextSibling;
          for (var depth = 0; hydrationInstance; ) {
            if (8 === hydrationInstance.nodeType) {
              var data2 = hydrationInstance.data;
              if (data2 === SUSPENSE_END_DATA || data2 === ACTIVITY_END_DATA) {
                if (0 === depth)
                  return getNextHydratable(hydrationInstance.nextSibling);
                depth--;
              } else
                data2 !== SUSPENSE_START_DATA && data2 !== SUSPENSE_FALLBACK_START_DATA && data2 !== SUSPENSE_PENDING_START_DATA && data2 !== SUSPENSE_QUEUED_START_DATA && data2 !== ACTIVITY_START_DATA || depth++;
            }
            hydrationInstance = hydrationInstance.nextSibling;
          }
          return null;
        }
        function getParentHydrationBoundary(targetInstance) {
          targetInstance = targetInstance.previousSibling;
          for (var depth = 0; targetInstance; ) {
            if (8 === targetInstance.nodeType) {
              var data2 = targetInstance.data;
              if (data2 === SUSPENSE_START_DATA || data2 === SUSPENSE_FALLBACK_START_DATA || data2 === SUSPENSE_PENDING_START_DATA || data2 === SUSPENSE_QUEUED_START_DATA || data2 === ACTIVITY_START_DATA) {
                if (0 === depth) return targetInstance;
                depth--;
              } else
                data2 !== SUSPENSE_END_DATA && data2 !== ACTIVITY_END_DATA || depth++;
            }
            targetInstance = targetInstance.previousSibling;
          }
          return null;
        }
        function commitHydratedContainer(container) {
          retryIfBlockedOn(container);
        }
        function commitHydratedActivityInstance(activityInstance) {
          retryIfBlockedOn(activityInstance);
        }
        function commitHydratedSuspenseInstance(suspenseInstance) {
          retryIfBlockedOn(suspenseInstance);
        }
        function resolveSingletonInstance(type2, props, rootContainerInstance, hostContext, validateDOMNestingDev) {
          validateDOMNestingDev && validateDOMNesting(type2, hostContext.ancestorInfo);
          props = getOwnerDocumentFromRootContainer(rootContainerInstance);
          switch (type2) {
            case "html":
              type2 = props.documentElement;
              if (!type2)
                throw Error(
                  "React expected an <html> element (document.documentElement) to exist in the Document but one was not found. React never removes the documentElement for any Document it renders into so the cause is likely in some other script running on this page."
                );
              return type2;
            case "head":
              type2 = props.head;
              if (!type2)
                throw Error(
                  "React expected a <head> element (document.head) to exist in the Document but one was not found. React never removes the head for any Document it renders into so the cause is likely in some other script running on this page."
                );
              return type2;
            case "body":
              type2 = props.body;
              if (!type2)
                throw Error(
                  "React expected a <body> element (document.body) to exist in the Document but one was not found. React never removes the body for any Document it renders into so the cause is likely in some other script running on this page."
                );
              return type2;
            default:
              throw Error(
                "resolveSingletonInstance was called with an element type that is not supported. This is a bug in React."
              );
          }
        }
        function acquireSingletonInstance(type2, props, instance2, internalInstanceHandle) {
          if (!instance2[internalContainerInstanceKey] && getInstanceFromNode(instance2)) {
            var tagName = instance2.tagName.toLowerCase();
            console.error(
              "You are mounting a new %s component when a previous one has not first unmounted. It is an error to render more than one %s component at a time and attributes and children of these components will likely fail in unpredictable ways. Please only render a single instance of <%s> and if you need to mount a new one, ensure any previous ones have unmounted first.",
              tagName,
              tagName,
              tagName
            );
          }
          switch (type2) {
            case "html":
            case "head":
            case "body":
              break;
            default:
              console.error(
                "acquireSingletonInstance was called with an element type that is not supported. This is a bug in React."
              );
          }
          for (tagName = instance2.attributes; tagName.length; )
            instance2.removeAttributeNode(tagName[0]);
          setInitialProperties(instance2, type2, props);
          instance2[internalInstanceKey] = internalInstanceHandle;
          instance2[internalPropsKey] = props;
        }
        function releaseSingletonInstance(instance2) {
          for (var attributes = instance2.attributes; attributes.length; )
            instance2.removeAttributeNode(attributes[0]);
          detachDeletedInstance(instance2);
        }
        function getHoistableRoot(container) {
          return "function" === typeof container.getRootNode ? container.getRootNode() : 9 === container.nodeType ? container : container.ownerDocument;
        }
        function preconnectAs(rel, href, crossOrigin) {
          var ownerDocument = globalDocument;
          if (ownerDocument && "string" === typeof href && href) {
            var limitedEscapedHref = escapeSelectorAttributeValueInsideDoubleQuotes(href);
            limitedEscapedHref = 'link[rel="' + rel + '"][href="' + limitedEscapedHref + '"]';
            "string" === typeof crossOrigin && (limitedEscapedHref += '[crossorigin="' + crossOrigin + '"]');
            preconnectsSet.has(limitedEscapedHref) || (preconnectsSet.add(limitedEscapedHref), rel = { rel, crossOrigin, href }, null === ownerDocument.querySelector(limitedEscapedHref) && (href = ownerDocument.createElement("link"), setInitialProperties(href, "link", rel), markNodeAsHoistable(href), ownerDocument.head.appendChild(href)));
          }
        }
        function getResource(type2, currentProps, pendingProps, currentResource) {
          var resourceRoot = (resourceRoot = rootInstanceStackCursor.current) ? getHoistableRoot(resourceRoot) : null;
          if (!resourceRoot)
            throw Error(
              '"resourceRoot" was expected to exist. This is a bug in React.'
            );
          switch (type2) {
            case "meta":
            case "title":
              return null;
            case "style":
              return "string" === typeof pendingProps.precedence && "string" === typeof pendingProps.href ? (pendingProps = getStyleKey(pendingProps.href), currentProps = getResourcesFromRoot(resourceRoot).hoistableStyles, currentResource = currentProps.get(pendingProps), currentResource || (currentResource = {
                type: "style",
                instance: null,
                count: 0,
                state: null
              }, currentProps.set(pendingProps, currentResource)), currentResource) : { type: "void", instance: null, count: 0, state: null };
            case "link":
              if ("stylesheet" === pendingProps.rel && "string" === typeof pendingProps.href && "string" === typeof pendingProps.precedence) {
                type2 = getStyleKey(pendingProps.href);
                var _styles = getResourcesFromRoot(resourceRoot).hoistableStyles, _resource = _styles.get(type2);
                if (!_resource && (resourceRoot = resourceRoot.ownerDocument || resourceRoot, _resource = {
                  type: "stylesheet",
                  instance: null,
                  count: 0,
                  state: { loading: NotLoaded, preload: null }
                }, _styles.set(type2, _resource), (_styles = resourceRoot.querySelector(
                  getStylesheetSelectorFromKey(type2)
                )) && !_styles._p && (_resource.instance = _styles, _resource.state.loading = Loaded | Inserted), !preloadPropsMap.has(type2))) {
                  var preloadProps = {
                    rel: "preload",
                    as: "style",
                    href: pendingProps.href,
                    crossOrigin: pendingProps.crossOrigin,
                    integrity: pendingProps.integrity,
                    media: pendingProps.media,
                    hrefLang: pendingProps.hrefLang,
                    referrerPolicy: pendingProps.referrerPolicy
                  };
                  preloadPropsMap.set(type2, preloadProps);
                  _styles || preloadStylesheet(
                    resourceRoot,
                    type2,
                    preloadProps,
                    _resource.state
                  );
                }
                if (currentProps && null === currentResource)
                  throw pendingProps = "\n\n  - " + describeLinkForResourceErrorDEV(currentProps) + "\n  + " + describeLinkForResourceErrorDEV(pendingProps), Error(
                    "Expected <link> not to update to be updated to a stylesheet with precedence. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different <link> components render in the same slot or share the same key." + pendingProps
                  );
                return _resource;
              }
              if (currentProps && null !== currentResource)
                throw pendingProps = "\n\n  - " + describeLinkForResourceErrorDEV(currentProps) + "\n  + " + describeLinkForResourceErrorDEV(pendingProps), Error(
                  "Expected stylesheet with precedence to not be updated to a different kind of <link>. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different <link> components render in the same slot or share the same key." + pendingProps
                );
              return null;
            case "script":
              return currentProps = pendingProps.async, pendingProps = pendingProps.src, "string" === typeof pendingProps && currentProps && "function" !== typeof currentProps && "symbol" !== typeof currentProps ? (pendingProps = getScriptKey(pendingProps), currentProps = getResourcesFromRoot(resourceRoot).hoistableScripts, currentResource = currentProps.get(pendingProps), currentResource || (currentResource = {
                type: "script",
                instance: null,
                count: 0,
                state: null
              }, currentProps.set(pendingProps, currentResource)), currentResource) : { type: "void", instance: null, count: 0, state: null };
            default:
              throw Error(
                'getResource encountered a type it did not expect: "' + type2 + '". this is a bug in React.'
              );
          }
        }
        function describeLinkForResourceErrorDEV(props) {
          var describedProps = 0, description = "<link";
          "string" === typeof props.rel ? (describedProps++, description += ' rel="' + props.rel + '"') : hasOwnProperty2.call(props, "rel") && (describedProps++, description += ' rel="' + (null === props.rel ? "null" : "invalid type " + typeof props.rel) + '"');
          "string" === typeof props.href ? (describedProps++, description += ' href="' + props.href + '"') : hasOwnProperty2.call(props, "href") && (describedProps++, description += ' href="' + (null === props.href ? "null" : "invalid type " + typeof props.href) + '"');
          "string" === typeof props.precedence ? (describedProps++, description += ' precedence="' + props.precedence + '"') : hasOwnProperty2.call(props, "precedence") && (describedProps++, description += " precedence={" + (null === props.precedence ? "null" : "invalid type " + typeof props.precedence) + "}");
          Object.getOwnPropertyNames(props).length > describedProps && (description += " ...");
          return description + " />";
        }
        function getStyleKey(href) {
          return 'href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"';
        }
        function getStylesheetSelectorFromKey(key) {
          return 'link[rel="stylesheet"][' + key + "]";
        }
        function stylesheetPropsFromRawProps(rawProps) {
          return assign2({}, rawProps, {
            "data-precedence": rawProps.precedence,
            precedence: null
          });
        }
        function preloadStylesheet(ownerDocument, key, preloadProps, state) {
          ownerDocument.querySelector(
            'link[rel="preload"][as="style"][' + key + "]"
          ) ? state.loading = Loaded : (key = ownerDocument.createElement("link"), state.preload = key, key.addEventListener("load", function() {
            return state.loading |= Loaded;
          }), key.addEventListener("error", function() {
            return state.loading |= Errored;
          }), setInitialProperties(key, "link", preloadProps), markNodeAsHoistable(key), ownerDocument.head.appendChild(key));
        }
        function getScriptKey(src) {
          return '[src="' + escapeSelectorAttributeValueInsideDoubleQuotes(src) + '"]';
        }
        function getScriptSelectorFromKey(key) {
          return "script[async]" + key;
        }
        function acquireResource(hoistableRoot, resource, props) {
          resource.count++;
          if (null === resource.instance)
            switch (resource.type) {
              case "style":
                var instance2 = hoistableRoot.querySelector(
                  'style[data-href~="' + escapeSelectorAttributeValueInsideDoubleQuotes(props.href) + '"]'
                );
                if (instance2)
                  return resource.instance = instance2, markNodeAsHoistable(instance2), instance2;
                var styleProps = assign2({}, props, {
                  "data-href": props.href,
                  "data-precedence": props.precedence,
                  href: null,
                  precedence: null
                });
                instance2 = (hoistableRoot.ownerDocument || hoistableRoot).createElement("style");
                markNodeAsHoistable(instance2);
                setInitialProperties(instance2, "style", styleProps);
                insertStylesheet(instance2, props.precedence, hoistableRoot);
                return resource.instance = instance2;
              case "stylesheet":
                styleProps = getStyleKey(props.href);
                var _instance = hoistableRoot.querySelector(
                  getStylesheetSelectorFromKey(styleProps)
                );
                if (_instance)
                  return resource.state.loading |= Inserted, resource.instance = _instance, markNodeAsHoistable(_instance), _instance;
                instance2 = stylesheetPropsFromRawProps(props);
                (styleProps = preloadPropsMap.get(styleProps)) && adoptPreloadPropsForStylesheet(instance2, styleProps);
                _instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement("link");
                markNodeAsHoistable(_instance);
                var linkInstance = _instance;
                linkInstance._p = new Promise(function(resolve, reject) {
                  linkInstance.onload = resolve;
                  linkInstance.onerror = reject;
                });
                setInitialProperties(_instance, "link", instance2);
                resource.state.loading |= Inserted;
                insertStylesheet(_instance, props.precedence, hoistableRoot);
                return resource.instance = _instance;
              case "script":
                _instance = getScriptKey(props.src);
                if (styleProps = hoistableRoot.querySelector(
                  getScriptSelectorFromKey(_instance)
                ))
                  return resource.instance = styleProps, markNodeAsHoistable(styleProps), styleProps;
                instance2 = props;
                if (styleProps = preloadPropsMap.get(_instance))
                  instance2 = assign2({}, props), adoptPreloadPropsForScript(instance2, styleProps);
                hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;
                styleProps = hoistableRoot.createElement("script");
                markNodeAsHoistable(styleProps);
                setInitialProperties(styleProps, "link", instance2);
                hoistableRoot.head.appendChild(styleProps);
                return resource.instance = styleProps;
              case "void":
                return null;
              default:
                throw Error(
                  'acquireResource encountered a resource type it did not expect: "' + resource.type + '". this is a bug in React.'
                );
            }
          else
            "stylesheet" === resource.type && (resource.state.loading & Inserted) === NotLoaded && (instance2 = resource.instance, resource.state.loading |= Inserted, insertStylesheet(instance2, props.precedence, hoistableRoot));
          return resource.instance;
        }
        function insertStylesheet(instance2, precedence, root3) {
          for (var nodes = root3.querySelectorAll(
            'link[rel="stylesheet"][data-precedence],style[data-precedence]'
          ), last = nodes.length ? nodes[nodes.length - 1] : null, prior = last, i2 = 0; i2 < nodes.length; i2++) {
            var node2 = nodes[i2];
            if (node2.dataset.precedence === precedence) prior = node2;
            else if (prior !== last) break;
          }
          prior ? prior.parentNode.insertBefore(instance2, prior.nextSibling) : (precedence = 9 === root3.nodeType ? root3.head : root3, precedence.insertBefore(instance2, precedence.firstChild));
        }
        function adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps) {
          null == stylesheetProps.crossOrigin && (stylesheetProps.crossOrigin = preloadProps.crossOrigin);
          null == stylesheetProps.referrerPolicy && (stylesheetProps.referrerPolicy = preloadProps.referrerPolicy);
          null == stylesheetProps.title && (stylesheetProps.title = preloadProps.title);
        }
        function adoptPreloadPropsForScript(scriptProps, preloadProps) {
          null == scriptProps.crossOrigin && (scriptProps.crossOrigin = preloadProps.crossOrigin);
          null == scriptProps.referrerPolicy && (scriptProps.referrerPolicy = preloadProps.referrerPolicy);
          null == scriptProps.integrity && (scriptProps.integrity = preloadProps.integrity);
        }
        function getHydratableHoistableCache(type2, keyAttribute, ownerDocument) {
          if (null === tagCaches) {
            var cache2 = /* @__PURE__ */ new Map();
            var caches = tagCaches = /* @__PURE__ */ new Map();
            caches.set(ownerDocument, cache2);
          } else
            caches = tagCaches, cache2 = caches.get(ownerDocument), cache2 || (cache2 = /* @__PURE__ */ new Map(), caches.set(ownerDocument, cache2));
          if (cache2.has(type2)) return cache2;
          cache2.set(type2, null);
          ownerDocument = ownerDocument.getElementsByTagName(type2);
          for (caches = 0; caches < ownerDocument.length; caches++) {
            var node2 = ownerDocument[caches];
            if (!(node2[internalHoistableMarker] || node2[internalInstanceKey] || "link" === type2 && "stylesheet" === node2.getAttribute("rel")) && node2.namespaceURI !== SVG_NAMESPACE) {
              var nodeKey = node2.getAttribute(keyAttribute) || "";
              nodeKey = type2 + nodeKey;
              var existing = cache2.get(nodeKey);
              existing ? existing.push(node2) : cache2.set(nodeKey, [node2]);
            }
          }
          return cache2;
        }
        function mountHoistable(hoistableRoot, type2, instance2) {
          hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;
          hoistableRoot.head.insertBefore(
            instance2,
            "title" === type2 ? hoistableRoot.querySelector("head > title") : null
          );
        }
        function isHostHoistableType(type2, props, hostContext) {
          var outsideHostContainerContext = !hostContext.ancestorInfo.containerTagInScope;
          if (hostContext.context === HostContextNamespaceSvg || null != props.itemProp)
            return !outsideHostContainerContext || null == props.itemProp || "meta" !== type2 && "title" !== type2 && "style" !== type2 && "link" !== type2 && "script" !== type2 || console.error(
              "Cannot render a <%s> outside the main document if it has an `itemProp` prop. `itemProp` suggests the tag belongs to an `itemScope` which can appear anywhere in the DOM. If you were intending for React to hoist this <%s> remove the `itemProp` prop. Otherwise, try moving this tag into the <head> or <body> of the Document.",
              type2,
              type2
            ), false;
          switch (type2) {
            case "meta":
            case "title":
              return true;
            case "style":
              if ("string" !== typeof props.precedence || "string" !== typeof props.href || "" === props.href) {
                outsideHostContainerContext && console.error(
                  'Cannot render a <style> outside the main document without knowing its precedence and a unique href key. React can hoist and deduplicate <style> tags if you provide a `precedence` prop along with an `href` prop that does not conflict with the `href` values used in any other hoisted <style> or <link rel="stylesheet" ...> tags.  Note that hoisting <style> tags is considered an advanced feature that most will not use directly. Consider moving the <style> tag to the <head> or consider adding a `precedence="default"` and `href="some unique resource identifier"`.'
                );
                break;
              }
              return true;
            case "link":
              if ("string" !== typeof props.rel || "string" !== typeof props.href || "" === props.href || props.onLoad || props.onError) {
                if ("stylesheet" === props.rel && "string" === typeof props.precedence) {
                  type2 = props.href;
                  var onError = props.onError, disabled2 = props.disabled;
                  hostContext = [];
                  props.onLoad && hostContext.push("`onLoad`");
                  onError && hostContext.push("`onError`");
                  null != disabled2 && hostContext.push("`disabled`");
                  onError = propNamesListJoin(hostContext, "and");
                  onError += 1 === hostContext.length ? " prop" : " props";
                  disabled2 = 1 === hostContext.length ? "an " + onError : "the " + onError;
                  hostContext.length && console.error(
                    'React encountered a <link rel="stylesheet" href="%s" ... /> with a `precedence` prop that also included %s. The presence of loading and error handlers indicates an intent to manage the stylesheet loading state from your from your Component code and React will not hoist or deduplicate this stylesheet. If your intent was to have React hoist and deduplciate this stylesheet using the `precedence` prop remove the %s, otherwise remove the `precedence` prop.',
                    type2,
                    disabled2,
                    onError
                  );
                }
                outsideHostContainerContext && ("string" !== typeof props.rel || "string" !== typeof props.href || "" === props.href ? console.error(
                  "Cannot render a <link> outside the main document without a `rel` and `href` prop. Try adding a `rel` and/or `href` prop to this <link> or moving the link into the <head> tag"
                ) : (props.onError || props.onLoad) && console.error(
                  "Cannot render a <link> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or somewhere in the <body>."
                ));
                break;
              }
              switch (props.rel) {
                case "stylesheet":
                  return type2 = props.precedence, props = props.disabled, "string" !== typeof type2 && outsideHostContainerContext && console.error(
                    'Cannot render a <link rel="stylesheet" /> outside the main document without knowing its precedence. Consider adding precedence="default" or moving it into the root <head> tag.'
                  ), "string" === typeof type2 && null == props;
                default:
                  return true;
              }
            case "script":
              type2 = props.async && "function" !== typeof props.async && "symbol" !== typeof props.async;
              if (!type2 || props.onLoad || props.onError || !props.src || "string" !== typeof props.src) {
                outsideHostContainerContext && (type2 ? props.onLoad || props.onError ? console.error(
                  "Cannot render a <script> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or somewhere in the <body>."
                ) : console.error(
                  "Cannot render a <script> outside the main document without `async={true}` and a non-empty `src` prop. Ensure there is a valid `src` and either make the script async or move it into the root <head> tag or somewhere in the <body>."
                ) : console.error(
                  'Cannot render a sync or defer <script> outside the main document without knowing its order. Try adding async="" or moving it into the root <head> tag.'
                ));
                break;
              }
              return true;
            case "noscript":
            case "template":
              outsideHostContainerContext && console.error(
                "Cannot render <%s> outside the main document. Try moving it into the root <head> tag.",
                type2
              );
          }
          return false;
        }
        function preloadResource(resource) {
          return "stylesheet" === resource.type && (resource.state.loading & Settled) === NotLoaded ? false : true;
        }
        function suspendResource(state, hoistableRoot, resource, props) {
          if ("stylesheet" === resource.type && ("string" !== typeof props.media || false !== matchMedia(props.media).matches) && (resource.state.loading & Inserted) === NotLoaded) {
            if (null === resource.instance) {
              var key = getStyleKey(props.href), instance2 = hoistableRoot.querySelector(
                getStylesheetSelectorFromKey(key)
              );
              if (instance2) {
                hoistableRoot = instance2._p;
                null !== hoistableRoot && "object" === typeof hoistableRoot && "function" === typeof hoistableRoot.then && (state.count++, state = onUnsuspend.bind(state), hoistableRoot.then(state, state));
                resource.state.loading |= Inserted;
                resource.instance = instance2;
                markNodeAsHoistable(instance2);
                return;
              }
              instance2 = hoistableRoot.ownerDocument || hoistableRoot;
              props = stylesheetPropsFromRawProps(props);
              (key = preloadPropsMap.get(key)) && adoptPreloadPropsForStylesheet(props, key);
              instance2 = instance2.createElement("link");
              markNodeAsHoistable(instance2);
              var linkInstance = instance2;
              linkInstance._p = new Promise(function(resolve, reject) {
                linkInstance.onload = resolve;
                linkInstance.onerror = reject;
              });
              setInitialProperties(instance2, "link", props);
              resource.instance = instance2;
            }
            null === state.stylesheets && (state.stylesheets = /* @__PURE__ */ new Map());
            state.stylesheets.set(resource, hoistableRoot);
            (hoistableRoot = resource.state.preload) && (resource.state.loading & Settled) === NotLoaded && (state.count++, resource = onUnsuspend.bind(state), hoistableRoot.addEventListener("load", resource), hoistableRoot.addEventListener("error", resource));
          }
        }
        function waitForCommitToBeReady(state, timeoutOffset) {
          state.stylesheets && 0 === state.count && insertSuspendedStylesheets(state, state.stylesheets);
          return 0 < state.count || 0 < state.imgCount ? function(commit) {
            var stylesheetTimer = setTimeout(function() {
              state.stylesheets && insertSuspendedStylesheets(state, state.stylesheets);
              if (state.unsuspend) {
                var unsuspend = state.unsuspend;
                state.unsuspend = null;
                unsuspend();
              }
            }, SUSPENSEY_STYLESHEET_TIMEOUT + timeoutOffset);
            0 < state.imgBytes && 0 === estimatedBytesWithinLimit && (estimatedBytesWithinLimit = 125 * estimateBandwidth() * SUSPENSEY_IMAGE_TIME_ESTIMATE);
            var imgTimer = setTimeout(
              function() {
                state.waitingForImages = false;
                if (0 === state.count && (state.stylesheets && insertSuspendedStylesheets(state, state.stylesheets), state.unsuspend)) {
                  var unsuspend = state.unsuspend;
                  state.unsuspend = null;
                  unsuspend();
                }
              },
              (state.imgBytes > estimatedBytesWithinLimit ? 50 : SUSPENSEY_IMAGE_TIMEOUT) + timeoutOffset
            );
            state.unsuspend = commit;
            return function() {
              state.unsuspend = null;
              clearTimeout(stylesheetTimer);
              clearTimeout(imgTimer);
            };
          } : null;
        }
        function onUnsuspend() {
          this.count--;
          if (0 === this.count && (0 === this.imgCount || !this.waitingForImages)) {
            if (this.stylesheets)
              insertSuspendedStylesheets(this, this.stylesheets);
            else if (this.unsuspend) {
              var unsuspend = this.unsuspend;
              this.unsuspend = null;
              unsuspend();
            }
          }
        }
        function insertSuspendedStylesheets(state, resources) {
          state.stylesheets = null;
          null !== state.unsuspend && (state.count++, precedencesByRoot = /* @__PURE__ */ new Map(), resources.forEach(insertStylesheetIntoRoot, state), precedencesByRoot = null, onUnsuspend.call(state));
        }
        function insertStylesheetIntoRoot(root3, resource) {
          if (!(resource.state.loading & Inserted)) {
            var precedences = precedencesByRoot.get(root3);
            if (precedences) var last = precedences.get(LAST_PRECEDENCE);
            else {
              precedences = /* @__PURE__ */ new Map();
              precedencesByRoot.set(root3, precedences);
              for (var nodes = root3.querySelectorAll(
                "link[data-precedence],style[data-precedence]"
              ), i2 = 0; i2 < nodes.length; i2++) {
                var node2 = nodes[i2];
                if ("LINK" === node2.nodeName || "not all" !== node2.getAttribute("media"))
                  precedences.set(node2.dataset.precedence, node2), last = node2;
              }
              last && precedences.set(LAST_PRECEDENCE, last);
            }
            nodes = resource.instance;
            node2 = nodes.getAttribute("data-precedence");
            i2 = precedences.get(node2) || last;
            i2 === last && precedences.set(LAST_PRECEDENCE, nodes);
            precedences.set(node2, nodes);
            this.count++;
            last = onUnsuspend.bind(this);
            nodes.addEventListener("load", last);
            nodes.addEventListener("error", last);
            i2 ? i2.parentNode.insertBefore(nodes, i2.nextSibling) : (root3 = 9 === root3.nodeType ? root3.head : root3, root3.insertBefore(nodes, root3.firstChild));
            resource.state.loading |= Inserted;
          }
        }
        function FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, onDefaultTransitionIndicator, formState) {
          this.tag = 1;
          this.containerInfo = containerInfo;
          this.pingCache = this.current = this.pendingChildren = null;
          this.timeoutHandle = noTimeout;
          this.callbackNode = this.next = this.pendingContext = this.context = this.cancelPendingCommit = null;
          this.callbackPriority = 0;
          this.expirationTimes = createLaneMap(-1);
          this.entangledLanes = this.shellSuspendCounter = this.errorRecoveryDisabledLanes = this.expiredLanes = this.warmLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0;
          this.entanglements = createLaneMap(0);
          this.hiddenUpdates = createLaneMap(null);
          this.identifierPrefix = identifierPrefix;
          this.onUncaughtError = onUncaughtError;
          this.onCaughtError = onCaughtError;
          this.onRecoverableError = onRecoverableError;
          this.pooledCache = null;
          this.pooledCacheLanes = 0;
          this.formState = formState;
          this.incompleteTransitions = /* @__PURE__ */ new Map();
          this.passiveEffectDuration = this.effectDuration = -0;
          this.memoizedUpdaters = /* @__PURE__ */ new Set();
          containerInfo = this.pendingUpdatersLaneMap = [];
          for (tag = 0; 31 > tag; tag++) containerInfo.push(/* @__PURE__ */ new Set());
          this._debugRootType = hydrate ? "hydrateRoot()" : "createRoot()";
        }
        function createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, identifierPrefix, formState, onUncaughtError, onCaughtError, onRecoverableError, onDefaultTransitionIndicator) {
          containerInfo = new FiberRootNode(
            containerInfo,
            tag,
            hydrate,
            identifierPrefix,
            onUncaughtError,
            onCaughtError,
            onRecoverableError,
            onDefaultTransitionIndicator,
            formState
          );
          tag = ConcurrentMode;
          true === isStrictMode && (tag |= StrictLegacyMode | StrictEffectsMode);
          tag |= ProfileMode;
          isStrictMode = createFiber(3, null, null, tag);
          containerInfo.current = isStrictMode;
          isStrictMode.stateNode = containerInfo;
          tag = createCache3();
          retainCache(tag);
          containerInfo.pooledCache = tag;
          retainCache(tag);
          isStrictMode.memoizedState = {
            element: initialChildren,
            isDehydrated: hydrate,
            cache: tag
          };
          initializeUpdateQueue(isStrictMode);
          return containerInfo;
        }
        function getContextForSubtree(parentComponent) {
          if (!parentComponent) return emptyContextObject;
          parentComponent = emptyContextObject;
          return parentComponent;
        }
        function updateContainerImpl(rootFiber, lane, element, container, parentComponent, callback) {
          if (injectedHook && "function" === typeof injectedHook.onScheduleFiberRoot)
            try {
              injectedHook.onScheduleFiberRoot(rendererID, container, element);
            } catch (err) {
              hasLoggedError || (hasLoggedError = true, console.error(
                "React instrumentation encountered an error: %o",
                err
              ));
            }
          parentComponent = getContextForSubtree(parentComponent);
          null === container.context ? container.context = parentComponent : container.pendingContext = parentComponent;
          isRendering && null !== current && !didWarnAboutNestedUpdates && (didWarnAboutNestedUpdates = true, console.error(
            "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.\n\nCheck the render method of %s.",
            getComponentNameFromFiber(current) || "Unknown"
          ));
          container = createUpdate(lane);
          container.payload = { element };
          callback = void 0 === callback ? null : callback;
          null !== callback && ("function" !== typeof callback && console.error(
            "Expected the last optional `callback` argument to be a function. Instead received: %s.",
            callback
          ), container.callback = callback);
          element = enqueueUpdate(rootFiber, container, lane);
          null !== element && (startUpdateTimerByLane(lane, "root.render()", null), scheduleUpdateOnFiber(element, rootFiber, lane), entangleTransitions(element, rootFiber, lane));
        }
        function markRetryLaneImpl(fiber, retryLane) {
          fiber = fiber.memoizedState;
          if (null !== fiber && null !== fiber.dehydrated) {
            var a2 = fiber.retryLane;
            fiber.retryLane = 0 !== a2 && a2 < retryLane ? a2 : retryLane;
          }
        }
        function markRetryLaneIfNotHydrated(fiber, retryLane) {
          markRetryLaneImpl(fiber, retryLane);
          (fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane);
        }
        function attemptContinuousHydration(fiber) {
          if (13 === fiber.tag || 31 === fiber.tag) {
            var root3 = enqueueConcurrentRenderForLane(fiber, 67108864);
            null !== root3 && scheduleUpdateOnFiber(root3, fiber, 67108864);
            markRetryLaneIfNotHydrated(fiber, 67108864);
          }
        }
        function attemptHydrationAtCurrentPriority(fiber) {
          if (13 === fiber.tag || 31 === fiber.tag) {
            var lane = requestUpdateLane(fiber);
            lane = getBumpedLaneForHydrationByLane(lane);
            var root3 = enqueueConcurrentRenderForLane(fiber, lane);
            null !== root3 && scheduleUpdateOnFiber(root3, fiber, lane);
            markRetryLaneIfNotHydrated(fiber, lane);
          }
        }
        function getCurrentFiberForDevTools() {
          return current;
        }
        function dispatchDiscreteEvent(domEventName, eventSystemFlags, container, nativeEvent) {
          var prevTransition = ReactSharedInternals.T;
          ReactSharedInternals.T = null;
          var previousPriority = ReactDOMSharedInternals.p;
          try {
            ReactDOMSharedInternals.p = DiscreteEventPriority, dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);
          } finally {
            ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition;
          }
        }
        function dispatchContinuousEvent(domEventName, eventSystemFlags, container, nativeEvent) {
          var prevTransition = ReactSharedInternals.T;
          ReactSharedInternals.T = null;
          var previousPriority = ReactDOMSharedInternals.p;
          try {
            ReactDOMSharedInternals.p = ContinuousEventPriority, dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);
          } finally {
            ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition;
          }
        }
        function dispatchEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) {
          if (_enabled) {
            var blockedOn = findInstanceBlockingEvent(nativeEvent);
            if (null === blockedOn)
              dispatchEventForPluginEventSystem(
                domEventName,
                eventSystemFlags,
                nativeEvent,
                return_targetInst,
                targetContainer
              ), clearIfContinuousEvent(domEventName, nativeEvent);
            else if (queueIfContinuousEvent(
              blockedOn,
              domEventName,
              eventSystemFlags,
              targetContainer,
              nativeEvent
            ))
              nativeEvent.stopPropagation();
            else if (clearIfContinuousEvent(domEventName, nativeEvent), eventSystemFlags & 4 && -1 < discreteReplayableEvents.indexOf(domEventName)) {
              for (; null !== blockedOn; ) {
                var fiber = getInstanceFromNode(blockedOn);
                if (null !== fiber)
                  switch (fiber.tag) {
                    case 3:
                      fiber = fiber.stateNode;
                      if (fiber.current.memoizedState.isDehydrated) {
                        var lanes = getHighestPriorityLanes(fiber.pendingLanes);
                        if (0 !== lanes) {
                          var root3 = fiber;
                          root3.pendingLanes |= 2;
                          for (root3.entangledLanes |= 2; lanes; ) {
                            var lane = 1 << 31 - clz32(lanes);
                            root3.entanglements[1] |= lane;
                            lanes &= ~lane;
                          }
                          ensureRootIsScheduled(fiber);
                          (executionContext & (RenderContext | CommitContext)) === NoContext && (workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS, flushSyncWorkAcrossRoots_impl(0, false));
                        }
                      }
                      break;
                    case 31:
                    case 13:
                      root3 = enqueueConcurrentRenderForLane(fiber, 2), null !== root3 && scheduleUpdateOnFiber(root3, fiber, 2), flushSyncWork$1(), markRetryLaneIfNotHydrated(fiber, 2);
                  }
                fiber = findInstanceBlockingEvent(nativeEvent);
                null === fiber && dispatchEventForPluginEventSystem(
                  domEventName,
                  eventSystemFlags,
                  nativeEvent,
                  return_targetInst,
                  targetContainer
                );
                if (fiber === blockedOn) break;
                blockedOn = fiber;
              }
              null !== blockedOn && nativeEvent.stopPropagation();
            } else
              dispatchEventForPluginEventSystem(
                domEventName,
                eventSystemFlags,
                nativeEvent,
                null,
                targetContainer
              );
          }
        }
        function findInstanceBlockingEvent(nativeEvent) {
          nativeEvent = getEventTarget(nativeEvent);
          return findInstanceBlockingTarget(nativeEvent);
        }
        function findInstanceBlockingTarget(targetNode) {
          return_targetInst = null;
          targetNode = getClosestInstanceFromNode(targetNode);
          if (null !== targetNode) {
            var nearestMounted = getNearestMountedFiber(targetNode);
            if (null === nearestMounted) targetNode = null;
            else {
              var tag = nearestMounted.tag;
              if (13 === tag) {
                targetNode = getSuspenseInstanceFromFiber(nearestMounted);
                if (null !== targetNode) return targetNode;
                targetNode = null;
              } else if (31 === tag) {
                targetNode = getActivityInstanceFromFiber(nearestMounted);
                if (null !== targetNode) return targetNode;
                targetNode = null;
              } else if (3 === tag) {
                if (nearestMounted.stateNode.current.memoizedState.isDehydrated)
                  return 3 === nearestMounted.tag ? nearestMounted.stateNode.containerInfo : null;
                targetNode = null;
              } else nearestMounted !== targetNode && (targetNode = null);
            }
          }
          return_targetInst = targetNode;
          return null;
        }
        function getEventPriority(domEventName) {
          switch (domEventName) {
            case "beforetoggle":
            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 "toggle":
            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 DiscreteEventPriority;
            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 "touchmove":
            case "wheel":
            case "mouseenter":
            case "mouseleave":
            case "pointerenter":
            case "pointerleave":
              return ContinuousEventPriority;
            case "message":
              switch (getCurrentPriorityLevel()) {
                case ImmediatePriority:
                  return DiscreteEventPriority;
                case UserBlockingPriority:
                  return ContinuousEventPriority;
                case NormalPriority$1:
                case LowPriority:
                  return DefaultEventPriority;
                case IdlePriority:
                  return IdleEventPriority;
                default:
                  return DefaultEventPriority;
              }
            default:
              return DefaultEventPriority;
          }
        }
        function clearIfContinuousEvent(domEventName, nativeEvent) {
          switch (domEventName) {
            case "focusin":
            case "focusout":
              queuedFocus = null;
              break;
            case "dragenter":
            case "dragleave":
              queuedDrag = null;
              break;
            case "mouseover":
            case "mouseout":
              queuedMouse = null;
              break;
            case "pointerover":
            case "pointerout":
              queuedPointers.delete(nativeEvent.pointerId);
              break;
            case "gotpointercapture":
            case "lostpointercapture":
              queuedPointerCaptures.delete(nativeEvent.pointerId);
          }
        }
        function accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {
          if (null === existingQueuedEvent || existingQueuedEvent.nativeEvent !== nativeEvent)
            return existingQueuedEvent = {
              blockedOn,
              domEventName,
              eventSystemFlags,
              nativeEvent,
              targetContainers: [targetContainer]
            }, null !== blockedOn && (blockedOn = getInstanceFromNode(blockedOn), null !== blockedOn && attemptContinuousHydration(blockedOn)), existingQueuedEvent;
          existingQueuedEvent.eventSystemFlags |= eventSystemFlags;
          blockedOn = existingQueuedEvent.targetContainers;
          null !== targetContainer && -1 === blockedOn.indexOf(targetContainer) && blockedOn.push(targetContainer);
          return existingQueuedEvent;
        }
        function queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {
          switch (domEventName) {
            case "focusin":
              return queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(
                queuedFocus,
                blockedOn,
                domEventName,
                eventSystemFlags,
                targetContainer,
                nativeEvent
              ), true;
            case "dragenter":
              return queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(
                queuedDrag,
                blockedOn,
                domEventName,
                eventSystemFlags,
                targetContainer,
                nativeEvent
              ), true;
            case "mouseover":
              return queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(
                queuedMouse,
                blockedOn,
                domEventName,
                eventSystemFlags,
                targetContainer,
                nativeEvent
              ), true;
            case "pointerover":
              var pointerId = nativeEvent.pointerId;
              queuedPointers.set(
                pointerId,
                accumulateOrCreateContinuousQueuedReplayableEvent(
                  queuedPointers.get(pointerId) || null,
                  blockedOn,
                  domEventName,
                  eventSystemFlags,
                  targetContainer,
                  nativeEvent
                )
              );
              return true;
            case "gotpointercapture":
              return pointerId = nativeEvent.pointerId, queuedPointerCaptures.set(
                pointerId,
                accumulateOrCreateContinuousQueuedReplayableEvent(
                  queuedPointerCaptures.get(pointerId) || null,
                  blockedOn,
                  domEventName,
                  eventSystemFlags,
                  targetContainer,
                  nativeEvent
                )
              ), true;
          }
          return false;
        }
        function attemptExplicitHydrationTarget(queuedTarget) {
          var targetInst = getClosestInstanceFromNode(queuedTarget.target);
          if (null !== targetInst) {
            var nearestMounted = getNearestMountedFiber(targetInst);
            if (null !== nearestMounted) {
              if (targetInst = nearestMounted.tag, 13 === targetInst) {
                if (targetInst = getSuspenseInstanceFromFiber(nearestMounted), null !== targetInst) {
                  queuedTarget.blockedOn = targetInst;
                  runWithPriority(queuedTarget.priority, function() {
                    attemptHydrationAtCurrentPriority(nearestMounted);
                  });
                  return;
                }
              } else if (31 === targetInst) {
                if (targetInst = getActivityInstanceFromFiber(nearestMounted), null !== targetInst) {
                  queuedTarget.blockedOn = targetInst;
                  runWithPriority(queuedTarget.priority, function() {
                    attemptHydrationAtCurrentPriority(nearestMounted);
                  });
                  return;
                }
              } else if (3 === targetInst && nearestMounted.stateNode.current.memoizedState.isDehydrated) {
                queuedTarget.blockedOn = 3 === nearestMounted.tag ? nearestMounted.stateNode.containerInfo : null;
                return;
              }
            }
          }
          queuedTarget.blockedOn = null;
        }
        function attemptReplayContinuousQueuedEvent(queuedEvent) {
          if (null !== queuedEvent.blockedOn) return false;
          for (var targetContainers = queuedEvent.targetContainers; 0 < targetContainers.length; ) {
            var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.nativeEvent);
            if (null === nextBlockedOn) {
              nextBlockedOn = queuedEvent.nativeEvent;
              var nativeEventClone = new nextBlockedOn.constructor(
                nextBlockedOn.type,
                nextBlockedOn
              ), event = nativeEventClone;
              null !== currentReplayingEvent && console.error(
                "Expected currently replaying event to be null. This error is likely caused by a bug in React. Please file an issue."
              );
              currentReplayingEvent = event;
              nextBlockedOn.target.dispatchEvent(nativeEventClone);
              null === currentReplayingEvent && console.error(
                "Expected currently replaying event to not be null. This error is likely caused by a bug in React. Please file an issue."
              );
              currentReplayingEvent = null;
            } else
              return targetContainers = getInstanceFromNode(nextBlockedOn), null !== targetContainers && attemptContinuousHydration(targetContainers), queuedEvent.blockedOn = nextBlockedOn, false;
            targetContainers.shift();
          }
          return true;
        }
        function attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {
          attemptReplayContinuousQueuedEvent(queuedEvent) && map.delete(key);
        }
        function replayUnblockedEvents() {
          hasScheduledReplayAttempt = false;
          null !== queuedFocus && attemptReplayContinuousQueuedEvent(queuedFocus) && (queuedFocus = null);
          null !== queuedDrag && attemptReplayContinuousQueuedEvent(queuedDrag) && (queuedDrag = null);
          null !== queuedMouse && attemptReplayContinuousQueuedEvent(queuedMouse) && (queuedMouse = null);
          queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);
          queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);
        }
        function scheduleCallbackIfUnblocked(queuedEvent, unblocked) {
          queuedEvent.blockedOn === unblocked && (queuedEvent.blockedOn = null, hasScheduledReplayAttempt || (hasScheduledReplayAttempt = true, Scheduler.unstable_scheduleCallback(
            Scheduler.unstable_NormalPriority,
            replayUnblockedEvents
          )));
        }
        function scheduleReplayQueueIfNeeded(formReplayingQueue) {
          lastScheduledReplayQueue !== formReplayingQueue && (lastScheduledReplayQueue = formReplayingQueue, Scheduler.unstable_scheduleCallback(
            Scheduler.unstable_NormalPriority,
            function() {
              lastScheduledReplayQueue === formReplayingQueue && (lastScheduledReplayQueue = null);
              for (var i2 = 0; i2 < formReplayingQueue.length; i2 += 3) {
                var form = formReplayingQueue[i2], submitterOrAction = formReplayingQueue[i2 + 1], formData = formReplayingQueue[i2 + 2];
                if ("function" !== typeof submitterOrAction)
                  if (null === findInstanceBlockingTarget(submitterOrAction || form))
                    continue;
                  else break;
                var formInst = getInstanceFromNode(form);
                null !== formInst && (formReplayingQueue.splice(i2, 3), i2 -= 3, form = {
                  pending: true,
                  data: formData,
                  method: form.method,
                  action: submitterOrAction
                }, Object.freeze(form), startHostTransition(
                  formInst,
                  form,
                  submitterOrAction,
                  formData
                ));
              }
            }
          ));
        }
        function retryIfBlockedOn(unblocked) {
          function unblock(queuedEvent) {
            return scheduleCallbackIfUnblocked(queuedEvent, unblocked);
          }
          null !== queuedFocus && scheduleCallbackIfUnblocked(queuedFocus, unblocked);
          null !== queuedDrag && scheduleCallbackIfUnblocked(queuedDrag, unblocked);
          null !== queuedMouse && scheduleCallbackIfUnblocked(queuedMouse, unblocked);
          queuedPointers.forEach(unblock);
          queuedPointerCaptures.forEach(unblock);
          for (var i2 = 0; i2 < queuedExplicitHydrationTargets.length; i2++) {
            var queuedTarget = queuedExplicitHydrationTargets[i2];
            queuedTarget.blockedOn === unblocked && (queuedTarget.blockedOn = null);
          }
          for (; 0 < queuedExplicitHydrationTargets.length && (i2 = queuedExplicitHydrationTargets[0], null === i2.blockedOn); )
            attemptExplicitHydrationTarget(i2), null === i2.blockedOn && queuedExplicitHydrationTargets.shift();
          i2 = (unblocked.ownerDocument || unblocked).$$reactFormReplay;
          if (null != i2)
            for (queuedTarget = 0; queuedTarget < i2.length; queuedTarget += 3) {
              var form = i2[queuedTarget], submitterOrAction = i2[queuedTarget + 1], formProps2 = form[internalPropsKey] || null;
              if ("function" === typeof submitterOrAction)
                formProps2 || scheduleReplayQueueIfNeeded(i2);
              else if (formProps2) {
                var action = null;
                if (submitterOrAction && submitterOrAction.hasAttribute("formAction"))
                  if (form = submitterOrAction, formProps2 = submitterOrAction[internalPropsKey] || null)
                    action = formProps2.formAction;
                  else {
                    if (null !== findInstanceBlockingTarget(form)) continue;
                  }
                else action = formProps2.action;
                "function" === typeof action ? i2[queuedTarget + 1] = action : (i2.splice(queuedTarget, 3), queuedTarget -= 3);
                scheduleReplayQueueIfNeeded(i2);
              }
            }
        }
        function defaultOnDefaultTransitionIndicator() {
          function handleNavigate(event) {
            event.canIntercept && "react-transition" === event.info && event.intercept({
              handler: function() {
                return new Promise(function(resolve) {
                  return pendingResolve = resolve;
                });
              },
              focusReset: "manual",
              scroll: "manual"
            });
          }
          function handleNavigateComplete() {
            null !== pendingResolve && (pendingResolve(), pendingResolve = null);
            isCancelled || setTimeout(startFakeNavigation, 20);
          }
          function startFakeNavigation() {
            if (!isCancelled && !navigation.transition) {
              var currentEntry = navigation.currentEntry;
              currentEntry && null != currentEntry.url && navigation.navigate(currentEntry.url, {
                state: currentEntry.getState(),
                info: "react-transition",
                history: "replace"
              });
            }
          }
          if ("object" === typeof navigation) {
            var isCancelled = false, pendingResolve = null;
            navigation.addEventListener("navigate", handleNavigate);
            navigation.addEventListener("navigatesuccess", handleNavigateComplete);
            navigation.addEventListener("navigateerror", handleNavigateComplete);
            setTimeout(startFakeNavigation, 100);
            return function() {
              isCancelled = true;
              navigation.removeEventListener("navigate", handleNavigate);
              navigation.removeEventListener(
                "navigatesuccess",
                handleNavigateComplete
              );
              navigation.removeEventListener(
                "navigateerror",
                handleNavigateComplete
              );
              null !== pendingResolve && (pendingResolve(), pendingResolve = null);
            };
          }
        }
        function ReactDOMRoot(internalRoot) {
          this._internalRoot = internalRoot;
        }
        function ReactDOMHydrationRoot(internalRoot) {
          this._internalRoot = internalRoot;
        }
        function warnIfReactDOMContainerInDEV(container) {
          container[internalContainerInstanceKey] && (container._reactRootContainer ? console.error(
            "You are calling ReactDOMClient.createRoot() on a container that was previously passed to ReactDOM.render(). This is not supported."
          ) : console.error(
            "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."
          ));
        }
        "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
        var Scheduler = require_scheduler(), React198 = require_react(), ReactDOM4 = require_react_dom(), assign2 = Object.assign, REACT_LEGACY_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("react.element"), REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = /* @__PURE__ */ Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = /* @__PURE__ */ Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = /* @__PURE__ */ Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = /* @__PURE__ */ Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = /* @__PURE__ */ Symbol.for("react.memo"), REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy");
        /* @__PURE__ */ Symbol.for("react.scope");
        var REACT_ACTIVITY_TYPE = /* @__PURE__ */ Symbol.for("react.activity");
        /* @__PURE__ */ Symbol.for("react.legacy_hidden");
        /* @__PURE__ */ Symbol.for("react.tracing_marker");
        var REACT_MEMO_CACHE_SENTINEL = /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel");
        /* @__PURE__ */ Symbol.for("react.view_transition");
        var MAYBE_ITERATOR_SYMBOL = Symbol.iterator, REACT_CLIENT_REFERENCE = /* @__PURE__ */ Symbol.for("react.client.reference"), isArrayImpl = Array.isArray, ReactSharedInternals = React198.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ReactDOMSharedInternals = ReactDOM4.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, NotPending = Object.freeze({
          pending: false,
          data: null,
          method: null,
          action: null
        }), valueStack = [];
        var fiberStack = [];
        var index$jscomp$0 = -1, contextStackCursor = createCursor(null), contextFiberStackCursor = createCursor(null), rootInstanceStackCursor = createCursor(null), hostTransitionProviderCursor = createCursor(null), disabledDepth = 0, prevLog, prevInfo, prevWarn, prevError, prevGroup, prevGroupCollapsed, prevGroupEnd;
        disabledLog.__reactDisabledLog = true;
        var prefix2, suffix, reentry = false;
        var componentFrameCache = new ("function" === typeof WeakMap ? WeakMap : Map)();
        var current = null, isRendering = false, hasOwnProperty2 = Object.prototype.hasOwnProperty, scheduleCallback$3 = Scheduler.unstable_scheduleCallback, cancelCallback$1 = Scheduler.unstable_cancelCallback, shouldYield = Scheduler.unstable_shouldYield, requestPaint = Scheduler.unstable_requestPaint, now$1 = Scheduler.unstable_now, getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel, ImmediatePriority = Scheduler.unstable_ImmediatePriority, UserBlockingPriority = Scheduler.unstable_UserBlockingPriority, NormalPriority$1 = Scheduler.unstable_NormalPriority, LowPriority = Scheduler.unstable_LowPriority, IdlePriority = Scheduler.unstable_IdlePriority, log$1 = Scheduler.log, unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue, rendererID = null, injectedHook = null, hasLoggedError = false, isDevToolsPresent = "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__, clz32 = Math.clz32 ? Math.clz32 : clz32Fallback, log = Math.log, LN2 = Math.LN2, nextTransitionUpdateLane = 256, nextTransitionDeferredLane = 262144, nextRetryLane = 4194304, DiscreteEventPriority = 2, ContinuousEventPriority = 8, DefaultEventPriority = 32, IdleEventPriority = 268435456, randomKey = Math.random().toString(36).slice(2), internalInstanceKey = "__reactFiber$" + randomKey, internalPropsKey = "__reactProps$" + randomKey, internalContainerInstanceKey = "__reactContainer$" + randomKey, internalEventHandlersKey = "__reactEvents$" + randomKey, internalEventHandlerListenersKey = "__reactListeners$" + randomKey, internalEventHandlesSetKey = "__reactHandles$" + randomKey, internalRootNodeResourcesKey = "__reactResources$" + randomKey, internalHoistableMarker = "__reactMarker$" + randomKey, allNativeEvents = /* @__PURE__ */ new Set(), registrationNameDependencies = {}, possibleRegistrationNames = {}, hasReadOnlyValue = {
          button: true,
          checkbox: true,
          image: true,
          hidden: true,
          radio: true,
          reset: true,
          submit: true
        }, VALID_ATTRIBUTE_NAME_REGEX = RegExp(
          "^[: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]*$"
        ), illegalAttributeNameCache = {}, validatedAttributeNameCache = {}, escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\n"\\]/g, didWarnValueDefaultValue$1 = false, didWarnCheckedDefaultChecked = false, didWarnSelectedSetOnOption = false, didWarnInvalidChild = false, didWarnInvalidInnerHTML = false;
        var didWarnValueDefaultValue = false;
        var valuePropNames = ["value", "defaultValue"], didWarnValDefaultVal = false, needsEscaping = /["'&<>\n\t]|^\s|\s$/, specialTags = "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".split(
          " "
        ), inScopeTags = "applet caption html table td th marquee object template foreignObject desc title".split(
          " "
        ), buttonScopeTags = inScopeTags.concat(["button"]), impliedEndTags = "dd dt li option optgroup p rp rt".split(" "), emptyAncestorInfoDev = {
          current: null,
          formTag: null,
          aTagInScope: null,
          buttonTagInScope: null,
          nobrTagInScope: null,
          pTagInButtonScope: null,
          listItemTagAutoclosing: null,
          dlItemTagAutoclosing: null,
          containerTagInScope: null,
          implicitRootScope: false
        }, didWarn = {}, shorthandToLonghand = {
          animation: "animationDelay animationDirection animationDuration animationFillMode animationIterationCount animationName animationPlayState animationTimingFunction".split(
            " "
          ),
          background: "backgroundAttachment backgroundClip backgroundColor backgroundImage backgroundOrigin backgroundPositionX backgroundPositionY backgroundRepeat backgroundSize".split(
            " "
          ),
          backgroundPosition: ["backgroundPositionX", "backgroundPositionY"],
          border: "borderBottomColor borderBottomStyle borderBottomWidth borderImageOutset borderImageRepeat borderImageSlice borderImageSource borderImageWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderTopColor borderTopStyle borderTopWidth".split(
            " "
          ),
          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".split(
            " "
          ),
          fontVariant: "fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition".split(
            " "
          ),
          gap: ["columnGap", "rowGap"],
          grid: "gridAutoColumns gridAutoFlow gridAutoRows gridTemplateAreas gridTemplateColumns gridTemplateRows".split(
            " "
          ),
          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".split(
            " "
          ),
          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"]
        }, uppercasePattern = /([A-Z])/g, msPattern$1 = /^ms-/, badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/, msPattern = /^-ms-/, hyphenPattern = /-(.)/g, badStyleValueWithSemicolonPattern = /;\s*$/, warnedStyleNames = {}, warnedStyleValues = {}, warnedForNaNValue = false, warnedForInfinityValue = false, unitlessNumbers = new Set(
          "animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(
            " "
          )
        ), MATH_NAMESPACE = "http://www.w3.org/1998/Math/MathML", SVG_NAMESPACE = "http://www.w3.org/2000/svg", aliases = /* @__PURE__ */ new Map([
          ["acceptCharset", "accept-charset"],
          ["htmlFor", "for"],
          ["httpEquiv", "http-equiv"],
          ["crossOrigin", "crossorigin"],
          ["accentHeight", "accent-height"],
          ["alignmentBaseline", "alignment-baseline"],
          ["arabicForm", "arabic-form"],
          ["baselineShift", "baseline-shift"],
          ["capHeight", "cap-height"],
          ["clipPath", "clip-path"],
          ["clipRule", "clip-rule"],
          ["colorInterpolation", "color-interpolation"],
          ["colorInterpolationFilters", "color-interpolation-filters"],
          ["colorProfile", "color-profile"],
          ["colorRendering", "color-rendering"],
          ["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"],
          ["horizAdvX", "horiz-adv-x"],
          ["horizOriginX", "horiz-origin-x"],
          ["imageRendering", "image-rendering"],
          ["letterSpacing", "letter-spacing"],
          ["lightingColor", "lighting-color"],
          ["markerEnd", "marker-end"],
          ["markerMid", "marker-mid"],
          ["markerStart", "marker-start"],
          ["overlinePosition", "overline-position"],
          ["overlineThickness", "overline-thickness"],
          ["paintOrder", "paint-order"],
          ["panose-1", "panose-1"],
          ["pointerEvents", "pointer-events"],
          ["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"],
          ["textAnchor", "text-anchor"],
          ["textDecoration", "text-decoration"],
          ["textRendering", "text-rendering"],
          ["transformOrigin", "transform-origin"],
          ["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"],
          ["xmlnsXlink", "xmlns:xlink"],
          ["xHeight", "x-height"]
        ]), possibleStandardNames = {
          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",
          fetchpriority: "fetchPriority",
          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",
          inert: "inert",
          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",
          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",
          popover: "popover",
          popovertarget: "popoverTarget",
          popovertargetaction: "popoverTargetAction",
          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",
          transformorigin: "transformOrigin",
          "transform-origin": "transformOrigin",
          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"
        }, ariaProperties = {
          "aria-current": 0,
          "aria-description": 0,
          "aria-details": 0,
          "aria-disabled": 0,
          "aria-hidden": 0,
          "aria-invalid": 0,
          "aria-keyshortcuts": 0,
          "aria-label": 0,
          "aria-roledescription": 0,
          "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,
          "aria-atomic": 0,
          "aria-busy": 0,
          "aria-live": 0,
          "aria-relevant": 0,
          "aria-dropeffect": 0,
          "aria-grabbed": 0,
          "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,
          "aria-braillelabel": 0,
          "aria-brailleroledescription": 0,
          "aria-colindextext": 0,
          "aria-rowindextext": 0
        }, warnedProperties$1 = {}, rARIA$1 = RegExp(
          "^(aria)-[: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]*$"
        ), rARIACamel$1 = RegExp(
          "^(aria)[A-Z][: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]*$"
        ), didWarnValueNull = false, warnedProperties = {}, EVENT_NAME_REGEX = /^on./, INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/, rARIA = RegExp(
          "^(aria)-[: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]*$"
        ), rARIACamel = RegExp(
          "^(aria)[A-Z][: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]*$"
        ), isJavaScriptProtocol = /^[\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, currentReplayingEvent = null, restoreTarget = null, restoreQueue = null, isInsideEventHandler = false, canUseDOM = !("undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement), passiveBrowserEventsSupported = false;
        if (canUseDOM)
          try {
            var options$jscomp$0 = {};
            Object.defineProperty(options$jscomp$0, "passive", {
              get: function() {
                passiveBrowserEventsSupported = true;
              }
            });
            window.addEventListener("test", options$jscomp$0, options$jscomp$0);
            window.removeEventListener("test", options$jscomp$0, options$jscomp$0);
          } catch (e3) {
            passiveBrowserEventsSupported = false;
          }
        var root2 = null, startText = null, fallbackText = null, EventInterface = {
          eventPhase: 0,
          bubbles: 0,
          cancelable: 0,
          timeStamp: function(event) {
            return event.timeStamp || Date.now();
          },
          defaultPrevented: 0,
          isTrusted: 0
        }, SyntheticEvent = createSyntheticEvent(EventInterface), UIEventInterface = assign2({}, EventInterface, { view: 0, detail: 0 }), SyntheticUIEvent = createSyntheticEvent(UIEventInterface), lastMovementX, lastMovementY, lastMouseEvent, MouseEventInterface = assign2({}, UIEventInterface, {
          screenX: 0,
          screenY: 0,
          clientX: 0,
          clientY: 0,
          pageX: 0,
          pageY: 0,
          ctrlKey: 0,
          shiftKey: 0,
          altKey: 0,
          metaKey: 0,
          getModifierState: getEventModifierState,
          button: 0,
          buttons: 0,
          relatedTarget: function(event) {
            return void 0 === event.relatedTarget ? event.fromElement === event.srcElement ? event.toElement : event.fromElement : event.relatedTarget;
          },
          movementX: function(event) {
            if ("movementX" in event) return event.movementX;
            event !== lastMouseEvent && (lastMouseEvent && "mousemove" === event.type ? (lastMovementX = event.screenX - lastMouseEvent.screenX, lastMovementY = event.screenY - lastMouseEvent.screenY) : lastMovementY = lastMovementX = 0, lastMouseEvent = event);
            return lastMovementX;
          },
          movementY: function(event) {
            return "movementY" in event ? event.movementY : lastMovementY;
          }
        }), SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface), DragEventInterface = assign2({}, MouseEventInterface, { dataTransfer: 0 }), SyntheticDragEvent = createSyntheticEvent(DragEventInterface), FocusEventInterface = assign2({}, UIEventInterface, { relatedTarget: 0 }), SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface), AnimationEventInterface = assign2({}, EventInterface, {
          animationName: 0,
          elapsedTime: 0,
          pseudoElement: 0
        }), SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface), ClipboardEventInterface = assign2({}, EventInterface, {
          clipboardData: function(event) {
            return "clipboardData" in event ? event.clipboardData : window.clipboardData;
          }
        }), SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface), CompositionEventInterface = assign2({}, EventInterface, { data: 0 }), SyntheticCompositionEvent = createSyntheticEvent(
          CompositionEventInterface
        ), SyntheticInputEvent = SyntheticCompositionEvent, normalizeKey = {
          Esc: "Escape",
          Spacebar: " ",
          Left: "ArrowLeft",
          Up: "ArrowUp",
          Right: "ArrowRight",
          Down: "ArrowDown",
          Del: "Delete",
          Win: "OS",
          Menu: "ContextMenu",
          Apps: "ContextMenu",
          Scroll: "ScrollLock",
          MozPrintableKey: "Unidentified"
        }, translateToKey = {
          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"
        }, modifierKeyToProp = {
          Alt: "altKey",
          Control: "ctrlKey",
          Meta: "metaKey",
          Shift: "shiftKey"
        }, KeyboardEventInterface = assign2({}, UIEventInterface, {
          key: function(nativeEvent) {
            if (nativeEvent.key) {
              var key = normalizeKey[nativeEvent.key] || nativeEvent.key;
              if ("Unidentified" !== key) return key;
            }
            return "keypress" === nativeEvent.type ? (nativeEvent = getEventCharCode(nativeEvent), 13 === nativeEvent ? "Enter" : String.fromCharCode(nativeEvent)) : "keydown" === nativeEvent.type || "keyup" === nativeEvent.type ? translateToKey[nativeEvent.keyCode] || "Unidentified" : "";
          },
          code: 0,
          location: 0,
          ctrlKey: 0,
          shiftKey: 0,
          altKey: 0,
          metaKey: 0,
          repeat: 0,
          locale: 0,
          getModifierState: getEventModifierState,
          charCode: function(event) {
            return "keypress" === event.type ? getEventCharCode(event) : 0;
          },
          keyCode: function(event) {
            return "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0;
          },
          which: function(event) {
            return "keypress" === event.type ? getEventCharCode(event) : "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0;
          }
        }), SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface), PointerEventInterface = assign2({}, MouseEventInterface, {
          pointerId: 0,
          width: 0,
          height: 0,
          pressure: 0,
          tangentialPressure: 0,
          tiltX: 0,
          tiltY: 0,
          twist: 0,
          pointerType: 0,
          isPrimary: 0
        }), SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface), TouchEventInterface = assign2({}, UIEventInterface, {
          touches: 0,
          targetTouches: 0,
          changedTouches: 0,
          altKey: 0,
          metaKey: 0,
          ctrlKey: 0,
          shiftKey: 0,
          getModifierState: getEventModifierState
        }), SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface), TransitionEventInterface = assign2({}, EventInterface, {
          propertyName: 0,
          elapsedTime: 0,
          pseudoElement: 0
        }), SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface), WheelEventInterface = assign2({}, MouseEventInterface, {
          deltaX: function(event) {
            return "deltaX" in event ? event.deltaX : "wheelDeltaX" in event ? -event.wheelDeltaX : 0;
          },
          deltaY: function(event) {
            return "deltaY" in event ? event.deltaY : "wheelDeltaY" in event ? -event.wheelDeltaY : "wheelDelta" in event ? -event.wheelDelta : 0;
          },
          deltaZ: 0,
          deltaMode: 0
        }), SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface), ToggleEventInterface = assign2({}, EventInterface, {
          newState: 0,
          oldState: 0
        }), SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface), END_KEYCODES = [9, 13, 27, 32], START_KEYCODE = 229, canUseCompositionEvent = canUseDOM && "CompositionEvent" in window, documentMode = null;
        canUseDOM && "documentMode" in document && (documentMode = document.documentMode);
        var canUseTextInputEvent = canUseDOM && "TextEvent" in window && !documentMode, useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && 8 < documentMode && 11 >= documentMode), SPACEBAR_CODE = 32, SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE), hasSpaceKeypress = false, isComposing = false, supportedInputTypes = {
          color: true,
          date: true,
          datetime: true,
          "datetime-local": true,
          email: true,
          month: true,
          number: true,
          password: true,
          range: true,
          search: true,
          tel: true,
          text: true,
          time: true,
          url: true,
          week: true
        }, activeElement$1 = null, activeElementInst$1 = null, isInputEventSupported = false;
        canUseDOM && (isInputEventSupported = isEventSupported("input") && (!document.documentMode || 9 < document.documentMode));
        var objectIs = "function" === typeof Object.is ? Object.is : is2, skipSelectionChangeEvent = canUseDOM && "documentMode" in document && 11 >= document.documentMode, activeElement2 = null, activeElementInst = null, lastSelection = null, mouseDown = false, vendorPrefixes = {
          animationend: makePrefixMap("Animation", "AnimationEnd"),
          animationiteration: makePrefixMap("Animation", "AnimationIteration"),
          animationstart: makePrefixMap("Animation", "AnimationStart"),
          transitionrun: makePrefixMap("Transition", "TransitionRun"),
          transitionstart: makePrefixMap("Transition", "TransitionStart"),
          transitioncancel: makePrefixMap("Transition", "TransitionCancel"),
          transitionend: makePrefixMap("Transition", "TransitionEnd")
        }, prefixedEventNames = {}, style = {};
        canUseDOM && (style = document.createElement("div").style, "AnimationEvent" in window || (delete vendorPrefixes.animationend.animation, delete vendorPrefixes.animationiteration.animation, delete vendorPrefixes.animationstart.animation), "TransitionEvent" in window || delete vendorPrefixes.transitionend.transition);
        var ANIMATION_END = getVendorPrefixedEventName("animationend"), ANIMATION_ITERATION = getVendorPrefixedEventName("animationiteration"), ANIMATION_START = getVendorPrefixedEventName("animationstart"), TRANSITION_RUN = getVendorPrefixedEventName("transitionrun"), TRANSITION_START = getVendorPrefixedEventName("transitionstart"), TRANSITION_CANCEL = getVendorPrefixedEventName("transitioncancel"), TRANSITION_END = getVendorPrefixedEventName("transitionend"), topLevelEventsToReactNames = /* @__PURE__ */ new Map(), simpleEventPluginEvents = "abort auxClick beforeToggle 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(
          " "
        );
        simpleEventPluginEvents.push("scrollEnd");
        var lastResetTime = 0;
        if ("object" === typeof performance && "function" === typeof performance.now) {
          var localPerformance = performance;
          var getCurrentTime = function() {
            return localPerformance.now();
          };
        } else {
          var localDate = Date;
          getCurrentTime = function() {
            return localDate.now();
          };
        }
        var reportGlobalError = "function" === typeof reportError ? reportError : function(error2) {
          if ("object" === typeof window && "function" === typeof window.ErrorEvent) {
            var event = new window.ErrorEvent("error", {
              bubbles: true,
              cancelable: true,
              message: "object" === typeof error2 && null !== error2 && "string" === typeof error2.message ? String(error2.message) : String(error2),
              error: error2
            });
            if (!window.dispatchEvent(event)) return;
          } else if ("object" === typeof process && "function" === typeof process.emit) {
            process.emit("uncaughtException", error2);
            return;
          }
          console.error(error2);
        }, OMITTED_PROP_ERROR = "This object has been omitted by React in the console log to avoid sending too much data from the server. Try logging smaller or more specific objects.", EMPTY_ARRAY2 = 0, COMPLEX_ARRAY = 1, PRIMITIVE_ARRAY = 2, ENTRIES_ARRAY = 3, REMOVED = "\u2013\xA0", ADDED = "+\xA0", UNCHANGED = "\u2007\xA0", supportsUserTiming = "undefined" !== typeof console && "function" === typeof console.timeStamp && "undefined" !== typeof performance && "function" === typeof performance.measure, COMPONENTS_TRACK = "Components \u269B", LANES_TRACK_GROUP = "Scheduler \u269B", currentTrack = "Blocking", alreadyWarnedForDeepEquality = false, reusableComponentDevToolDetails = {
          color: "primary",
          properties: null,
          tooltipText: "",
          track: COMPONENTS_TRACK
        }, reusableComponentOptions = {
          start: -0,
          end: -0,
          detail: { devtools: reusableComponentDevToolDetails }
        }, resuableChangedPropsEntry = ["Changed Props", ""], DEEP_EQUALITY_WARNING = "This component received deeply equal props. It might benefit from useMemo or the React Compiler in its owner.", reusableDeeplyEqualPropsEntry = ["Changed Props", DEEP_EQUALITY_WARNING], OffscreenVisible = 1, OffscreenPassiveEffectsConnected = 2, concurrentQueues = [], concurrentQueuesIndex = 0, concurrentlyUpdatedLanes = 0, emptyContextObject = {};
        Object.freeze(emptyContextObject);
        var resolveFamily = null, failedBoundaries = null, NoMode = 0, ConcurrentMode = 1, ProfileMode = 2, StrictLegacyMode = 8, StrictEffectsMode = 16, SuspenseyImagesMode = 32;
        var hasBadMapPolyfill = false;
        try {
          var nonExtensibleObject = Object.preventExtensions({});
          /* @__PURE__ */ new Map([[nonExtensibleObject, null]]);
          /* @__PURE__ */ new Set([nonExtensibleObject]);
        } catch (e$3) {
          hasBadMapPolyfill = true;
        }
        var CapturedStacks = /* @__PURE__ */ new WeakMap(), forkStack = [], forkStackIndex = 0, treeForkProvider = null, treeForkCount = 0, idStack = [], idStackIndex = 0, treeContextProvider = null, treeContextId = 1, treeContextOverflow = "", hydrationParentFiber = null, nextHydratableInstance = null, isHydrating = false, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, hydrationErrors = null, rootOrSingletonContext = false, HydrationMismatchException = Error(
          "Hydration Mismatch Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React."
        ), valueCursor = createCursor(null);
        var rendererCursorDEV = createCursor(null);
        var rendererSigil = {};
        var currentlyRenderingFiber$1 = null, lastContextDependency = null, isDisallowedContextReadInDEV = false, AbortControllerLocal = "undefined" !== typeof AbortController ? AbortController : function() {
          var listeners3 = [], signal = this.signal = {
            aborted: false,
            addEventListener: function(type2, listener) {
              listeners3.push(listener);
            }
          };
          this.abort = function() {
            signal.aborted = true;
            listeners3.forEach(function(listener) {
              return listener();
            });
          };
        }, scheduleCallback$2 = Scheduler.unstable_scheduleCallback, NormalPriority = Scheduler.unstable_NormalPriority, CacheContext = {
          $$typeof: REACT_CONTEXT_TYPE,
          Consumer: null,
          Provider: null,
          _currentValue: null,
          _currentValue2: null,
          _threadCount: 0,
          _currentRenderer: null,
          _currentRenderer2: null
        }, now = Scheduler.unstable_now, createTask = console.createTask ? console.createTask : function() {
          return null;
        }, SPAWNED_UPDATE = 1, PINGED_UPDATE = 2, renderStartTime = -0, commitStartTime = -0, commitEndTime = -0, commitErrors = null, profilerStartTime = -1.1, profilerEffectDuration = -0, componentEffectDuration = -0, componentEffectStartTime = -1.1, componentEffectEndTime = -1.1, componentEffectErrors = null, componentEffectSpawnedUpdate = false, blockingClampTime = -0, blockingUpdateTime = -1.1, blockingUpdateTask = null, blockingUpdateType = 0, blockingUpdateMethodName = null, blockingUpdateComponentName = null, blockingEventTime = -1.1, blockingEventType = null, blockingEventRepeatTime = -1.1, blockingSuspendedTime = -1.1, transitionClampTime = -0, transitionStartTime = -1.1, transitionUpdateTime = -1.1, transitionUpdateType = 0, transitionUpdateTask = null, transitionUpdateMethodName = null, transitionUpdateComponentName = null, transitionEventTime = -1.1, transitionEventType = null, transitionEventRepeatTime = -1.1, transitionSuspendedTime = -1.1, retryClampTime = -0, idleClampTime = -0, animatingLanes = 0, animatingTask = null, yieldReason = 0, yieldStartTime = -1.1, currentUpdateIsNested = false, nestedUpdateScheduled = false, currentEntangledListeners = null, currentEntangledPendingCount = 0, currentEntangledLane = 0, currentEntangledActionThenable = null, prevOnStartTransitionFinish = ReactSharedInternals.S;
        ReactSharedInternals.S = function(transition, returnValue) {
          globalMostRecentTransitionTime = now$1();
          if ("object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then) {
            if (0 > transitionStartTime && 0 > transitionUpdateTime) {
              transitionStartTime = now();
              var newEventTime = resolveEventTimeStamp(), newEventType = resolveEventType();
              if (newEventTime !== transitionEventRepeatTime || newEventType !== transitionEventType)
                transitionEventRepeatTime = -1.1;
              transitionEventTime = newEventTime;
              transitionEventType = newEventType;
            }
            entangleAsyncAction(transition, returnValue);
          }
          null !== prevOnStartTransitionFinish && prevOnStartTransitionFinish(transition, returnValue);
        };
        var resumedCache = createCursor(null), ReactStrictModeWarnings = {
          recordUnsafeLifecycleWarnings: function() {
          },
          flushPendingUnsafeLifecycleWarnings: function() {
          },
          recordLegacyContextWarning: function() {
          },
          flushLegacyContextWarning: function() {
          },
          discardPendingWarnings: function() {
          }
        }, pendingComponentWillMountWarnings = [], pendingUNSAFE_ComponentWillMountWarnings = [], pendingComponentWillReceivePropsWarnings = [], pendingUNSAFE_ComponentWillReceivePropsWarnings = [], pendingComponentWillUpdateWarnings = [], pendingUNSAFE_ComponentWillUpdateWarnings = [], didWarnAboutUnsafeLifecycles = /* @__PURE__ */ new Set();
        ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function(fiber, instance2) {
          didWarnAboutUnsafeLifecycles.has(fiber.type) || ("function" === typeof instance2.componentWillMount && true !== instance2.componentWillMount.__suppressDeprecationWarning && pendingComponentWillMountWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance2.UNSAFE_componentWillMount && pendingUNSAFE_ComponentWillMountWarnings.push(fiber), "function" === typeof instance2.componentWillReceiveProps && true !== instance2.componentWillReceiveProps.__suppressDeprecationWarning && pendingComponentWillReceivePropsWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance2.UNSAFE_componentWillReceiveProps && pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber), "function" === typeof instance2.componentWillUpdate && true !== instance2.componentWillUpdate.__suppressDeprecationWarning && pendingComponentWillUpdateWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance2.UNSAFE_componentWillUpdate && pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber));
        };
        ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function() {
          var componentWillMountUniqueNames = /* @__PURE__ */ new Set();
          0 < pendingComponentWillMountWarnings.length && (pendingComponentWillMountWarnings.forEach(function(fiber) {
            componentWillMountUniqueNames.add(
              getComponentNameFromFiber(fiber) || "Component"
            );
            didWarnAboutUnsafeLifecycles.add(fiber.type);
          }), pendingComponentWillMountWarnings = []);
          var UNSAFE_componentWillMountUniqueNames = /* @__PURE__ */ new Set();
          0 < pendingUNSAFE_ComponentWillMountWarnings.length && (pendingUNSAFE_ComponentWillMountWarnings.forEach(function(fiber) {
            UNSAFE_componentWillMountUniqueNames.add(
              getComponentNameFromFiber(fiber) || "Component"
            );
            didWarnAboutUnsafeLifecycles.add(fiber.type);
          }), pendingUNSAFE_ComponentWillMountWarnings = []);
          var componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set();
          0 < pendingComponentWillReceivePropsWarnings.length && (pendingComponentWillReceivePropsWarnings.forEach(function(fiber) {
            componentWillReceivePropsUniqueNames.add(
              getComponentNameFromFiber(fiber) || "Component"
            );
            didWarnAboutUnsafeLifecycles.add(fiber.type);
          }), pendingComponentWillReceivePropsWarnings = []);
          var UNSAFE_componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set();
          0 < pendingUNSAFE_ComponentWillReceivePropsWarnings.length && (pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(
            function(fiber) {
              UNSAFE_componentWillReceivePropsUniqueNames.add(
                getComponentNameFromFiber(fiber) || "Component"
              );
              didWarnAboutUnsafeLifecycles.add(fiber.type);
            }
          ), pendingUNSAFE_ComponentWillReceivePropsWarnings = []);
          var componentWillUpdateUniqueNames = /* @__PURE__ */ new Set();
          0 < pendingComponentWillUpdateWarnings.length && (pendingComponentWillUpdateWarnings.forEach(function(fiber) {
            componentWillUpdateUniqueNames.add(
              getComponentNameFromFiber(fiber) || "Component"
            );
            didWarnAboutUnsafeLifecycles.add(fiber.type);
          }), pendingComponentWillUpdateWarnings = []);
          var UNSAFE_componentWillUpdateUniqueNames = /* @__PURE__ */ new Set();
          0 < pendingUNSAFE_ComponentWillUpdateWarnings.length && (pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function(fiber) {
            UNSAFE_componentWillUpdateUniqueNames.add(
              getComponentNameFromFiber(fiber) || "Component"
            );
            didWarnAboutUnsafeLifecycles.add(fiber.type);
          }), pendingUNSAFE_ComponentWillUpdateWarnings = []);
          if (0 < UNSAFE_componentWillMountUniqueNames.size) {
            var sortedNames = setToSortedString(
              UNSAFE_componentWillMountUniqueNames
            );
            console.error(
              "Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n\nPlease update the following components: %s",
              sortedNames
            );
          }
          0 < UNSAFE_componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString(
            UNSAFE_componentWillReceivePropsUniqueNames
          ), console.error(
            "Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* 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://react.dev/link/derived-state\n\nPlease update the following components: %s",
            sortedNames
          ));
          0 < UNSAFE_componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString(
            UNSAFE_componentWillUpdateUniqueNames
          ), console.error(
            "Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n\nPlease update the following components: %s",
            sortedNames
          ));
          0 < componentWillMountUniqueNames.size && (sortedNames = setToSortedString(componentWillMountUniqueNames), console.warn(
            "componentWillMount has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n* 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.\n\nPlease update the following components: %s",
            sortedNames
          ));
          0 < componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString(
            componentWillReceivePropsUniqueNames
          ), console.warn(
            "componentWillReceiveProps has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* 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://react.dev/link/derived-state\n* 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.\n\nPlease update the following components: %s",
            sortedNames
          ));
          0 < componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString(componentWillUpdateUniqueNames), console.warn(
            "componentWillUpdate has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* 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.\n\nPlease update the following components: %s",
            sortedNames
          ));
        };
        var pendingLegacyContextWarning = /* @__PURE__ */ new Map(), didWarnAboutLegacyContext = /* @__PURE__ */ new Set();
        ReactStrictModeWarnings.recordLegacyContextWarning = function(fiber, instance2) {
          var strictRoot = null;
          for (var node2 = fiber; null !== node2; )
            node2.mode & StrictLegacyMode && (strictRoot = node2), node2 = node2.return;
          null === strictRoot ? console.error(
            "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."
          ) : !didWarnAboutLegacyContext.has(fiber.type) && (node2 = pendingLegacyContextWarning.get(strictRoot), null != fiber.type.contextTypes || null != fiber.type.childContextTypes || null !== instance2 && "function" === typeof instance2.getChildContext) && (void 0 === node2 && (node2 = [], pendingLegacyContextWarning.set(strictRoot, node2)), node2.push(fiber));
        };
        ReactStrictModeWarnings.flushLegacyContextWarning = function() {
          pendingLegacyContextWarning.forEach(function(fiberArray) {
            if (0 !== fiberArray.length) {
              var firstFiber = fiberArray[0], uniqueNames = /* @__PURE__ */ new Set();
              fiberArray.forEach(function(fiber) {
                uniqueNames.add(getComponentNameFromFiber(fiber) || "Component");
                didWarnAboutLegacyContext.add(fiber.type);
              });
              var sortedNames = setToSortedString(uniqueNames);
              runWithFiberInDEV(firstFiber, function() {
                console.error(
                  "Legacy context API has been detected within a strict-mode tree.\n\nThe old API will be supported in all 16.x releases, but applications using it should migrate to the new version.\n\nPlease update the following components: %s\n\nLearn more about this warning here: https://react.dev/link/legacy-context",
                  sortedNames
                );
              });
            }
          });
        };
        ReactStrictModeWarnings.discardPendingWarnings = function() {
          pendingComponentWillMountWarnings = [];
          pendingUNSAFE_ComponentWillMountWarnings = [];
          pendingComponentWillReceivePropsWarnings = [];
          pendingUNSAFE_ComponentWillReceivePropsWarnings = [];
          pendingComponentWillUpdateWarnings = [];
          pendingUNSAFE_ComponentWillUpdateWarnings = [];
          pendingLegacyContextWarning = /* @__PURE__ */ new Map();
        };
        var callComponent = {
          react_stack_bottom_frame: function(Component, props, secondArg) {
            var wasRendering = isRendering;
            isRendering = true;
            try {
              return Component(props, secondArg);
            } finally {
              isRendering = wasRendering;
            }
          }
        }, callComponentInDEV = callComponent.react_stack_bottom_frame.bind(callComponent), callRender = {
          react_stack_bottom_frame: function(instance2) {
            var wasRendering = isRendering;
            isRendering = true;
            try {
              return instance2.render();
            } finally {
              isRendering = wasRendering;
            }
          }
        }, callRenderInDEV = callRender.react_stack_bottom_frame.bind(callRender), callComponentDidMount = {
          react_stack_bottom_frame: function(finishedWork, instance2) {
            try {
              instance2.componentDidMount();
            } catch (error2) {
              captureCommitPhaseError(finishedWork, finishedWork.return, error2);
            }
          }
        }, callComponentDidMountInDEV = callComponentDidMount.react_stack_bottom_frame.bind(
          callComponentDidMount
        ), callComponentDidUpdate = {
          react_stack_bottom_frame: function(finishedWork, instance2, prevProps, prevState, snapshot) {
            try {
              instance2.componentDidUpdate(prevProps, prevState, snapshot);
            } catch (error2) {
              captureCommitPhaseError(finishedWork, finishedWork.return, error2);
            }
          }
        }, callComponentDidUpdateInDEV = callComponentDidUpdate.react_stack_bottom_frame.bind(
          callComponentDidUpdate
        ), callComponentDidCatch = {
          react_stack_bottom_frame: function(instance2, errorInfo) {
            var stack = errorInfo.stack;
            instance2.componentDidCatch(errorInfo.value, {
              componentStack: null !== stack ? stack : ""
            });
          }
        }, callComponentDidCatchInDEV = callComponentDidCatch.react_stack_bottom_frame.bind(
          callComponentDidCatch
        ), callComponentWillUnmount = {
          react_stack_bottom_frame: function(current2, nearestMountedAncestor, instance2) {
            try {
              instance2.componentWillUnmount();
            } catch (error2) {
              captureCommitPhaseError(current2, nearestMountedAncestor, error2);
            }
          }
        }, callComponentWillUnmountInDEV = callComponentWillUnmount.react_stack_bottom_frame.bind(
          callComponentWillUnmount
        ), callCreate = {
          react_stack_bottom_frame: function(effect) {
            var create2 = effect.create;
            effect = effect.inst;
            create2 = create2();
            return effect.destroy = create2;
          }
        }, callCreateInDEV = callCreate.react_stack_bottom_frame.bind(callCreate), callDestroy = {
          react_stack_bottom_frame: function(current2, nearestMountedAncestor, destroy) {
            try {
              destroy();
            } catch (error2) {
              captureCommitPhaseError(current2, nearestMountedAncestor, error2);
            }
          }
        }, callDestroyInDEV = callDestroy.react_stack_bottom_frame.bind(callDestroy), callLazyInit = {
          react_stack_bottom_frame: function(lazy11) {
            var init = lazy11._init;
            return init(lazy11._payload);
          }
        }, callLazyInitInDEV = callLazyInit.react_stack_bottom_frame.bind(callLazyInit), SuspenseException = Error(
          "Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`."
        ), SuspenseyCommitException = Error(
          "Suspense Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React."
        ), SuspenseActionException = Error(
          "Suspense Exception: This is not a real error! It's an implementation detail of `useActionState` to interrupt the current render. You must either rethrow it immediately, or move the `useActionState` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary."
        ), noopSuspenseyCommitThenable = {
          then: function() {
            console.error(
              'Internal React error: A listener was unexpectedly attached to a "noop" thenable. This is a bug in React. Please file an issue.'
            );
          }
        }, suspendedThenable = null, needsToResetSuspendedThenableDEV = false, thenableState$1 = null, thenableIndexCounter$1 = 0, currentDebugInfo = null, didWarnAboutMaps;
        var didWarnAboutGenerators = didWarnAboutMaps = false;
        var ownerHasKeyUseWarning = {};
        var ownerHasFunctionTypeWarning = {};
        var ownerHasSymbolTypeWarning = {};
        warnForMissingKey = function(returnFiber, workInProgress2, child) {
          if (null !== child && "object" === typeof child && child._store && (!child._store.validated && null == child.key || 2 === child._store.validated)) {
            if ("object" !== typeof child._store)
              throw Error(
                "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue."
              );
            child._store.validated = 1;
            var componentName2 = getComponentNameFromFiber(returnFiber), componentKey = componentName2 || "null";
            if (!ownerHasKeyUseWarning[componentKey]) {
              ownerHasKeyUseWarning[componentKey] = true;
              child = child._owner;
              returnFiber = returnFiber._debugOwner;
              var currentComponentErrorInfo = "";
              returnFiber && "number" === typeof returnFiber.tag && (componentKey = getComponentNameFromFiber(returnFiber)) && (currentComponentErrorInfo = "\n\nCheck the render method of `" + componentKey + "`.");
              currentComponentErrorInfo || componentName2 && (currentComponentErrorInfo = "\n\nCheck the top-level render call using <" + componentName2 + ">.");
              var childOwnerAppendix = "";
              null != child && returnFiber !== child && (componentName2 = null, "number" === typeof child.tag ? componentName2 = getComponentNameFromFiber(child) : "string" === typeof child.name && (componentName2 = child.name), componentName2 && (childOwnerAppendix = " It was passed a child from " + componentName2 + "."));
              runWithFiberInDEV(workInProgress2, function() {
                console.error(
                  'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',
                  currentComponentErrorInfo,
                  childOwnerAppendix
                );
              });
            }
          }
        };
        var reconcileChildFibers = createChildReconciler(true), mountChildFibers = createChildReconciler(false), UpdateState = 0, ReplaceState = 1, ForceUpdate = 2, CaptureUpdate = 3, hasForceUpdate = false;
        var didWarnUpdateInsideUpdate = false;
        var currentlyProcessingQueue = null;
        var didReadFromEntangledAsyncAction = false, currentTreeHiddenStackCursor = createCursor(null), prevEntangledRenderLanesCursor = createCursor(0), suspenseHandlerStackCursor = createCursor(null), shellBoundary = null, SubtreeSuspenseContextMask = 1, ForceSuspenseFallback = 2, suspenseStackCursor = createCursor(0), NoFlags = 0, HasEffect = 1, Insertion5 = 2, Layout = 4, Passive = 8, didWarnUncachedGetSnapshot;
        var didWarnAboutMismatchedHooksForComponent = /* @__PURE__ */ new Set();
        var didWarnAboutUseWrappedInTryCatch = /* @__PURE__ */ new Set();
        var didWarnAboutAsyncClientComponent = /* @__PURE__ */ new Set();
        var didWarnAboutUseFormState = /* @__PURE__ */ new Set();
        var renderLanes = 0, currentlyRenderingFiber = null, currentHook = null, workInProgressHook = null, didScheduleRenderPhaseUpdate = false, didScheduleRenderPhaseUpdateDuringThisPass = false, shouldDoubleInvokeUserFnsInHooksDEV = false, localIdCounter = 0, thenableIndexCounter = 0, thenableState = null, globalClientIdCounter = 0, RE_RENDER_LIMIT = 25, currentHookNameInDev = null, hookTypesDev = null, hookTypesUpdateIndexDev = -1, ignorePreviousDependencies = false, ContextOnlyDispatcher = {
          readContext,
          use,
          useCallback: throwInvalidHookError,
          useContext: throwInvalidHookError,
          useEffect: throwInvalidHookError,
          useImperativeHandle: throwInvalidHookError,
          useLayoutEffect: throwInvalidHookError,
          useInsertionEffect: throwInvalidHookError,
          useMemo: throwInvalidHookError,
          useReducer: throwInvalidHookError,
          useRef: throwInvalidHookError,
          useState: throwInvalidHookError,
          useDebugValue: throwInvalidHookError,
          useDeferredValue: throwInvalidHookError,
          useTransition: throwInvalidHookError,
          useSyncExternalStore: throwInvalidHookError,
          useId: throwInvalidHookError,
          useHostTransitionStatus: throwInvalidHookError,
          useFormState: throwInvalidHookError,
          useActionState: throwInvalidHookError,
          useOptimistic: throwInvalidHookError,
          useMemoCache: throwInvalidHookError,
          useCacheRefresh: throwInvalidHookError
        };
        ContextOnlyDispatcher.useEffectEvent = throwInvalidHookError;
        var HooksDispatcherOnMountInDEV = null, HooksDispatcherOnMountWithHookTypesInDEV = null, HooksDispatcherOnUpdateInDEV = null, HooksDispatcherOnRerenderInDEV = null, InvalidNestedHooksDispatcherOnMountInDEV = null, InvalidNestedHooksDispatcherOnUpdateInDEV = null, InvalidNestedHooksDispatcherOnRerenderInDEV = null;
        HooksDispatcherOnMountInDEV = {
          readContext: function(context) {
            return readContext(context);
          },
          use,
          useCallback: function(callback, deps) {
            currentHookNameInDev = "useCallback";
            mountHookTypesDev();
            checkDepsAreArrayDev(deps);
            return mountCallback(callback, deps);
          },
          useContext: function(context) {
            currentHookNameInDev = "useContext";
            mountHookTypesDev();
            return readContext(context);
          },
          useEffect: function(create2, deps) {
            currentHookNameInDev = "useEffect";
            mountHookTypesDev();
            checkDepsAreArrayDev(deps);
            return mountEffect(create2, deps);
          },
          useImperativeHandle: function(ref, create2, deps) {
            currentHookNameInDev = "useImperativeHandle";
            mountHookTypesDev();
            checkDepsAreArrayDev(deps);
            return mountImperativeHandle(ref, create2, deps);
          },
          useInsertionEffect: function(create2, deps) {
            currentHookNameInDev = "useInsertionEffect";
            mountHookTypesDev();
            checkDepsAreArrayDev(deps);
            mountEffectImpl(4, Insertion5, create2, deps);
          },
          useLayoutEffect: function(create2, deps) {
            currentHookNameInDev = "useLayoutEffect";
            mountHookTypesDev();
            checkDepsAreArrayDev(deps);
            return mountLayoutEffect(create2, deps);
          },
          useMemo: function(create2, deps) {
            currentHookNameInDev = "useMemo";
            mountHookTypesDev();
            checkDepsAreArrayDev(deps);
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
            try {
              return mountMemo(create2, deps);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useReducer: function(reducer, initialArg, init) {
            currentHookNameInDev = "useReducer";
            mountHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
            try {
              return mountReducer(reducer, initialArg, init);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useRef: function(initialValue) {
            currentHookNameInDev = "useRef";
            mountHookTypesDev();
            return mountRef(initialValue);
          },
          useState: function(initialState) {
            currentHookNameInDev = "useState";
            mountHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
            try {
              return mountState(initialState);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useDebugValue: function() {
            currentHookNameInDev = "useDebugValue";
            mountHookTypesDev();
          },
          useDeferredValue: function(value, initialValue) {
            currentHookNameInDev = "useDeferredValue";
            mountHookTypesDev();
            return mountDeferredValue(value, initialValue);
          },
          useTransition: function() {
            currentHookNameInDev = "useTransition";
            mountHookTypesDev();
            return mountTransition();
          },
          useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
            currentHookNameInDev = "useSyncExternalStore";
            mountHookTypesDev();
            return mountSyncExternalStore(
              subscribe,
              getSnapshot,
              getServerSnapshot
            );
          },
          useId: function() {
            currentHookNameInDev = "useId";
            mountHookTypesDev();
            return mountId();
          },
          useFormState: function(action, initialState) {
            currentHookNameInDev = "useFormState";
            mountHookTypesDev();
            warnOnUseFormStateInDev();
            return mountActionState(action, initialState);
          },
          useActionState: function(action, initialState) {
            currentHookNameInDev = "useActionState";
            mountHookTypesDev();
            return mountActionState(action, initialState);
          },
          useOptimistic: function(passthrough) {
            currentHookNameInDev = "useOptimistic";
            mountHookTypesDev();
            return mountOptimistic(passthrough);
          },
          useHostTransitionStatus,
          useMemoCache,
          useCacheRefresh: function() {
            currentHookNameInDev = "useCacheRefresh";
            mountHookTypesDev();
            return mountRefresh();
          },
          useEffectEvent: function(callback) {
            currentHookNameInDev = "useEffectEvent";
            mountHookTypesDev();
            return mountEvent(callback);
          }
        };
        HooksDispatcherOnMountWithHookTypesInDEV = {
          readContext: function(context) {
            return readContext(context);
          },
          use,
          useCallback: function(callback, deps) {
            currentHookNameInDev = "useCallback";
            updateHookTypesDev();
            return mountCallback(callback, deps);
          },
          useContext: function(context) {
            currentHookNameInDev = "useContext";
            updateHookTypesDev();
            return readContext(context);
          },
          useEffect: function(create2, deps) {
            currentHookNameInDev = "useEffect";
            updateHookTypesDev();
            return mountEffect(create2, deps);
          },
          useImperativeHandle: function(ref, create2, deps) {
            currentHookNameInDev = "useImperativeHandle";
            updateHookTypesDev();
            return mountImperativeHandle(ref, create2, deps);
          },
          useInsertionEffect: function(create2, deps) {
            currentHookNameInDev = "useInsertionEffect";
            updateHookTypesDev();
            mountEffectImpl(4, Insertion5, create2, deps);
          },
          useLayoutEffect: function(create2, deps) {
            currentHookNameInDev = "useLayoutEffect";
            updateHookTypesDev();
            return mountLayoutEffect(create2, deps);
          },
          useMemo: function(create2, deps) {
            currentHookNameInDev = "useMemo";
            updateHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
            try {
              return mountMemo(create2, deps);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useReducer: function(reducer, initialArg, init) {
            currentHookNameInDev = "useReducer";
            updateHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
            try {
              return mountReducer(reducer, initialArg, init);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useRef: function(initialValue) {
            currentHookNameInDev = "useRef";
            updateHookTypesDev();
            return mountRef(initialValue);
          },
          useState: function(initialState) {
            currentHookNameInDev = "useState";
            updateHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
            try {
              return mountState(initialState);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useDebugValue: function() {
            currentHookNameInDev = "useDebugValue";
            updateHookTypesDev();
          },
          useDeferredValue: function(value, initialValue) {
            currentHookNameInDev = "useDeferredValue";
            updateHookTypesDev();
            return mountDeferredValue(value, initialValue);
          },
          useTransition: function() {
            currentHookNameInDev = "useTransition";
            updateHookTypesDev();
            return mountTransition();
          },
          useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
            currentHookNameInDev = "useSyncExternalStore";
            updateHookTypesDev();
            return mountSyncExternalStore(
              subscribe,
              getSnapshot,
              getServerSnapshot
            );
          },
          useId: function() {
            currentHookNameInDev = "useId";
            updateHookTypesDev();
            return mountId();
          },
          useActionState: function(action, initialState) {
            currentHookNameInDev = "useActionState";
            updateHookTypesDev();
            return mountActionState(action, initialState);
          },
          useFormState: function(action, initialState) {
            currentHookNameInDev = "useFormState";
            updateHookTypesDev();
            warnOnUseFormStateInDev();
            return mountActionState(action, initialState);
          },
          useOptimistic: function(passthrough) {
            currentHookNameInDev = "useOptimistic";
            updateHookTypesDev();
            return mountOptimistic(passthrough);
          },
          useHostTransitionStatus,
          useMemoCache,
          useCacheRefresh: function() {
            currentHookNameInDev = "useCacheRefresh";
            updateHookTypesDev();
            return mountRefresh();
          },
          useEffectEvent: function(callback) {
            currentHookNameInDev = "useEffectEvent";
            updateHookTypesDev();
            return mountEvent(callback);
          }
        };
        HooksDispatcherOnUpdateInDEV = {
          readContext: function(context) {
            return readContext(context);
          },
          use,
          useCallback: function(callback, deps) {
            currentHookNameInDev = "useCallback";
            updateHookTypesDev();
            return updateCallback(callback, deps);
          },
          useContext: function(context) {
            currentHookNameInDev = "useContext";
            updateHookTypesDev();
            return readContext(context);
          },
          useEffect: function(create2, deps) {
            currentHookNameInDev = "useEffect";
            updateHookTypesDev();
            updateEffectImpl(2048, Passive, create2, deps);
          },
          useImperativeHandle: function(ref, create2, deps) {
            currentHookNameInDev = "useImperativeHandle";
            updateHookTypesDev();
            return updateImperativeHandle(ref, create2, deps);
          },
          useInsertionEffect: function(create2, deps) {
            currentHookNameInDev = "useInsertionEffect";
            updateHookTypesDev();
            return updateEffectImpl(4, Insertion5, create2, deps);
          },
          useLayoutEffect: function(create2, deps) {
            currentHookNameInDev = "useLayoutEffect";
            updateHookTypesDev();
            return updateEffectImpl(4, Layout, create2, deps);
          },
          useMemo: function(create2, deps) {
            currentHookNameInDev = "useMemo";
            updateHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
            try {
              return updateMemo(create2, deps);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useReducer: function(reducer, initialArg, init) {
            currentHookNameInDev = "useReducer";
            updateHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
            try {
              return updateReducer(reducer, initialArg, init);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useRef: function() {
            currentHookNameInDev = "useRef";
            updateHookTypesDev();
            return updateWorkInProgressHook().memoizedState;
          },
          useState: function() {
            currentHookNameInDev = "useState";
            updateHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
            try {
              return updateReducer(basicStateReducer);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useDebugValue: function() {
            currentHookNameInDev = "useDebugValue";
            updateHookTypesDev();
          },
          useDeferredValue: function(value, initialValue) {
            currentHookNameInDev = "useDeferredValue";
            updateHookTypesDev();
            return updateDeferredValue(value, initialValue);
          },
          useTransition: function() {
            currentHookNameInDev = "useTransition";
            updateHookTypesDev();
            return updateTransition();
          },
          useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
            currentHookNameInDev = "useSyncExternalStore";
            updateHookTypesDev();
            return updateSyncExternalStore(
              subscribe,
              getSnapshot,
              getServerSnapshot
            );
          },
          useId: function() {
            currentHookNameInDev = "useId";
            updateHookTypesDev();
            return updateWorkInProgressHook().memoizedState;
          },
          useFormState: function(action) {
            currentHookNameInDev = "useFormState";
            updateHookTypesDev();
            warnOnUseFormStateInDev();
            return updateActionState(action);
          },
          useActionState: function(action) {
            currentHookNameInDev = "useActionState";
            updateHookTypesDev();
            return updateActionState(action);
          },
          useOptimistic: function(passthrough, reducer) {
            currentHookNameInDev = "useOptimistic";
            updateHookTypesDev();
            return updateOptimistic(passthrough, reducer);
          },
          useHostTransitionStatus,
          useMemoCache,
          useCacheRefresh: function() {
            currentHookNameInDev = "useCacheRefresh";
            updateHookTypesDev();
            return updateWorkInProgressHook().memoizedState;
          },
          useEffectEvent: function(callback) {
            currentHookNameInDev = "useEffectEvent";
            updateHookTypesDev();
            return updateEvent(callback);
          }
        };
        HooksDispatcherOnRerenderInDEV = {
          readContext: function(context) {
            return readContext(context);
          },
          use,
          useCallback: function(callback, deps) {
            currentHookNameInDev = "useCallback";
            updateHookTypesDev();
            return updateCallback(callback, deps);
          },
          useContext: function(context) {
            currentHookNameInDev = "useContext";
            updateHookTypesDev();
            return readContext(context);
          },
          useEffect: function(create2, deps) {
            currentHookNameInDev = "useEffect";
            updateHookTypesDev();
            updateEffectImpl(2048, Passive, create2, deps);
          },
          useImperativeHandle: function(ref, create2, deps) {
            currentHookNameInDev = "useImperativeHandle";
            updateHookTypesDev();
            return updateImperativeHandle(ref, create2, deps);
          },
          useInsertionEffect: function(create2, deps) {
            currentHookNameInDev = "useInsertionEffect";
            updateHookTypesDev();
            return updateEffectImpl(4, Insertion5, create2, deps);
          },
          useLayoutEffect: function(create2, deps) {
            currentHookNameInDev = "useLayoutEffect";
            updateHookTypesDev();
            return updateEffectImpl(4, Layout, create2, deps);
          },
          useMemo: function(create2, deps) {
            currentHookNameInDev = "useMemo";
            updateHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;
            try {
              return updateMemo(create2, deps);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useReducer: function(reducer, initialArg, init) {
            currentHookNameInDev = "useReducer";
            updateHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;
            try {
              return rerenderReducer(reducer, initialArg, init);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useRef: function() {
            currentHookNameInDev = "useRef";
            updateHookTypesDev();
            return updateWorkInProgressHook().memoizedState;
          },
          useState: function() {
            currentHookNameInDev = "useState";
            updateHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;
            try {
              return rerenderReducer(basicStateReducer);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useDebugValue: function() {
            currentHookNameInDev = "useDebugValue";
            updateHookTypesDev();
          },
          useDeferredValue: function(value, initialValue) {
            currentHookNameInDev = "useDeferredValue";
            updateHookTypesDev();
            return rerenderDeferredValue(value, initialValue);
          },
          useTransition: function() {
            currentHookNameInDev = "useTransition";
            updateHookTypesDev();
            return rerenderTransition();
          },
          useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
            currentHookNameInDev = "useSyncExternalStore";
            updateHookTypesDev();
            return updateSyncExternalStore(
              subscribe,
              getSnapshot,
              getServerSnapshot
            );
          },
          useId: function() {
            currentHookNameInDev = "useId";
            updateHookTypesDev();
            return updateWorkInProgressHook().memoizedState;
          },
          useFormState: function(action) {
            currentHookNameInDev = "useFormState";
            updateHookTypesDev();
            warnOnUseFormStateInDev();
            return rerenderActionState(action);
          },
          useActionState: function(action) {
            currentHookNameInDev = "useActionState";
            updateHookTypesDev();
            return rerenderActionState(action);
          },
          useOptimistic: function(passthrough, reducer) {
            currentHookNameInDev = "useOptimistic";
            updateHookTypesDev();
            return rerenderOptimistic(passthrough, reducer);
          },
          useHostTransitionStatus,
          useMemoCache,
          useCacheRefresh: function() {
            currentHookNameInDev = "useCacheRefresh";
            updateHookTypesDev();
            return updateWorkInProgressHook().memoizedState;
          },
          useEffectEvent: function(callback) {
            currentHookNameInDev = "useEffectEvent";
            updateHookTypesDev();
            return updateEvent(callback);
          }
        };
        InvalidNestedHooksDispatcherOnMountInDEV = {
          readContext: function(context) {
            warnInvalidContextAccess();
            return readContext(context);
          },
          use: function(usable) {
            warnInvalidHookAccess();
            return use(usable);
          },
          useCallback: function(callback, deps) {
            currentHookNameInDev = "useCallback";
            warnInvalidHookAccess();
            mountHookTypesDev();
            return mountCallback(callback, deps);
          },
          useContext: function(context) {
            currentHookNameInDev = "useContext";
            warnInvalidHookAccess();
            mountHookTypesDev();
            return readContext(context);
          },
          useEffect: function(create2, deps) {
            currentHookNameInDev = "useEffect";
            warnInvalidHookAccess();
            mountHookTypesDev();
            return mountEffect(create2, deps);
          },
          useImperativeHandle: function(ref, create2, deps) {
            currentHookNameInDev = "useImperativeHandle";
            warnInvalidHookAccess();
            mountHookTypesDev();
            return mountImperativeHandle(ref, create2, deps);
          },
          useInsertionEffect: function(create2, deps) {
            currentHookNameInDev = "useInsertionEffect";
            warnInvalidHookAccess();
            mountHookTypesDev();
            mountEffectImpl(4, Insertion5, create2, deps);
          },
          useLayoutEffect: function(create2, deps) {
            currentHookNameInDev = "useLayoutEffect";
            warnInvalidHookAccess();
            mountHookTypesDev();
            return mountLayoutEffect(create2, deps);
          },
          useMemo: function(create2, deps) {
            currentHookNameInDev = "useMemo";
            warnInvalidHookAccess();
            mountHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
            try {
              return mountMemo(create2, deps);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useReducer: function(reducer, initialArg, init) {
            currentHookNameInDev = "useReducer";
            warnInvalidHookAccess();
            mountHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
            try {
              return mountReducer(reducer, initialArg, init);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useRef: function(initialValue) {
            currentHookNameInDev = "useRef";
            warnInvalidHookAccess();
            mountHookTypesDev();
            return mountRef(initialValue);
          },
          useState: function(initialState) {
            currentHookNameInDev = "useState";
            warnInvalidHookAccess();
            mountHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
            try {
              return mountState(initialState);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useDebugValue: function() {
            currentHookNameInDev = "useDebugValue";
            warnInvalidHookAccess();
            mountHookTypesDev();
          },
          useDeferredValue: function(value, initialValue) {
            currentHookNameInDev = "useDeferredValue";
            warnInvalidHookAccess();
            mountHookTypesDev();
            return mountDeferredValue(value, initialValue);
          },
          useTransition: function() {
            currentHookNameInDev = "useTransition";
            warnInvalidHookAccess();
            mountHookTypesDev();
            return mountTransition();
          },
          useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
            currentHookNameInDev = "useSyncExternalStore";
            warnInvalidHookAccess();
            mountHookTypesDev();
            return mountSyncExternalStore(
              subscribe,
              getSnapshot,
              getServerSnapshot
            );
          },
          useId: function() {
            currentHookNameInDev = "useId";
            warnInvalidHookAccess();
            mountHookTypesDev();
            return mountId();
          },
          useFormState: function(action, initialState) {
            currentHookNameInDev = "useFormState";
            warnInvalidHookAccess();
            mountHookTypesDev();
            return mountActionState(action, initialState);
          },
          useActionState: function(action, initialState) {
            currentHookNameInDev = "useActionState";
            warnInvalidHookAccess();
            mountHookTypesDev();
            return mountActionState(action, initialState);
          },
          useOptimistic: function(passthrough) {
            currentHookNameInDev = "useOptimistic";
            warnInvalidHookAccess();
            mountHookTypesDev();
            return mountOptimistic(passthrough);
          },
          useMemoCache: function(size5) {
            warnInvalidHookAccess();
            return useMemoCache(size5);
          },
          useHostTransitionStatus,
          useCacheRefresh: function() {
            currentHookNameInDev = "useCacheRefresh";
            mountHookTypesDev();
            return mountRefresh();
          },
          useEffectEvent: function(callback) {
            currentHookNameInDev = "useEffectEvent";
            warnInvalidHookAccess();
            mountHookTypesDev();
            return mountEvent(callback);
          }
        };
        InvalidNestedHooksDispatcherOnUpdateInDEV = {
          readContext: function(context) {
            warnInvalidContextAccess();
            return readContext(context);
          },
          use: function(usable) {
            warnInvalidHookAccess();
            return use(usable);
          },
          useCallback: function(callback, deps) {
            currentHookNameInDev = "useCallback";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateCallback(callback, deps);
          },
          useContext: function(context) {
            currentHookNameInDev = "useContext";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return readContext(context);
          },
          useEffect: function(create2, deps) {
            currentHookNameInDev = "useEffect";
            warnInvalidHookAccess();
            updateHookTypesDev();
            updateEffectImpl(2048, Passive, create2, deps);
          },
          useImperativeHandle: function(ref, create2, deps) {
            currentHookNameInDev = "useImperativeHandle";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateImperativeHandle(ref, create2, deps);
          },
          useInsertionEffect: function(create2, deps) {
            currentHookNameInDev = "useInsertionEffect";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateEffectImpl(4, Insertion5, create2, deps);
          },
          useLayoutEffect: function(create2, deps) {
            currentHookNameInDev = "useLayoutEffect";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateEffectImpl(4, Layout, create2, deps);
          },
          useMemo: function(create2, deps) {
            currentHookNameInDev = "useMemo";
            warnInvalidHookAccess();
            updateHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
            try {
              return updateMemo(create2, deps);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useReducer: function(reducer, initialArg, init) {
            currentHookNameInDev = "useReducer";
            warnInvalidHookAccess();
            updateHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
            try {
              return updateReducer(reducer, initialArg, init);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useRef: function() {
            currentHookNameInDev = "useRef";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateWorkInProgressHook().memoizedState;
          },
          useState: function() {
            currentHookNameInDev = "useState";
            warnInvalidHookAccess();
            updateHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
            try {
              return updateReducer(basicStateReducer);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useDebugValue: function() {
            currentHookNameInDev = "useDebugValue";
            warnInvalidHookAccess();
            updateHookTypesDev();
          },
          useDeferredValue: function(value, initialValue) {
            currentHookNameInDev = "useDeferredValue";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateDeferredValue(value, initialValue);
          },
          useTransition: function() {
            currentHookNameInDev = "useTransition";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateTransition();
          },
          useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
            currentHookNameInDev = "useSyncExternalStore";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateSyncExternalStore(
              subscribe,
              getSnapshot,
              getServerSnapshot
            );
          },
          useId: function() {
            currentHookNameInDev = "useId";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateWorkInProgressHook().memoizedState;
          },
          useFormState: function(action) {
            currentHookNameInDev = "useFormState";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateActionState(action);
          },
          useActionState: function(action) {
            currentHookNameInDev = "useActionState";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateActionState(action);
          },
          useOptimistic: function(passthrough, reducer) {
            currentHookNameInDev = "useOptimistic";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateOptimistic(passthrough, reducer);
          },
          useMemoCache: function(size5) {
            warnInvalidHookAccess();
            return useMemoCache(size5);
          },
          useHostTransitionStatus,
          useCacheRefresh: function() {
            currentHookNameInDev = "useCacheRefresh";
            updateHookTypesDev();
            return updateWorkInProgressHook().memoizedState;
          },
          useEffectEvent: function(callback) {
            currentHookNameInDev = "useEffectEvent";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateEvent(callback);
          }
        };
        InvalidNestedHooksDispatcherOnRerenderInDEV = {
          readContext: function(context) {
            warnInvalidContextAccess();
            return readContext(context);
          },
          use: function(usable) {
            warnInvalidHookAccess();
            return use(usable);
          },
          useCallback: function(callback, deps) {
            currentHookNameInDev = "useCallback";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateCallback(callback, deps);
          },
          useContext: function(context) {
            currentHookNameInDev = "useContext";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return readContext(context);
          },
          useEffect: function(create2, deps) {
            currentHookNameInDev = "useEffect";
            warnInvalidHookAccess();
            updateHookTypesDev();
            updateEffectImpl(2048, Passive, create2, deps);
          },
          useImperativeHandle: function(ref, create2, deps) {
            currentHookNameInDev = "useImperativeHandle";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateImperativeHandle(ref, create2, deps);
          },
          useInsertionEffect: function(create2, deps) {
            currentHookNameInDev = "useInsertionEffect";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateEffectImpl(4, Insertion5, create2, deps);
          },
          useLayoutEffect: function(create2, deps) {
            currentHookNameInDev = "useLayoutEffect";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateEffectImpl(4, Layout, create2, deps);
          },
          useMemo: function(create2, deps) {
            currentHookNameInDev = "useMemo";
            warnInvalidHookAccess();
            updateHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
            try {
              return updateMemo(create2, deps);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useReducer: function(reducer, initialArg, init) {
            currentHookNameInDev = "useReducer";
            warnInvalidHookAccess();
            updateHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
            try {
              return rerenderReducer(reducer, initialArg, init);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useRef: function() {
            currentHookNameInDev = "useRef";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateWorkInProgressHook().memoizedState;
          },
          useState: function() {
            currentHookNameInDev = "useState";
            warnInvalidHookAccess();
            updateHookTypesDev();
            var prevDispatcher = ReactSharedInternals.H;
            ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
            try {
              return rerenderReducer(basicStateReducer);
            } finally {
              ReactSharedInternals.H = prevDispatcher;
            }
          },
          useDebugValue: function() {
            currentHookNameInDev = "useDebugValue";
            warnInvalidHookAccess();
            updateHookTypesDev();
          },
          useDeferredValue: function(value, initialValue) {
            currentHookNameInDev = "useDeferredValue";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return rerenderDeferredValue(value, initialValue);
          },
          useTransition: function() {
            currentHookNameInDev = "useTransition";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return rerenderTransition();
          },
          useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
            currentHookNameInDev = "useSyncExternalStore";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateSyncExternalStore(
              subscribe,
              getSnapshot,
              getServerSnapshot
            );
          },
          useId: function() {
            currentHookNameInDev = "useId";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateWorkInProgressHook().memoizedState;
          },
          useFormState: function(action) {
            currentHookNameInDev = "useFormState";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return rerenderActionState(action);
          },
          useActionState: function(action) {
            currentHookNameInDev = "useActionState";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return rerenderActionState(action);
          },
          useOptimistic: function(passthrough, reducer) {
            currentHookNameInDev = "useOptimistic";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return rerenderOptimistic(passthrough, reducer);
          },
          useMemoCache: function(size5) {
            warnInvalidHookAccess();
            return useMemoCache(size5);
          },
          useHostTransitionStatus,
          useCacheRefresh: function() {
            currentHookNameInDev = "useCacheRefresh";
            updateHookTypesDev();
            return updateWorkInProgressHook().memoizedState;
          },
          useEffectEvent: function(callback) {
            currentHookNameInDev = "useEffectEvent";
            warnInvalidHookAccess();
            updateHookTypesDev();
            return updateEvent(callback);
          }
        };
        var fakeInternalInstance = {};
        var didWarnAboutStateAssignmentForComponent = /* @__PURE__ */ new Set();
        var didWarnAboutUninitializedState = /* @__PURE__ */ new Set();
        var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = /* @__PURE__ */ new Set();
        var didWarnAboutLegacyLifecyclesAndDerivedState = /* @__PURE__ */ new Set();
        var didWarnAboutDirectlyAssigningPropsToState = /* @__PURE__ */ new Set();
        var didWarnAboutUndefinedDerivedState = /* @__PURE__ */ new Set();
        var didWarnAboutContextTypes$1 = /* @__PURE__ */ new Set();
        var didWarnAboutChildContextTypes = /* @__PURE__ */ new Set();
        var didWarnAboutInvalidateContextType = /* @__PURE__ */ new Set();
        var didWarnOnInvalidCallback = /* @__PURE__ */ new Set();
        Object.freeze(fakeInternalInstance);
        var classComponentUpdater = {
          enqueueSetState: function(inst, payload, callback) {
            inst = inst._reactInternals;
            var lane = requestUpdateLane(inst), update = createUpdate(lane);
            update.payload = payload;
            void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback);
            payload = enqueueUpdate(inst, update, lane);
            null !== payload && (startUpdateTimerByLane(lane, "this.setState()", inst), scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane));
          },
          enqueueReplaceState: function(inst, payload, callback) {
            inst = inst._reactInternals;
            var lane = requestUpdateLane(inst), update = createUpdate(lane);
            update.tag = ReplaceState;
            update.payload = payload;
            void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback);
            payload = enqueueUpdate(inst, update, lane);
            null !== payload && (startUpdateTimerByLane(lane, "this.replaceState()", inst), scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane));
          },
          enqueueForceUpdate: function(inst, callback) {
            inst = inst._reactInternals;
            var lane = requestUpdateLane(inst), update = createUpdate(lane);
            update.tag = ForceUpdate;
            void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback);
            callback = enqueueUpdate(inst, update, lane);
            null !== callback && (startUpdateTimerByLane(lane, "this.forceUpdate()", inst), scheduleUpdateOnFiber(callback, inst, lane), entangleTransitions(callback, inst, lane));
          }
        }, componentName = null, errorBoundaryName = null, SelectiveHydrationException = Error(
          "This is not a real error. It's an implementation detail of React's selective hydration feature. If this leaks into userspace, it's a bug in React. Please file an issue."
        ), didReceiveUpdate = false;
        var didWarnAboutBadClass = {};
        var didWarnAboutContextTypeOnFunctionComponent = {};
        var didWarnAboutContextTypes = {};
        var didWarnAboutGetDerivedStateOnFunctionComponent = {};
        var didWarnAboutReassigningProps = false;
        var didWarnAboutRevealOrder = {};
        var didWarnAboutTailOptions = {};
        var SUSPENDED_MARKER = {
          dehydrated: null,
          treeContext: null,
          retryLane: 0,
          hydrationErrors: null
        }, hasWarnedAboutUsingNoValuePropOnContextProvider = false, didWarnAboutUndefinedSnapshotBeforeUpdate = null;
        didWarnAboutUndefinedSnapshotBeforeUpdate = /* @__PURE__ */ new Set();
        var offscreenSubtreeIsHidden = false, offscreenSubtreeWasHidden = false, needsFormReset = false, PossiblyWeakSet = "function" === typeof WeakSet ? WeakSet : Set, nextEffect = null, inProgressLanes = null, inProgressRoot = null, hostParent = null, hostParentIsContainer = false, currentHoistableRoot = null, inHydratedSubtree = false, suspenseyCommitFlag = 8192, DefaultAsyncDispatcher = {
          getCacheForType: function(resourceType) {
            var cache2 = readContext(CacheContext), cacheForType = cache2.data.get(resourceType);
            void 0 === cacheForType && (cacheForType = resourceType(), cache2.data.set(resourceType, cacheForType));
            return cacheForType;
          },
          cacheSignal: function() {
            return readContext(CacheContext).controller.signal;
          },
          getOwner: function() {
            return current;
          }
        };
        if ("function" === typeof Symbol && Symbol.for) {
          var symbolFor = Symbol.for;
          symbolFor("selector.component");
          symbolFor("selector.has_pseudo_class");
          symbolFor("selector.role");
          symbolFor("selector.test_id");
          symbolFor("selector.text");
        }
        var commitHooks = [], PossiblyWeakMap = "function" === typeof WeakMap ? WeakMap : Map, NoContext = 0, RenderContext = 2, CommitContext = 4, RootInProgress = 0, RootFatalErrored = 1, RootErrored = 2, RootSuspended = 3, RootSuspendedWithDelay = 4, RootSuspendedAtTheShell = 6, RootCompleted = 5, executionContext = NoContext, workInProgressRoot = null, workInProgress = null, workInProgressRootRenderLanes = 0, NotSuspended = 0, SuspendedOnError = 1, SuspendedOnData = 2, SuspendedOnImmediate = 3, SuspendedOnInstance = 4, SuspendedOnInstanceAndReadyToContinue = 5, SuspendedOnDeprecatedThrowPromise = 6, SuspendedAndReadyToContinue = 7, SuspendedOnHydration = 8, SuspendedOnAction = 9, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, workInProgressRootDidSkipSuspendedSiblings = false, workInProgressRootIsPrerendering = false, workInProgressRootDidAttachPingListener = false, entangledRenderLanes = 0, workInProgressRootExitStatus = RootInProgress, workInProgressRootSkippedLanes = 0, workInProgressRootInterleavedUpdatedLanes = 0, workInProgressRootPingedLanes = 0, workInProgressDeferredLane = 0, workInProgressSuspendedRetryLanes = 0, workInProgressRootConcurrentErrors = null, workInProgressRootRecoverableErrors = null, workInProgressRootDidIncludeRecursiveRenderUpdate = false, globalMostRecentFallbackTime = 0, globalMostRecentTransitionTime = 0, FALLBACK_THROTTLE_MS = 300, workInProgressRootRenderTargetTime = Infinity, RENDER_TIMEOUT_MS = 500, workInProgressTransitions = null, workInProgressUpdateTask = null, legacyErrorBoundariesThatAlreadyFailed = null, IMMEDIATE_COMMIT = 0, ABORTED_VIEW_TRANSITION_COMMIT = 1, DELAYED_PASSIVE_COMMIT = 2, ANIMATION_STARTED_COMMIT = 3, NO_PENDING_EFFECTS = 0, PENDING_MUTATION_PHASE = 1, PENDING_LAYOUT_PHASE = 2, PENDING_AFTER_MUTATION_PHASE = 3, PENDING_SPAWNED_WORK = 4, PENDING_PASSIVE_PHASE = 5, pendingEffectsStatus = 0, pendingEffectsRoot = null, pendingFinishedWork = null, pendingEffectsLanes = 0, pendingEffectsRemainingLanes = 0, pendingEffectsRenderEndTime = -0, pendingPassiveTransitions = null, pendingRecoverableErrors = null, pendingSuspendedCommitReason = null, pendingDelayedCommitReason = IMMEDIATE_COMMIT, pendingSuspendedViewTransitionReason = null, NESTED_UPDATE_LIMIT = 50, nestedUpdateCount = 0, rootWithNestedUpdates = null, isFlushingPassiveEffects = false, didScheduleUpdateDuringPassiveEffects = false, NESTED_PASSIVE_UPDATE_LIMIT = 50, nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, isRunningInsertionEffect = false, didWarnStateUpdateForNotYetMountedComponent = null, didWarnAboutUpdateInRender = false;
        var didWarnAboutUpdateInRenderForAnotherComponent = /* @__PURE__ */ new Set();
        var fakeActCallbackNode$1 = {}, firstScheduledRoot = null, lastScheduledRoot = null, didScheduleMicrotask = false, didScheduleMicrotask_act = false, mightHavePendingSyncWork = false, isFlushingWork = false, currentEventTransitionLane = 0, fakeActCallbackNode = {};
        (function() {
          for (var i2 = 0; i2 < simpleEventPluginEvents.length; i2++) {
            var eventName = simpleEventPluginEvents[i2], domEventName = eventName.toLowerCase();
            eventName = eventName[0].toUpperCase() + eventName.slice(1);
            registerSimpleEvent(domEventName, "on" + eventName);
          }
          registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
          registerSimpleEvent(ANIMATION_ITERATION, "onAnimationIteration");
          registerSimpleEvent(ANIMATION_START, "onAnimationStart");
          registerSimpleEvent("dblclick", "onDoubleClick");
          registerSimpleEvent("focusin", "onFocus");
          registerSimpleEvent("focusout", "onBlur");
          registerSimpleEvent(TRANSITION_RUN, "onTransitionRun");
          registerSimpleEvent(TRANSITION_START, "onTransitionStart");
          registerSimpleEvent(TRANSITION_CANCEL, "onTransitionCancel");
          registerSimpleEvent(TRANSITION_END, "onTransitionEnd");
        })();
        registerDirectEvent("onMouseEnter", ["mouseout", "mouseover"]);
        registerDirectEvent("onMouseLeave", ["mouseout", "mouseover"]);
        registerDirectEvent("onPointerEnter", ["pointerout", "pointerover"]);
        registerDirectEvent("onPointerLeave", ["pointerout", "pointerover"]);
        registerTwoPhaseEvent(
          "onChange",
          "change click focusin focusout input keydown keyup selectionchange".split(
            " "
          )
        );
        registerTwoPhaseEvent(
          "onSelect",
          "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(
            " "
          )
        );
        registerTwoPhaseEvent("onBeforeInput", [
          "compositionend",
          "keypress",
          "textInput",
          "paste"
        ]);
        registerTwoPhaseEvent(
          "onCompositionEnd",
          "compositionend focusout keydown keypress keyup mousedown".split(" ")
        );
        registerTwoPhaseEvent(
          "onCompositionStart",
          "compositionstart focusout keydown keypress keyup mousedown".split(" ")
        );
        registerTwoPhaseEvent(
          "onCompositionUpdate",
          "compositionupdate focusout keydown keypress keyup mousedown".split(" ")
        );
        var mediaEventTypes = "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(
          " "
        ), nonDelegatedEvents = new Set(
          "beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(mediaEventTypes)
        ), listeningMarker = "_reactListening" + Math.random().toString(36).slice(2), didWarnControlledToUncontrolled = false, didWarnUncontrolledToControlled = false, didWarnFormActionType = false, didWarnFormActionName = false, didWarnFormActionTarget = false, didWarnFormActionMethod = false, didWarnPopoverTargetObject = false;
        var didWarnForNewBooleanPropsWithEmptyValue = {};
        var NORMALIZE_NEWLINES_REGEX = /\r\n?/g, NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\u0000|\uFFFD/g, xlinkNamespace = "http://www.w3.org/1999/xlink", xmlNamespace = "http://www.w3.org/XML/1998/namespace", EXPECTED_FORM_ACTION_URL = "javascript:throw new Error('React form unexpectedly submitted.')", SUPPRESS_HYDRATION_WARNING = "suppressHydrationWarning", ACTIVITY_START_DATA = "&", ACTIVITY_END_DATA = "/&", SUSPENSE_START_DATA = "$", SUSPENSE_END_DATA = "/$", SUSPENSE_PENDING_START_DATA = "$?", SUSPENSE_QUEUED_START_DATA = "$~", SUSPENSE_FALLBACK_START_DATA = "$!", PREAMBLE_CONTRIBUTION_HTML = "html", PREAMBLE_CONTRIBUTION_BODY = "body", PREAMBLE_CONTRIBUTION_HEAD = "head", FORM_STATE_IS_MATCHING = "F!", FORM_STATE_IS_NOT_MATCHING = "F", DOCUMENT_READY_STATE_LOADING = "loading", STYLE = "style", HostContextNamespaceNone = 0, HostContextNamespaceSvg = 1, HostContextNamespaceMath = 2, eventsEnabled = null, selectionInformation = null, warnedUnknownTags = { dialog: true, webview: true }, currentPopstateTransitionEvent = null, schedulerEvent = void 0, scheduleTimeout = "function" === typeof setTimeout ? setTimeout : void 0, cancelTimeout = "function" === typeof clearTimeout ? clearTimeout : void 0, noTimeout = -1, localPromise = "function" === typeof Promise ? Promise : void 0, scheduleMicrotask = "function" === typeof queueMicrotask ? queueMicrotask : "undefined" !== typeof localPromise ? function(callback) {
          return localPromise.resolve(null).then(callback).catch(handleErrorInNextTick);
        } : scheduleTimeout, previousHydratableOnEnteringScopedSingleton = null, NotLoaded = 0, Loaded = 1, Errored = 2, Settled = 3, Inserted = 4, preloadPropsMap = /* @__PURE__ */ new Map(), preconnectsSet = /* @__PURE__ */ new Set(), previousDispatcher = ReactDOMSharedInternals.d;
        ReactDOMSharedInternals.d = {
          f: function() {
            var previousWasRendering = previousDispatcher.f(), wasRendering = flushSyncWork$1();
            return previousWasRendering || wasRendering;
          },
          r: function(form) {
            var formInst = getInstanceFromNode(form);
            null !== formInst && 5 === formInst.tag && "form" === formInst.type ? requestFormReset$1(formInst) : previousDispatcher.r(form);
          },
          D: function(href) {
            previousDispatcher.D(href);
            preconnectAs("dns-prefetch", href, null);
          },
          C: function(href, crossOrigin) {
            previousDispatcher.C(href, crossOrigin);
            preconnectAs("preconnect", href, crossOrigin);
          },
          L: function(href, as, options2) {
            previousDispatcher.L(href, as, options2);
            var ownerDocument = globalDocument;
            if (ownerDocument && href && as) {
              var preloadSelector = 'link[rel="preload"][as="' + escapeSelectorAttributeValueInsideDoubleQuotes(as) + '"]';
              "image" === as ? options2 && options2.imageSrcSet ? (preloadSelector += '[imagesrcset="' + escapeSelectorAttributeValueInsideDoubleQuotes(
                options2.imageSrcSet
              ) + '"]', "string" === typeof options2.imageSizes && (preloadSelector += '[imagesizes="' + escapeSelectorAttributeValueInsideDoubleQuotes(
                options2.imageSizes
              ) + '"]')) : preloadSelector += '[href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]' : preloadSelector += '[href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]';
              var key = preloadSelector;
              switch (as) {
                case "style":
                  key = getStyleKey(href);
                  break;
                case "script":
                  key = getScriptKey(href);
              }
              preloadPropsMap.has(key) || (href = assign2(
                {
                  rel: "preload",
                  href: "image" === as && options2 && options2.imageSrcSet ? void 0 : href,
                  as
                },
                options2
              ), preloadPropsMap.set(key, href), null !== ownerDocument.querySelector(preloadSelector) || "style" === as && ownerDocument.querySelector(
                getStylesheetSelectorFromKey(key)
              ) || "script" === as && ownerDocument.querySelector(getScriptSelectorFromKey(key)) || (as = ownerDocument.createElement("link"), setInitialProperties(as, "link", href), markNodeAsHoistable(as), ownerDocument.head.appendChild(as)));
            }
          },
          m: function(href, options2) {
            previousDispatcher.m(href, options2);
            var ownerDocument = globalDocument;
            if (ownerDocument && href) {
              var as = options2 && "string" === typeof options2.as ? options2.as : "script", preloadSelector = 'link[rel="modulepreload"][as="' + escapeSelectorAttributeValueInsideDoubleQuotes(as) + '"][href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]', key = preloadSelector;
              switch (as) {
                case "audioworklet":
                case "paintworklet":
                case "serviceworker":
                case "sharedworker":
                case "worker":
                case "script":
                  key = getScriptKey(href);
              }
              if (!preloadPropsMap.has(key) && (href = assign2({ rel: "modulepreload", href }, options2), preloadPropsMap.set(key, href), null === ownerDocument.querySelector(preloadSelector))) {
                switch (as) {
                  case "audioworklet":
                  case "paintworklet":
                  case "serviceworker":
                  case "sharedworker":
                  case "worker":
                  case "script":
                    if (ownerDocument.querySelector(getScriptSelectorFromKey(key)))
                      return;
                }
                as = ownerDocument.createElement("link");
                setInitialProperties(as, "link", href);
                markNodeAsHoistable(as);
                ownerDocument.head.appendChild(as);
              }
            }
          },
          X: function(src, options2) {
            previousDispatcher.X(src, options2);
            var ownerDocument = globalDocument;
            if (ownerDocument && src) {
              var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts, key = getScriptKey(src), resource = scripts.get(key);
              resource || (resource = ownerDocument.querySelector(
                getScriptSelectorFromKey(key)
              ), resource || (src = assign2({ src, async: true }, options2), (options2 = preloadPropsMap.get(key)) && adoptPreloadPropsForScript(src, options2), resource = ownerDocument.createElement("script"), markNodeAsHoistable(resource), setInitialProperties(resource, "link", src), ownerDocument.head.appendChild(resource)), resource = {
                type: "script",
                instance: resource,
                count: 1,
                state: null
              }, scripts.set(key, resource));
            }
          },
          S: function(href, precedence, options2) {
            previousDispatcher.S(href, precedence, options2);
            var ownerDocument = globalDocument;
            if (ownerDocument && href) {
              var styles2 = getResourcesFromRoot(ownerDocument).hoistableStyles, key = getStyleKey(href);
              precedence = precedence || "default";
              var resource = styles2.get(key);
              if (!resource) {
                var state = { loading: NotLoaded, preload: null };
                if (resource = ownerDocument.querySelector(
                  getStylesheetSelectorFromKey(key)
                ))
                  state.loading = Loaded | Inserted;
                else {
                  href = assign2(
                    {
                      rel: "stylesheet",
                      href,
                      "data-precedence": precedence
                    },
                    options2
                  );
                  (options2 = preloadPropsMap.get(key)) && adoptPreloadPropsForStylesheet(href, options2);
                  var link2 = resource = ownerDocument.createElement("link");
                  markNodeAsHoistable(link2);
                  setInitialProperties(link2, "link", href);
                  link2._p = new Promise(function(resolve, reject) {
                    link2.onload = resolve;
                    link2.onerror = reject;
                  });
                  link2.addEventListener("load", function() {
                    state.loading |= Loaded;
                  });
                  link2.addEventListener("error", function() {
                    state.loading |= Errored;
                  });
                  state.loading |= Inserted;
                  insertStylesheet(resource, precedence, ownerDocument);
                }
                resource = {
                  type: "stylesheet",
                  instance: resource,
                  count: 1,
                  state
                };
                styles2.set(key, resource);
              }
            }
          },
          M: function(src, options2) {
            previousDispatcher.M(src, options2);
            var ownerDocument = globalDocument;
            if (ownerDocument && src) {
              var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts, key = getScriptKey(src), resource = scripts.get(key);
              resource || (resource = ownerDocument.querySelector(
                getScriptSelectorFromKey(key)
              ), resource || (src = assign2({ src, async: true, type: "module" }, options2), (options2 = preloadPropsMap.get(key)) && adoptPreloadPropsForScript(src, options2), resource = ownerDocument.createElement("script"), markNodeAsHoistable(resource), setInitialProperties(resource, "link", src), ownerDocument.head.appendChild(resource)), resource = {
                type: "script",
                instance: resource,
                count: 1,
                state: null
              }, scripts.set(key, resource));
            }
          }
        };
        var globalDocument = "undefined" === typeof document ? null : document, tagCaches = null, SUSPENSEY_STYLESHEET_TIMEOUT = 6e4, SUSPENSEY_IMAGE_TIMEOUT = 800, SUSPENSEY_IMAGE_TIME_ESTIMATE = 500, estimatedBytesWithinLimit = 0, LAST_PRECEDENCE = null, precedencesByRoot = null, NotPendingTransition = NotPending, HostTransitionContext = {
          $$typeof: REACT_CONTEXT_TYPE,
          Provider: null,
          Consumer: null,
          _currentValue: NotPendingTransition,
          _currentValue2: NotPendingTransition,
          _threadCount: 0
        }, badgeFormat = "%c%s%c", badgeStyle = "background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px", resetStyle = "", pad = " ", bind = Function.prototype.bind;
        var didWarnAboutNestedUpdates = false;
        var overrideHookState = null, overrideHookStateDeletePath = null, overrideHookStateRenamePath = null, overrideProps = null, overridePropsDeletePath = null, overridePropsRenamePath = null, scheduleUpdate = null, scheduleRetry = null, setErrorHandler = null, setSuspenseHandler = null;
        overrideHookState = function(fiber, id, path, value) {
          id = findHook(fiber, id);
          null !== id && (path = copyWithSetImpl(id.memoizedState, path, 0, value), id.memoizedState = path, id.baseState = path, fiber.memoizedProps = assign2({}, fiber.memoizedProps), path = enqueueConcurrentRenderForLane(fiber, 2), null !== path && scheduleUpdateOnFiber(path, fiber, 2));
        };
        overrideHookStateDeletePath = function(fiber, id, path) {
          id = findHook(fiber, id);
          null !== id && (path = copyWithDeleteImpl(id.memoizedState, path, 0), id.memoizedState = path, id.baseState = path, fiber.memoizedProps = assign2({}, fiber.memoizedProps), path = enqueueConcurrentRenderForLane(fiber, 2), null !== path && scheduleUpdateOnFiber(path, fiber, 2));
        };
        overrideHookStateRenamePath = function(fiber, id, oldPath, newPath) {
          id = findHook(fiber, id);
          null !== id && (oldPath = copyWithRename(id.memoizedState, oldPath, newPath), id.memoizedState = oldPath, id.baseState = oldPath, fiber.memoizedProps = assign2({}, fiber.memoizedProps), oldPath = enqueueConcurrentRenderForLane(fiber, 2), null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2));
        };
        overrideProps = function(fiber, path, value) {
          fiber.pendingProps = copyWithSetImpl(fiber.memoizedProps, path, 0, value);
          fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
          path = enqueueConcurrentRenderForLane(fiber, 2);
          null !== path && scheduleUpdateOnFiber(path, fiber, 2);
        };
        overridePropsDeletePath = function(fiber, path) {
          fiber.pendingProps = copyWithDeleteImpl(fiber.memoizedProps, path, 0);
          fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
          path = enqueueConcurrentRenderForLane(fiber, 2);
          null !== path && scheduleUpdateOnFiber(path, fiber, 2);
        };
        overridePropsRenamePath = function(fiber, oldPath, newPath) {
          fiber.pendingProps = copyWithRename(
            fiber.memoizedProps,
            oldPath,
            newPath
          );
          fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
          oldPath = enqueueConcurrentRenderForLane(fiber, 2);
          null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2);
        };
        scheduleUpdate = function(fiber) {
          var root3 = enqueueConcurrentRenderForLane(fiber, 2);
          null !== root3 && scheduleUpdateOnFiber(root3, fiber, 2);
        };
        scheduleRetry = function(fiber) {
          var lane = claimNextRetryLane(), root3 = enqueueConcurrentRenderForLane(fiber, lane);
          null !== root3 && scheduleUpdateOnFiber(root3, fiber, lane);
        };
        setErrorHandler = function(newShouldErrorImpl) {
          shouldErrorImpl = newShouldErrorImpl;
        };
        setSuspenseHandler = function(newShouldSuspendImpl) {
          shouldSuspendImpl = newShouldSuspendImpl;
        };
        var _enabled = true, return_targetInst = null, hasScheduledReplayAttempt = false, queuedFocus = null, queuedDrag = null, queuedMouse = null, queuedPointers = /* @__PURE__ */ new Map(), queuedPointerCaptures = /* @__PURE__ */ new Map(), queuedExplicitHydrationTargets = [], discreteReplayableEvents = "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".split(
          " "
        ), lastScheduledReplayQueue = null;
        ReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render = function(children) {
          var root3 = this._internalRoot;
          if (null === root3) throw Error("Cannot update an unmounted root.");
          var args = arguments;
          "function" === typeof args[1] ? console.error(
            "does not support the second callback argument. To execute a side effect after rendering, declare it in a component body with useEffect()."
          ) : isValidContainer(args[1]) ? console.error(
            "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."
          ) : "undefined" !== typeof args[1] && console.error(
            "You passed a second argument to root.render(...) but it only accepts one argument."
          );
          args = children;
          var current2 = root3.current, lane = requestUpdateLane(current2);
          updateContainerImpl(current2, lane, args, root3, null, null);
        };
        ReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount = function() {
          var args = arguments;
          "function" === typeof args[0] && console.error(
            "does not support a callback argument. To execute a side effect after rendering, declare it in a component body with useEffect()."
          );
          args = this._internalRoot;
          if (null !== args) {
            this._internalRoot = null;
            var container = args.containerInfo;
            (executionContext & (RenderContext | CommitContext)) !== NoContext && console.error(
              "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."
            );
            updateContainerImpl(args.current, 2, null, args, null, null);
            flushSyncWork$1();
            container[internalContainerInstanceKey] = null;
          }
        };
        ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function(target2) {
          if (target2) {
            var updatePriority = resolveUpdatePriority();
            target2 = { blockedOn: null, target: target2, priority: updatePriority };
            for (var i2 = 0; i2 < queuedExplicitHydrationTargets.length && 0 !== updatePriority && updatePriority < queuedExplicitHydrationTargets[i2].priority; i2++) ;
            queuedExplicitHydrationTargets.splice(i2, 0, target2);
            0 === i2 && attemptExplicitHydrationTarget(target2);
          }
        };
        (function() {
          var isomorphicReactPackageVersion = React198.version;
          if ("19.2.5" !== isomorphicReactPackageVersion)
            throw Error(
              'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n  - react:      ' + (isomorphicReactPackageVersion + "\n  - react-dom:  19.2.5\nLearn more: https://react.dev/warnings/version-mismatch")
            );
        })();
        "function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error(
          "React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://react.dev/link/react-polyfills"
        );
        ReactDOMSharedInternals.findDOMNode = function(componentOrElement) {
          var fiber = componentOrElement._reactInternals;
          if (void 0 === fiber) {
            if ("function" === typeof componentOrElement.render)
              throw Error("Unable to find node on an unmounted component.");
            componentOrElement = Object.keys(componentOrElement).join(",");
            throw Error(
              "Argument appears to not be a ReactComponent. Keys: " + componentOrElement
            );
          }
          componentOrElement = findCurrentFiberUsingSlowPath(fiber);
          componentOrElement = null !== componentOrElement ? findCurrentHostFiberImpl(componentOrElement) : null;
          componentOrElement = null === componentOrElement ? null : componentOrElement.stateNode;
          return componentOrElement;
        };
        if (!(function() {
          var internals = {
            bundleType: 1,
            version: "19.2.5",
            rendererPackageName: "react-dom",
            currentDispatcherRef: ReactSharedInternals,
            reconcilerVersion: "19.2.5"
          };
          internals.overrideHookState = overrideHookState;
          internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
          internals.overrideHookStateRenamePath = overrideHookStateRenamePath;
          internals.overrideProps = overrideProps;
          internals.overridePropsDeletePath = overridePropsDeletePath;
          internals.overridePropsRenamePath = overridePropsRenamePath;
          internals.scheduleUpdate = scheduleUpdate;
          internals.scheduleRetry = scheduleRetry;
          internals.setErrorHandler = setErrorHandler;
          internals.setSuspenseHandler = setSuspenseHandler;
          internals.scheduleRefresh = scheduleRefresh;
          internals.scheduleRoot = scheduleRoot;
          internals.setRefreshHandler = setRefreshHandler;
          internals.getCurrentFiber = getCurrentFiberForDevTools;
          return injectInternals(internals);
        })() && canUseDOM && window.top === window.self && (-1 < navigator.userAgent.indexOf("Chrome") && -1 === navigator.userAgent.indexOf("Edge") || -1 < navigator.userAgent.indexOf("Firefox"))) {
          var protocol = window.location.protocol;
          /^(https?|file):$/.test(protocol) && console.info(
            "%cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools" + ("file:" === protocol ? "\nYou might need to use a local HTTP server (instead of file://): https://react.dev/link/react-devtools-faq" : ""),
            "font-weight:bold"
          );
        }
        exports.createRoot = function(container, options2) {
          if (!isValidContainer(container))
            throw Error("Target container is not a DOM element.");
          warnIfReactDOMContainerInDEV(container);
          var isStrictMode = false, identifierPrefix = "", onUncaughtError = defaultOnUncaughtError, onCaughtError = defaultOnCaughtError, onRecoverableError = defaultOnRecoverableError;
          null !== options2 && void 0 !== options2 && (options2.hydrate ? console.warn(
            "hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead."
          ) : "object" === typeof options2 && null !== options2 && options2.$$typeof === REACT_ELEMENT_TYPE && console.error(
            "You passed a JSX element to createRoot. You probably meant to call root.render instead. Example usage:\n\n  let root = createRoot(domContainer);\n  root.render(<App />);"
          ), true === options2.unstable_strictMode && (isStrictMode = true), void 0 !== options2.identifierPrefix && (identifierPrefix = options2.identifierPrefix), void 0 !== options2.onUncaughtError && (onUncaughtError = options2.onUncaughtError), void 0 !== options2.onCaughtError && (onCaughtError = options2.onCaughtError), void 0 !== options2.onRecoverableError && (onRecoverableError = options2.onRecoverableError));
          options2 = createFiberRoot(
            container,
            1,
            false,
            null,
            null,
            isStrictMode,
            identifierPrefix,
            null,
            onUncaughtError,
            onCaughtError,
            onRecoverableError,
            defaultOnDefaultTransitionIndicator
          );
          container[internalContainerInstanceKey] = options2.current;
          listenToAllSupportedEvents(container);
          return new ReactDOMRoot(options2);
        };
        exports.hydrateRoot = function(container, initialChildren, options2) {
          if (!isValidContainer(container))
            throw Error("Target container is not a DOM element.");
          warnIfReactDOMContainerInDEV(container);
          void 0 === initialChildren && console.error(
            "Must provide initial children as second argument to hydrateRoot. Example usage: hydrateRoot(domContainer, <App />)"
          );
          var isStrictMode = false, identifierPrefix = "", onUncaughtError = defaultOnUncaughtError, onCaughtError = defaultOnCaughtError, onRecoverableError = defaultOnRecoverableError, formState = null;
          null !== options2 && void 0 !== options2 && (true === options2.unstable_strictMode && (isStrictMode = true), void 0 !== options2.identifierPrefix && (identifierPrefix = options2.identifierPrefix), void 0 !== options2.onUncaughtError && (onUncaughtError = options2.onUncaughtError), void 0 !== options2.onCaughtError && (onCaughtError = options2.onCaughtError), void 0 !== options2.onRecoverableError && (onRecoverableError = options2.onRecoverableError), void 0 !== options2.formState && (formState = options2.formState));
          initialChildren = createFiberRoot(
            container,
            1,
            true,
            initialChildren,
            null != options2 ? options2 : null,
            isStrictMode,
            identifierPrefix,
            formState,
            onUncaughtError,
            onCaughtError,
            onRecoverableError,
            defaultOnDefaultTransitionIndicator
          );
          initialChildren.context = getContextForSubtree(null);
          options2 = initialChildren.current;
          isStrictMode = requestUpdateLane(options2);
          isStrictMode = getBumpedLaneForHydrationByLane(isStrictMode);
          identifierPrefix = createUpdate(isStrictMode);
          identifierPrefix.callback = null;
          enqueueUpdate(options2, identifierPrefix, isStrictMode);
          startUpdateTimerByLane(isStrictMode, "hydrateRoot()", null);
          options2 = isStrictMode;
          initialChildren.current.lanes = options2;
          markRootUpdated$1(initialChildren, options2);
          ensureRootIsScheduled(initialChildren);
          container[internalContainerInstanceKey] = initialChildren.current;
          listenToAllSupportedEvents(container);
          return new ReactDOMHydrationRoot(initialChildren);
        };
        exports.version = "19.2.5";
        "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
      })();
    }
  });

  // node_modules/react-dom/client.js
  var require_client = __commonJS({
    "node_modules/react-dom/client.js"(exports, module) {
      "use strict";
      if (false) {
        checkDCE();
        module.exports = null;
      } else {
        module.exports = require_react_dom_client_development();
      }
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/lazyModules/common.js
  var common_exports = {};
  __export(common_exports, {
    createRoot: () => import_client.createRoot
  });
  var import_client;
  var init_common2 = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/lazyModules/common.js"() {
      import_client = __toESM(require_client(), 1);
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/Components.js
  function assertDOMElement(element) {
    if (!element) clerkUIErrorDOMElementNotFound();
  }
  var import_react496, useSafeLayoutEffect2, ROOT_ELEMENT_ID, portalCt, mountComponentRenderer, componentsControls, componentNodes, Components;
  var init_Components = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/Components.js"() {
      init_useClerkModalStateParams();
      init_components();
      init_drawers();
      init_providers();
      init_buildVirtualRouterUrl();
      init_disambiguateRedirectOptions();
      init_extractCssLayerNameFromAppearance();
      init_warnAboutCustomizationWithoutPinning();
      init_errors();
      init_utils4();
      import_react496 = __toESM(require_react(), 1);
      init_emotion_react_jsx_runtime_browser_esm();
      useSafeLayoutEffect2 = typeof window !== "undefined" ? import_react496.default.useLayoutEffect : import_react496.default.useEffect;
      ROOT_ELEMENT_ID = "clerk-components";
      portalCt = 0;
      mountComponentRenderer = (getClerk, getEnvironment2, _options, moduleManager) => {
        const options2 = { ..._options };
        if (options2.appearance) options2.appearance = extractCssLayerNameFromAppearance(options2.appearance);
        let clerkRoot = document.getElementById(ROOT_ELEMENT_ID);
        if (!clerkRoot) {
          clerkRoot = document.createElement("div");
          clerkRoot.setAttribute("id", "clerk-components");
          document.body.appendChild(clerkRoot);
        }
        let componentsControlsResolver;
        return { ensureMounted: (opts) => {
          const { preloadHint } = opts || {};
          if (preloadHint) preloadComponent(preloadHint).catch(() => {
          });
          if (!componentsControlsResolver) {
            const deferredPromise = createDeferredPromise();
            componentsControlsResolver = Promise.resolve().then(() => (init_common2(), common_exports)).then(({ createRoot: createRoot2 }) => {
              createRoot2(clerkRoot).render(/* @__PURE__ */ jsx2(Components, {
                getClerk,
                getEnvironment: getEnvironment2,
                options: options2,
                onComponentsMounted: () => {
                  if (getClerk().instanceType === "development") (typeof requestIdleCallback === "function" ? requestIdleCallback : (cb) => setTimeout(cb, 0))(() => warnAboutCustomizationWithoutPinning(options2));
                  deferredPromise.resolve();
                },
                moduleManager
              }));
              return deferredPromise.promise.then(() => componentsControls);
            });
          }
          return componentsControlsResolver.then((controls) => controls);
        } };
      };
      componentsControls = {};
      componentNodes = Object.freeze({
        SignUp: "signUpModal",
        SignIn: "signInModal",
        UserProfile: "userProfileModal",
        OrganizationProfile: "organizationProfileModal",
        CreateOrganization: "createOrganizationModal",
        Waitlist: "waitlistModal"
      });
      Components = (props) => {
        const [state, setState] = import_react496.default.useState({
          appearance: props.options.appearance,
          options: props.options,
          googleOneTapModal: null,
          signInModal: null,
          signUpModal: null,
          userProfileModal: null,
          userVerificationModal: null,
          organizationProfileModal: null,
          createOrganizationModal: null,
          enableOrganizationsPromptModal: null,
          organizationSwitcherPrefetch: false,
          waitlistModal: null,
          blankCaptchaModal: null,
          checkoutDrawer: {
            open: false,
            props: null
          },
          planDetailsDrawer: {
            open: false,
            props: null
          },
          subscriptionDetailsDrawer: {
            open: false,
            props: null
          },
          impersonationFab: false
        });
        const { googleOneTapModal, signInModal, signUpModal, userProfileModal, userVerificationModal, organizationProfileModal, createOrganizationModal, waitlistModal, blankCaptchaModal, checkoutDrawer, planDetailsDrawer, subscriptionDetailsDrawer } = state;
        const clerk2 = props.getClerk();
        (0, import_react496.useSyncExternalStore)((0, import_react496.useCallback)((callback) => clerk2.addListener(callback, { skipInitialEmit: true }), [clerk2]), (0, import_react496.useCallback)(() => {
          return clerk2.__internal_lastEmittedResources;
        }, [clerk2]), (0, import_react496.useCallback)(() => {
          return clerk2.__internal_lastEmittedResources;
        }, [clerk2]));
        const nodesRef = (0, import_react496.useRef)(/* @__PURE__ */ new Map());
        const { urlStateParam, clearUrlStateParam, decodedRedirectParams } = useClerkModalStateParams();
        useSafeLayoutEffect2(() => {
          if (decodedRedirectParams) setState((s2) => ({
            ...s2,
            [componentNodes[decodedRedirectParams.componentName]]: true
          }));
          const triggerRender = () => {
            setState((s2) => ({ ...s2 }));
          };
          componentsControls.mountComponent = (params) => {
            const { node: node2, name, props: props$1, appearanceKey } = params;
            assertDOMElement(node2);
            nodesRef.current.set(node2, {
              key: `p${++portalCt}`,
              name,
              props: props$1,
              appearanceKey
            });
            triggerRender();
          };
          componentsControls.unmountComponent = (params) => {
            const { node: node2 } = params;
            nodesRef.current.delete(node2);
            triggerRender();
          };
          componentsControls.updateProps = ({ node: node2, props: props$1, ...restProps }) => {
            if (node2 && props$1 && typeof props$1 === "object") {
              const nodeOptions = nodesRef.current.get(node2);
              if (nodeOptions) {
                nodeOptions.props = { ...props$1 };
                triggerRender();
                return;
              }
            }
            setState((s2) => ({
              ...s2,
              ...restProps,
              options: {
                ...s2.options,
                ...restProps.options
              }
            }));
          };
          componentsControls.closeModal = (name, options2 = {}) => {
            const { notify = true } = options2;
            clearUrlStateParam();
            setState((s2) => {
              function handleCloseModalForExperimentalUserVerification() {
                const modal = s2[`${name}Modal`];
                if (modal && typeof modal === "object" && "afterVerificationCancelled" in modal && notify) modal.afterVerificationCancelled?.();
              }
              handleCloseModalForExperimentalUserVerification();
              return {
                ...s2,
                [`${name}Modal`]: null
              };
            });
          };
          componentsControls.openModal = (name, props$1) => {
            if (name === "enableOrganizationsPrompt") {
              setState((prev3) => {
                if (prev3.enableOrganizationsPromptModal) return prev3;
                return {
                  ...prev3,
                  [`${name}Modal`]: props$1
                };
              });
              return;
            }
            function handleCloseModalForExperimentalUserVerification() {
              if (!("afterVerificationCancelled" in props$1)) return;
              setState((s2) => ({
                ...s2,
                [`${name}Modal`]: {
                  ...props$1,
                  afterVerification() {
                    props$1.afterVerification?.();
                    componentsControls.closeModal(name, { notify: false });
                  }
                }
              }));
            }
            if ("afterVerificationCancelled" in props$1) handleCloseModalForExperimentalUserVerification();
            else setState((s2) => ({
              ...s2,
              [`${name}Modal`]: props$1
            }));
          };
          componentsControls.mountImpersonationFab = () => {
            setState((s2) => ({
              ...s2,
              impersonationFab: true
            }));
          };
          componentsControls.openDrawer = (name, props$1) => {
            setState((s2) => ({
              ...s2,
              [`${name}Drawer`]: {
                open: true,
                props: props$1
              }
            }));
          };
          componentsControls.closeDrawer = (name) => {
            setState((s2) => {
              s2[`${name}Drawer`]?.props?.onClose?.();
              return {
                ...s2,
                [`${name}Drawer`]: {
                  ...s2[`${name}Drawer`],
                  open: false
                }
              };
            });
          };
          componentsControls.prefetch = (component) => {
            setState((s2) => ({
              ...s2,
              [`${component}Prefetch`]: true
            }));
          };
          props.onComponentsMounted();
        }, []);
        const mountedOneTapModal = /* @__PURE__ */ jsx2(LazyOneTapRenderer, {
          componentProps: googleOneTapModal,
          globalAppearance: state.appearance,
          componentAppearance: googleOneTapModal?.appearance,
          startPath: buildVirtualRouterUrl({
            base: "/one-tap",
            path: ""
          })
        });
        const mountedSignInModal = /* @__PURE__ */ jsxs2(LazyModalRenderer, {
          globalAppearance: state.appearance,
          appearanceKey: "signIn",
          componentAppearance: signInModal?.appearance,
          flowName: "signIn",
          onClose: () => componentsControls.closeModal("signIn"),
          onExternalNavigate: () => componentsControls.closeModal("signIn"),
          startPath: buildVirtualRouterUrl({
            base: "/sign-in",
            path: urlStateParam?.path
          }),
          getContainer: signInModal?.getContainer ?? (() => null),
          componentName: "SignInModal",
          children: [
            /* @__PURE__ */ jsx2(SignInModal2, { ...signInModal }),
            /* @__PURE__ */ jsx2(SignUpModal2, { ...disambiguateRedirectOptions(signInModal, "signin") }),
            /* @__PURE__ */ jsx2(WaitlistModal2, { ...waitlistModal })
          ]
        });
        const mountedSignUpModal = /* @__PURE__ */ jsxs2(LazyModalRenderer, {
          globalAppearance: state.appearance,
          appearanceKey: "signUp",
          componentAppearance: signUpModal?.appearance,
          flowName: "signUp",
          onClose: () => componentsControls.closeModal("signUp"),
          onExternalNavigate: () => componentsControls.closeModal("signUp"),
          startPath: buildVirtualRouterUrl({
            base: "/sign-up",
            path: urlStateParam?.path
          }),
          getContainer: signUpModal?.getContainer ?? (() => null),
          componentName: "SignUpModal",
          children: [
            /* @__PURE__ */ jsx2(SignInModal2, { ...disambiguateRedirectOptions(signUpModal, "signup") }),
            /* @__PURE__ */ jsx2(SignUpModal2, { ...signUpModal }),
            /* @__PURE__ */ jsx2(WaitlistModal2, { ...waitlistModal })
          ]
        });
        const mountedUserProfileModal = /* @__PURE__ */ jsx2(LazyModalRenderer, {
          globalAppearance: state.appearance,
          appearanceKey: "userProfile",
          componentAppearance: userProfileModal?.appearance,
          flowName: "userProfile",
          onClose: () => componentsControls.closeModal("userProfile"),
          onExternalNavigate: () => componentsControls.closeModal("userProfile"),
          startPath: buildVirtualRouterUrl({
            base: "/user",
            path: userProfileModal?.__experimental_startPath || urlStateParam?.path
          }),
          getContainer: userProfileModal?.getContainer ?? (() => null),
          componentName: "UserProfileModal",
          modalContainerSx: { alignItems: "center" },
          modalContentSx: (t2) => ({
            height: `min(${t2.sizes.$176}, calc(100% - ${t2.sizes.$12}))`,
            margin: 0
          }),
          children: /* @__PURE__ */ jsx2(UserProfileModal2, { ...userProfileModal })
        });
        const mountedUserVerificationModal = /* @__PURE__ */ jsx2(LazyModalRenderer, {
          globalAppearance: state.appearance,
          appearanceKey: "userVerification",
          componentAppearance: userVerificationModal?.appearance,
          flowName: "userVerification",
          onClose: () => componentsControls.closeModal("userVerification"),
          onExternalNavigate: () => componentsControls.closeModal("userVerification"),
          startPath: buildVirtualRouterUrl({
            base: "/user-verification",
            path: urlStateParam?.path
          }),
          getContainer: userVerificationModal?.getContainer ?? (() => null),
          componentName: "UserVerificationModal",
          modalContainerSx: { alignItems: "center" },
          children: /* @__PURE__ */ jsx2(UserVerificationModal2, { ...userVerificationModal })
        });
        const mountedOrganizationProfileModal = /* @__PURE__ */ jsx2(LazyModalRenderer, {
          globalAppearance: state.appearance,
          appearanceKey: "organizationProfile",
          componentAppearance: organizationProfileModal?.appearance,
          flowName: "organizationProfile",
          onClose: () => componentsControls.closeModal("organizationProfile"),
          onExternalNavigate: () => componentsControls.closeModal("organizationProfile"),
          startPath: buildVirtualRouterUrl({
            base: "/organizationProfile",
            path: organizationProfileModal?.__experimental_startPath || urlStateParam?.path
          }),
          getContainer: organizationProfileModal?.getContainer ?? (() => null),
          componentName: "OrganizationProfileModal",
          modalContainerSx: { alignItems: "center" },
          modalContentSx: (t2) => ({
            height: `min(${t2.sizes.$176}, calc(100% - ${t2.sizes.$12}))`,
            margin: 0
          }),
          children: /* @__PURE__ */ jsx2(OrganizationProfileModal2, { ...organizationProfileModal })
        });
        const mountedCreateOrganizationModal = /* @__PURE__ */ jsx2(LazyModalRenderer, {
          globalAppearance: state.appearance,
          appearanceKey: "createOrganization",
          componentAppearance: createOrganizationModal?.appearance,
          flowName: "createOrganization",
          onClose: () => componentsControls.closeModal("createOrganization"),
          onExternalNavigate: () => componentsControls.closeModal("createOrganization"),
          startPath: buildVirtualRouterUrl({
            base: "/createOrganization",
            path: urlStateParam?.path
          }),
          getContainer: createOrganizationModal?.getContainer ?? (() => null),
          componentName: "CreateOrganizationModal",
          modalContainerSx: { alignItems: "center" },
          modalContentSx: (t2) => ({
            height: `min(${t2.sizes.$120}, calc(100% - ${t2.sizes.$12}))`,
            margin: 0
          }),
          children: /* @__PURE__ */ jsx2(CreateOrganizationModal2, { ...createOrganizationModal })
        });
        const mountedWaitlistModal = /* @__PURE__ */ jsxs2(LazyModalRenderer, {
          globalAppearance: state.appearance,
          appearanceKey: "waitlist",
          componentAppearance: waitlistModal?.appearance,
          flowName: "waitlist",
          onClose: () => componentsControls.closeModal("waitlist"),
          onExternalNavigate: () => componentsControls.closeModal("waitlist"),
          startPath: buildVirtualRouterUrl({
            base: "/waitlist",
            path: urlStateParam?.path
          }),
          getContainer: waitlistModal?.getContainer ?? (() => null),
          componentName: "WaitlistModal",
          children: [/* @__PURE__ */ jsx2(WaitlistModal2, { ...waitlistModal }), /* @__PURE__ */ jsx2(SignInModal2, { ...waitlistModal })]
        });
        const mountedBlankCaptchaModal = /* @__PURE__ */ jsx2(LazyModalRenderer, {
          globalAppearance: state.appearance,
          appearanceKey: "blankCaptcha",
          componentAppearance: {},
          flowName: "blankCaptcha",
          onClose: () => componentsControls.closeModal("blankCaptcha"),
          startPath: buildVirtualRouterUrl({
            base: "/blank-captcha",
            path: urlStateParam?.path
          }),
          componentName: "BlankCaptchaModal",
          canCloseModal: false,
          modalId: "cl-modal-captcha-wrapper",
          modalStyle: {
            visibility: "hidden",
            pointerEvents: "none"
          },
          getContainer: () => null,
          children: /* @__PURE__ */ jsx2(BlankCaptchaModal2, {})
        });
        return /* @__PURE__ */ jsx2(import_react496.Suspense, {
          fallback: "",
          children: /* @__PURE__ */ jsxs2(LazyProviders, {
            clerk: props.getClerk(),
            environment: props.getEnvironment(),
            options: state.options,
            moduleManager: props.moduleManager,
            children: [
              [...nodesRef.current].map(([node2, component]) => {
                return /* @__PURE__ */ jsx2(LazyComponentRenderer, {
                  node: node2,
                  globalAppearance: state.appearance,
                  appearanceKey: component.appearanceKey,
                  componentAppearance: component.props?.appearance,
                  componentName: component.name,
                  componentProps: component.props
                }, component.key);
              }),
              googleOneTapModal && mountedOneTapModal,
              signInModal && mountedSignInModal,
              signUpModal && mountedSignUpModal,
              userProfileModal && mountedUserProfileModal,
              userVerificationModal && mountedUserVerificationModal,
              organizationProfileModal && mountedOrganizationProfileModal,
              createOrganizationModal && mountedCreateOrganizationModal,
              waitlistModal && mountedWaitlistModal,
              blankCaptchaModal && mountedBlankCaptchaModal,
              /* @__PURE__ */ jsx2(MountedCheckoutDrawer2, {
                appearance: state.appearance,
                checkoutDrawer,
                onOpenChange: () => componentsControls.closeDrawer("checkout")
              }),
              /* @__PURE__ */ jsx2(MountedPlanDetailDrawer2, {
                appearance: state.appearance,
                planDetailsDrawer,
                onOpenChange: () => componentsControls.closeDrawer("planDetails")
              }),
              /* @__PURE__ */ jsx2(MountedSubscriptionDetailDrawer2, {
                appearance: state.appearance,
                subscriptionDetailsDrawer,
                onOpenChange: () => componentsControls.closeDrawer("subscriptionDetails")
              }),
              state.impersonationFab && /* @__PURE__ */ jsx2(LazyImpersonationFabProvider, {
                globalAppearance: state.appearance,
                children: /* @__PURE__ */ jsx2(ImpersonationFab2, {})
              }),
              state.enableOrganizationsPromptModal && /* @__PURE__ */ jsx2(LazyEnableOrganizationsPromptProvider, {
                globalAppearance: state.appearance,
                children: /* @__PURE__ */ jsx2(EnableOrganizationsPrompt2, { ...state.enableOrganizationsPromptModal })
              }),
              state.options?.__internal_keyless_claimKeylessApplicationUrl && state.options?.__internal_keyless_copyInstanceKeysUrl && /* @__PURE__ */ jsx2(LazyImpersonationFabProvider, {
                globalAppearance: state.appearance,
                children: /* @__PURE__ */ jsx2(KeylessPrompt2, {
                  claimUrl: state.options.__internal_keyless_claimKeylessApplicationUrl,
                  copyKeysUrl: state.options.__internal_keyless_copyInstanceKeysUrl,
                  onDismiss: state.options.__internal_keyless_dismissPrompt
                })
              }),
              /* @__PURE__ */ jsx2(import_react496.Suspense, { children: state.organizationSwitcherPrefetch && /* @__PURE__ */ jsx2(OrganizationSwitcherPrefetch2, {}) })
            ]
          })
        });
      };
    }
  });

  // node_modules/@clerk/shared/dist/runtime/versionCheck.mjs
  function parseVersion(version2) {
    const match3 = version2.match(/^(\d+)\.(\d+)\.(\d+)/);
    if (!match3) return null;
    const [, majorStr, minorStr, patchStr] = match3;
    return {
      major: parseInt(majorStr, 10),
      minor: parseInt(minorStr, 10),
      patch: parseInt(patchStr, 10)
    };
  }
  function isVersionAtLeast(version2, minVersion) {
    if (!version2) return false;
    const parsed = parseVersion(version2);
    const minParsed = parseVersion(minVersion);
    if (!parsed || !minParsed) return false;
    if (parsed.major !== minParsed.major) return parsed.major > minParsed.major;
    if (parsed.minor !== minParsed.minor) return parsed.minor > minParsed.minor;
    return parsed.patch >= minParsed.patch;
  }
  var init_versionCheck = __esm({
    "node_modules/@clerk/shared/dist/runtime/versionCheck.mjs"() {
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/ClerkUI.js
  var ClerkUI;
  var init_ClerkUI = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/ClerkUI.js"() {
      "use client";
      init_Components();
      init_constants6();
      init_error();
      init_logger();
      init_versionCheck();
      ClerkUI = class ClerkUI2 {
        static version = "1.7.0";
        version = "1.7.0";
        #componentRenderer;
        /**
        * Creates a new `ClerkUI` instance and mounts the internal component renderer.
        *
        * Validates that the active `@clerk/clerk-js` version satisfies the minimum
        * required version ({@link MIN_CLERK_JS_VERSION}). In development instances a
        * mismatch throws a {@link ClerkRuntimeError}; in production it logs a warning.
        *
        * @param getClerk - Accessor that returns the active {@link Clerk} instance.
        * @param getEnvironment - Accessor that returns the current {@link EnvironmentResource}, or `null`/`undefined` if not yet loaded.
        * @param options - Global {@link ClerkOptions} forwarded to the component renderer.
        * @param moduleManager - The SDK's {@link ModuleManager} used for module resolution and lazy loading.
        * @throws {ClerkRuntimeError} When running in a development instance with an incompatible `@clerk/clerk-js` version.
        *
        * @internal
        */
        constructor(getClerk, getEnvironment2, options2, moduleManager) {
          const clerk2 = getClerk();
          const clerkVersion = clerk2?.version;
          const isDevelopmentInstance = clerk2?.instanceType === "development";
          const parsedVersion = parseVersion(clerkVersion ?? "");
          let incompatibilityMessage = null;
          if (parsedVersion && !isVersionAtLeast(clerkVersion, MIN_CLERK_JS_VERSION)) incompatibilityMessage = `@clerk/ui@${ClerkUI2.version} requires @clerk/clerk-js@>=${MIN_CLERK_JS_VERSION}, but found @clerk/clerk-js@${clerkVersion}. Please upgrade @clerk/clerk-js (or your framework SDK) to a compatible version.`;
          else if (!parsedVersion && !moduleManager) incompatibilityMessage = `@clerk/ui@${ClerkUI2.version} requires @clerk/clerk-js@>=${MIN_CLERK_JS_VERSION}, but found an incompatible version${clerkVersion ? ` (${clerkVersion})` : ""}. Please upgrade @clerk/clerk-js (or your framework SDK) to a compatible version.`;
          if (incompatibilityMessage) if (isDevelopmentInstance) throw new ClerkRuntimeError2(incompatibilityMessage, { code: "clerk_ui_version_mismatch" });
          else logger.warnOnce(incompatibilityMessage);
          this.#componentRenderer = mountComponentRenderer(getClerk, getEnvironment2, options2, moduleManager);
        }
        /**
        * Ensures the UI component renderer is mounted and ready.
        *
        * Returns a promise that resolves with {@link ComponentControls} once the
        * renderer is fully initialised. Subsequent calls return the same promise.
        *
        * @param opts - Optional hints for the renderer.
        * @param opts.preloadHint - An optional component name to preload assets for (e.g. `"SignIn"`).
        * @returns A promise resolving to {@link ComponentControls} for mounting, unmounting, and updating components.
        *
        * @public
        */
        ensureMounted(opts) {
          return this.#componentRenderer.ensureMounted(opts);
        }
      };
    }
  });

  // node_modules/@clerk/ui/dist/no-rhc/index.js
  var no_rhc_exports = {};
  __export(no_rhc_exports, {
    ui: () => ui
  });
  var ui;
  var init_no_rhc = __esm({
    "node_modules/@clerk/ui/dist/no-rhc/index.js"() {
      init_internal();
      init_ClerkUI();
      ui = {
        __brand: UI_BRAND,
        version: "1.7.0",
        ClerkUI
      };
    }
  });

  // node_modules/@clerk/chrome-extension/dist/esm/chunk-SNPUKEIB.js
  function createClerkClient2(opts) {
    if (opts.background) {
      const { background: _3, ...rest } = opts;
      const clerk22 = createClerkClient({ ...rest, scope: SCOPE.BACKGROUND });
      return clerk22.load({ standardBrowser: false }).then(() => clerk22);
    }
    s.sdkMetadata = {
      name: "@clerk/chrome-extension",
      version: "3.1.21"
    };
    const clerk2 = new s(opts.publishableKey, {});
    const originalLoad = clerk2.load.bind(clerk2);
    clerk2.load = async (loadOpts) => {
      const { ui: ui2 } = await Promise.resolve().then(() => (init_no_rhc(), no_rhc_exports));
      return originalLoad({ ...loadOpts, ui: ui2 });
    };
    return clerk2;
  }
  var init_chunk_SNPUKEIB = __esm({
    "node_modules/@clerk/chrome-extension/dist/esm/chunk-SNPUKEIB.js"() {
      init_chunk_IAAUBX2J();
      init_clerk_no_rhc();
    }
  });

  // node_modules/@clerk/chrome-extension/dist/esm/background/index.js
  function createClerkClient22(opts) {
    return createClerkClient2({ ...opts, background: true });
  }
  var init_background = __esm({
    "node_modules/@clerk/chrome-extension/dist/esm/background/index.js"() {
      init_chunk_SNPUKEIB();
    }
  });

  // src/vendor/skipit-auth-entry.js
  var require_skipit_auth_entry = __commonJS({
    "src/vendor/skipit-auth-entry.js"() {
      init_background();
      var CLERK_PUBLISHABLE_KEY = "pk_live_Y2xlcmsuZ2V0c2tpcGl0LmNvbSQ";
      var CLERK_SYNC_HOST = "https://clerk.getskipit.com";
      async function getAuthToken() {
        try {
          const clerk2 = await createClerkClient22({
            publishableKey: CLERK_PUBLISHABLE_KEY,
            syncHost: CLERK_SYNC_HOST
          });
          if (!clerk2 || !clerk2.session) {
            return null;
          }
          return await clerk2.session.getToken();
        } catch (error2) {
          console.warn("SafeScene Skipit auth error:", error2);
          return null;
        }
      }
      globalThis.SafeSceneSkipitAuth = {
        getAuthToken
      };
    }
  });
  require_skipit_auth_entry();
})();
/*! Bundled license information:

react/cjs/react.development.js:
  (**
   * @license React
   * react.development.js
   *
   * Copyright (c) Meta Platforms, Inc. and affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   *)

react/cjs/react-jsx-runtime.development.js:
  (**
   * @license React
   * react-jsx-runtime.development.js
   *
   * Copyright (c) Meta Platforms, Inc. and affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   *)

react-is/cjs/react-is.development.js:
  (** @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.
   *)

react-dom/cjs/react-dom.development.js:
  (**
   * @license React
   * react-dom.development.js
   *
   * Copyright (c) Meta Platforms, Inc. and affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   *)

tabbable/dist/index.esm.js:
  (*!
  * tabbable 6.4.0
  * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
  *)

qrcode.react/lib/esm/index.js:
  (**
   * @license QR Code generator library (TypeScript)
   * Copyright (c) Project Nayuki.
   * SPDX-License-Identifier: MIT
   *)
  (**
   * @license qrcode.react
   * Copyright (c) Paul O'Shannessy
   * SPDX-License-Identifier: ISC
   *)

ieee754/index.js:
  (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)

buffer/index.js:
  (*!
   * The buffer module from node.js, for the browser.
   *
   * @author   Feross Aboukhadijeh <https://feross.org>
   * @license  MIT
   *)

@noble/hashes/esm/utils.js:
@noble/hashes/esm/utils.js:
  (*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)

@noble/curves/esm/utils.js:
@noble/curves/esm/abstract/modular.js:
@noble/curves/esm/abstract/curve.js:
@noble/curves/esm/abstract/edwards.js:
@noble/curves/esm/ed25519.js:
@noble/curves/esm/abstract/weierstrass.js:
@noble/curves/esm/_shortw_utils.js:
@noble/curves/esm/secp256k1.js:
  (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)

safe-buffer/index.js:
  (*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)

@solana/buffer-layout/lib/Layout.js:
  (**
   * Support for translating between Uint8Array instances and JavaScript
   * native types.
   *
   * {@link module:Layout~Layout|Layout} is the basis of a class
   * hierarchy that associates property names with sequences of encoded
   * bytes.
   *
   * Layouts are supported for these scalar (numeric) types:
   * * {@link module:Layout~UInt|Unsigned integers in little-endian
   *   format} with {@link module:Layout.u8|8-bit}, {@link
   *   module:Layout.u16|16-bit}, {@link module:Layout.u24|24-bit},
   *   {@link module:Layout.u32|32-bit}, {@link
   *   module:Layout.u40|40-bit}, and {@link module:Layout.u48|48-bit}
   *   representation ranges;
   * * {@link module:Layout~UIntBE|Unsigned integers in big-endian
   *   format} with {@link module:Layout.u16be|16-bit}, {@link
   *   module:Layout.u24be|24-bit}, {@link module:Layout.u32be|32-bit},
   *   {@link module:Layout.u40be|40-bit}, and {@link
   *   module:Layout.u48be|48-bit} representation ranges;
   * * {@link module:Layout~Int|Signed integers in little-endian
   *   format} with {@link module:Layout.s8|8-bit}, {@link
   *   module:Layout.s16|16-bit}, {@link module:Layout.s24|24-bit},
   *   {@link module:Layout.s32|32-bit}, {@link
   *   module:Layout.s40|40-bit}, and {@link module:Layout.s48|48-bit}
   *   representation ranges;
   * * {@link module:Layout~IntBE|Signed integers in big-endian format}
   *   with {@link module:Layout.s16be|16-bit}, {@link
   *   module:Layout.s24be|24-bit}, {@link module:Layout.s32be|32-bit},
   *   {@link module:Layout.s40be|40-bit}, and {@link
   *   module:Layout.s48be|48-bit} representation ranges;
   * * 64-bit integral values that decode to an exact (if magnitude is
   *   less than 2^53) or nearby integral Number in {@link
   *   module:Layout.nu64|unsigned little-endian}, {@link
   *   module:Layout.nu64be|unsigned big-endian}, {@link
   *   module:Layout.ns64|signed little-endian}, and {@link
   *   module:Layout.ns64be|unsigned big-endian} encodings;
   * * 32-bit floating point values with {@link
   *   module:Layout.f32|little-endian} and {@link
   *   module:Layout.f32be|big-endian} representations;
   * * 64-bit floating point values with {@link
   *   module:Layout.f64|little-endian} and {@link
   *   module:Layout.f64be|big-endian} representations;
   * * {@link module:Layout.const|Constants} that take no space in the
   *   encoded expression.
   *
   * and for these aggregate types:
   * * {@link module:Layout.seq|Sequence}s of instances of a {@link
   *   module:Layout~Layout|Layout}, with JavaScript representation as
   *   an Array and constant or data-dependent {@link
   *   module:Layout~Sequence#count|length};
   * * {@link module:Layout.struct|Structure}s that aggregate a
   *   heterogeneous sequence of {@link module:Layout~Layout|Layout}
   *   instances, with JavaScript representation as an Object;
   * * {@link module:Layout.union|Union}s that support multiple {@link
   *   module:Layout~VariantLayout|variant layouts} over a fixed
   *   (padded) or variable (not padded) span of bytes, using an
   *   unsigned integer at the start of the data or a separate {@link
   *   module:Layout.unionLayoutDiscriminator|layout element} to
   *   determine which layout to use when interpreting the buffer
   *   contents;
   * * {@link module:Layout.bits|BitStructure}s that contain a sequence
   *   of individual {@link
   *   module:Layout~BitStructure#addField|BitField}s packed into an 8,
   *   16, 24, or 32-bit unsigned integer starting at the least- or
   *   most-significant bit;
   * * {@link module:Layout.cstr|C strings} of varying length;
   * * {@link module:Layout.blob|Blobs} of fixed- or variable-{@link
   *   module:Layout~Blob#length|length} raw data.
   *
   * All {@link module:Layout~Layout|Layout} instances are immutable
   * after construction, to prevent internal state from becoming
   * inconsistent.
   *
   * @local Layout
   * @local ExternalLayout
   * @local GreedyCount
   * @local OffsetLayout
   * @local UInt
   * @local UIntBE
   * @local Int
   * @local IntBE
   * @local NearUInt64
   * @local NearUInt64BE
   * @local NearInt64
   * @local NearInt64BE
   * @local Float
   * @local FloatBE
   * @local Double
   * @local DoubleBE
   * @local Sequence
   * @local Structure
   * @local UnionDiscriminator
   * @local UnionLayoutDiscriminator
   * @local Union
   * @local VariantLayout
   * @local BitStructure
   * @local BitField
   * @local Boolean
   * @local Blob
   * @local CString
   * @local Constant
   * @local bindConstructorLayout
   * @module Layout
   * @license MIT
   * @author Peter A. Bigot
   * @see {@link https://github.com/pabigot/buffer-layout|buffer-layout on GitHub}
   *)

scheduler/cjs/scheduler.development.js:
  (**
   * @license React
   * scheduler.development.js
   *
   * Copyright (c) Meta Platforms, Inc. and affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   *)

react-dom/cjs/react-dom-client.development.js:
  (**
   * @license React
   * react-dom-client.development.js
   *
   * Copyright (c) Meta Platforms, Inc. and affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   *)
*/
